毕业论文:基于FPGA的串口设计-精品 下载本文

总结

2 UART原理介绍

2.1 UART结构和工作原理 2.1.1UART介绍

UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。

因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。

第11页 (共37页)

基于FPGA的串口设计

图1 UART数据传输结构图

2.1.2 UART 帧的格式

UART 帧的格式包括线路空闲状态(idle,高电平有效)、起始位(start bit,低电平有效)、5~8 位数据位(data bits)、校验位(parity bit,可选)和1 位停止位(stop bit)。 字符的同步由起始位和停止位来实现。UART 内部配置有寄存器,可以配置实现数据位数(5~8 位)可选、是否有校验位和校验的类型等设置。

图2 UART数据帖格式

第12页 (共40页)

总结

2.1.3 UART工作原理

UART 接收器在工作时,信号检测器一直监视RxD 线上的电平,当RxD 线上出现低电平时, 通知串行接收控制器有数据需要接收,此时接收控制器启动移位寄存器、波特率发生器和数据位计数器. 在波特率时钟的驱动下移位寄存器将RxD 线上的电平值依次移入内部寄存器,当计数器的计数值达到10 时表示一帧数据接收完成,这时接收控制器产生数据接收完成中断,并从接收的数据帧中提取出数据并锁存,供后续模块使用.

U ART 发送器在工作时,发送信号检测器一直监视发送请求信号是否有效, 若检测发送请求信号有效,则发送信号检测器停止接收发送请求. 发送请求信号传到串行发送控制器后, 控制器启动发送移位寄存器、波特率发生器和数据位计数器, 在波特率时钟的驱动下, 发送移位寄存器先发送一位起始位( 逻辑0) , 然后将待发送的并行数据从最低位开始逐位发出,数据发送完后, 再发送一位停止位( 逻辑1)。在移位寄存器移出一位逻辑值后数据位计数器加1,当数据位计数器记满10 表示一帖数据发送完成,此时控制器停止各个辅助部件并且再次启动发送信号检测器, 开始监视下一次发送请求.

第13页 (共37页)

基于FPGA的串口设计

3方案选择

3.1设计语言选择

本次设计用的硬件描述语言是VHDL,主要原因是以前学过该语言和它具有如下

优势:

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

3.2电平转换方式选择

RS─232C 是与RS499、RS423、RS422和RS485 并列的一种UART ( universal asynchronous receiver / transm itter)接口标准规范和总线标准规范. 这些规范虽然规定了不同的通信接口电气特性、传输速率、连接特性和接口的机械特性等内容, 但是都

第14页 (共40页)