您的位置 首页 资料

根据FPGA的数字温度测量仪规划

温度测量仪是一种常用的检测仪器,文章中利用FPGA器件和DS18B20传感器设计实现了一种数字温度测量仪,用于室温的检测。该测量仪具有结构简单、抗干扰能力强、精确性高、转换速度快、扩展性好等优点。

0 导言

温度作为一种最根本的环境参数,与公民的日子有着密切联系。温度的丈量和操控在工业、农业、国防、医疗等各个领域中使用遍及。温度丈量仪是使用物质各种物理性质随温度改变的规则,把温度转化为电量并显现的一种仪器,有着广泛的适用范围。

本文使用FPGA器材与DS18B20温度传感器规划完结了一种数字温度丈量仪,用于检测室温。与其它体系相比较,此丈量仪具有结构简略、抗干扰能力强、准确性高、转化速度快、扩展性好等长处。

1 软件程序规划

依据体系的规划要求,将程序部分规划分为5个模块,包含分频模块、DS18B20通讯模块、操控模块、数制转化模块、显现模块,如图1所示。使用VHDL言语在QuartusII开发平台上完结程序规划。

1.1 分频模块

分频模块是FPGA规划项目中的根本模块之一。针对50MHz的时钟频率进行分频发生1MHz频率信号,分频模块如图2所示。

体系提时钟信号进入分频模块clock引脚,经过分频后得到信号从clk 1m输出。分频模块仿真成果如图3所示。
由图3可知,输入端的50MHz时钟信号被50分频后得到输出端的1MHz信号。

1.2 DS18B20通讯模块

图4中时钟clock为输入端口,DS18820数据总线口dq[0..0]为双向端口,使能端enable为输出端口,led[11..1]为测验时的指示端口,在实际操作中无需接出。

DS18B20选用一根I/O总线读写数据,因而它对读写数据位有严厉的时序要求,如图5所示。

从分频模块的clk_1m输出1MHz到通讯模块的clock作为时钟信号;依据DS18B20所遵从的初始化时序、读时序、写时序等通讯协议将程序完结;将获取的12位的温度信号传送给下一个模块。

1.3 操控模块

经过操控模块,将从DS18B20读取的二进制温度信息传给数制转化模块,如图6所示。

程序中设定了三个状况(铲除clear、使能enable、显现display),当ena为‘1’时,状况从显现转到铲除;ena为‘0’时,状况一向为显现,把输入数据win[11..1]从输出端口wout[11..1]输出到下一模块,之间的转化联系如图7所示。

操控模块仿真成果如图8所示。

图8中,clock输入为1 MHz信号,经过500分频后,得到频率为1kHz的信号clk lk,此刻累加器cnt0为‘0’。当cnt0为‘1’时,体系状况由本来的铲除状况转变为使能状况,此刻enb为‘1’,cnt0进行累加;当cnt0=‘1’时,体系状况从使能状况转变到显现状况,体系就把win[11..1]输入的数据经过wout[11..1]输出到下一模块。

1.4 数制转化模块

使用数制转化模块将输入的11位二进制的温度数据转化为3位十进制标明,如图9所示。

图9中,clear为清零输入端口,enable为使能输入端口,indata[11..1]为数据输入端口,b1『3..0]、b2[3..0]、b3[3..0]为三个输出端口。假如clear输入信号为‘1’时,程序将铲除暂存寄存器中数据;反之则不铲除。enable输入信号呈现上升沿时,程序开端进行数制转化,并经过b1[3..0]、b2[3..0]、b3[3..0]端口将得到的十进制数输出到相应的显现模块中。数制转化模块仿真见图10。

由图10知,输入数据为“010011 10000”,clear端为低电平,当enable信号有上升沿时,数据开端转化。转化后数据为b1=0、b2=9、b3=3,契合规划值。

1.5 显现模块

从数制转化模块输出的十进制数接入到显现模块中,将其译码为七段值,输出到共阴数码管上显现,模块如图11所示。

由图12可知,当输入为0时,输出为“1111110”;当输入为1时,输出为“0000110”;当输入为2时,输出为“1101101”;当输入为3时,输出为“1111001”等,在七段数码管上正好显现相同数字,标明所编写的程序正确。

1.6 全体电路框图

全体电路图如图13所示。

输入50MHz信号接入分频模块的clock端口,经过分频后的信号输入到DS18B20通讯和数制转化模块的clock端,作为模块的时钟信号。DS 18B20将测得的温度数据传给操控模块的win[11..1],经过数制转化模块将数据转化为3位十进制标明,最终使用显现模块译码后由共阴数码管显现。

2 硬件电路规划

规划选用FPGA器材和DS18B20完结温度丈量仪,FPGA电路板主要由FPGA器材、时钟电路、下载电路、电源电路、显现电路、指示灯和按键等构成。中心芯片选用ALTERA公司出产的CycloneII系列EP2C5T144C8芯片。在规划温度传感器部分时,因为DS18B20进行准确转化时需求I/O引脚坚持大电流供电,这样对FPGA芯片引脚形成很大压力,所以要使DS18B20的VDD引脚接外部电源。电路框图如图14所示。

3 下载调试

挑选下载FPGA芯片为EP2C5T144C8,在菜单中挑选Pins项设定引脚,在弹出的窗口中设置好各个输入输出端与硬件相对应的引脚,并编译经过。

将FPGA的下载数据线一端衔接FPGA电路板,一端接计算机USB口,在指令栏里Programmer项,在弹出的窗口中挑选Hardware Setup,承认计算机已与DE2板衔接好后,点击Start开端下载运转。

衔接好DS18B20温度传感器电路,即可丈量室内温度,什物电路图如图15所示。由实测知,当时室温为24.2℃。

4 结束语

本文使用FPGA与DS18B20规划并完结了一种用于检测室温的简易的数字温度丈量仪。在QuartusII开发平台上,使用VHDL言语完结软件程序规划,并完结硬件电路板规划,最终下载验证。完结的丈量仪具有结构简略、丈量准确性高、使用方便、扩展性能好的长处。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/194670.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部