功。 初始化成功后,FPGA通过向总线发送命令来控制传感器的温度采集,程序中用到的主要命令如下:0XCC为跳过ROM检测命令;0X44为启动温度转换命令;0XBE为从DS18B20读取温度测量数值。 在顶层代码中除了核心控制模块外,还包括包括分频模块和显示模块。 其中,分频模块将实验板上50M Hz时钟转换为1MHz输出到核心控制模块,用于控制FPGA对单总线的读、写时序。 显示模块用于将读取到的温度数据转换为十进制数据,并通过数码管进行动态显示。由于温度寄存器默认采用12位二进制数据来存储,最高位为符号位,温度分辨率为0.0625℃,如图3所示。当温度为正数时符号位为0;当温度为负数时符号位为1,且数据位采用补码的形式。因此,将温度转换成十进制数据时,首先判断符号位,当符号位为1时,先由二进制数据求出原码,再转换为十进制,最后乘以温度分辨率0.0625得到实测温度;当符号
位为0时,直接将二进制转换为十进制,再乘以温度分辨率。 将编译好的sof程序下载到实验板中运行,能够实现环境温度的测量和显示,实际效果如图5所示。基于以上方法的温度控制系统硬件电路简单,实时性强,能够进行多路温度监控,应用范围广泛。
因篇幅问题不能全部显示,请点此查看更多更全内容