7.5 本章总结¶
异步串行通讯接口及UART(通用异步收发器)是嵌入式系统之间互联的物理层之一,与其他的系统互联方案相比,异步串行通讯具有低速率、低数据吞吐量、高可靠性和高实时性等特点。 采用差分信号的RS-485、RS-422等物理层目前广泛用于工业领域的设备层网络,这类网络的抗共模干扰能力强,而且传输距离远。
UART是面向字节编码的串行数据收发器,与面向位编码的CAN总线相比,采用UART的异步串行通讯网络大多数是主从结构。基于全双工的RS-422物理层的网络只能采用单主机和多从机的结构, 如果需要在RS-485物理层的网络上实现多主多从结构,必须借助于高层协议实现多主机对网络的控制权和访问。基于CAN物理层的网络支持多主结构, 这是CAN总线特殊的面向位编码的数据流支持多个主机对总线控制权的抢占机制。主从结构和多主结构相比较,虽然前者的数据传输方向更多、更灵活, 但是数据传输的实时性下降。本章仅仅探讨基于UART的异步串行通讯接口及其应用,关于CAN总线相关的请查阅其他资料。
作为MCU片上的基本功能单元,UART的软件接口几乎是所有软件开发平台内部必备的。基于UART的异步串行通讯软件接口主要包括通讯参数(波特率、数据位和停止位个数、 奇偶校验位、FIFO队列深度等)配置参数等初始化、读/写数据传输的缓冲区、查询缓冲区的状态等。UART总是以起始位开始、停止位结束,字节内的最低位先传输、最高位后传输, 最小传输单位是一个字节(字节的有效位个数是可配置的)。
结构化的数据帧是所有通讯协议的基本特征,面向字节编码的数据帧按字节顺序定义其每一个数据域的意义,大多数的通讯数据帧都包含帧起始字节、帧结束字节,以及数据域、 校验域等。网络节点根据接收收发双发协定的数据帧结构定义(即通讯协议)确定每一个数据帧,校验所接收到的数据帧是否存在错误,并按协议约定处理数据帧。 Modbus协议是符合OSI的应用层协议,基于异步串行通讯接口、以太网等物理层的网络都可以使用该协议。Modbus协议不仅适合主从结构网络,也适合多主网络, 每次数据传输总是由主机发起,被访问的从机给予应答。Modbus协议建立在PLC资源模型之上,单个网络内支持247个Modbus从机,单个网络的Modbus主机能够管理数百万个继电器、 开关输入、模拟输出和模拟输入资源。
通过本章的学习,我们初步掌握UART和异步串行接口的基本原理、软硬件接口、编程应用,以及基于UART的工业现场网络和协议等。
本章总结如下:
- 异步串行通讯接口的数据传输原理,波特率等参数的意义及其配置,FIFO队列的工作原理
- 异步串行通讯的软件接口及其编程,结构化的数据帧和通讯协议等概念
- OSI模型,符合OSI模型的Modbus协议及其应用
- 差分传输网络及其工业领域的应用