EDA原理_第12章_通用异步接收发送器的设计和实现.ppt
《EDA原理_第12章_通用异步接收发送器的设计和实现.ppt》由会员分享,可在线阅读,更多相关《EDA原理_第12章_通用异步接收发送器的设计和实现.ppt(39页珍藏版)》请在三一文库上搜索。
1、通用异步接收发送器 的设计和实现,何宾 2011.09,UART的设计和实现-本章概要,本章给出了PLD器件在简单通信系统的应用-UART设计。 通用异步接收/发送器的设计也是PLD在通信系统的经典应 用。该章首先介绍了UART设计原理,其中包括UART原 理和设计描述、接收模块设计,随后介绍了UART的 VHDL代码描述,最后介绍了URAT的软件仿真验证和硬 件验证。,UART的设计和实现-设计原理,基于通用异步接收发送器UART的RS-232接口是以前计算机上提供的一个串行数据接口,用来将接收的串行数据转换成并行数据,同时将并行数据转换成串行数据后发送出去。当PLD和其它外设通过串口通信时
2、就非常有用。UART发送的数据,经过电平转换后,传送到PLD的外部串行总线接口,然后这些串行数据被送到PLD内部进行处理。被处理的数据然后转换为串行数据经电平转换后传回串口。,UART的设计和实现-设计原理,该设计包含下面几个方面: 并行/串行和串行/并行数据转换 使用用户定义的奇偶校验位(缺省设置为奇校验) 数据波特率可修改(缺省9600) 包含测试代码和测试向量,UART的设计和实现-符号描述图,UART的设计和实现-原理和设计描述,UART设计主要包括两部分:并行数据转化成串行数 据,串行数据转换成并行数据。 UART设计的接收端口将接收到的串行数据转换成 并行数据,同时UART的发送端
3、口负责并行数据转换成串 行数据。 测试代码完成对UART设计的验证,该验证已经在 Xilinx大学计划提供的开发平台进行了验证,该设计也很 容易的移植到其它的EDA平台上。,UART的设计和实现-原理和设计描述符号,UART的设计和实现-原理和设计描述,UART设计包含两个主要模块,这两个模块封装在一 个UART的设计文件中。 这两个模块一个处理接收的串行数据,另一个处理发 送的串行数据。 接收模块的端口接收一个字节的有效数据,并将其转 换成8位的并行数据。转换的并行数据放在DBOUT端口。 发送模块将发送的数据送到DBIN端口,并且将其转换 成一个字节的串行发送数据,转换完的数据TXD端口上
4、。,UART的设计和实现-接收模块的设计,接收模块接收串行数据并将其转换为并行数据。该 设计包括下面几个部分: 串行数据控制器 用于同步的两个计数器 移位寄存器,移位寄存器保存来自RXD的数据。 错误比特控制器。 来自RXD串口的数据以一定的波特率被接收,所以 需要有个控制器同步接收数据的采集相位。串行同步控 制器的设计采用了一个状态机和两个同步计数器。在设 计中,在每个接收比特数据的中间采集数据。,UART的设计和实现-接收模块状态机,UART的设计和实现-接收模块状态机原理,当处于idle状态时,串行数据管脚RXD处于高电平状 态,在该状态一直等待直到检测到RXD为低电平时,进入 到Eig
5、htDelay状态。 在该状态,主要是进行同步,使得在每个比特位的中间 采样数据,计数器ctr比波特率快16倍。在该状态下,ctr计 数到8。然后进入到WaitFor0状态,waitfor1状态跟在其 后,这两个状态的转移由ctr的最高两位确定。进入到 GetData状态时,开始对RXD数据进行移位。,UART的设计和实现-接收模块状态机原理,这两个状态保证有足够的延迟保证读取采样数据的 正中间。当计数器计数到10(8个数据位、一个奇偶位 和一个停止位),然后进入到CheckStop状态。这个状 态进行奇偶校验。当该状态结束后,进入到idle状态。,对接收数据进行采样的时序的描述,UART的设
6、计和实现-差错控制的实现,差错控制寄存器分析接收到的数据,并对三种错误进 行判断:奇偶错、帧错误和溢出错误。 奇偶错误指接收数据的得到的校验和与接收到的Par不 一样。当进行偶校验的时候,D0到D7的和应该是偶数, 否则是奇校验。该设计中缺省设置为偶校验。当奇偶校验 错误时,PE端口为高。 帧错误是指UART在给定的时序没有正确的读到数 据。当停止位不为1时,表示帧错误,此时FE端口为1。 溢出错误是指,当前帧接收完,但还没有读时下一帧 数据就到了的情况。当单字节的串行数据可读时RDA为 高,移位后的并行数据放在DBOUT端口。一旦RDA端口 为高,且此时数据仍在DBOUT端口时,OE溢出错误
7、标志 为高。,UART的设计和实现 -接收模块内各个子模块的连接关系,UART的设计和实现-发送模块的设计,发送模块接收来自DBIN模块的数据,并以串行数据 的发送发送到TxD端口上。 发送端口的波特率和接收数据的波特率一样,接收和 发送波特率的修改方式一样。 为了发送存储在DBIN端口的数据,发送模块必须有 一个发送控制器、两个控制数据的波特率的同步计数器和 发送移位寄存器。 两个计数器中的一个计数器用于延迟发送控制器,另 一个计数器用来计算发送的串行数据位的个数。TXD端口 和发送移位寄存器的最低位连接。,UART的设计和实现-发送模块的状态机,UART的设计和实现-发送模块的状态机,UA
8、RT在idel状态,当WR为高时状态发生变化。然 后,发送模块加载DBIN端口的数据,下一个状态发送数 据。 Transfer状态准备发送移位寄存器发送数据。设置 load=1,移位寄存器开始加载数据,其顺序是一个起始 位、一个字节的DBIN数据、一个奇偶校验位和一个停止 位。下一个状态进入到shift状态。在该状态下,移位信号 置1,表示移位寄存器移1。Tfincr信号也置1表示递增数 据计数器。如果数据计数器不等于9,表示发送移位寄存 器没有进行移位操作,此时进入delay状态。如果移位完 成,此时进入WaitWrite状态。,UART的设计和实现-发送模块的状态机,在delay状态下,发
9、送数据按照正确的波特率发送数 据。当tdelayctr与波特率常数一样时,结束该状态。进 入到Shift状态。一旦进入到waitwrite状态,结束发送过 程。在这个状态需要确认WR信号为高,才能开始发送 过程。,UART的设计和实现 -发送模块的状态机内部结构,UART的设计和实现-UART的VHDL设计代码,entity UARTcomponent is Port ( TXD : out std_logic:= 1; RXD : in std_logic; CLK : in std_logic; DBIN : in std_logic_vector (7 downto 0); DBOUT
10、: out std_logic_vector (7 downto 0); RDA : inout std_logic; TBE : out std_logic := 1; RD : in std_logic; WR : in std_logic; PE : out std_logic; FE : out std_logic; OE : out std_logic; RST : in std_logic:= 0 ); end UARTcomponent;,UART的设计和实现-UART的VHDL设计代码,architecture Behavioral of UARTcomponent is ty
11、pe rstate is(strIdle,strEightDelay,strGetData,strWaitFor0,strWaitFor1,strCheckStop); type tstate is (sttIdle,sttTransfer,sttShift,sttDelay,sttWaitWrite); constant baudRate : std_logic_vector(12 downto 0) := “1010001011000“; constant baudDivide : std_logic_vector(8 downto 0) := “101000110“; signal rd
12、Reg : std_logic_vector(7 downto 0) := “00000000“; signal rdSReg : std_logic_vector(9 downto 0) := “1111111111“; signal tfReg : std_logic_vector(7 downto 0); signal tfSReg : std_logic_vector(10 downto 0) := “11111111111“; signal clkDiv : std_logic_vector(9 downto 0) := “0000000000“; signal ctr : std_
13、logic_vector(3 downto 0) := “0000“; signal tfCtr : std_logic_vector(3 downto 0) := “0000“ signal dataCtr : std_logic_vector(3 downto 0) := “0000“;,UART的设计和实现-UART的VHDL设计代码,signal parError : std_logic; signal frameError : std_logic; signal CE : std_logic; signal ctRst : std_logic := 0; signal load :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 原理 12 通用 异步 接收 发送 设计 实现
链接地址:https://www.31doc.com/p-3650408.html