明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫一扫,快捷登录!

查看: 125681|回复: 0

温度检测工程上板说明

[复制链接]
发表于 2019-11-1 16:57:45 | 显示全部楼层 |阅读模式

马上注册,看完整文章,学更多FPGA知识。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

温度检测工程上板说明


作者:肖肖肖


    本文为明德扬原创文章,转载请注明出处!


     明德扬MP801开发板可以支持温度检测工程,该工程可以达到实时检测温度的效果。在串口中设置温度范围,实际温度会实时的显示开发板在数码管上,实际温度超过设置范围的蜂鸣器会“滴”声报警。具体工程展示如下。


一、MP801开发板效果图


    MP801开发板是明德扬自有开发板,此设计我们需要用到串口接口、电源、数码管、蜂鸣器和温度传感器这几部分,连接图如下所示:

1.jpg



二、quartus烧录进板


1. 打开软件“Quartus”,点击图标:

2.jpg



2. 出现Programmer界面后,点击 Add File 添加工程“.sof”文件:


3.jpg



3. 添加对应工程的“.sof”文件:在添加工程文件的时候特别注意区分文件名!

4.jpg



4. 添加成功后,点击“Start”开始下载:

5.jpg

5. 下载成功如下所示:

6.jpg



三、串口调试助手 发送操作指令


1.打开串口调试助手:

7.jpg



2.配置串口号等相关参数:

8.jpg



3.串口端口号可在“设备管理器”—“端口(COM和LPT)”中查看:

9.jpg



4.在串口调试助手的发送区域一次性发送以下指令:

55d50101

55d58000

55d581cc

55d58144

55d58000

55d581cc

55d581be

55d58200

55d58300

55d58000

55d50400

55d50320

55d50200

55d50500

55d50d00



5.点击“打开串口”, 10.jpg 点击“手动发送” 11.jpg ,温度传感器检测一次温度就会在MP801开发板的数码管上显示并传回数据显示在串口调试助手。

12.jpg


   

    此时,如果温度显示的是+85°,这是正常的。因为“*The power-on reset value of the temperature register is +85°C”,这个是DS18B20数据手册里的描述,也就是说,DS18B20在上电复位时,其温度寄存器里的初始值是85°C。如果你不想显示这个85°C,你可以延迟一段时间,比如0.5S后再提取这个DS18B20转换的温度显示即可。




四、效果演示


1.单次采集效果


    再次点击“手动发送”,温度检测器检测一次温度,此时的温度就为正常的,数码管上显示检测到的温度“+31.01875°”,并传回数据给上位机。MP801开发板温度显示效果如下图所示:

13.jpg



串口助手得到的传回数据如下图所示:

14.jpg



2.实时采集效果


点击“自动发送” 17.png ,温度检测器就可以实现实时检测、显示温度并返回温度数据,串口显示效果如下图所示:

16.jpg




五、温度传感器操作码(opcode)说明


指令(16进制)

功能定义

80XX

复位温度传感器

81XX

将XX值写到温度传感器

82XX

从温度传感器的温度寄存器(LSB)读到1字节数据,并保存在FPGA温度低位寄存器DS_TEMP_LSB_REG中

83XX

从温度传感器的温度寄存器(MSB)读到1字节数据,并保存在fpga温度高位寄存器DS_TEMP_MSB_REG中

84XX

从温度传感器读到1字节数据,并保存到fpga读通用寄存器(读除了温度寄存器的其他寄存器)DS_TEMP_RDATA_REG

01XX

设置数码管开关。XX最低位有效:                                0:关闭数码管显示                                     1:开启数码管显示                                   其他:无效

02XX

设置温度报警器范围的下限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。

03XX

设置温度报警器范围的上限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。

04XX

利用DS_TEMP_LSB_REG和DS_TEMP_MSB_REG计算出十进制值,结果保存到TEMP_US寄存器中

05XX

设置温度报警功能:XX最低位有效:                     0:关闭温度报警功能                                    1:开启温度报警功能                                    其他:无效

06XX

读寄存器TEMP_US[31:24],返回给PC

07XX

读寄存器TEMP_US[23:16],返回给PC

08XX

读寄存器TEMP_US[15:8],返回给PC

09XX

读寄存器TEMP_US[ 7:0],返回给PC

0aXX

读寄存器DS_TEMP_LSB_REG,返回给PC

0bXX

读寄存器DS_TEMP_MSB_REG,返回给PC

0cXX

读寄存器DS_TEMP_RDATA_REG,返回PC

0dXX

读取转换后的温度值,返回给PC

其他

无效,可用作延时

注:1.每次发送必须是两个字节,否则会出错;

    2.表中的XX,如果是发送数据,则XX是发送的内容;否则,XX表示任何值。



    以上就是明德扬MP801开发板上板效果,想要学习更多内容的同学,可以加Q:1479512800肖肖肖  获取本工程的“.sof”文件!


MP801开发板 网络培训班 就业培训班 FPGA学习资料
吴老师18022857217
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|MDYBBS ( 粤ICP备16061416号 )

GMT+8, 2024-4-26 16:11 , Processed in 0.073985 second(s), 34 queries .

Powered by Discuz! X3.4

本论坛由广州健飞通信有限公司所有

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表