基于FPGA的数字温度计.doc

基于FPGA的数字温度计.doc

ID:50915939

大小:611.40 KB

页数:19页

时间:2020-03-15

基于FPGA的数字温度计.doc_第1页
基于FPGA的数字温度计.doc_第2页
基于FPGA的数字温度计.doc_第3页
基于FPGA的数字温度计.doc_第4页
基于FPGA的数字温度计.doc_第5页
资源描述:

《基于FPGA的数字温度计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1题目要求基本要求:基于FPGA设计一个测量室温的温度计,能够实时的显示温度。附加功能:Ⅰ、达到设置的预定温度值可报警;Ⅱ、统计温度测量期内的最高温以及最低温提供硬件:cycloneEP1C6Q240C8N开发板开发板资源:按键四个;共阳数码管四位;PS2接口;USB接口;蜂鸣器;四位拨码开关;LCD——1602;VGA接口;RS232接口;FLASH;SDRAM;2设计方案(或设计分析)外设:鉴于要测量温度,而开发板没有测量温度的设备,所以最基本是要添加外设数字温度传感器ds18b20。.ds18b20外形与三极管一样

2、,一只脚传输数据,另外两只脚分别接地与高电平使之工作。Ds18b20实时测得的室温将转化成9到2位的串行数据,对串行数据进行“翻译”就可以得出实时室温。传输途径:传输途径是指9到12位的串行数据传输,我们考虑两种传输途径,一种是无线传输,一种是有限传输。如果是无线传输就会使成品温度记的测温更加灵活方便,不局限于线的长度,但必须再增加外设,而且编程肯定会更难更复杂,所以我们的初始方案是第二种,就是有线传输,在实现了基本测温功能之后如果有时间就再设计无线发送接收的模块。连接:开发板上提供了众多的引脚,我们只需选择其中一个接口

3、与ds18b20的传输脚连接,将开发板上的地和+5v与ds18b20的其他两脚连接就可完成外围电路的连接,这个虽然比较简单,但是在调试阶段我们的连接还是忽略了一点问题,这将在设计中遇到的问题中述说。程序的编写:程序的编写我们打算用模块化得方式。总的来说数字温度记程序的设计不算复杂,不分模块写下来应该也不会难以读懂,但模块化的程序编写的一个良好习惯,这样在编写复杂程序的时候才会调理清晰容易读懂,而且模块化有利于组内分工,充分调动大家,积极参与到课程设计中。而程序的分块将在模块实现中分析。附加功能:在实现基本测温功能的前提下

4、,我们考虑使其功能更强大更切合实际,所以打算添加功能,一个是警报功能,就是温度达到某个设定的温度时使蜂鸣器响一声并使灯亮;另一个功能是最高温与最低温的记录,在不按按键的时候显示的是实时室温,在按下一个或者两个按键时可以分别显示温度计启动开始到目前为止的最高室温与最低室温。3模块实现分析:首先要对DS18B20的外围电路进行配置:Ds18b20的工作方式看似简单,只是单线传输,直接解读,其实初始化与读写操作比较复杂,时序要求非常精确,如下面图片所示:初始化:读写:写时间隙当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时

5、间隙开始。有两种写时间隙:写1时间隙和写0时间隙。所有写时间隙必须最少持续60μs,包括两个写周期间至少1μs的恢复时间。I/O线电平变低后,DS1820在一个15μs到60μs的窗口内对I/O线采样。如果线上是高电平,就是写1,如果线上是低电平,就是写0。主机要生成一个写1时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15μs内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保持60μs。读时间隙当从DS1820读取数据时,主机生成读时间隙。当主机把数据线从高高平拉到低电平时,写时间

6、隙开始。数据线必须保持至少1μs;从DS1820输出的数据在读时间隙的下降沿出现后15μs内有效。因此,主机在读时间隙开始后必须停止把I/O脚驱动为低电平15μs,以读取I/O脚状态(见图12)。在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60μs,包括两个读周期间至少1μs的恢复时间。而对DS18B20的操作可以用下表表示:温度转换和插补(外部电源供电且只有一只DS1820)控制器状态数据(LSB在前)内容TX复位复位脉冲TR存在存在脉冲TXCChSkipROM命令TX44hConver

7、tT命令RX<1个字节的数据>读8次忙标志。控制器一字节(或位)接一个字节读下去,直到数据为FFh(所有位都为1)TX复位复位脉冲RX存在存在脉冲TXCChSkipROM命令TXBehReadScratchpad命令RX<9个数据字节>读整个暂存器加上CRC;控制器重新计算从暂存读到的8个数据字节的CRC,把计算的CRC和读取的CRC进行比较,如果相同,数据就是有效的。控制器存储温度值并分别存储计数寄存器的内容和每度计数值寄存器的内容,做为COUNT_REMAIN和COUNT_PER_C。TX复位复位脉冲RX存在存在脉冲

8、————CPU按手册中的方法计算温度值以得到更高的分辨力。时钟:为了在初始化程序的编写方面那些延时比较直观准确和七段显示管的显示正常工作,我们设置了两个时钟分频模块。把原开发板上5MHZ的始终频率分成1MHZ和10KHZ,前者为串行数据处理与ds18b20初始化模块提供时钟,后者为并行数据处理与显示模块提供时钟。并行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。