山东科技大学学士学位论文 系统的总体模块设计
2 原理分析
系统时钟信号进入分频模块clk引脚,经过分频后得到信号clk_1m和clk_1k输出。
输出的clk_1k的频率信号用于扫描数码管做动态显示,使人不会看到数码管的闪烁感;输出的clk_1m的频率信号用于产生1us 时钟,用于控制传感器读写时序。
分频模块用Verilog HDL语言描述,见附录B。 4.2.3 数制转换模块
利用数制转换模块将输入的16位二进制的温度数据转换为BCD码,如图4.3所示。
图4.3 数制转换模块
1 端口说明
data[15..0]:输入16位数据 bcd_out[11..0]:输出12位数据 2 原理分析
图4.3中,data[15..0]表示从DS18B20获取的16位数据,前4位表示温度的正负号,后12位表示数据,本次试验显示忽略了小数位和负号,只取整数位,那么只取data[10:4]这7位,便是温度的整数值。
bcd_out[11..0]的每四位储存一个数据,一共有3个数据,这三个数据分
27
山东科技大学学士学位论文 系统的总体模块设计
别代表着温度的个位、十位、百位,便于在下一个模块中便于将其转换成十进制显示出来。
数制转换模块用Verilog HDL语言描述,见附录B。 4.2.4显示模块
本次显示采用的动态显示。数码管动态显示接口是应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当FPGA输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于FPGA对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,缺点就是亮度稍低,但是它能够节省大量的I/O端口,而且功耗更低。
从数制转换模块输出的BCD码转换成十进制数接入到显示模块中,将其译码为七段值,输出到共阳数码管上显示,模块如图4.4所示。
28
山东科技大学学士学位论文 系统的总体模块设计
图4.4 显示模块
1 端口说明
clk:输入clk_1k的时钟信号; rst:复位信号
data[11..0]:进制转换出的12位数据 seg[7..0]:段选信号; en[1..0]:位选信号。 2 原理分析
本次设计采集的温度忽略了百位,所以只需要显示温度的十位跟个位就可以了,调用两个数码管,其中一个数码管当作十位,另一个数码管则是个位,当十位的数码译码为“00100101”时,则说明十位数码管将显示数值“2”,当个位的数码管译码为“00001101”时,则说明个位显示“3”。因此个位和十位都是按照八段译码的原则将 0~9之间的数字显示出来。 该模块用Verilog HDL语言描述,见附录B。
29
山东科技大学学士学位论文 整体编译结果与分析
5整体编译结果与分析
设计采用FPGA器件和DS18B20实现温度测量仪,FPGA电路板主要由FPGA器件、时钟电路、下载电路、电源电路、显示电路、指示灯和按键等构成。核心芯片采用ALTERA公司生产的Cyclone II系列EP2C5T144C8芯片。在设计温度传感器部分时,由于DS18B20进行精确转换时需要I/O引脚保持大电流供电,这样对FPGA芯片引脚造成很大压力,所以要使DS18B20的VDD引脚接外部电源。
5.1 整体编译
使用Quartus II进行课题验证时,首先要创建工程和编辑设计文件,做好编译前设计,最后再进行全程编译。 编译成功后的界面如图5.1所示。
图5.1 编译完成后Quartus II的界面
30
山东科技大学学士学位论文 整体编译结果与分析
此界面左上角为工程管理界面,显示了工程的层次结构和其中结构模块耗用的逻辑宏单元;此栏下面是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析;右栏是编译报告项目选项菜单,单击其中各项可以详细了解编译与分析结果;最下栏是编译处理信息。
如果工程中的文件有错误,错误提示将在processing栏里显示,只要双击错误提示,就可以在对应的Verilog HDL文件中看到错误,修改至完全正确即可。
5.2 程序的下载调试
选择下载FPGA芯片为EP2C5T144C8,在菜单中选择Pins项设定引脚,在弹出的窗口中设置好各个输入输出端与硬件相对应的引脚,如图5.2,并编译通过。
将FPGA的下载数据线一端连接FPGA电路板,一端接计算机USB口,在命令栏里Programmer项,在弹出的窗口中选择Hardware Setup,确认计算机已与开发板连接好后,点击Start开始下载运行。
图5.2 输出端与FPGA对应的引脚
连接好DS18B20温度传感器电路,即可测量室内温度,实物电路图如图5.3所示。由实测知,当前室温为28℃。
31
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于FPGA的温度监控系统(7)在线全文阅读。
相关推荐: