03_串口 RS232

03_串口 RS2321.2 RS-232 信号线1.3 RS232 通信协议简介 2. 亚稳态 3. 实验目标4. 硬件资源5. 模块设计 6. 波形图 7. RTL 8.
1. 理论学习 1.1 串口专业名词介绍 1.1.1 异步通信
UART 和 SPI、IIC 不同的是,它是异步通信接口,异步通信中的接收
方并不知道数据什么时候会到达,所以双方收发端都要有各自的时钟,在数据传输过程中是不需要时钟的,发送方发送的时间间隔可以不均匀,接受方是在数据的起始位和停止位的帮助下实现信息同步的 。
1.1.2 同步通信
SPI、IIC 是同步通信接口(后面的章节会做详细介绍),同
步通信中双方使用频率一致的时钟,在数据传输过程中时钟伴随着数据一起传输,发送方和接收方使用的时钟都是由主机提供的 。
1.1.3 全双工
全双工,即可以同时进行发送数据和接收数据 。
1.1.4 半双工
发送数据和接受数据在同一时刻只能有一个在进行 。
1.1.5 UART 通信
UART 通信只有两根信号线,一根是发送数据端口线叫 tx,一根是接收数据端口线叫 rx,对于 PC 来说它的 tx 要和对于 FPGA 来说的 rx 连接,同样 PC 的 rx 要和 FPGA 的 tx 连接,如果是两个 tx 或者两个 rx 连接那数据就不能正常被发送出去和接收到,所以不要弄混,记住 rx 和 tx 都是相对自身主体来讲的 。UART 可以实现全双工,即可以同时进行发送数据和接收数据 。
1.2 RS-232 信号线
RS-232 信号线口标准常用于计算机、路由与调制调解器(MODEN,俗称
“猫”)之间的通讯,在这种通讯系统中,设备被分为数据终端设备 DTE(计算机、路由)和数据通讯设备 DCE(调制调解器) 。我们以这种通讯模型讲解它们的信号线连接方式及各个信号线的作用 。在旧式的台式计算机中一般会有 RS-232 标准的 COM 口(也称 DB9 接口)
【03_串口 RS232】DB9接口信号线说明
“直通型”的串口线连接
1.3 RS232 通信协议简介
1)RS232 是 UART 的一种,没有时钟线,只有两根数据线,分别是 rx 和 tx,这两根线都是 1bit 位宽的 。其中 rx 是接收数据的线,tx 是发送数据的线 。
2)rx 位宽为 1bit,PC 机通过串口调试助手往 FPGA 发 8bit 数据时,FPGA 通过串口线rx 一位一位地接收,从最低位到最高位依次接收,最后在 FPGA 里面位拼接成 8 比特数据 。(接受数据最后拼接成8比特数据,一位数据)
3)tx 位宽为 1bit,FPGA 通过串口往 PC 机发 8bit 数据时,FPGA 把 8bit 数据通过 tx线一位一位的传给 PC 机,从最低位到最高位依次发送,最后上位机通过串口助手按照RS232 协议把这一位一位的数据位拼接成 8bit 数据 。
4)串口数据的发送与接收是基于帧结构的,即一帧一帧的发送与接收数据 。每一帧除了中间包含 8bit 有效数据外,还在每一帧的开头都必须有一个起始位,且固定为 0;在每一帧的结束时也必须有一个停止位,且固定为 1,即最基本的帧结构(不包括校验等)有10bit 。在不发送或者不接收数据的情况下,rx 和 tx 处于空闲状态,此时 rx 和 tx 线都保持
高电平,如果有数据帧传输时,首先会有一个起始位,然后是 8bit 的数据位,接着有 1bit的停止位,然后 rx 和 tx 继续进入空闲状态,然后等待下一次的数据传输 。如图所示为一个最基本的 RS232 帧结构 。
5)波特率:在信息传输通道中,携带数据信息的信号单元叫码元(因为串口是 1bit 进行传输的,所以其码元就是代表一个二进制数),每秒钟通过信号传输的码元数称为码元的传输速率,简称波特率,常用符号“Baud”表示,其单位为“波特每秒(Bps)” 。串口常见的波特率有 4800、9600、 等,我们选用 9600 的波特率进行串口章节的讲解 。