现在位置 >首页 > 所有 AVR单片机介绍 分类文章
自制AVR单片机解锁器
用AVR单片机的2MHz的无源石英晶体和6反相器74HC04,加上几个1/4W色环电阻就可以做成矩形波发生器。
如果碰到AVR单片机自己锁死的情况。只要将该电路接5V直流电源.然后用J1引出的导线的另一头与AVR单片机的XTALl引脚相连,直接用AVR单片机的ISP口重新下载程序,并重新写入正确的熔丝位即a将AVR单片机解密。
根据不同类型的AVR芯片允许时钟范围的不同,其中石英晶体频率的选择范围可以从1MHz至16MHz之间进行选择。
基于AVR的防汽车追尾安全装置设计
1 引言
随着我国汽车保有量逐年增加,高速公路的发展使得汽车的行驶速度越来越快。车流量也越来越大,导致高速公路交通事故频频发生,其发生率甚至达到普通公路的4 倍,且有上升趋势。在高速公路所发生的交通事故中尤以汽车追尾居多,约占30%~40%,而在这些事故中,80%以上的事故是由于司机反应不及时或者判断失误引起的。由于目前只有高档车型才配有防碰撞装置,而且以往设计中只单纯考虑在车前或车后安装防碰撞装置,不尽全面,所以设计一套低成本、通用性好的汽车防车前车后追尾的安全装置具有广阔的应用和市场前景。因此。这里提出一种基于AVR解密的新型防汽车追尾安全装置设计。
2 安全装置组成和硬件电路设计
安全装置硬件电路设计主要由单片机控制、加速度传感器、激光雷达、LED刹车灯及电源等电路组成。
2.1 单片机ATmega8L
该设计选用高性能、低功耗单片机ATmega8L,它是基于先进的AVR RISC结构的8位CMOS 工艺微控制器,器件内部集成有模拟比较器,6通道1O位(TOFP与MLF封装为8通道)的A/D转换器,3个具有比较模式的灵活定时器/计数器,512 字节的EEPROM,片内/外中断,5种可通过软件选择的睡眠模式,以及8 KB的系统内可编程Flash存储器(可随时在线编程),易于产品设计和更新。同时,ATmega8L可达到接近1 MIPS/MHz的性能,运行速度比普通CISC单片机高出10倍,并且该器件价格不高,为许多嵌入式控制应用提供灵活且低成本的解决方案。另外,ATmega8L的工作电压为2.7~5.5 V,非常适用于那些电压波动较大的场合。
2.2 加速度传感器MMA7260QT与单片机接口设计
该系统设计选用加速度传感器MMA72600T,测量加速度。该器件采用MEMS原理制作的低成本、低功耗、单芯片集成XYZ三轴感应加速度传感器,可准确测量0~350 Hz、±6 g范围内动态或静态加速度,还能够监测车体微小震动和整车的倾斜角度。该器件内部集成了信号调理、单极低通滤波器和温度补偿技术,并提供4个量程 (1.5g、2 g、4 g、6 g)可选,2.2~3.6 V单电源供电,工作电流小于500μA,休眠模式下最低供电电流仅为3μA。
2.3 霍尔车速传感器
霍尔车速传感器由8级磁钢、UGN-3030T型霍尔开关传感器、LM2917及放大电路组成。
2.4 激光雷达测距
测距方法主要有超声波、激光雷达、连续波雷达等,基于成本和设计需求考虑,激光雷达测距是最佳选择。激光雷达测距有连续波和脉冲波两种方式,本设计使用脉冲波方式。安全装置发出脉冲状的红外激光束照射前方,并利用汽车后部可反光部件(以汽车号码牌为主)的反射光,通过受光装置检测反射光,单片机根据时间差计算出其距离。
该部分电路由发光部、受光部、信号调理电路等组成,最终输出信号由系统单片机处理。由于激光雷达发射光束集中,采用单一发射方式无法有效检测前方一定距离,故在汽车前方安装3个激光雷达测距模块,如果其中一个模块检测到的距离小于该时刻最小允许距离,安全装置将报警,即能够及时检测到插入车流的车辆并警报。
2.5 LED刹车灯
该设计中,刹车灯由发光二极管阵列组成,发光二极管选用Evedight公司生产的1 W高亮度LED,其响应时间为纳秒级,而普通车灯的热启动时间约250 ms。假设汽车时速为90 km/h(即25 m/s),通过计算可得反应迅速的LED刹车灯可提早约6 m距离发出刹车警告,从而有效避免汽车追尾。将LED放置成内、中、外三圈形状。当单片机根据加速度传感器的输入信号得到加速度值超过设定的阈值后,单片机输出信号经ULN2003驱动继电器动作,LED刹车灯响应后由内一中一外一内循环点亮,由于其亮度高、响应快。在实际使用中效果良好。另外,该部分电路需与汽车刹车装置联动,以确保准确输出刹车信号。
2.6 液晶显示
该设计采用并行128×64液晶屏,虽然占用较多的I/O端口,但并行传输便于编写驱动程序,如果系统单片机不能提供足够的I/O端口,可选择串行数据传输的液晶显示屏。另外,为了让司机能够更方便地看到设计系统所测得的数据,应将显示设备放置于司机主控台视线合理位置。
3 系统软件设计
控制部分由ATmega8L控制完成,主要功能为:计算本车速度、车间距离,测定加速度,并通过LCD实时显示;实际车间距离和安全车间距离的比较发出报警声或报警灯闪烁;刹车时的加速度与设定阈值相比,决定是否点亮LED刹车灯。
4 结束语
该设计采用功能模块化技术,易于操作及扩展;选用性价比较高的器件,具有良好的应用和市场前景。设计方案切实可行,对于汽车防追尾具有重要意义。另外,设计所采用的加速度传感器还可作为汽车防盗的震动信号监测。
基于Atmega16的室内照明系统设计
1 系统结构和工作原理
1. 1 系统结构
室内照明控制系统的设计主要采用Atmega16 单片机作为MCU 控制器,与LED 显示技术、光感技术、按键采集与处理技术、红外线传感技术、延时技术等技术相结合,然后实现室内照明设备的智能控制。
1. 2 工作原理
(1) 单片机通过继电器对室内照明设备的开关进行控制。
(2)照明设备周围的光照检测电路对设备周边亮度进行检测,信号通过环境亮度传感模块到达单片机avr解密,如果亮度能够满足生活需要,单片机则通过继电器保持照明设备的关闭状态,如果亮度不够,则由单片机继续检测是否采集到人体热释电感信号。
(3) 如果被动式热释电红外传感器检测到人体信号,单片机则立刻控制照明设备,将其打开;如果没有检测到人体信号,单片机则保持照明设备的关闭状态。
(4)在照明设备打开的情况下,如果单片机在某一时刻没有检测到人体信号,则延长一段时间后将照明设备关闭,如果延时期间检测到人体信号则结束延时,照明设备继续打开。
(5) 可以根据应用照明设备场合以及使用人群的不同,将单片机PA0 ~ PA3引脚设置为不同的延时时间值。
(6) 在照明电路正常工作时,只要按下强制按钮,就可以对照明设备进行强制控制,通过该按钮也可以使电路切换到自动控制状态。
2 系统硬件设计
2. 1 传感器部分设计
(1)环境亮度传感模块的设计。环境亮度传感模块的主要器件是光敏电阻。光敏电阻的光谱响应峰值比较接近人的视觉敏感区,波长为555 mm,另一方面,光敏电阻利用半导体的光电效应原理,其电阻值会随着入射光强度的不同而发生改变,入射光强时,电阻值较小,入射光弱时,其电阻值增大响应时间相对增加。
此传感模块采用环氧树脂封装,具有体积小、灵敏度高、反应速度快、可靠性强等特点,在对环境亮度检测时,当检测到的光照强度大于设定值时,则输出低电平,否则输出高电平。采用光敏电阻的作用就是把环境光亮度转化为模拟电压值,然后通过运放后传给单片机准确数字信号。为了避免光敏电阻受光面小的缺点,探测元件要在建筑周围进行合理布局,以便准确探测自然光的强弱。
(2)被动式热释电红外线传感器设计。热释电红外传感器可以通过检测人或者动物发射的红外线而输出电信号,是以后总检测物体辐射红外能量的传感器。
此电路系统的传感器选用P2288 被动式热释电人体红外传感器,包括3 个关键元件:
1)菲涅尔滤光晶片,起带通滤波器的作用,可以截止波长为7 ~ 10 μm,与人体辐射红外中心线波长9 ~ 10 μm 相对应,把人和动物区分开。
2)菲涅尔透镜,可以将热释的红外信号折射到热释电红外传感器上,还可以将那个警戒区分为若干的明区和暗区,如果物体在警戒区进行移动,就可以以温度变化的形式在热释电红外传感器上产生变化的热释红外信号,从而使热释电红外传感器产生变化的电信号。实验证明,热释电红外传感器若不加菲涅尔透镜,则其检测距离约为2 m; 而配上菲涅尔透镜后,其检测距离可增加到10 m 以上。
3)热释电陶材料,热释电红外传感器将透过滤光晶片的红外辐射能量的变化转换成电信号,即热电转换。
设计中,人体可以发射波长约为10 μm 的红外线,红外线经菲涅尔滤光晶片进行滤波增强后,通过菲涅尔透镜,将红外信号聚集到热释电红外传感器上,然后热释电红外传感器通过热电转换,将透过滤光晶片的红外能量转换为电信号,最后经过红外传感信号处理器及逻辑电路进行处理,输出逻辑值为1 时代表有人,否则无人。
2. 2 [...]
用VMLAB进行AVR单片机硬件/软件协仿真
前言
在单片机应用开发过程中,当源文件的编译成功后,就要进行仿真调试工作。仿真调试可分为两大类–芯片级仿真和代码级仿真。芯片级仿真是指使用仿真软件和ICE硬件工具相配合,在实际硬件上进行仿真调试工作;而代码级仿真则完全在计算机上完成,不需要硬件的参与。两种类型的仿真各有特点,使用的场合不同。本文基于VMLAB,讲述了进行AVR解密硬件/软件协同仿真的方法。
VMLAB的全称为:VisualMicroLab。它针对于AVR以及ST62系列单片机设计,是一个单片机的虚拟原型(virtualprototype)框架(frame),它可以提供给用户一个真正意义上的虚拟微控制器(MCU)设计实验室。它具有强大的多窗口、多文件的编辑器,微控制器的集成开发环境,拥有一系列的集成开发工具,图形界面调试器,混合模式的模拟-数字电路仿真器,代码质量检查器等等。硬件和应用软件能进行并发仿真,与之相比,在线硬件仿真器(ICE)显得失去了意义。VMLAB可以基于MCU,仿真出包括模拟元器件在内的更多外围设备,并且它具有交互式器件(按键,电位计,液晶显示器)模拟仿真功能。
在VMLAB中进行协同仿真
首先,先介绍两个概念:
1)虚拟原型(virtualprototype)
虚拟原型是一个具体应用的集中体现,是包括软件和硬件在内的一个集合体。虚拟原型的作用是在实现这种应用之前,将其行为实现模拟出来。
2)硬件/软件协仿真(hw/swco-simulation)
硬件/软件协仿真是指对于某一个特定应用而言,包括硬件和软件在内的全部特性都用一个虚拟原型来模拟实现。VMLAB是基于一个叫做CCCP(ConcurrentCo-simulatorofCircuitsandProcessors)的协仿真引擎来实现协仿真的。
采用基于具体应用的虚拟原型的一大好处就是:硬件部分可以通过虚拟原型来模拟仿真,这无疑会提高开发速度不再需要在线仿真器(ICE)工具,成本无疑会大大降低。
在VMLAB中,仿真是通过工程文件*。prj来管理的。
仿真实验需要按如下步骤进行:
1)生成一个工程文件,选择单片机类型,指定源文件。
2)在工程文件中添加或修改单片机外围的硬件连接关系。
3)在菜单栏”view’CodeNotebook”窗口中,新建或者修改源文件代码。
4)用菜单栏”project’build”命令(或者F9键)编译生成硬件/软件数据库,可以通过菜单栏”view’Messages”窗口中的”CodeMaker”项来观察出错或者警告信息。
5)当编译无错误的时候,VMLAB工具栏中的绿灯便会点亮。单击这个绿灯,仿真便会一直运行下去,可以用工具栏来控制仿真流程,也可以用菜单栏”Run’……”来控制仿真流程。
6)当所有应用特性仿真通过之后,将*。hex文件下载到单片机上。
VMLAB中的基本硬件库简介
VMLAB中的基本硬件库分为四个部分,每个部分包含有不同的基本硬件。
1)基本模拟器件
包括电阻,接地电容,接地按键,LED四种。其中按键和LED全部接在控制面板上面。
2)电压产生器
包括脉冲电压源,正弦波电压源,电位计(滑动变阻器)三种。
3)互式非归零码发生器(NRZ-generator)
4)其它宏模型(Macro-models)
包括:运算放大器(OPAMP),比较器(COMP),两输入或非门(ND2),8位DA转换器(D2A8),RS232,LCD模型,I2C监视器,44矩阵键盘。
结束语
与其它类似代码级仿真工具相比,VMLAB的优势在于–硬件仿真完全基于计算机完成,无需实际硬件的加入。作为一个仿真平台,VMLAB不但能够仿真出MCU和其它外围设备的大部分特性,而且能够对涉及模拟量的应用进行协同仿真。VMLAB的仿真功能甚至可以同ICE硬件工具相媲美,VMLAB使用又无疑会在开发成本方面会大为降低。
基于AVR单片机的电冰箱控制系统的设计
随着电冰箱在日常生活中的普及,人们对电冰箱的性能和控制功能的要求越来越高,为了满足人们实际生活中电冰箱的需要,以AVR单片机为核心,通过硬件和软件设计了电冰箱的控制系统,试验结果表明,该系统性能指标和功能达到了预期目的,具有功能齐全、操作简单、使用方便等优点。该系统在同类产品中处于较高水平,具有较高的实用价值。
多年来电冰箱在国内市场上一直作为储物、保鲜的空间,人们对于电冰箱的需求也是最基本的冷冻、冻藏等功能。近年来,随着家用电冰箱的普及以及80后主流消费群体的迅速崛起,人们对电冰箱的性能要求越来越高,加速了对电冰箱功能和需求的转型和升级,相应地对电冰箱的控制功能要求也越来越高。
单片机自问世以来,性能不断提高,功能不断增多和完善,加之具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉等特点,因此,广泛应用在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域,基于AVR单片机的电冰箱控制系统的设计把单片机技术充分利用在电冰箱的控制系统上,为现代电冰箱的发展提供技术支撑。
1 系统总体设计
设计出的电冰箱控镧系统以AVR单片机解密为核心,包括硬件设计和软件设计2部分。整个系统具有以下功能;
1)定期检测电冰箱内冷冻室和冷藏室的温度,通过键盘人工给定冷冻室及冷藏室温度,并显示出设定值;
2)定期检测霜厚,当霜厚达到3 mm时自动除霜;
3)定期检测工作电压,并进行超限报警、禁止压缩机工作;
4)定期检测门开关状态,并进行开门延时2 min报警;
5)单片机判断冷冻室及冷藏室检测到的温度是否在设定的范围内,并作出对压缩机的启、停操作,制冷压缩机停机后自动延时3 min后方能再启动;
6)通过键盘人工给定连续速冷时间值,并显示出设定值,单片机判断速冷时间是否在设定的范围内,并作出速冷操作处理;
7)利用显示电路显示系统中的各种状态。
1.1 硬件设计
基于AVR的电冰箱控制系统的硬件组成,主要包括AVR单片机、A/D转换器、检测电路、报警电路、控制电路、时钟及复位电路、功能键及显示电路等的部分。
AVR单片机是高速嵌入式单片机,是整个控制系统的核心部件。由于其具有高速、低耗、保密、费用低廉等优点,已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,故障率低,可靠性高,成本低廉。
A/D转换器即模数转换器,是指一个将模拟信号转变为数字信号的电子元件。该设计采用的是ADC0809,是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,是目前国内应用最广泛的8位通用A/D芯片。
检测电路主要完成电冰箱内冷冻室和冷藏室的温度检测、霜厚检测、工作电压检测、门开关状态检测等工作,并把相应的信息传递给单片执进行处理。检测电路的设计包括冷冻室及冷藏室温度检测、霜厚检测、电源电压检测和开门状态检测等电路的设计。
温度检测电路主要是完成冷冻室温度检测与及冷藏室温度检测,霜厚检测电路主要是检测霜的厚度,以便当霜厚达到3 mm时能够自动除霜。电源电压检测电路主要是检测工作电压,并进行超限报警、禁止压缩机工作。报警电路主要是电源电压检测电路检测到工作电压超出限度时发出报警信号。控制电路主要是控制制冷压缩机和除霜电热丝启、停操作。时钟及复位电路时钟及复位电路主要是给单片机提供时钟和复位信号,保证单片机能够正常地工作。功能键及显示电路主要实现用键盘对冷冻室、冷藏室进行设定和速冷控制设定,同时显示设定值和设定标志以及系统的各种状态。
1.2 软件设计
基于AVR的电冰箱控制系统的软件设计主要包括主程序、子程序和中断程序的设计。
1)主程序
主程序是整个电冰箱的总控制程序,比如控制单元的初始化、控制中断、定时、显示、键盘程序的启动与重复等。
2)子程序
子程序包括显示子程序、键盘扫描子程序、依标志位调相应的显示子程序、加一及减一处理子程序、读ADC0809通道转换数子程序、速冷处理子程序、温度比较并处理子程序和除霜控制子程序等8个子程序。
显示子程序就是将显示缓冲区的数据一位一位地从RXD端输出给显示器,显示出数据和状态。键盘扫描子程序具有判断键盘上是否有键按下和判断闭合的键号两个方面的功能。
依标志位调相应的显示子程序就是根据标志位的内容把相应的设置数通过7段字型码转换后送入到显示缓冲区去。
加一与减一处理子程序都是当主程序判断到是加一或减一操作时就是依标志位将相应的设置数加一或是减一处理。
读ADC0809通道转换数子程序就是启动ADC0809并且将转换后的数读入相应的缓冲区中。
速冷控制子程序就是人工设定一个连续速冷时间,单片机再进行控制,让压缩机连续工作时间为设定的连续速冷时间。
温度比较并处理就是将冷冻室温度与冷藏室温度实际温度的平均值与设置温度进行比较,若超出范围就进行处理,否则就返回。
除霜控制子程序就是将ADC0809转换后的值与霜厚为3 mm时的对应值进行比较,若小于3 mm时就不需要除霜,否则就启动除霜加热丝进行除霜。
3)中断程序
当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,处理”急件”的程序被称为中断服务程序,是事先编好的某个特定的程序。本系统中涉及到了T0和T1中断服务程序。
T0中断服务程序主要完成读ADC0809通道的转换数、电源电压欠压、过压处理、并门状态检测及处理等。
T1中断服务程序主要完成3 min定时及根据检测结果,比较、分析、控制执行各元件的工作。即进行速冷处理、温度比较并处理、霜厚控制并处理等。
2 结束语
该系统在设计出之后进行了多次试验,试验数据表明该系统的各项性能指标和功能达到了预期的设计目的,具有功能齐全、操作简单、使用方便等优点,在国内同类产品中处于较高水平,具有较高的实用和推广价值。
Atmel提供基于AVR微控制器的ATA5580安全应答器
微控制器及触摸技术解决方案的供应商爱特梅尔公司(Atmel Corporation)宣布提供基于爱特梅尔AVR微控制器(MCU)的新型超低功耗安全微模块(micromodule)应答器产品。用于汽车遥控无匙门禁系统的ATA5580应答器包含开放式防盗器(immobilizer)协议堆栈,内置有高性能AES-128硬件加密单元、一个用于电源和双向通信的低频(LF)防盗器接口,以及一根低频天线。ATA5580单独式防盗器应答器可通过包覆成型工艺集成到简单的机械钥匙中,以提供齐全的遥控无匙门禁密匙功能。为此,ATA5580防盗器应答器和ATA5795遥控无匙门禁AVR解密微控制器具有相同的LF、协议与AES实施方案,允许在单一系统中无缝部署这两种类型钥匙。
ATA5580应答器以触点阵列(LGA)类型封装为基础,无需使用引线框架结构,提供了业界最佳的静电放电保护(ESD),这对于严苛的环境,如包覆成型工艺来说尤为重要。
ATA5580应答器具有超低功耗设计和高调制指数,在运行完整的AES认证时提供范围为1%的典型耦合因数。由于典型AES防盗器应答器具有更高的耦合因数要求,因而ATA5580具备独特的条件,可让汽车制造商从过时的加密系统转向AES加密方案,并且无需重新设计锁芯机械,免除昂贵的成本。
AVR微控制器嵌入8kB闪存和2kB EEPROM存储器,存储有在制造期间编程的爱特梅尔开放式防盗器软件栈。该协议堆栈采用开源授权许可发布,实现真正的同等评议(peer-reviewing)过程和安全审查。
现在市面上所有的传统竞争产品都采用均一的通用模式,相比之下,ATA5580应答器协议能够通过EEPROM进行大量配置,可让设计人员针对耦合因数/位安全性轻易优化如认证时间等系统参数,最大限度地提高特定环境的通信连接稳健性。
爱特梅尔公司汽车门禁产品营销经理Jedidi Kamouaa博士表示:“防盗器系统是汽车门禁系统的最关键部分,它们完全不允许出现故障。ATA5580应答器提供了别具吸引力的高安全性AES加密和采用非安全防盗器算法的基础应答器状态机通常具有的耦合因数要求组合。这款器件证明AES并不意味着高功耗。”
基于AVR单片机的LED显示屏应用设计
LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,LED显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式单片机的LED显示屏解决方案,该设计方案利用AVR单片机自身的FLASH ROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。
1 AVR单片机简介
AVR单片机是增强型内置FLASH的RISC(ReducedInstruction Set CPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令。支持在系统编程ISP,其中MEGA系列还支持在应用编程IAP。内置的FLASH程序存储器可擦写1 000次以上,给用户的开发生产和维护带来方便。可擦写10万次的E2PROM,为掉电后数据的保存带来方便。AVR单片机有丰富的片内资源,如RTC,WATCHDOG,AD转换器,PWM,USART,SPI,TWI接口等,I/O口功能强、驱动能力强。
2 系统整体设计方案
LED显示系统主要由3部分构成:PC上位机图像文字转换与数据发送单元、主控单元以及显示子模块。
上位机完成把图像和文字转换成为显示屏的显示码,并且把显示信息发送到主控单元上。主控单元选用具有32 kB片内FLASH ROM和2 kB片内RAM的AT-mega32单片机,没有外挂存储器。如果要存储更多的显示信息,可以选用具有64 kB片内FLASH ROM的AT-mega64或者具有128 kB片内FLASH ROM的AT-megal28,也可以外挂存储器来增大存储能力。主控单元主要完成对显示数据的滚动和分割处理,然后通过异步串行口发送到每个子模块中。每个显示子模块用4片8×8单色点阵块拼成1个16×16的点阵屏,用一片ATmega8完成扫描动态显示。
主控单元与显示子模块的数据通信采用标准的异步串口格式,每帧数据包括1个起始位,8个数据位,1个地址/数据标示位,1个停止位共11位。数据传输码率为625 kb/s,字节传输速率为56.8 kB/s。每个子模块由256个LED构成,实现16阶灰度每个LED需要4 b空间,因此每个显示子模块全屏数据量为128 B,外加1 B的寻址字节共129 B。主控单元更新显示子模块的显示内容时,对所有子模块按地址逐个发送显示数据,更新完所有子模块数据后,再发送一个特殊的地址字0xFF作为控制字,使所有子模块同时更新显示数据,这样可以避免当屏幕较大,显示子模块数量较多时各子模块画面更新不同步的问题。对本设计中完成的6×4个显示子模块而言,由于通讯速率限制,画面更新速度最高可达56 800/(129×24+1)=18.34帧/s,由于主控单元还要完成全屏数据的分割和显示内容的移动控制,所以其实际帧数低于上述值,不过用于普通的图片显示已经可以达到要求。
现场应用中,可以不需要PC上位机,只需把要显示的信息存储在主控单元,即可通过主控单元中的按键来选择显示的内容及方式,可循环显示,文字信息还可以上下左右滚屏显示。
3 系统硬件设计
该系统由两部分硬件电路组成:主机板电路和子模块显示驱动电路。
3.1 主机板电路
主机板电路十分简洁,由ATmega32组成的最小系统和RS 232,RS 485接口电路组成。
主机板上的数据由异步串行口发送到各个子模块中,为了在提高传输速度和距离的情况下仍能够保证数据传输的可靠性,主机板上发出的信息转换成为RS 485信号,采用带屏蔽层的同轴电缆传输到LED子模块上。转换所用接口芯片为MAX485,该芯片工作于5 V电压下,最高传输速度可达到2.5 Mb/s,传输距离可达l 200 m。采用带屏蔽层的同轴电缆可以降低传输过程中产生的信号干扰。
在需要从PC上位机下载数据到FLASH ROM时,通过MAX232芯片实现ATmega32和PC机的通信。
3.2 子模块显示驱动电路
子模块显示驱动电路由RS 485转换电路、子模块地址标识电路和点阵驱动电路组成。RS 485转换电路和主机板中一样,同样采用MAX485作电平转换。
由于采用单片机的异步串行口进行多机通信进行数据传输,每个子模块应该有和其位置相对应的地址标识。地址标识电路采用8位并进串出芯片74HCl65和8位拨码开关组成,因此本系统最多可以容纳255个子模块(地址OxFF作为更新子模块显示的控制字)。如果简单地通过软件内部的设定来决定各个子模块的地址,每个AT-mega8所对应的程序会有差别,这样会给程序的烧写带来不便,因此采用外部硬件电路对子模块的地址进行标识。采用74HC165作串并行转换是为了节省单片机的引脚资源。
LED点阵采用动态扫描法进行驱动,并且实现16阶灰度显示,为了节省单片机程序中扫描程序的时间消耗,提高扫描速度,显示数据采用并行输出的方法。驱动电路采用4-16译码器74HC154译码后驱动16个中功率三极管8550作为行选,2个8位数据锁存器74LS373作为行数据锁存。
4 系统软件设计
系统软件设计包括上位机软件的设计、主机板AT-mega32程序设计、显示子模块ATmega8程序设计3部分。
上位机软件完成图像和文字的编辑,通过计算机串行接口把显示数据传送到主机板上。主机板接收上位机的数据并通过内部Boot Loader区的程序进行FLASH ROM内显示数据的自更新。主机板把显示数据进行分割处理后发送给每个子模块,并且完成显示数据的上下、左右滚屏处理。子模块通过软件调制脉冲占空比的方法,实现16阶灰度图像显示。
4.1 [...]
基于PLD与AVR总线通信接口VHDL设计与实现
1、引言
嵌入式系统在日常生活中的大量使用,人们也对其性能和速度提出了更高的要求。微控制器和可编程逻辑器件的结合,更能充分发挥嵌入式系统的优势。本文设计和实现的微控制器与可编程逻辑器件之间总线读写方式通信比传统的串行通信更可靠、速度更快。下面是一些相关术语的说明。
总线:任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。
AVR:ATMEL公司的AVR单片机,是增强型RISC内载FLASH的单片机,芯片上的FLASH存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AVR解密单片机采用增强的RISC结构 ,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令。本系统采用的AVR Mega64L还具有:用32个通用工作寄存器代替累加器,从而可以避免传统的累加器和存储器之间的数据传送造成的瓶颈现象;一个时钟周期执行一条指令;可直接访问8M字节程序存储器和8M字节数据存储器寄存器等特点。
两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。PLD是一种具有丰富的可编程I/O引脚的可编程逻辑器件,具有在系统可编程、使用方便灵活的特点;不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能。把PLD应用于嵌入式应用系统,同单片机结合起来更能体现其在系统可编程、使用方便灵活的特点。PLD同单片机接口,可以作为单片机的一个外设,实现单片机所要求的功能。实现了嵌入式应用系统的灵活性,可以大大缩短设计时间,减少PCB面积,也提高了嵌入式应用系统的性能。
VHLD:VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,一种被IEEE和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分)和内部(或称不可视部分),涉及实体的内部功能和算法完成部分[4,5]。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
2、PLD同单片机接口设计
系统中采用的MAX II EPM570 芯片有逻辑单元数(LE)570个,等效典型宏单元数440个,最大用户I/O管脚数160个,用户FLASH存储器比特数8192,tPD1 角对角性能5.5 ns,tPD2最快性能3.7 ns。采用100-pin TQFP封装。
EPM570同单片机接口设计中,单片机采用Atmel公司的AVR系列的ATmega64L。ATmega64L通过ALE、CS、RD、WE、P0口(数据地址复用)同EPM570芯片相连接。ALE:地址锁存信号;CS:片选信号;RD:读信号;WR:写信号;AD0~AD7:数据地址信号复用数据线。
本系统的设计思想是:在EPM570设置两个内部控制寄存器,通过单片机对两个控制寄存器的读写来完成对其它通信过程的控制。EPM570设置的两个控制寄存器,可以作内部寄存器,也可以直接映射为I/O口,根据实际需要而进行设置。
本系统设计的关键是:在EMP570 上实现的存储器的读写时序要满足ATmega64L对外部读写时序的需要,有关ATmega64L对外部读写时序请参考相关资料和ATmega64L的数据手册。
3、PLD同单片机AVR读写接口VHDL实现
PLD的设计流程[6,7]一般应包括以下几部分:
① 设计输入。可以采用原理图输入、DHL语言描述、EDIF网表读入或波形输入等方式。
② 功能仿真。此时为零延时模式,主要检验输入是否有误。
③ 编译。主要完成器件的选取及适配,逻辑的综合及器件的装入,延时信息的提取。
④ 后仿真。将编译产生的延时信息加入到设计中,进行布局布线后的仿真,是与实际器件工作时的情况基本相同的仿真。
⑤ 编程验证。有后仿真确认的配置文件下载到PLD相关配置器件中,加入实际激励,进行测试,以检查是否完成预定功能。
以上各步骤若出现错误现象,则需要重新回到设计阶段,修正错误输入或调整电路,在重复上述过程直到其完全满足电子系统需要。
本系统中,使用Altera公司提供的集成开发软件Quartus II 6.0 进行设计,在进行模块实现时请参考ATmega64L的数据手册中关于ATmega64L对外部存储器的读写时序。
4、结语
本文实现PLD与AVR ATmega64L通信接口设计是笔者设计的一种纺织机械控制设备的一部分,经实际验证完全正确,并已投入生产。简单地修改该读写通信模块,可应用于多个CPLD或FPGA与单片机通信接口的项目中,本模块还可以根据需要扩展为16位、32位地址线的读写接口。
基于AVR单片机的终端显控设计方案
1 引言
随着信息产业的迅速发展,作为信息显示终端之一的LCD器件也得到了空前的发展。液晶显示器(LCD)具有显示信息丰富、功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点。近些年来被广泛应用于单片机控制的智能仪器、仪表和低功耗电子产品中。为LCD配置驱动电路,就形成了液晶显示模块LCM(Liquid Crystal Module)。它的基本组成部件除了LCD、驱动电路外一般还有连接件、背光源等。液晶显示模块同一个系统中的其他电路一样,有简单的接口,并提供了丰富的控制显示的指令系统。为整机的开发节约了时间。AVR解密单片机是Atmel公司推出的具有精简指令集RISC结构的新型8位单片机。具有丰富的硬件接口。它采用低功耗、非挥发的CMOS工艺制造,内部分别集成Flash、EEPROM和SRAM三种不同性能和用途的存储器。除了可以通过SPI口和一般的编程器对AVR单片机的Flash程序存储器和EEPROM数据存储器进行编程外,大多数的AVR单片机还具有ISP在线编程和IAP在级应用编程的特点。其中一些高档的AVR单片机,例如ATmega64、ATmegal28等还具有mG接口。这些优点为使用AVR单片机开发设计和生产产品提供了极大的方便。
2系统硬件设计
2.1 液晶模块CM3XPA0-7及ATmega64单片机简介
CM320240-7是一个中英文文字与绘图模式的点阵式液晶显示模块(LCM),点阵数是320*240。内建512KB的ROM字型码,可以显示中文字型、数字符号、英日欧文等字母。在文字模式中,可接受标准中文文字内码直接显示中文,而不需要进入绘图模式描述中文,可以节省许多微处理器时间,提升液晶显示中文的处理效率。ATmaga64是一款高档的AVR单片机,具有丰富的硬件资源。
(1)先进的RISC结构,130条指令,大多数指令执行时间为单个时钟周期,32个8位通用工作寄存器。全静态工作,工作于16MHz时性能高达16MIPs,只需两个时钟周期的硬件乘法器。
(2)非易失性程序和数据存储器。64K字节系统可编程Flash,具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程真正的读写同时操作2K字节的EEPROM,4K字节片内SRAM,64K字节可选外部程序存储空间,可以对锁定位进行编程以实现用户程序的加密。
(3)JTAG接口(与IEEE1149.1标准兼容),符合JrI’AG标准的边界扫描功能,支持扩展的片内调试功能,可以通过JTAG接口实现Flash、EEPROM、熔丝位和锁定位的编程。
(4)外设丰富,两个具有独立预分频器和比较器功能的8位定时器/计数器。两个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。具有独立振荡器的实时计数器RTC,两路8位PWM通道。8路十位ADC,面向字节的两线接口’册,与12C完全兼容。两个可编程的串行USART,可工作于主杌/从机模式的SPI串行接口。具有独立片内振荡器的可编程看门狗定时器。
(5)还具有一些特殊的处理器特点:上电复位以及可编程的掉电检测,片内经过标定的RC振荡器,软件选择时钟频率,具有六种睡眠模式。
2.2系统硬件组成
系统硬件平台主要由MCU、人机接口(液晶模块和键盘)、通信接口三部分组成。
Atmel扩展AVR MCU系列
微控制器及触摸技术解决方案厂商爱特梅尔公司(AtmelCorporation)宣布,其获广泛采用的爱特梅尔AVR微控制器(MCU)系列新增14款器件,提供更多的选项以满足独特的设计要求。在世界各地有超过10万名工程师使用AVR微控制器,这类微控制器的性能、功效及灵活性在众多应用领域获得青睐。最新器件增添了更多的存储器、连接外设和系统集成,进一步拓展了AVR解密系列的优势,同时支持包括消费电子、电容式触摸、抄表计量、家庭自动化和医疗的更广泛应用领域。
这些AVRMCU满足多个应用领域对低功耗的共同要求,产品系列中的所有器件均采用爱特梅尔picoPower技术,能够在低至1.62V的电压下运行,同时保持所有的功能和较短的唤醒时间,实现尽可能低的功耗。AVRMCU产品组合还包括支持爱特梅尔QTouch软件库实现电容式触摸功能的器件型款。
新推出的AVRMCU器件包括:
1、爱特梅尔AVRXMEGACMCU:AVRXMEGACMCU是带有全速USB的8/16位通用MCU,具有产品系列中最高的闪存和SRAM存储器密度,而且是市场上最大的8位MCU,具有高达384KB的闪存和高达32KB的SRAM。这8款新器件是消费电子、工业和家庭自动化应用的理想选择。
2、爱特梅尔tinyAVRATtiny1634MCU:ATtiny1634MCU是小型封装超低功耗器件,具有多个易于使用的数字接口选择,相比同系列的现有器件具有更多的通信接口,以及高达16KB的闪存。这款新器件适用于工业和消费应用的接口和控制。
3、爱特梅尔AVRUC3L3MCU:AVRUC3L3MCU的特点是超低功耗和更多闪存、集成USB控制器、I2S支持、音频位流数字模拟转换器(ABDAC),并具有更多引脚的封装选择。这3款新器件能够助力设计人员在消费产品等低功耗应用中执行需要更多内存的更先进算法。
4、爱特梅尔AVRUC3D4MCU:AVRUC3D4器件是具有丰富功能的低功耗入门级32位MCU,具有增强的性能和丰富的特性,包括基于硬件的QTouch电容式触摸接口和全速USB。这两款新器件适用于USB人机接口、生物测定、桥接和工业控制等领域的高数据吞吐量应用。
爱特梅尔AVR产品高级副总监IngarFredriksen表示:“爱特梅尔AVRMCU系列的新增器件为设计工程师提供了超越以往的更多选择,以满足他们对性能、功耗、价格和连通性的独特要求。不管他们是需要用于智能手机的功能强大的小芯片,还是用于抄表计量系统的大容量存储器,设计人员都能够利用我们的AVRMCU来提供所需的功能和特性,在这些市场中实现创新和差异化。”
AVRXMEGACMCU:最大的存储密度
与爱特梅尔AVRXMEGA系列的其它产品一样,AVRXMEGACMCU包括实时控制、传感器与控制接口、混合信号和USB通信的功能。
这些器件具有384KB闪存和32KBSRAM存储器,在实时时钟(RTC)运行的情况下,睡眠模式仅消耗700nA电流,并提供完全的SRAM、寄存器保留及5uS唤醒时间。这些新器件结合了大容量存储器和低睡眠电流与较短的唤醒时间,相比之下,目前市场上具有类似存储器容量的器件的最高睡眠电流要高出50倍。在要求低睡眠电流以延长电池使用寿命的应用中,随着存储器需求增加,许多设计工程师被迫转向昂贵的多芯片电源管理解决方案。
现在,设计工程师可以设计具有长电池使用寿命和低材料清单(BOM)成本的产品。AVRXMEGACMCU适用的产品包括:恒温器;具备RF和ZigBee连通性和大型软件的家庭和楼宇控制系统;带有小型超低功率触摸显示屏的恒温器和家庭控制系统的用户界面;以及用于支付、访问控制和银行业务应用的移动电话SIM卡扩展器。
其它关键特性包括:
1、无需外部元件的全速USB从设备,可实现更高的数据吞吐量和更低的BOM成本。
2、12位、300ksps模拟数字转换器(ADC),具有高模拟精度,同时可在低至1.6V的电压下运作。其集成增益级可以省去外部放大器,有助于降低BOM成本。
3、支持爱特梅尔QTouch软件库,易于实现电容式按键、滑条和转盘功能。
4、AVRXMEGA产品系列中最小型(44-引脚、16KB器件)和成本最低并带有USB的器件。
tinyAVRATtiny1634MCU:适用于接口和控制应用
作为tinyAVRMCU系列中的最新成员,ATtiny1634器件专为空间和功率受限的接口和控制应用而设计。该MCU器件的特点是多数字接口选择,包括两个全双工通用同步/异步接收器/发送器(USART)、I2C从接口、串行外设接口(SPI)端口,以及一个用作I2C或三线接口的通用串行接口(USI)。这款器件非常适合高级便携式电子产品,如智能手机、平板电脑、掌上游戏机和相关附件。家用电器控制和人机界面(MMI)系统,以及工业和通信应用中的智能传感器和协处理器,均能够获益于ATtiny1634MCU。
其它关键特性包括:
1、高速8MHz内部振荡器,用于不同环境条件下的准确定时(+/-2%)和可靠的串行通信。
2、QTouch软件库支持
3、32kHz超低功耗振荡器和欠压检测器(BOD)采样,在看门狗定时器运行和BOD启动的情况下,掉电模式下电流低于1uA。
4、小封装:4mmx4mm20焊垫、非常薄的方形扁平无铅封装(VQFN)和超小晶圆级芯片封装(WLCSP)
AVRUC3LMCU:低功耗新标准
新推出的AVRUC3L3为业界最低功耗32位MCU系列树立了新的低功耗标准。这些采用picoPower技术的器件能够实现真正的1.62V至3.6V运作。最新器件增加了引脚数目,为UC3L系列增添64引脚选择,提供更高的连通性,同时采用外设梦游(SleepWalking)功能来降低功耗。
AVRUC3L3器件适用于传感器、电容式触摸远程控制和游戏控制板、便携式电池供电设备、人机界面装置、板控制器、工业控制系统、通信协议转换器和背光LED装置。
其它关键特性包括:
1、全速USB从设备,具有更高的连通性和更低的BOM成本
2、集成QTouch硬件外设,支持高达25个触摸通道
3、FlashVault代码保护
4、外设事件系统,消除中断处理
5、通过所有GPIO引脚上的脉宽调制(PWM)、带数字频率锁定回路的高精度时钟系统、晶体振荡器精密调谐器和9通道12位ADC等创新,提高可靠性并降低成本。
AVRUC3DMCU:设计用于低功耗电容式触摸应用
AVRUC3D4MCU是入门级AVRUC3D32位MCU系列的最新成员,适用于低功耗电容式触摸应用和工业与消费产品设计,比如板控制器、PC外设、音频系统和玩具。该器件与AVRUC3B系列引脚兼容,其特点是具有高达128KB的闪存、高达16kBSRAM和数个通信接口,包括全速USB、四个通用异步接收器/发送器(UART)、四个SPI端口、两个双线接口(TWI)和I2S。
其它关键特性包括:
1、集成QTouch硬件外设,支持多达17个触摸通道
2、带有可编程逻辑的胶粘逻辑控制器和可与通用I/O(GPIO)引脚连接的查询表,减少外部元件的数目。
3、嵌入式梦游技术,允许采用外设将器件从睡眠模式唤醒。
优化的MCU设计环境
爱特梅尔所有AVRMCU均备有公司的全新AtmelStudio6集成开发环境支持。该开发环境现在还可支持爱特梅尔基于ARMCortex-M处理器的MCU。爱特梅尔Studio6提供业界最优化的MCU设计环境,适用于300多种基于AVR和ARM处理器的微控制器。利用带有源代码的1000多个项目范例,设计工程师可以省去大多数底层编码工作,从而加快产品上市速度。
