当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:采用Verilog HDL语言作为硬件功能的描述,运用模块化设计方法分别设计了通用异步收发器(UART)的发送模块、接收模块和波特率发生器,并结合现场可编程门阵列(FPGA)的特点,实现了一个可移植的UART模块。该设计不

摘要:采用Verilog HDL语言作为硬件功能的描述,运用模块化设计方法分别设计了通用异步收发器(UART)的发送模块、接收模块和波特率发生器,并结合现场可编程门阵列(FPGA)的特点,实现了一个可移植的UART模块。该设计不仅实现了串行异步通信的主要功能,而且电路简单,工作稳定、可靠,可以将其灵活地嵌入到各个通信系统中。
关键词:通用异步收发器;现场可编程门阵列;Verilog HDL;串行通信

    串行通信要求的传输线少,可靠性高,传输距离远,被广泛应用于计算机和外设的数据交换。通常都由通用异步收发器(UART)来实现串口通信的功能。在实际应用中,往往只需要UART的几个主要功能,专用的接口芯片会造成资源浪费和成本提高。随着FPGA/CPLD的飞速发展与其在现代电子设计中的广泛应用,FPGA/CPLD功能强大、开发过程投资小、周期短、可反复编程、保密性好等特点也越来越明显。因此可以充分利用其资源,在芯片上集成UART功能模块,从而简化了电路、缩小了体积、提高了可靠性,而且设计时的灵活性更大,周期更短。鉴于此本文提出了一种采用FPGA实现UART功能的方法,可以有效地解决上述问题。

1 UART的工作原理
    UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是广泛使用的异步串行数据传输协议。在串行通信中,数据以字节为单位的字节帧进行传送。发送端和接收端必须按照相同的字节帧格式和波特率进行通信。UART控制器所传输的一帧串行数据包括1位起始位(低电平)、5~8位数据位、1位校验位(可选)和停止位(可为1,1.5,2位)。起始位是字节帧的开始,使数据线处于逻辑0状态,用于向接收端表明开始发送数据帧,起到使发送和接收设备实现同步的功能。停止位是字节帧的终止,使数据线处于逻辑1状态。用于向接收端表明数据帧发送完毕。波特率采用标准速率9 600 b/s。数据在传输时,低位在前,高位在后。接收端检测并确认起始位后,接收数据位。停止
位接收完毕后,向CPU发出中断信号,同时将数据发送到计算机的8位数据总线上;发送数据时,先由CPU设置波特率,然后将8位并行数据加上起始位和停止位发送给外设。停止位发送完毕后,向CPU发出中断信号。在数据发送和接收过程中,CPU可以通过控制信号来读取UART的工作状态,以便进行实时处理。

2 UART的模块化设计
2.1 系统总体结构
    在大规模电路的设计中,广泛采用层次化、结构化的设计方法。它将一个完整的硬件设计任务从系统级开始,划分为若干个可操作的模块,编制出相应的模型并进行仿真验证,最后在系统级上进行组合。这样在提高设计效率的同时又提高了设计质量,是目前复杂数字系统实现的主要手段,也是本文设计思想的基础。按照系统功能进行划分,UART主要由波特率发生器、接收模块和发送模块三大部分组成。在Maxp-lusⅡ仿真环境下,由各个子模块进行综合的系统总模块如图1所示。下面分别讨论发送模块、接收模块和波特率发生器模块的具体实现过程。


2.2 发送模块
2.2.1 发送模块及其功能
    发送模块主要实现对并行数据的缓存、并串转换,并把串行数据按照既定数据帧格式进行输出。发送模块的引脚如图2所示,各引脚功能见表1。


    由CPU送来的待发送的并行数据,首先写入发送缓冲器TBR[7..0]。发送缓冲区中有数据待发送时,数据自动装入移位寄存器TSR[7..0]并自动完成串行数据的发送。首先传送一位起始位0,然后根据帧结构中定义的数据长度,分别串行移出TSR[7..0]中的数据,数据的低位在前,高位在后。当没有数据发送的时候,SDO管脚保持高电平。
2.2.2 发送模块功能仿真
    发送器功能仿真结果如图3所示。二进制数11110000从引脚DIN[7..0]并行输入,当WRN为0时,启动发送程序,计数器开始计数,使发送器将并行数据锁存到发送缓冲器TBR[7..0],并通过发送移位寄存器TSR[7..0]逐位移位发送串行数据至串行数据输出端SDO。在数据发送过程中用输出信号TBRE,TSRE作为标志信号。当一帧数据由发送缓冲器TBR[7..0]送到发送移位寄存器TSR[7..0]时,TBRE信号为1。由发送数据缓冲器传给发送移位寄存器主要由信号TSRE控制。当TSRE为1时,表示发送移位寄存器TSR[7..0]串行发送完毕;为0时表示还没有发送完一帧数据。由仿真结果验证了发送模块的正确性。


2.3 接收模块
2.3.1 接收模块及其功能
    接收模块的作用是把收到的串行数据转换成并行数据进行输出,并判断收到的数据是否有错。接收模块的引脚如图4所示,各引脚功能见表2。


    接收器进入准备接收数据状态,不断监视串行输入线RXD端,如果出现低电平,立刻启动起始位检测电路进行确认,一旦确认为接收到正确的起始位,则以波特率作为采样时钟,对每个数据位的中间位置采样一次,并把采样到的信息以移位方式送人接收移位寄存器RSR。接收到一帧数据位后,把串行数据转化成并行数据,并进行奇偶校验、停止位、中止态的检查。接收完毕后,DAT_READ置1。
2.3.2 接收模块功能仿真
    接收模块功能仿真结果如图5所示。二进制数11101010从引脚RXD串行输入,接收器先要捕捉起始位,在RDN信号为0条件下,启动接收程序,计数器开始计数,数据从RXD[7..0]串行输入,由接收移位寄存器RSR[7..0]逐位移位接收,并在接收完成时传送给接收缓冲寄存器RBR[7..0],最后接收缓冲寄存器RBR[7..0]将接收的数据传送至DOUT[7..0],由它并行输出,同时输出一个接收数据准备好信号DATA _RE标志数据接收完毕。


2.4 波特率发生器模块
2.4.1 波特率发生器模块及其功能
    波特率发生器模块主要用于产生接收模块和发送模块的时钟频率,其实质就是一个分频器,可以根据给定的系统时钟频率和要求的波特率算出波特率分频因子,作为分频器的分频数。波特率发生器产生的时钟频率CLK16X不是波特率时钟频率CLK,而是波特率时钟频率CLK的16倍。波特率发生器模块的引脚如图6所示,其功能如表3所示。


2.4.2 波特率发生器功能仿真
    UART在发送或接收数据时,使用的时钟信号频率f是波特率(b=9 600 b/s)的16倍,由外部系统时钟进行16分频得到。UART每16个波特时钟发送或接收一个二进制位,设计中采用的晶振频率c=25 MHz,那么波特率发生器输出的时钟信号周期为:
   
    波特率发生器的功能仿真如图7所示。


    本设计用晶振为25 MHz,由公式可得出输出波形的半个周期应为k/2,即81倍的输入时钟周期,仿真结果验证了波特率发生器模块的正确性。

3 结语
    UlART是广泛使用的串行数据通信电路,因其要求的传输线少,可靠性高,传输距离远,所以系统间互联常采用异步串行通信接口方式。本文用Verilog HDL语言,结合有限状态机的设计方法实现了UART的功能,将其核心功能集成到FPGA上,使整体设计紧凑、小巧,实现的UART功能稳定、可靠;同时,利用有限状态机的方法具有结构模式直观简单,设计流程短,程序层次分明,易综合,可靠性高等优点,必将在EDA技术中发挥重要作用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区
关闭
关闭