基于ARM Cortex-M3的MODBUS协议实现及其应用
在MODBUS数据帧中,功能码是指主节点对从节点的请求操作类型,常用的MODBUS功能码及其功能如表2所示。本文引用地址:https://www.eepw.com.cn/article/150476.htm
MODBUS RTU采用循环冗余校验码CRC(Cyclic Redundancy Check)是一种被广泛采用的多项式编码,编码简单且误判概率很低,在串行通信、以太网、MPEG解码等通信领域中得到了广泛应用。在通信过程中,发送方用待发送数据除以一个收发双方约定的生成多项式,将得到余数作为CRC校验多项式,附加在待发送数据尾部作为一个整体发送给接收方。接收方将收到的数据同样除以生成多项式,若余数为零刚传输正常,若余数不为零则传输出错。
2 电路连接及硬件参数
在无损探伤试验仪中,选用基于ARM Cortex-M3内核的STM32F103ZET6微控制器作为处理核心,而变频器采用了烟台惠丰公司的F2000-G矢量变频酪。STM32F103ZET6通过基于MAX3485的RS485链路与F2000-G相连,按照MODBUS协议与之通信,实现变频调速的控制功能。RS485接口电路如图2所示,STM32F103ZET6的USART3的Uart3Rx、Uart3Tx连接到MAX3485的RO、DI以进行RS232的数据收发;STM32F103ZET6的GPI01以I /O模式与MAX3485的接收使能端RE、发送使能端DE相连,对RS485半双工总线的通信方向进行统一控制;而MAX3485的差分信号端A、B则通过插座与F2000-G相连,同时为保证通信质量,消除总线上的信号反射,需在RS485网络终端的差分总线间串联50 Ω的电阻R1。
评论