IrDA设计 部分说明 verilog代写

基于IrDA协议的串行通信说明文档

  1. 串行通信和UART协议

UAR T (U n i ve rs a l A s ynch r onou s Rece i ve r Tr an s m it 2t e r)协议是一种串行数据传输协议 。UAR T允许在串行链路上进行全双工通信 ,在数据通信及控制系统中得到了广泛运用 。

基本 的 UAR T 通信 只需 要两 条信号 线 ( R x D ,Tx D )就可以完成数据的全双工通信任务 。 Tx D 是UAR T发送端 , 为输出 ; Rx D 是 UAR T 接收端 , 为输入。UAR T的基本特点是 : 在信号线上共有两种状态 ,分别用逻辑 1 ( 高电平 ) 和逻辑 0 ( 低电平 ) 来区分 。 例如 , 在发送器空闲时 , 数据线保持在逻辑高电平状态 ,发送器是通过发送起始位来开始一个数据帧的传送 ,起始位使数据线处于逻辑 0 状态 , 提示接收器数据传输即将开始 。 接着发送数据位 ,数据位一般为 8 位一个字节的数据 ( 也有 5 位 、 6 位或 7 位的情况 ) ,低位 (L S B ) 在前 ,高位 (M S B ) 在后 。 然后发送校验位 ,校验位一般用来判断传输的数据位有无错误 ,一般是奇偶校验 。停止位在最后 ,用以标识数据传送的结束 , 它对应于逻辑1 状态 。

图1 UART协议格式

(重点)实现UART的verilog代码时主要分为三个部分,波特率产生模块、发送模块、接受模块。在原代码file中其本意也主要是这三个模块,只是本来可以通过实例化两个波特率产生模块的任务变成了两个模块即txbaud和rxbaud模块,为了满足条件:

图2 要求

  1. Baud Rate

我们需要调节Baud Rate为57600,那么就需要在txbaud和rxbaud中进行修改:

首先我们要了解波特率发生器的原理,波特率发生器实际上就是分频器 ,可以根据给定的系统时钟频率 ( 晶振时钟 ) 和要求的波特率算出波特率分频因子 ,把算出的波

Leave a Reply

Your email address will not be published. Required fields are marked *