一、MODBUS通信协议
1、通信协议 设备1与设备2为了实现数据交互,就要选择一种通信协议来保证数据能够正常传输。 通信协议分为两层:硬件层协议与软件层协议,这两种协议一起作用才能够保障设备之间数据能够正常的交互。 硬件层协议主要的作用是解决0与1电平的传输问题,可以简单的将硬件层协议理解为公路,若发送端要发送个1给对方,线上的电压应保持在多少伏。若发个0,线上的电压应保持在多少伏。 (能够使用仪表进行测量的,能够触摸,看的见得都是有硬件层协议去约束如何传输) MCU的关键输出一般为TTL电平,TTL电平是指当关键输出0时,信号线为0V;当管脚输出1时,信号线为5V。TTL电平的缺点就是由于只有一个信号线一个地线,所以易受到干扰。 RS485通信实际上就是把MCU发送的TTL电平进行传唤,把0V/5V的信号转换为两根信号A,B。 当MCU输出0时,用VB>VA来表示; 当MCU输出1时,用VA>VB来表示; 由于两线电压可以测量,所以RS485属于硬件层协议,也就是说RS485解决的问题仍是数据的传输问题。 当对方(接收方)也为MCU时,一般情况下MCU只能识别TTL电平,也就是说MCU只能读取一根线上的电压来判断接收的数据为0还是1.但在RS485的机制上,VA>VB表示1,VB>VA表示0。这样就导致了MCU的数据传输机制与RS485的传输机制不一样,因此在接收方也要通过一个相应的转换器把A,B上的信号转换为MCU能识别的TTL信号。常用芯片MAX485。
|