
红外模块通信协议说明.docx
4页红外测温模块通信协议说明一、RS-232/RS-485红外测温模块通信使用RS-232/RS-485串行通信总线接口通信协议使用ModBus协议,缺省为RTU 模式1、 传输模式本通信采用RTU (远程终端单元)模式,每个8bit字节包含2个4bit的十六进制字符2、 字节格式一个字节由11个bit位组成,1个起始位(0),8个数据位(DO〜D7), 1个奇偶校验位(无,置为1),1 个停止位(1)详细信息如图所示:0DOD1D2D3D4D5D6D7N13、帧格式整个消息帧必须作为一个完整的数据流传输,一个帧由 1 个字节的地址码,1 个字节的控制码,1个字节的数据长度域,n个字节的数据域(0v=nv=60),最后是2个CRC校验码详细信息如图所示:地址码控制码数据长度数据域校验码a、 地址的分配情况是:00:广播地址 01〜247:从设备地址b、 控制码的格式是:D7D6D5D4D3D2D1DOD7: 0-正常回应 1-异常回应D6: 0-由主站发出的命令帧 1-由从站发出的应答帧D5~D0:请求及应答功能码0x03:读数据(读目标温度、目标温度及环境温度,读地址、通信速率、辐射率)0x06:写数据(写地址、通信速率、辐射率)c、 数据长度是指传送的数据域的长度。
d、 数据域包括数据标志和传送的数据数据标志是读写数据的类别,有:0x00:地址0x01:通信速率(0-1200bps 1-2400bps 2-4800bps 3-9600bps 4-19200bps)0x02:辐射率(缺省值为0.950)0x03:目标温度(为实际温度*10)0x04:目标温度(为实际温度*10)、环境温度(为实际温度*10)0x05:系统信息vb0(1:目标温度低)b1(1:目标温度咼)b2(1:环境温度低)b3(1:环境温度咼)f、校验码使用的是CRC校验方式,占用2个字节4、传输a、 在发送帧信息之前,先发送1~4个字节FEHb、 所有数据项都先传送低位字节,后传送高位字节c、 每次通信都由主站发送命令帧开始,被请求的从站根据控制码作出响应收到命令帧后的响应延迟时 Td: 20ms<= Td <=500ms字节之间停顿时间 Tb: Tb<=500msd、 差错控制采用了字节之间的偶校验以及对帧的CRC (纵向信息校验和)方式e、 传输速率:1200、2400、4800、9600bps,缺省值为 9600bps示例:例 1.主请求读目标物温度:地址(0x01)功能码(0x03)数据长度(0x01)数据标识(0x03) CRC校验(49 B0)从应答(目标温度30.0 度(300<0x12C>)):地址(0x01)功能码(0x43)数据长度(0x03)数据标识(0x03)数据(0x2C 0x01)CRC校验(41 69) 例 2.设置地址地址(0x00)功能码(0x06)数据长度(0x02)数据标识(0x00)地址(0x01) CRC校验(88 44) 从应答(广播地址不应答)例 3.设置通讯速率地址(0x01)功能码(0x06)数据长度(0x02)数据标识(0x01)通讯速率(0x03v9600bps>) CRC校验(19 F9) 从应答地址(0x01)功能码(0x46)数据长度(0x01)数据标识(0x01)CRC校验(5D 20)二、SPIMessage formatT「;CHECKSUM1. 外部控制MCU为主机,模块为从机。
MCU通过设置CS更改主机、从机SPI模式当置CS 为低时,模块为主模式(SCK由模块输出),MCU为从模式;当置CS为高时,模块为从模式, MCU为主模式(SCK由MCU输出)2. 整个消息帧必须作为一个完整的数据流传输,一个帧由 1 个字节的地址码, 1 个字节的控制码, 1个字节的数据长度域,n个字节的数据域(0v=nv=12),最后是1个校验码详细信息如图所 示:地址码控制码数据长度数据域校验码a、 地址的分配情况是:00:广播地址 01~247:从设备地址b、 控制码的格式是:D7D6D5D4D3D2D1DOD7: 0-正常回应 1-异常回应D6: 0-由主站发出的命令帧 1-由从站发出的应答帧D5〜DO:请求及应答功能码0x03:读数据(读目标温度、目标温度及环境温度,读地址、辐射率)0x06:写数据(写地址、辐射率)c、数据长度是指传送的数据域的长度d、数据域包括数据标志和传送的数据数据标志是读写数据的类别,有:0x00:地址0x02:辐射率(缺省值为0.950)0x03:目标温度(为实际温度*10)0x04 :目标温度(为实际温度*10)、环境温度(为实际温度*10)0x05:系统信息vb0(1:目标温度低)b1(1:目标温度咼)b2(1:环境温度低)b3(1:环境温度咼)f、校验码使用的是和校验,即为一帧数据中校验码前所有字节的和的低字节。
3、传输a、 MCU在发送帧信息之前,置CS为高,等待接收模块数据时,置CS为低运行中如果CS 一直 为低,模块约每 300ms 向外输出一组数据( DI: 0x04)b、 SCK频率为4kHz;下降沿读取数据位b、 所有数据项都先传送低位字节,后传送高位字节c、 每次通信都由主机发送命令帧开始,被请求的从机根据控制码作出响应收到命令帧后的响应延迟时 Td: 20ms<= Td <=500ms字节之间停顿时间 Tb: Tb<=100ms。












