2022年FPGA通用异步收发器课程设计.pdf
《2022年FPGA通用异步收发器课程设计.pdf》由会员分享,可在线阅读,更多相关《2022年FPGA通用异步收发器课程设计.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGA 通用异步收发器课程设计课程设计任务书学生姓名 : 瞿子敬专业班级 : 通信 1104 指导教师 : 陈适工作单位 : 信息工程学院题目 :FPGA 通用异步收发器设计课程设计目的 : 1. 熟练使用 VHDL 语言进行电路设计 ; 2. 能够运用相关软件进行模拟分析; 3. 掌握基本的文献检索与文献阅读的方法; 4. 提高正确的撰写论文的基本能力。课程设计内容与要求1. 内容:FPGA通用异步收发器设计2、要求 :使用 VHDL 语言完成电路设计 ,并在此基础上进行仿真 ,得到正确结果。初始条件Quartus 仿真平台时间安排1. 方案设计 ,1 天; 2. 软件设计 ,2 天; 3
2、. 系统调试 ,1 天; 4. 答辩,1 天。指导教师签名 : 年月日系主任 (或责任教师 )签名 : 年月日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计目录摘要. IAbstract. I1、 UART 简介 . 11、1 UART 基本特点 . 11、2 FPGA URAT 系统组成 . 12、 模块设计 . 22、1 顶层模块 . 22、1 波特率发生器 . 32、3 UART 接收器 . 32、3、1
3、 接收器简介 . 32、3、2 UART 接收器的接收状态机 . 42、4 URAT 发送器 . 52、4、1 发送器简介 . 52、4、2 发送状态机 . 53、 程序设计与仿真 . 73、1 顶层程序 . 73、2 波特率发生器程序 . 93、3 UART 发送器程序 . 103、4 UART 接收器程序 . 134、 心得体会 . 155、 参考文献 . 16精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计
4、摘要UART(Universal Asynchronous Receiver Transmitter 通用异步收发器 )就是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。8250、8251、NS16450等芯片都就是常见的UART 器件。基本的 UART 通信只需要两条信号线 (RXD、 TXD) 就可以完成数据的相互通信,接收与发送就是全双工形式。 TXD 就是 UART 发送端 ,为输出 ;RXD 就是 UART接收端 ,为输入。关键词 :UART,FPGA,VHDL, 电路通信Abstract UART (Universal Asynchronous Recei
5、ver Transmitter) is a kind of widely used short serial transmission interface 、 Often used in short distance, low speed, low cost of communications、 8250, 8251, NS16450, etc are common UART chip devices 、Basic UART communication only need two signal lines (RXD, TXD) can complete data communication,
6、sending and receiving is full duplex form 、 TXD is UART transmitter for output; RXD is UART receiver for input 、Keywords:UART,FPGA,VHDL,Circuit Communication精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计1、 UART 简介1、1 UART基本特点(1)在信
7、号线上共有两种状态,可分别用逻辑1(高电平 )与逻辑 0(低电平 )来区分。在发送器空闲时 ,数据线应该保持在逻辑高电平状态。(2)起始位 (Start Bit): 发送器就是通过发送起始位而开始一个字符传送,起始位使数据线处于逻辑 0 状态,提示接受器数据传输即将开始。(3)数据位 (Data Bits):起始位之后就就是传送数据位。 数据位一般为 8 位一个字节的数据 (也有 6 位、7 位的情况 ),低位(LSB)在前,高位(MSB)在后。(4)校验位 (parity Bit): 可以认为就是一个特殊的数据位。 校验位一般用来判断接收的数据位有无错误 ,一般就是奇偶校验。在使用中,该位常
8、常取消。(5)停止位 :停止位在最后 ,用以标志一个字符传送的结束,它对应于逻辑 1 状态。(6)位时间 :即每个位的时间宽度。起始位、数据位、校验位的位宽度就是一致的,停止位有 0、5 位、1 位、1、5 位格式 ,一般为 1位。(7)帧:从起始位开始到停止位结束的时间间隔称之为一帧。(8)波特率 :UART 的传送速率 ,用于说明数据传送的快慢。 在串行通信中 ,数据就是按位进行传送的 ,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。如波特率 9600=9600bps(位/秒)。UART 的数据帧格式为 : 1、2 FPGA URAT 系统组成FPGA UART 由三个子模块组
9、成 : (1)波特率发生器 ; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计(2)接收模块 ; (3)发送模块 ; 模块分布如图所示 : 图 1、1 UART 模块2. 模块设计模块设计分为顶层模块、波特率发生器、UART 接收器、 UART 发送器四部分。2、1 顶层模块异步收发器的顶层模块由波特率发生器、UART 接收器与 UART 发送器构成。UART 发送器的用途就是将准备输出的并行数据按照基本UAR
10、T 帧格式转为 TXD 信号串行输出。UART 接收器接收 RXD 串行信号 ,并将其转化为并行数据。波特率发生器就就是专门产生一个远远高于波特率的本地时钟信号对输入RXD 不断采样 ,使接收器与发送器保持同步。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计顶层模块电路图 : 图 2、1 顶层模块电路2、1 波特率发生器波特率发生器实际上就就是一个分频器。可以根据给定的系统时钟频率(晶振时钟 )与要求的波特率算
11、出波特率分频因子,算出的波特率分频因子作为分频器的分频数。波特率分频因子可以根据不同的应用需要更改。2、3 UART接收器2、3、1 接收器简介由于串行数据帧与接收时钟就是异步的,由逻辑 1 转为逻辑 0 可以被视为一个数据帧的起始位。然而 ,为了避免毛刺影响,能够得到正确的起始位信号,必须要求接收到的起始位在波特率时钟采样的过程中至少有一半都就是属于逻辑0 才可认定接收到的就是起始位。由于内部采样时钟bclk 周期 (由波特率发生器产生 )就是发送或接收波特率时钟频率的16 倍,所以起始位需要至少8 个连续 bclk 周期的逻辑 0 被接收到,才认为起始位接收到 ,接着数据位与奇偶校验位将每
12、隔16 个 bclk 周期被采样一次 (即每一个波特率时钟被采样一次)。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计如果起始位的确就是 16个 bclk 周期长 ,那么接下来的数据将在每个位的中点处被采样2、3、2 UART 接收器的接收状态机图 2、2 接受状态机状态图五个状态分别为R_START(等待起始位 ),R_CENTER(求中点 ),R_WAIT(等待采样),R_SAMPLE(采样),R_STOP
13、(停止位接收 )。R_START 状态:当 UART 接收器复位后 ,接收状态机将处于这一个状态。在此状态 ,状态机一直在等待RXD 的电平跳转 ,从逻辑 1 变为逻辑 0,即起始位 ,这意味着新的一帧UART数据 帧 的开始 ,一旦起始位被确定,状态机将转入R_CENTER 状态。状态图中的 RXD_SYNC 信号就是 RXD 的同步信号 ,因为在进行逻辑 1 或逻辑 0 判断时 ,不希望检测的信号就是不稳定的,所以不直接检测RXD 信号,而就是检测经过同步后的RXD_SYNC 信号。R_CENTE 状态 :对于异步串行信号 ,为了使每一次都检测到正确的位信号,而且在较后的数据位检测时累计误
14、差较小,显然在每位的中点检测就是最为理想的。在本状态 ,就就是由起始位求出每位的中点,通过对bclk 的个数进行计数精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 19 页 - - - - - - - - - - FPGA 通用异步收发器课程设计(RCNT16),但计数值不就是想当然的“1000” ,要考虑经过一个状态 ,也即经过了一个 bclk 周期,所希望得到的就是在采样时1/2 位。另外,可能在 R_START 状态检测到的起始位不就是真正的起始位,可能就是一个偶然出现的干扰尖脉冲(负脉
15、冲 )。 这种干扰脉冲的周期就是很短的,所以可以认为保持逻辑 0 超过 1/4 个位时间的信号一定就是起始位。R_WAIT 状态:当状态机处于这一状态 ,等待计满 15 个 bclk,在第 16个 bclk 就是进入 R_SAMPLE 状态进行数据位的采样检测,同时也判断就是否采集的数据位长度已达到数据帧的长度(FRAMELEN), 如果到来 ,就说明停止位来临了。FRAMELEN 在设计时就是可更改的 (使用了 Generic),在本设计中默认为 8,即对应的 UART 工作在 8 位数据位、无校验位格式。R_SAMPLE 状态:即数据位采样检测 ,完成后无条件状态机转入R_WAIT 状态,
16、等待下次数据位的到来。R_STOP状态:无论停止位就是 1还就是 1、 5位,或就是 2位,状态机在 R_STOP不具体检测RXD,只就是输出帧接收完毕信号(REC_DONEclk32mhz,resetb=reset,bclk=b); -顶层映射u2:reciever port map(bclkr=b,resetr=reset,rxdr=rxd,r_ready=rec_ready, rbuf=rec_buf); u3:transfer port map(bclkt=b,resett=reset,xmit_cmd_p=xmit_cmd_p_in, txdbuf=txdbuf_in,txd=txd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 FPGA 通用 异步 收发 课程设计
限制150内