RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一。
·串口介绍:,串口是“串行接口”的简称,即采用串行通信方式的接口。串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送,其特点是通信线路简单,但传输速度较慢。因此串口广泛应用于嵌入式、工业控制等领域中对数据传输速度要求不高的场合。
串行通信分为两种方式:同步串行通信和异步串行通信。同步串行通信需要通信双方在同一时钟的控制下,同步传输数据;。异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。
sUART是一种采用异步串行通信方式的通用异步收发传输器( universal asynchronous receiver-transmitter),它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。
UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收。UART在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位,如下图所示。其中,起始位标志着一帧数据的开始,停止位标志着一帧数据的结束,数据位是一帧数据中的有效数据。校验位分为奇校验和偶校验,用于检验数据在传输过程中是否出错。奇校验时,发送方应使数据位中1的个数与校验位中1的个数之和为奇数;接收方在接收数据时,对1的个数进行检查,若不为奇数,则说明数据在传输过程中出了差错。同样,偶校验则检查1的个数是否为偶数。+
UART通信过程中的数据格式及传输速率是可设置的,为了正确的通信,收发双方应约定并遵循同样的设置。数据位可选择为5、6、7、8位,其中8位数据位是最常用的,在实际应用中一般都选择8位数据位;校验位可选择奇校验、偶校验或者无校验位;停止位可选择1位(默认),1.5或2位。串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是bps(位/秒),常用的波特率有9600、19200、38400、57600以及115200等。RS-232规定的标准传送速率有50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s
RS-232是单端输入输出,而RS-422/485 为差分输入输出等。
针对异步串行通信的接口标准有RS232、RS422、RS485等其对比区别如下:
各引脚作用:
连线分3种:
1、九个pin都连接
2、连接5个pin
3、连接3pin
注:3线连接中,DTE使用TXD和RXD两条数据线,无法实现硬件流控功能,在做大量数据传输应用时,建议使用5线或9线连接方式。
开发板与PC机进行通信:
SP3232的作用:ZYNQ PL端串口输入输出引脚为TTL电平,用3.3V代表逻辑“1”,0V代表逻辑“O”﹔而计算机串口采用RS-232电平,它是负逻辑电平,即-15V~-5V代表逻辑“1”,+5V~+15V代表逻辑“0”。因此当计算机与ZYNQ通信时,需要加电平转换芯片SP3232,实现RS232电平与TTL电平的转换。
P1的座子的作用:SP3232芯片端口的U2_RX和 U2_TX并没有直接和ZYNQ的引脚相连接,而是连接到了P1排针上。RS232串口和 RS485串口共用P1排针的UART2_TX和 UART2_RX,而UART2_TX和 UART2_RX是直接和ZYNQ 的引脚相连接的。在使用时,使用跳线帽选择与ZYNQ相连接的串口类型,这样的设计方式实现了有限IO的复用。因此,在做RS232的通信实验时,需要使用杜邦线或者跳线帽将.U2_RX和UART2_TX连接在一起,U2_TX和UART2_RX连接在一起。
原理说明:
P1端子的3脚是连接FPGA的发送端,4脚是连接FPGA的接收端。COM2的2脚是接收数据端,3脚是发送数据端。
发送数据的过程:
如果我们想实现 FPGA与外部的串口设备进行通信。那我们就需要将串口的发送端与外部设备串口的接收端进行连接。所以用跳线帽把P1的3脚和P1的1脚连接。另外,我们还需要把串口的接收端与外部的发送端连接,即把P1的2脚和P1的4脚连接。·
U1 的11脚在芯片的内部与14管脚连接,在这个过程中,完成了TTL电平到RS232电平的转换。通过第14管脚连接到DB9的第二个管脚。DB9的2脚是接收数据端。DB9通过串口线与外部的串口设备进行连接。
接收数据的过程:
外部的串口设备会发送数据通过串口线连接到DB9的第3管脚,数据通过SP3232管脚的13管脚,再连接到12管脚,在这个过程中,完成电平转换的过程。最终数据会通过P2的2脚和4脚连接,送到FPGA的接收端。
C1+和C1-之间的电容称为:电荷泵电容
C2+和C2-之间的电容称为:电荷泵电容
V+和V-接到地的电容是去藕电容。
//232的输出的差分电压是比VCC的电压要高不少的,要用较低的电压产生较高的电压,比较常见的方法是Boost升压,这个一般电源上用的,要用电感,或者用并关电容法,就是用电荷泵给电容充电,达到升压的目的。所以电容是内部升压电荷泵用的//