基于avr单片机的高精度频率调节器
摘要:精确的频率控制是现代化工业生产与高精度测试的必备手段。基于ad9850可以发生优于1hz频率精确度的信号,这对于频率测试来说至关重要。本文介绍的这种频率调节器由atmel公司的avr单片机atmega16l作为控制核心,采用4×4键盘作为频率值输入设备。avr单片机扫描键盘并且读入用户设定的频率值。随后,avr单片机计算出ad9850的控制字,并且对ad9850发出指令。本文介绍的频率控制器可以通过“+1hz”键和“–1hz”键微调频率值。本文对频率控制器扩展了液晶显示模块,因此当前频率值可以被实时显示。它可以生成方波和正弦波。设计中使用了看门狗定时器防止程序进入死循环而不能正常工作。
关键词:avr,单片机,频率,控制
1引言
在现代化工业生产与高精度测试中,我们需要相当精确的频率来帮助判断设备性能指标。而且我们希望能够微调该频率。采用压控振荡器得到的频率不够精确,微调频率步骤烦琐,耗时漫长,因此有些测试项目限制了压控振荡器的使用。
mega系列单片机是atmel公司于2002年起陆续推出的。这款avr增强型单片机具有速度快,抗干扰能力强,价格低廉等诸多优点。为了加快avr单片机的软件编制,atmel以及第三方提供的开发工具多种多样,程序开发方便有效。该单片机内部flash结构功能灵活,加锁后很难解密,可以最大限度地保护知识产权。avr单片机可以广泛应用于通信、野外测试、汽车电子、医疗器械等领域,并且适用于各种低电压、低功耗的场合。
本文提出一种方法能够基于avr单片机,采用ad9850提供精确到1hz的频率信号,不但可以发生正弦波,也可以发生方波,从而为要求频率精度高的企业解决了难题。它以atmel公司的avr单片机atmega16l作为核心,能够方便、准确地控制输出频率。由于avr单片机实现了在线可编程,所以大大简化了设计步骤,加快了设计进程,同时不会烧毁、烧费芯片,节约了成本。
图1给出了该频率调节器的整体设计框图。用户通过4×4键盘设定频率值,avr单片机使用i/o端口,扫描读入频率值。随后avr单片机控制ad9850调节到用户要求的频率。ad9850的输出可以接电压比较器整形为方波,也可以经过低通滤波器限制带宽,输出正弦波形。avr单片机同时控制液晶显示模块,使之实时显示当前频率。
690)this.width=690;if(this.height>690)this.height=690; border=0>
图1.频率调节器整体框图
2控制核心与频率发生技术
2.1控制核心
本设计采用了atmel公司的avr单片机atmega16l作为控制核心。avr单片机的单周期指令能够保证高的执行效率和低成本,是精简指令集cpu中的高性能器件。avr单片机可以提供高达16mips的执行时间,具有128k字节的可编程flash存储器,同时具备4096字节的静态ram。avr单片机自带看门狗定时器,在强烈的电磁干扰条件下可以防止程序跑飞。本设计中采用的atmega16l还具有以下特点:
·内部包含有硬件乘法器,加快乘法运算速度;i/o端口引脚数多达32根;
·支持在线可编程功能,不需要频繁从电路板插拔芯片;带有可编程的支持同步传输的uart端口;
·支持三线传输spi端口;具有方便的i2c总线端口,直接与philips芯片接驳;
·支持jtag边界扫描电路;具有bod低电压检测功能;
·内部有8路10位的a/d变换器;具有4个pmw,可以协
2.2ad9850频率发生技术
ad9850是ad公司推出的低功耗直接数字频率合成器芯片,可以产生从直流到62.5mhz的宽频率信号,从投入市场到今天已经应用在雷达系统、低功耗频率源中。它良好的频率合成功能适合于应用在高精度测试中。本设计采用了ad9850作为波形发生器,具有体积小,功耗低的优点。
在控制流程中,avr单片机为ad9850计算了频率控制字,并且将频率控制字写入其中。联合小键盘上的“+1hz”键和“-1hz”键,本设计使得频率可以精确到步长为1hz的调节。它可以产生方波和正弦波。用户要求产生正弦波时,我们设计了低通滤波器用来滤除信号的高频分量。该低通滤波器还可以使用五阶椭圆滤波器实现。图2示出了本系统的ad9850电路设计图。pc2——pc5可以同时作为i2c总线端口。
690)this.width=690;if(this.height>690)this.height=690; border=0>
图2ad9850电路设计
3输入设备与输出设备
3.1键盘输入设备与相应软件
本设计采用了4×4键盘作为频率输入设备。由于按键个数少,只有16个,需要表示从1hz—10mhz的广泛频率,故在软件设计中采用了avr单片机扫描方式。将端口a的8根i/o引脚全部作为扫描键盘使用。键盘定义除了0——9共10个数字之外,还定义了“退格”键、“全删”键、“输入”键、“+1hz”键和“-1hz”键,这样就可以极大地方便用户随时修改频率和微调频率。读入用户输入的频率值时,采用了延时防抖抗干扰的软件程序。扫描变量的初始值设置为0xfe,以低电平0依次变化实现扫描。本单片机键盘扫描的c代码如下所示:
sccode=0xfe;/*everyscaninitiativevalue,11111110*/
while(sccode!=0xef)/*sccodeisnot11101111,follow;orreturn0*/
{
porta=sccode;/*sendscancode11111110toporta*/
porta=sccode;/*sendscancode11111110toporta*/
if((pina&0xf0)!=0xf0)/*readporta,ifhigh4bitsarenot1111,keypressedinthisline*/
{
recode=(pina&0xf0)|0x0f;/*portahigh4bitsreserved,low4bitsare1111*/
while((pina&0xf0)!=0xf0)
{};
/*readporta,ifportahigh4bitsarenot1111,keypressed,
ifkeypressed,wemustwait,waitforkeyreleased*/
return((~sccode)+(~recode));/*returnrow+column*/
}
else
{
sccode=(sccode<690)this.height=690; border=0>
图3液晶显示模块与控制器电路设计
4结论
为了方便现代化工业生产与精确的频率测试,我们设计了基于avr单片机的高精度频率调节器。在本设计中,可以使用小键盘上的“+1hz”键和“-1hz”键,方便地进行频率精确到1hz的调节。此频率调节器体积小而功能强,由atmel公司的avr单片机atmega16l作控制核心,用户可随时调整系统输出频率。采用了4×4键盘输入用户设定的频率值,占位小而效率高,编制程序让avr单片机扫描即可得到频率,省去了专用键盘接口芯片8279。液晶显示模块可实时显示当前频率,显示界面友好,操作可控性强。本系统可以产生方波和正弦波。
本设计的硬件与软件均已经应用在某频率测试生产线中。工业生产与测试使用表明,本设计简化了频率调节过程,用户使用方便,具有节电、低成本、抗干扰能力强、频率控制精度高速度快的特点。
参考文献
[1]atmelcorporation.8-bitavrmicrocontrollerwith16kbytesin-systemprogrammableflashatmega16ldatasheet.atmelcorporation,2003:3-18.
芯片高速仿真的创新
小米6评测:小米6与三星S8一样的配置一半的价格,选三星S8的理由是什么?
保时捷启动区块链与车辆整合 行为数据集成总账助力智能驾驶
柔性屏oled受热捧 预计明年同比增长135%
换帅后的CEO会让英特尔的未来变得更“好”?
基于AVR单片机的高精度频率调节器
韩国餐饮机器人七成来自中国!海外市场带动国内机器人产业链
德国开发出直接激光焊接技术,光纤到芯片实现无粘合剂连接
一种新的方法,让“穿墙透视”变得前所未有的简单
Windows下的QT系统开发环境搭建
打开AD软件出现一个APPCRASH错误的解决办法
数显卡尺的故障与维修
高通发布自动驾驶平台,与英伟达和英特尔一争高下
如何快速有效的学习单片机
高通与Ams合作研发3D摄像头技术
华为在欧洲推出的旗舰机嚯无法使用谷歌应用
Android 12 首个开发者预览版发现隐藏代码:Pixel 6 可能同时具备指纹识别和人脸识别功能
微软人工智能和物联网实验室四周年,Azure OpenAI加速计划再升级
以价值效益为导向推进数字化转型的五大重点任务
Wandelbots将SteamVR追踪技术用于工业机器人操作