高通SDM450 Android9上调试RS485接口温湿度传感器调试介绍
1、初步确认硬件电路工作正常
2、确认主控端串口可以正常工作
3、调试主控串口经过RS485连接电脑可以正常收发
4、单独调试温湿度传感器是否正常工作(不方便调试的话可以先不做这一步)
5、调试主控与温湿度传感器
原理图
图1
原理图说明
UART6_RXD : 主控串口接收端
UART6_TXD: 主控串口发送端
485RW: 控制TP8485E收发,当485RW为低时,处于接收状态,当485RW为高时,处于发送状态
RS485_A: 外接RS485设备的A端接口
RS485_B:外接RS485设备的B端接口
以下是具体调试过程
1、初步确认硬件电路工作正常
如图1,TP8485E支持RS-485和RS-422标准收发器,供电电压3V~5.5V,用万用表测量VCC_5V确保电压5V左右
2、主控端功能调试
短接图1中的UART6_RXD和UART6_TXD,在主控端用Android串口工具测试,可以实现自发自收,则主控端的串口功能基本可以保障没问题。
TP8485E的2号管脚与主控的GPIO22(485RW)连接,用于控制收发。当485RW为低时,处于接收状态,当485RW为高时,处于发送状态
3、调试主控串口经过RS485连接电脑可以正常收发
将设备的RS485接口和RS485调试工具连接,然后接到电脑进行调试,这里采用的是帝特的RS485调试工具,该工具的接口图如下
将设备中的RS485A ,接到T/R+,将RS485B接到T/R-,连接后如下图
控制原理图中的485RW管脚电平,可以正常的跟电脑端通信,则证明设备端的RS485通信是正常的
4、单独调试温湿度传感器正常工作
将温湿度传感器和RS485调试工具连接,测温模块的A端接帝特的RS485调试工具的T/R+,测温摸到的B端接到帝特的RS485调试工具的R/R-,然后接到电脑上,测试RS485通信功能
测试温湿度传感器和电脑的通信
5、调试主控与温湿度传感器的通信
调试的温湿度传感器使用的是modbus通信协议,在调试开发的过程中,使用的由于我们只是获取温湿度信息,因而,只是发送一条指令就行,具体的modbus RTU协议,有时间再去写一下调试文档吧,以下是手头上这个温湿度传感器读取的命令
主机发送的命令通过串口发送的命令
01 03 00 00 00 02 C4 0B
地址 读命令 开始读取的地址 读取数据字节数 crc校验
主机接收到的数据
01 03 04 00 F5 02 68 78 03
地址 命令 数据字节数 温度数据 湿度数据 CRC校验
按照以下供应商给过了的文档进行解析
得到的温度 为 (5*16^0+F*16^1)*0.1 = 24.5
湿度数据: (8*16^0+6*16^1+2*16^2)*0.1 = 61.6%
说明: 本次调试有些图没有保存下来,具体调试过程中,主要是通过电脑端的串口助手来测试主控和设备的功能是不是正常,最后主控端和设备连接后的调试时需要编写串口通信代码,这里没有贴出来,只是把调试步骤写出来。