马上注册,看完整文章,学更多FPGA知识。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
温度检测工程上板说明
作者:肖肖肖
本文为明德扬原创文章,转载请注明出处!
明德扬MP801开发板可以支持温度检测工程,该工程可以达到实时检测温度的效果。在串口中设置温度范围,实际温度会实时的显示开发板在数码管上,实际温度超过设置范围的蜂鸣器会“滴”声报警。具体工程展示如下。
一、MP801开发板效果图
MP801开发板是明德扬自有开发板,此设计我们需要用到串口接口、电源、数码管、蜂鸣器和温度传感器这几部分,连接图如下所示:
二、quartus烧录进板
1. 打开软件“Quartus”,点击图标:
2. 出现Programmer界面后,点击 Add File 添加工程“.sof”文件:
3. 添加对应工程的“.sof”文件:在添加工程文件的时候特别注意区分文件名!
4. 添加成功后,点击“Start”开始下载:
5. 下载成功如下所示:
三、串口调试助手 发送操作指令
1.打开串口调试助手:
2.配置串口号等相关参数:
3.串口端口号可在“设备管理器”—“端口(COM和LPT)”中查看:
4.在串口调试助手的发送区域一次性发送以下指令: 55d50101 55d58000 55d581cc 55d58144 55d58000 55d581cc 55d581be 55d58200 55d58300 55d58000 55d50400 55d50320 55d50200 55d50500 55d50d00
5.点击“打开串口”,
点击“手动发送”
,温度传感器检测一次温度就会在MP801开发板的数码管上显示并传回数据显示在串口调试助手。
此时,如果温度显示的是+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开发板温度显示效果如下图所示:
串口助手得到的传回数据如下图所示:
2.实时采集效果
点击“自动发送”
,温度检测器就可以实现实时检测、显示温度并返回温度数据,串口显示效果如下图所示:
五、温度传感器操作码(opcode)说明
指令(16进制) | | | | | | | 从温度传感器的温度寄存器(LSB)读到1字节数据,并保存在FPGA温度低位寄存器DS_TEMP_LSB_REG中 | | 从温度传感器的温度寄存器(MSB)读到1字节数据,并保存在fpga温度高位寄存器DS_TEMP_MSB_REG中 | | 从温度传感器读到1字节数据,并保存到fpga读通用寄存器(读除了温度寄存器的其他寄存器)DS_TEMP_RDATA_REG | | 设置数码管开关。XX最低位有效: 0:关闭数码管显示 1:开启数码管显示 其他:无效 | | 设置温度报警器范围的下限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。 | | 设置温度报警器范围的上限,XX一共有8bit,其中最高位是符号位,0表示正数,1表示负数。低7位是数值。 | | 利用DS_TEMP_LSB_REG和DS_TEMP_MSB_REG计算出十进制值,结果保存到TEMP_US寄存器中 | | 设置温度报警功能:XX最低位有效: 0:关闭温度报警功能 1:开启温度报警功能 其他:无效 | | | | | | | | | | 读寄存器DS_TEMP_LSB_REG,返回给PC | | 读寄存器DS_TEMP_MSB_REG,返回给PC | | 读寄存器DS_TEMP_RDATA_REG,返回PC | | | | |
注:1.每次发送必须是两个字节,否则会出错; 2.表中的XX,如果是发送数据,则XX是发送的内容;否则,XX表示任何值。
以上就是明德扬MP801开发板上板效果,想要学习更多内容的同学,可以加Q:1479512800肖肖肖 获取本工程的“.sof”文件!
|