2008年F题 简易多功能计数器(乙组)_全国大学生竞赛山东赛区组委会
- 格式:doc
- 大小:115.00 KB
- 文档页数:6
简易多功能计数器 莱芜职业技术学院 于 彬 王晓波 屈晓娟 目录 摘要........................................,................3 关键字.......................................................3 一.方案论证与选择...........................................3 1.方案比较................................................3 2.设计方案................................................3 二.系统的具体设计与实现.....................................3 系统的硬件设计.............................................3 (一)、电源输出模块.........................................3 (二)、信号调理模块.........................................4 (三)、信号频率/周期测量模块................................4 (四)、ATmega64单片机.......................................5 (五)、语音模块.............................................5 (六)、温度模块和时钟模块..................................6 (七)、键盘和显示模块.......................................6 三.系统流程图...............................................6 主程序的流程图............................................6 四.系统测试.................................................6 1、 调试与测试所用仪器.....................................7 2、 测试数据...............................................7 3、 结果分析...............................................7 五.总结.....................................................7 参考文献.....................................................8 摘 要:该简易多功能计数器以Atmega64和ALTERA MAX II CPLD技术为核心,由信号整形模块、CPLD微处理模块、语音模块、液晶显示模块、信号测量模块、以及功能切换模块组成。采用AD8611对输入信号的整形,CPLD进行测频以及结果的运算,采用AD采样原理对信号峰值的测量,最终将结果送入Atmega64中进行结果的显示以及功能的切换和语音播放等。总之,用CPLD处理信号,Atmega64实现数据的采集和人机交互,通过数码管显示测量结果并通过语音播报测量数据。 关键词:Atmega64,CPLD,多功能计数器,语音播放,数码管 一、方案论证与选择 1、方案比较 方案一:采用S51+逻辑门电路方案。由于S51工作频率低,利用其内部的计数器不能直接测量高频信号,所以必须外扩大量的逻辑门电路。电路制作麻烦,不便保证测量精度。 方案二:直接采用AVR+Altera CPLD方案。AVR单片机内部资源丰富,工作速度快,开发简便,同时用CPLD代替普通的逻辑门电路,省去了复杂的连线,工作速度快,能保证测量精度。 2、设计方案 经过仔细的分析最终确定选方案二作为本设计的整体方案:以AVR单片机Atmega64和Altera CPLD MAXII EPM570为中心,进行该设计题目:其中单片机ATMEGA64用于按键控制、温度测量、时钟提取、显示控制、语音播放。EPM570用于实现输入信号的频率/周期测量。利用CPLD的强大的逻辑处理能力,保证了频率/周期测量结果的稳定和准确。 信号调理电路采用高速比较器AD8611对输入的信号进行整形,然后送CPLD进行频率/周期测量,确保了测量精度。语音播放模块可以对测量结果进行实时播报。数字显示模块采用LED数码管进行显示。EPM570通过I/O口与Atmega64通信后将数据传给Atmega64,通过选择Atmega64再将其结果进行转换并输出显示以及语音播放。另外通过外围电路(如键盘电路)可以对其功能进行选择以及时间、温度等的显示。 系统构成参见图1:
图1 简易多功能计数器系统框图 二、系统电路设计 系统的硬件设计: (一)、电源输出模块 原理图如图2所示:
图2电源原理框图 220伏50HZ的市电经过变压器之后产生12伏左右的交流电,又经过整流桥之后输出直流电,电容C1和C2滤除了其中的交流成分,经过稳压管之后,输出幅度比较稳定15伏左右的直流电。L7805,L7812,以及L7912是三态稳压器,只要给他们大于一定电压的电压值(小于最大输入电压)他们就可以分别输出+5伏,+12伏和-12伏的电压。 (二)、信号调理模块 原理图如图3所示:
图3 方波整形原理图 使用方波整形是为了产生计数信号,是为后续的VHDL计数、测频工作做准备的。 AD8611是高速比较器,100MHz信号输入,单/双路4nS传输延迟,具有锁存和互补输出功能。AD8611对很宽的频率范围的输入波形都有良好的整形效果。AD8611能够在低频和高频都能产生波形比较正确的方波,能够满足设计的要求,因此,在此系统中采用了AD8611作为电压比较器的核心。 (三)、信号频率/周期测量模块 采用ALTERA 的CPLD EPM570对输入信号进行测量。CPLD的基本特点主要有: 核心电压3.3 V、144 引脚( 其中116 个GPIO) 的EPM570T144C5 作为实现控制电路的CPLD。EPM570T144C5内部有570个逻辑单元( Logic Element),相当于440个宏单元(Macrocell)。EPM570T144C5 内部分为两个I/O bank, 共116 个通用I/O, 引脚延时为8.8ns, 满足系统的设计要求。具体测量方法如图4所示:输入信号经过AD8611整形后,送到CPLD进行测量。首先进行判断,频率大于1KHZ测频,方法是通过精确定时1秒钟,进行测频,测量精度大于0.1%。 低于1000Hz采用周期测量法,因为采用25MHz的标准时钟源,测周的精度大于0.1%。满足了题目要求。具体的读取方法如图4所示。
…………………………………………… 时间间隔Tx
N T1
T2
待测脉冲
量化时钟 M 图4 频率/周期测量 量化时钟频率为 ,对应的周期 ,在待测脉冲上升沿计数器输出计数脉冲个数 , , 为待测脉冲上升沿与下一个量化时钟脉冲上升沿之间的时间间隔,则待测脉冲时间间隔 为:
(四)、ATmega64单片机 ATmega64是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega64 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。具有2K 字节EEPROM,对本设计的记忆功能有很大的帮助。 本设计中用CPLD来测量频率/周期,然后将结果送到ATMEGA64 进行显示,保存。 M64作为控制中心,对键盘、显示、以及记忆的读取、计数值得读取等进行控制,以实现人机交互。 (五)、语音模块 图5 单片机和语音模块的接口 语音模块采用BMP5008系列多段语音录放板。BMP5008系列多段语音录放板采用了上海奔流电子有限公司全新设计的专用录音控制MCU外加SPI接口FLASH的全新设计思路,通过外挂不同容量的FLASH,可以获得从30秒—32分钟的录音容量。有8KHZ和12KHZ两种采样频率用户可选;录音信息掉电不会丢失。板上自带MIC/LINE IN线路输入口,可外接多种音源录音。板上自带稳压电路,支持5V—6V电压直接输入;主芯片自带0.5w功放;用户可自由定义6个I/O口的触发功能为单端发放音还是63段(8421并行编码)地址选段放音。如图5所示。
(六)、温度模块 和时钟模块
图6温度和时钟模块 温度测量:采用单总线温度传感器DS18B20,连线简单,测量结果准确。 时钟测量:采用时钟芯片DS1302进行时间测量和显示。 (七)、键盘和显示模块 1、键盘:采用6个独立按键,分别控制如图7所示,6种功能:温度/时间切换、数据保存、数据回显、频率/周期切换和语音播放。 2、显示模块:包括12个数码管和4个LED小灯。12个数码管分成8个和4个两组。8个数码管用于显示频率/周期测量值,4个数码管显示时间和温度。4个LED发光管用于指示测量单位。具体连线如图7所示
图7 键盘及显示模块 三、系统的流程图 主程序的流程图如下图: