FPGA视角–低速串口(UART)

这是个啥?

UART,只有一根数据通信线,没有伴随时钟线,属于异步通信。这类接口的衍生诸如:RS232、RS422、RS485、SPI等。数据交互时,一般做一收一发,通过固定频率的高低电平的变换,传递数据。这里只说明其逻辑特性,硬件特性不做说明。

波特率

用于描述UART的通信速率,单位bps,以最常见的9600bps来说,即每秒传输9600bit,也就是每1bit的时间就是1/9600秒=104.1667,约104us。通过计数器搭建时钟模型,输出周期为104us的时钟,在该时钟内传输的一个时钟周期的电平数据,0或者1,其波特率即为9600bps。

UART基本结构

下图中间部分为UART数据线为其基本结构,上方的时钟线用于理解数据线中传输的数据于Bit之间的关系。每个时钟周期产生一个传输的bit位,且该时钟为当前波特率下产生的逻辑内部的时钟。
FPGA视角--低速串口(UART)

起始位

数据传输起始的标志,一般由一个bit位构成。UART的数据线空闲时,保持高电平,当数据线由高到底变化,即1→0,代表数据传输开始。

数据部分

在起始位结束后执行传输动作,一般由8个bit构成,即字节传输,用户可根据实际需求修改传输长度。

奇偶校验位

校验位在数据位之后,其存在依据于用户需求。

奇校验:如果以二进制数据中1的个数是奇数为依据,则是奇校验;
如果给定一组数据位中 1 的个数是偶数,那么奇校验位就置为 1,使得总的 1 的个数保持奇数不变。

偶校验:如果以二进制数据中1的个数是偶数为依据,则是偶校验;
如果给定一组数据位中 1 的个数是奇数,那么偶校验位就置为 1,使得总的 1 的个数保持偶数不变。

数据(1的个数) 奇校验(奇校验结果)
0000 0111(3) 0000 0111 0
1110 0010 (4) 1110 0010 1

停止位

数据传输结束的标志,一般由一个bit位构成,依据用户需求,可选配为1、1.5、2bit。数据传输结束时,该bit位置为高电平。

相关文章:

  • 2021-08-30
  • 2021-04-10
  • 2022-12-23
  • 2021-10-31
  • 2022-01-12
  • 2021-11-14
  • 2021-07-22
  • 2021-04-07
猜你喜欢
  • 2022-12-23
  • 2021-04-06
  • 2021-05-27
  • 2021-11-08
  • 2021-04-08
  • 2021-09-11
  • 2021-07-11
相关资源
相似解决方案