UART模式在S7-300/400 PLC中的应用与技术细节

需积分: 4 27 下载量 121 浏览量 更新于2024-08-10 收藏 8.99MB PDF 举报
"UART模式-s7-300-400plc应用技术" 这篇文章主要讲解了UART(通用异步收发传输器)在西门子S7-300和S7-400 PLC中的应用技术。UART是一种常用的串行通信接口,允许设备以全双工的方式进行数据交换,即同时进行发送和接收数据。 在UART模式下,接口通常使用两线(RXD和TXD)或四线(包括可选的RTS和CTS),并具备以下特性: 1. 支持8位或9位负载数据。 2. 提供奇校验、偶校验或无校验的选择。 3. 可配置起始位和停止位的电平。 4. 可选择LSB(最低有效位)或MSB(最高有效位)先传送。 5. 具备独立的发送和接收中断功能。 6. 支持独立的发送和接收DMA触发。 7. 提供奇偶校验和帧校验错误状态。 UART通信的数据帧结构包含1个起始位、8个或9个数据位、1个可选的第9位(奇偶校验位)以及1个或2个停止位。数据传输通常以字节为单位。 UART的操作由USART控制和状态寄存器(如UxCSR)以及UART控制寄存器(如UxUCR)来控制。当UxCSR.MODE设置为1时,就选择了UART模式。 16.1.1 UART发送: 在发送过程中,当数据写入USART的收/发数据缓冲器(UxBUF)时,该字节会被发送到TXDx引脚。UxBUF是双缓冲的,确保在字节发送期间能接收新的数据。发送开始时,UxCSR.ACTIVE位变为高,发送结束后变为低。UxCSR.TX_BYTE位在发送完成后被设置为1,当数据缓冲器准备好接收新的发送数据时,会产生中断请求。 16.1.2 UART接收: 接收开始时,将1写入UxCSR.RE位。UART会在RXDx引脚上寻找有效的起始位,设置UxCSR.ACTIVE为1。检测到有效起始位后,接收到的字节被传入接收寄存器,UxCSR.RX_BYTE被设置为1。接收完成后,产生接收中断,UxCSR.ACTIVE变为低电平。读取UxDBUF会得到接收的数据字节,同时UxCSR.RX_BYTE由硬件清零。需要注意的是,不应在读取UxDBUF后清除UxCSR.RX_BYTE,因为这可能会误导UART,导致未处理的数据丢失或潜在的溢出问题。 这个资源适用于那些需要在西门子S7系列PLC中使用UART通信的工程师,提供了一种详细的技术指南,涵盖了UART的设置、发送和接收流程,有助于理解和实现基于UART的串行通信。