VHDL串口通信

VHDL实现串口通信 含测试

4 .UART 模块设计

UART 异步通信串口协议的VHDL实现包括3个基本模块:时钟分频、接收模块和发送模块,下面逐一介绍其实现方法。

4.2.1 时钟分频模块

由于UART是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般UART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。

这里采用常用的数据波特率为9600bps,则所需时钟的频率为16*9600。系统时钟为50MHz,则分频系数为50000000/(16*9600) =325.52,取整为325。 分频器实现相对简单,这里对其设计流程图不做详细介绍。只是将设计过程和结果简述如下:

首先用VHDL语言进行设计输入,并生成模块文件如图4.3所示,其中clk为50M系统时钟输入,clkout为325分频后时钟输出。

图4.3 分频模块

然后建立波形文件,对以上模块进行时序仿真,仿真结果如图4.4所示,方正结果说明,分频输出实现了对输入的325分频,分频模块设计正确。 图4.4 分频模块仿真结果

VHDL串口通信

VHDL串口通信

你可能喜欢

  • 工程电路
  • 通信设计
  • I2C总线
  • testbench
  • modelsim使用教程
  • 光耦选型
  • 单片机串口通信

VHDL串口通信相关文档

最新文档

返回顶部