当前位置:   article > 正文

verilog 232串口通信程序

verilog 232串口通信程序

 1,串口通信协议

通常串口的一次发送或接收由四个部分组成:起始位S、数据位D0~D7(一般为 6 位~8 位之间可变,数据低位在前)、校验位(奇校验、偶检验或不需要校验位)、停止位(通常为1位、1.5位、2位)。停止位必须为逻辑 1。在一次串口通信过程中,数据接收与发送双方没有共享时钟,因此,双方必须协商好数据传输波特率。根据双方协议好的传输速率,接收端即可对发送端的数据进行采样。常见的波特率标准有300bps,600bps,800bps,9600bps,19200bps等。当然更块的速度意味着对采样的要求更高,有可能误码率会逐渐提高。通常对串口进行数据采样,采用更高频的时钟。这样做的目的是采用高频时钟来锁存低频时钟,减少数据误码率,增加接收模块自纠错能力。

具体的工作流程为:发送端按照预先设定好的波特率,发送起始位(Start)+数据位(data)+奇偶校验位+结束位。起始位为逻辑 0,结束位为逻辑 1,发送端在空闲状态为 1。发送数据包格式:

2,verilog232串口代码

  1. module uart(
  2.                 clk,rst_n,
  3.                 rx_bit,
  4.                 rx_en, //仿真测试
  5.                 rx_stop, //仿真测试
  6.                 bit_data, //仿真测试
  7.                 bit_num, //仿真测试
  8.      
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号