基于FPGA的UART设计实现及其验证方法_第1页
基于FPGA的UART设计实现及其验证方法_第2页
基于FPGA的UART设计实现及其验证方法_第3页
基于FPGA的UART设计实现及其验证方法_第4页
基于FPGA的UART设计实现及其验证方法_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电子技术赵延等:基于FP GA 的UAR T 设计实现及其验证方法基于FPGA 的UART 设计实现及其验证方法赵延, 葛利嘉, 双涛(重庆通信学院数字通信与信号处理实验室四川重庆400035摘要:UART 作为RS 232协议的控制接口得到了广泛的应用, 基于FP GA 实现的UAR T 、稳定。系统结构进行了模块化分解, 使之适应自顶向下(Top Down (FSM 实现, 使控制逻辑直观简单, 提高了设计效率, UAR T 模块嵌入FP GA 。关键词:通用异步收发器; 串口通信; ; 中图分类号:文章编号:10042373X (2008 172162203and R ealizati

2、on of UART and Its V erif ication B ased on FPG AZHAO Yan , GE Lijia ,SHUAN G Tao(Digital Communication and Signal Processing Lab. ,Chongqing Communication College ,Chongqing ,400035,China Abstract :UART is used widely as the interface of RS 232,and to design it in FP GA can make system more compact

3、 and stable. The structure of the system is divided in modularization to fit the design method Top 2Down. The core of this system is implemented with Finite State Machine (FSM ,it makes the logic of control brief ness. An experiment of communicating be 2tween UAR T and computer is designed to verifi

4、cate the f unction of this system. And a new method of debugging the FP GA de 2sign by implanting UAR T into it to connect with computer is derived f rom this.K eywords :uniersalasynchronous receiver transmitter ;serial port communication ; FP GA ;finite state machine通用异步收发器(U niversal Asynchronous

5、Receiv 2er Transmitter ,UA R T 是数字通信领域流行和广泛使用的一种接口设备, 主要用来控制符合RS 2322C 协议的计算机与串行设备间的通信。普通串行外设和计算机间的通信, 一般使用通用的串行接口芯片, 但是这种接口芯片存在体积较大、接口复杂以及成本较高的缺点, 会使得硬件设计更加复杂, 并且结构与功能相对固定, 无法根据设计的需要对其逻辑控制进行灵活的修改。而目前日趋成熟的SOC 技术则要求将整个设计的功能集成在单片或几块芯片当中, 因此, 将UAR T 的功能集成在FP GA 芯片当中, 可以使整个系统更为灵活、紧凑, 性能也更加稳定1。本文提出了一种使用V

6、 HDL 语言开发UA R T 的方法, 实现了FP GA 与计算机之间的数据通信, 并将其应用于FP GA 芯片开发的功能验证当中, 从而衍生出了将UA R T 嵌入到FP GA 芯片, 与计算机互联的一种直观的FP GA 设计的验证和调试方法。1UART 通信原理UAR T 采用通用的RS 2322C 串行接口标准, 该协收稿日期:2008201202议的优点是使用广泛, 几乎所有计算机和串行外设当中都置有这种接口, 其传输距离可达15m , 并且实现较简单, 用于双向连接时最少只需要2条导线即可实现基本通信。UAR T 的具体帧格式如图1所示, 每帧数据由开始位、数据位、奇偶校验位和停止

7、位四部分依次组成2。其中, 开始位为低电平; 数据位长度为5,6,7,8不等; 奇偶校验的模式有无校验、奇校验、偶校验、粘附校验1和粘附校验0; 停止位为高电平, 具体长度为1位、1. 5位和2位不等, 这些选项都通过UA R T 内部的线性控制寄存器来确定。当没有数据发送时, 发送和接收引脚都保持高电平 。图1UAR T 帧格式2UART 的FPG A 实现本实现中, UA R T 主要包括接收模块、发送模块、MODEM 控制器和中断仲裁4个部分。它们的具体功能如下:接收模块具体作用是接收从串行数据输入端口162 现代电子技术2008年第17期总第280期SIN 送来的异步数据, 并进行串/

8、并转换, 此外, 接收模 电子技术应用统复位时, 状态机进入idle 状态, 等待开始位,SIN 由高电平变为低电平并被确认为有效的开始位后, 状态机进入shift 状态; shift 状态中, 接收模块为每一个数据比特移入等待16个内部时钟周期, 接收完一帧数据后, 若奇偶校验使能有效, 跳转到parity 状态, 否则, 进入stop 状态; 在parity 状态中对奇偶校验比特进行采样, 状态机将跳转到stop 状态; 状态机进入stop 状态后, 等待16, 而块还包含模块控制和模块状态配置功能, 用来设置接收数据帧的属性以及向中断仲裁模块输出状态信号;发送模块其作用是对从CPU 送来

9、的并行数据进行并/串转换, 将串行数据从SOU T 输出到串口, 同接收模块相同, 该模块也包含模块控制和模块状态配置功能;中断仲裁模块其作用是用来实现外部接口对内部寄存器的操作以及中断信号的仲裁操作, 在UAR T 的工作过程中, 发送和接收模块的状态信号都送入该模块的线性状态寄存器中, 的中断信号, 指示与UAR T 的读写操作;MOD EM 模块器或者其他的UA R T 设备进行通信3。2. 1接收模块在接收的过程中, 由于串行数据帧异步于接收时钟, 因此, 当检测到SIN 由高电平到低电平的变化将被认为是一帧数据的开始位。为避免由于噪声引起的错误数据, 本设计中实现了错误开始位检测功能

10、, 即要求开始位必须在收发波特率时钟的50%以上为低电平。由于我们采用的内部时钟其频率是波特率时钟的16倍, 因此开始位至少在8个内部时钟周期内为低电2. , 当发送数据装载到发送保持寄存器, 串行数据将自动使能从而进行数据传输。首先一个开始位被发送出去, 同时发送数据由发送保持寄存器装载到发送移位寄存器中, 而将数据以波特率时钟逐位发送出去, 并按照线性控制寄存器的要求加上奇偶校验位和停止位。其时钟、帧结构配置和工作过程与接收模块类似, 因此, 发送模块也可以通过相似的状态机实现。2. 3中断仲裁模块UA R T 的中断分为4个等级, 其对应的中断事件为:接收模块线性状态、接收数据准备就绪、

11、发送保持寄存器空和MOD EM 状态, 它们记录在中断识别寄存器中。UA R T 通过读取中断识别寄存器检测所有的中断信号, 然后指明优先级最高的中断给外部接口。该模块使用状态机实现时, 共分为5个状态, 其中4个等级的中断各为一个状态, 外加一个空闲状态, 根据每次读取中段识别寄存器的结果确定应进入哪一状态, 从而保证了各级中断依次被响应。2. 4MODEM 控制器模块平才被认为有效。一旦开始位被确认, 后面的数据比特和校验比特将会每16个内部时钟周期采样一次。接收模块包括一个数据缓冲寄存器和一个接收移位寄存器。当检测到开始位有效时, 其后的数据比特将会依次存入数据移位寄存器, 根据数据帧的

12、配置, 当接收完所有数据比特后会根据奇偶校验是否被使能来判断下一步进行校验或停止接收, 等待外部设备读取接收到的数据。整个过程可通过状态机方便的实现, 状态转移图如图2所示 。在UA R T 中,MOD EM 控制器模块的作用是用来和外部的调制解调器或者其他的UAR T 设备进行通信, 它主要通过MOD EM 控制器和MODEM 状态寄存器来进行具体操作。MODEM 控制器用来控制D TRn (Data Terminal Ready 和R TSn (Request To Send 的输出状态。DCDn (Data Carrier Detect 、C TSn (Clear To Send 、DS

13、Rn (Data Set Ready 和RIn (Ring Indica 2tor 的线性状态由MOD EM 控制模块来监控, 同时存储于MODEM 状态寄存器中。3基于UART 的FPG A 设计验证方法图2接收模块状态机状态转移图对于大多数FP GA 设计来讲,UAR T 也可以作为设计模块与PC 的接口嵌入到FP GA 芯片当中, 通过RS 232接口连接到计算机, 使用相关的串口调试软件即可在计算机上对FP GA 进行数据的输入, 并且在显示器上直接观察到其输出的结果, 这样就衍生出一种针对FP GA 设计功能验证的直观有效的方法, 即基于163由图2不难看出, 接收模块的状态机包含4

14、个状态:空闲状态(idle 、移位状态(shift 、奇偶校验状态(parity 和停止位状态(stop 。其工作过程如下:当系 电子技术赵延等:基于FP GA 的UAR T 设计实现及其验证方法将输入数据110101010101110101111111011001通过计算机发送到UAR T , 按照每帧8b 的要求将UA R T 与串口调试软件的功能验证方法。该方法的关键在于如何将UA R T 嵌入待验证的模块, 本文以卷积编码加交织模块为例, 详细介绍其与UAR T 的连接方法, 连接示意图如图3所示 。该26b 的数据补0至32位, 得到数据11010101010111010111111

15、1011001000000, 转换成16进制为D55D7F40, 写入FP GA 进行编码交织再经由UAR T 传回计算机得数据0D 0E 060B 000C 0C 09030C 040C 0D , 如图4所示。每8位数据取后4位得D E 6B 0C C 93C 4C D , 1101111001101011010011001101。通过, (2,1,7 卷积编图3UAR T (。同时该实验也验UA R T 在实际应用中的效果 。在本方案中, 26b 数据, 通过串口调试软件和UAR T 发送到FP GA 芯片, 经码率为1/2的卷积编码后得到52b 数据进行交织, 交织后的数据分为4b 一组

16、送到UAR T 发送模块, 经UAR T 通过串口发送到计算机上, 最终在屏幕上看到编码和交织的结果。卷积编码模块采用Xilinx 的IP 核实现, 该模块要求串行输入, 而UAR T 接收模块的输出为8位并行数据, 故在他们之间加上并串转换模块。随着每一次并行数据的写入, 并串转换模块会接收到一个写入的指示信号, 同时开始顺序输出8位串行数据到卷积编码模块。卷积编码器的输出是2位并行数据, 由于先前的接收模块及串并转换模块每次处理8b 数据的关系, 故可以认为卷积编码器每次连续输出8个2位并行数据, 而我们的系统要求每26个输入比特进行一次卷积编码和交织, 所以在编码和交织之间连接一个FIF

17、O 作为数据缓冲, 累计到26b 数据后输出一次, 同时设置其输入为2b 并行, 输出为串行, 即实现了并串转换的功能, 满足4结语图4实验结果使用FPG A 实现UART 模块的功能, 可以减小系统面积, 降低功耗, 同时使得设计更加紧凑和稳定。本文使用V HDL 语言在X ilinx 公司FPGA 芯片Vertax II Pro 上实现了标准UART 模块并加以验证4, 在某些具体应用中, 也可以将本实现中的发送和接收模块单独使用, 进一步体现了FPG A 设计的灵活性。此外, 本设计的验证方案也能够用来验证FPG A 设计的功能, 只要将UART 集成在需要验证的模块上, 就可以通过连接

18、开发系统与计算机, 在PC 终端方便地观察系统的输入和输出, 为FPG A 设计的功能验证提出了新的方法。参考文献1姜宁, 范多旺. 基于FP GA/CPLD 的通用异步通信接口UAR T 的设计J.信息技术与信息化,2006(1 :86287. 2黄智伟. FP GA 系统设计与实践M .北京:电子工业出版了交织器串行数据输入的要求。最后发送回计算机的数据为52b , 所以对UA R T 发送模块作了简单的修改, 使其每次发送4b 数据, 这样就可以将52b 分13次发完, 同时为了实现交织器输出的连续数据与UAR T 的衔接, 我们在此处再加一个FIFO 作为缓冲以及串并转换, 将输入的串行数据变为4b 并行数据逐次发送。这些模块的工作都由一些控制信号来指示, 所以本例中采用了一个自己编写的控制信号模块来生成这些指示信号, 比如每次UAR T 接收到数据后即产生一个写入信号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论