《红外测温模块通信协议说明.docx》由会员分享,可在线阅读,更多相关《红外测温模块通信协议说明.docx(8页珍藏版)》请在课桌文档上搜索。
1、红外测温模块通信协议说明一、RS-485红外测温模块(RS-485)通信使用RS-485串行通信总线接口,与上位MCU或电脑连接使用。通信协议使用ModBus协议,缺省为RTU模式。1、传输模式本通信采用RTU(远程终端单元)模式,每个8bit字节包含2个4bit的十六进制字符。2、字节格式一个字节由11个bit位组成,1个起始位(0),8个数据位(D0D7),1个奇偶校验位(无,置为1),1个停止位(I)o详细信息如图所示:0DODlD2D3D4D5D6D7N13、帧格式整个消息帧必须作为一个完整的数据流传输,一个帧由1个字节的地址码,1个字节的控制码,1个字节的数据长度域,n个字节的数据域
2、(X=nv=32),最后是2个CRC校验码。详细信息如图所示:I地址码I控制码I数据长度I数据域I校验码Ia、地址的分配情况是:00:广播地址01247:从设备地址b、控制码的格式是:D7D6D5D4D3D2D1D0|D7:O正常回应1异常回应D6:O-由主站发出的命令帧I-由从站发出的应答帧D5D0:请求及应答功能码0x03:读数据(读目标温度、目标温度及环境温度,读地址、通信速率、辐射率)0x06:写数据(写地址、通信速率、辐射率)c、数据长度是指传送的数据域的长度。d、数据域包括数据标志和传送的数据。数据标志是读写数据的类别,有:0x00:地址0x01:通信速率(0-1200bps1-2
3、400bps2-4800bps3-9600bps4-19200bps)0x02:辐射率(缺省值为0.95范围为0.101.00读数为实际*100)0x04:目标温度(为实际温度*10)、环境温度(为实际温度*10)0x05:系统信息,6点测试温度,校验和)f、校验码使用的是CRC校验方式,占用2个字节。4、传输a、在发送帧信息之前,先发送14个字节FEHb、所有数据项都先传送低位字节,后传送高位字节c、每次通信都由主站发送命令帧开始,被请求的从站根据控制码作出响应收到命令帧后的响应延迟时Td:20ms=Td=200ms字节之间停顿时间Tb:Tb=20msd、差错控制采用了字节之间的偶校验以及对
4、帧的CRC(纵向信息校验和)方式e、传输速率:1200、2400、4800、9600bps,缺省值为960ObPS示例:例1.主请求读目标物温度:地址(ID)功能码(F)长度(L)数据域(Field)CRC数据标识(DD数据(DATA)FEFEOl03Ol0349BO从应答(目标温度30.0度(300):地址(ID)功能码(F)长度(L)数据域(Field)CRC数据标识(DI)数据(DATA)Ol4303032C014169备注300例2.设置地址IDFLFieldCRCDIDATAFEFE00060200018844从应答(广播地址不应答)例3.设置通讯速率IDFLFieldCRCDIDA
5、TAFEFEOI0602010319F9备注03-9600bps从应答IDFLFieldCRCDIDATA014601015D20例4.读取设置数据IDFLFieldCRCDIDATAFEFE00030118BEFl从应答:Ol4309180301965F38FF8813187AIDFLFieldDIDATA014309180301965F38FF8813ID01读数据成功长度数据标识波特率9600ID01响应时间150(*2)300ms辐射率95最小输出温度-200最大输出温度5000写设置数据:FEFE0006OB18090301965F38FF8813D29F例5.读校准数据地址(OXo
6、O)功能码(OXo3)数据长度(OXol)数据标识(OXlA)CRC校验(7F70)从应答地址(OXOI)功能码(0x43)数据长度(OXI9)数据标识(OXlA)数据(0000580200408076009B8OB00006202BA04IC077909D6OB)CRC校验(XXxx)写校准数据地址(OXoI)功能码(OXo6)数据长度(OXIA)数据标识(OXIA)数据(0000580200408076009B8OB00006202BA04IC077909D6OBF1)CRC校验(XXxx)从应答地址(OXoI)功能码(0x46)数据长度(OXol)数据标识(OXlA)CRC校验(XXxx
7、)写校准数据成功写校准数据数据意义:实际温度00005802BO0408076009B80B0600(60.0)1200(120.0)1800(180.0)2400(240.0)3000(300.0)测试温度00006202BA04IC077909D6OB0610(61.0)1210(121.0)1820(182.0)2425(242.5)3030(303.0)不需要校准数据时,测试温度全填0。实际温度及校正温度必须按从小到大顺序排列填满。二、UART/RS-232红外测温模块(UART)及红外测温模块(RS232)通信使用串行通信总线接口。通信协议使用ModBus协议。红外测温模块(UART
8、)(缺省9600BPS)可与上位MCU连接使用。红外测温模块(RS-232)可与电脑连接使用。红外测温模块(RS485)需要接收到上位机指令后才应答。红外测温模块(UART)及红外测温模块(RS232)可按用户要求设置成接收到上位机指令后应答,也可设置为模块一次测温完毕后即输出数据(缺省设置)(功能码:0x34).传输示例参见RS-485及SPL三、SPI红外测温模块(SPl)采用三线(CS,SCK,SDA)接口,与上位MCU连接使用。在时钟(SCK)下降沿读写数据。Ibit的传输时间典型值为104us,最小约90us,最大约120us01.外部控制MCU为主机,模块为从机。MCU通过设置CS
9、更改主机、从机SPl模式。当置CS为低时,模块为主模式(SCK,SDA由模块输出),MCU为从模式;当置CS为高时,模块为从模式,MCU为主模式(SCK,SDA由MCU输出)。2.字节格式一个字节由8个bit位(D0D7)组成。3、帧格式整个消息帧必须作为一个完整的数据流传输,一个帧由1个字节的地址码,1个字节的控制码,1个字节的数据长度域,n个字节的数据域(X=nv=32),最后是2个CRC校验码。详细信息如图所示:I地址码I控制码I数据长度I数据域I校验码Ia、地址的分配情况是:00:广播地址01247:从设备地址b、控制码的格式是:D7D6D5D4D3D2D1D0|D7:0.正常回应1异
10、常回应D6:0由主站发出的命令帧I-由从站发出的应答帧D5D0:请求及应答功能码0x03:读数据(读目标温度、目标温度及环境温度,读辐射率)0x06:写数据(写辐射率)C、数据长度是指传送的数据域的长度。d、数据域包括数据标志和传送的数据。数据标志是读写数据的类别,有:0x00:地址0x02:辐射率(缺省值为0.95范围为0.101.00读数为实际*100)0x03:目标温度(为实际温度*10)0x04:目标温度(为实际温度*10)、环境温度(为实际温度*10)0x05:系统信息VbO(1:目标温度低)b1(1:目标温度高)b2(1:环境温度低)b3(1:环境温度高)0x06:响应时间(Ioo
11、mS500ms)0x07:测试AD数据0x10:版本号(070602)0x18:设置数据(波特率、ID、响应时间、辐射率、输出最小温度、输出最大温度)OxlA:校准数据(6个点校准数据:6点实际温度V从小到大排列,6点测试温度,校验和)f、校验码使用的是CRC校验方式,占用2个字节。4、传输a、在发送帧信息之前,先发送14个字节FEHb、MCU在发送帧信息之前,置CS为高,等待接收模块数据时,置CS为低。运行中如果CS一直为低,模块约每30OmS向外输出一组数据(功能码:0x34)。如数据FEFEOl34OF0729FFE8OBE8387CFF7900B400B20037080134OF072
12、9FFE8OBE8387CFF7900B400B2003708ID功能码长度标识红外AD头温AD板温AD计算红外AD目标温度头温板温CRC校验码-215304814568-132121180178CRCc、MCU置CS为高,发送0103010349B0,再将CS置低,模块回应014305047201FA008EOA表示目标温度为37.0(370),环境温度为25.0(250VOXOoFd、CK频率约为9.6kHz;下降沿读取数据位。e、所有数据项都先传送低位字节,后传送高位字节f、每次通信都由主机发送命令帧开始,被请求的从机根据控制码作出响应收到命令帧后的响应延迟时间Td:IOmS=Td=500ms采用问答式方式采集数据时,需要正确设置CS,否则容易出错,建议一直保持CS为低,接收模块数据(功能码:0x34)。正确设置CS的方式:I.置CS为高,保持约6ms后开始向模块发送数据:2 .发送数据完毕,等待约2ms,置CS为低,准备接收模块数据;3 .接收模块数据完毕,跷CS为高(长时间置CS为低,模块自动发送测试数据)模块发送Ibil的时间约104us,下降沿收发数据,一帧数据字节间不停顿,数据帧之间至少间隔20ms读写数据举例参见RS-485