当前位置:   article > 正文

2021-08-16_fpga 422通信

fpga 422通信

FPGA UART通信实现(一)

1、UART

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议。UART通信协议如下图所示:
UART通信协议
空闲态:
当总线处于空闲状态时信号线为高电平‘1’。

起始位 Start:
开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。
数据位 Data:
起始位之后就是要传输的数据,数据可以是5,6,7,8,9位,先发送最低位,最后发送最高位。
奇偶校验位 Parity:
奇校验(odd parity):如果数据位中’1’的数目是偶数,则校验位为’1’,如果’1’的数目是奇数,校验位为’0’。
偶校验(even parity):如果数据为中’1’的数目是偶数,则校验位为’0’,如果为奇数,校验位为’1’。
无校验(no parity)
停止位 Stop:
数据结束标志,可以是1位,1.5位,2位的高电平‘1’。

波特率:
数据传输速率使用波特率来表示,单位bps(bits per second),UART常见的波特率9600bps,115200bps等等,其他标准的波特率是1200,2400,4800,19200,38400,57600。

2、RS232

EIA-RS-232C 对RS232电器特性、逻辑电平和各种信号线功能都作了规定。RS232的电器电气特性如下:
在 TxD 和 RxD 上(负逻辑:负电平为1,正电平为0):
逻辑 1(MARK)=-3V~-15V
逻辑 0(SPACE)=+3~+15V

计算机异步串口RS232 DB9连接器,各引脚编号及定义见下图
DB9连接器
DB9定义

FPGA与计算机的串口RS232通信需要使用RS232电平转换芯片,如MAX3232(芯片之间的互联:单片机与单片机、单片机与FPGA互联,无需转换芯片)。
DB9连接器通常只需接入RX、TX和GND三根线就可以了,DB9的2脚RX(输入)接MAX3232的输出端R1OUT或R2OUT,DB9的3脚TX(输出)接MAX3232的输入端T1IN或T2IN。
MAX3232

3、RS422

RS422相对于RS232采用差分线进行数据传输,其最大传输速率可达到10Mbps。
采用RS422与计算机异步串口RS232通信需要使用RS422转RS232转换器,如下图所示,其中RS422的T/R+、T/R-为差分发送端,RS422的RXD+、RXD-为差分接收端。
RS422/RS485转RS232转换器
FPGA使用单端转差分芯片完成RS422数据传输,如MAX3490。将RS422/RS485转RS232转换器的T/R+、T/R-接MAX3490的A和B,RXD+、RXD-接MAX3490的Y和Z。
MAX3490

4、RS485

RS485也采用差分线进行数据传输,最大传输速率可以达到10Mbps。与RS422不同的是,RS485通信是半双工,只需2跟线,RS422为全双工,需要4跟线。
FPGA 使用485芯片实现RS485通信,如MAX3485。与计算机通信需将RS422/RS485转RS232转换器的T/R+、T/R-接MAX3485的A和B。FPGA控制/RE、DE完成发送、接收转换,当/RE=0 且 DE=0时,为接收态;当/RE=1且DE=1时,为发送态。
RS3485

5、其他

完成与计算机的异步串口通信也可以使用RS232转USB线或者RS422/485转USB线。
RS232转USB

RS422/485转USB

板子上使用串口转USB芯片,用一根USB线连接板卡与计算机就可完成异步串口通信,如CH340芯片。
CH340


引用

UART详解
TTL转RS232电路–分享原理图和参考资料
RS232标准9针串口引脚定义

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/920105
推荐阅读
相关标签
  

闽ICP备14008679号