当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]由于FPGA的功能日益强大,开发周期短、可重复编程等优点也越来越明显,可以在FPGA芯片上集成UART功能模块,从而简化电路,缩小PCB面积,提高系统可靠性。此外,FPGA的设计具

由于FPGA的功能日益强大,开发周期短、可重复编程等优点也越来越明显,可以在FPGA芯片上集成UART功能模块,从而简化电路,缩小PCB面积,提高系统可靠性。此外,FPGA的设计具有很高的灵活性,可以方便地进行升级和移植。

设计背景

通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)可以和各种标准串行接口,如RS 232和RS 485等进行全双工异步通信,具有传输距离远、成本低、可靠性高等优点。一般UART由专用芯片如8250,16450来实现,但专用芯片引脚都较多,内含许多辅助功能,在实际使用时往往只需要用到UART的基本功能,使用专用芯片会造成资源浪费和成本提高。

一般而言UART和外界通信只需要两条信号线RXD和TXD,其中RXD是UART的接收端,TXD是UART的发送端,接收与发送是全双工形式。由于可编程逻辑器件技术的快速发展,FPGA的功能日益强大,其开发周期短、可重复编程的优点也越来越明显,在FPGA芯片上集成UART功能模块并和其他模块组合可以很方便地实现一个能与其他设备进行串行通信的片上系统。

设计要求

本接口作为一个关于内容保护系统的电路板的一部分,主要用于和计算机进行通信,也可与其他带UART接口的电路板进行通信。对数据传输速率要求不高,传输距离也不要求很长,但传输数据要求准确可靠。该接口可用来监控电路内部状态,将FPGA内部信息通过串口输出至计算机,以达到辅助调试电路的目的。另外,电路板上的FPGA外挂有串行Flash,可通过串口对Flash进行调试,将Flash中的数据输出至计算机,并可将数据通过串口写入Flash中。简而言之,该接口是作为计算机与电路板的一个可靠的双向数据传输通道。

UART的实现原理

UART是异步通信方式,通信的发送方和接收方各自有独立的时钟,传输的速率由双方约定。本设计采用最常用的每秒9600波特的传输速度。

UART的通信协议十分简单,以低电平作为起始位,高电平作为停止位,中间可传输5~8比特数据和1比特奇偶校验位,奇偶校验位的有无和数据比特的长度由通信双方约定。一帧数据传输完毕后可以继续传输下一帧数据,也可以继续保持为高电平,两帧之间保持高电平,持续时间可以任意长。本方案采用不添加校验位的方法,以提高数据传输效率。发送端发送数据时先发一低电平,然后发送8比特数据,之后马上把信号拉高,从而完成一帧数据传送。接收端接收到低电平时开始计数,然后接收8比特信息位后如果检测到高电平即认为已接收完一帧数据,继续等待下一帧起始信号低电平的到来,若接收完8比特数据后没有检测到高电平则认为这不是一帧有效数据,将其丢弃,继续等待起始信号。时序关系如图1所示,收发可同时进行,互不干扰。

 


图1 RS-232接口的工作时序

硬件电路原理图及说明

一个完整的RS-232接口是一个25针的D型插头座,25针的连接器实际上只有9根连接线,所以就产生了一个简化的9针D型RS-232插头座,常用的就是一个9针的D型插头座。通常只用到一根发送信号线、一根接收信号线和一条地线,其余的振铃指示、请求传送、清除传送、准备就绪及数据载波检测等线可以做悬空处理。

RS-232标准规定逻辑1的电平为 -15~-3V,逻辑0的电平为+3~+15V。CMOS电路的电平范围一般是从0V到电源电压,FPGA的I/O输入输出电压通常为0~3.3V,为了与FPGA 供电电压保持一致,必须加电平转换芯片。选用Maxim公司的MAX3232电平转换芯片,电路原理图如图2所示。

 


图2 RS-232接口电路

连线采用最简单的3 线制连接模式,即只需要两根信号线和一根地线来完成数据收发。而FPGA 只需要选择两个普通I/O引脚分别与接口芯片MAX3232 对应引脚T2IN、R2OUT相连即可完成将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/ CMOS 电平的转换。一个MAX3232芯片可以支持两个串口的电平变换,我们选择其中的一组接口,图中的4个电阻可以省去。在电路中加入了0Ω的跳线电阻,是为了在这组接口出故障时可以方便地跳线,使用另一组接口。

软件设计

异步收发器由波特率发生器、UART接收器和UART发送器三个模块构成。采用的是每秒9600波特的传输速度,而系统提供的时钟是 10MHz,这就要求进行速率变换。在实际中由于电路中存在干扰等因素,在数据边缘进行采样容易发生误判,只有在数据的中央进行采样出错的概率才能降到最低,所以使用16倍于波特率的时钟,即9600×16Hz=15600Hz。因此波特率发生器输出的时钟频率应为15600Hz,UART 收发的每一个数据宽度都是波特率发生器输出的时钟周期的16倍,采用Altera公司芯片内部自带的锁相环可以方便地实现。UART接收器和UART发送器均采用Verilog语言编程实现。

通常使用的数据多为并行数据,为了方便与系统中其他电路互连,UART接收器的输出数据和UART发送器的输入数据均为8比特并行数据。 UART接收器将串行数据接收下来并将其转化为并行数据送出,UART发送器将输入的并行数据转换为串行数据并按照UART的帧格式输出。

 


图3 UART接收器符号图

图3为UART接收器的符号图,其中rst为全局复位信号,rxd为串行数据输入端,baudClk16x为输入时钟,dataOut[70] 为并行数据输出口,irq为输出数据的指示信号。首先接收器等待起始位的到来,在每个时钟上升沿检测输入数据是否为低电平,若检测到低电平,则开始计数,如果连续8个时钟内输入数据均为低电平,则认为起始信号有效,其中若有一次采样得到的为高电平则认为起始信号无效,返回初始状态重新等待起始信号的到来。认定起始信号有效后,每隔16个时钟采样一次,这样就可以保证每次都在数据的中点出采样,将采样结果送入8比特的移位寄存器,8比特数据采样结束后,间隔 16个时钟采样停止位。如果采得的是高电平,则认为这帧数据有效,将移位寄存器中的数据并行送出同时将输出数据的指示信号置高,然后接收器复位,重新等待下一帧的到来;若采得的为低电平,则认为这不是一帧有效数据,不将移位寄存器中的数据输出,直接返回初始状态。[!--empirenews.page--]

 


图4 UART发送器符号图

图4 为UART发送器的符号图,其中flag为输入数据指示信号,rst为全局复位信号,clkin为输入时钟,din[70]为并行数据输入端,tdo为串行数据输出端。接收器在每个时钟的上升沿检测输入数据指示信号,若检测到其为高电平,则将并行输入数据锁存入内部的8比特移位寄存器,接下来先送出一个低电平并保持16个时钟,然后每隔16个时钟将移位寄存器中的数据移出一位,最后送出高电平,返回初始状态。

系统调试

UART接收器和发送器可根据实际需要单独使用,但在调试时为了方便,将两者对接起来,如图5所示。UART接收器的输出与UART发送器的输入相连,复位信号和时钟信号共用,时钟信号由片外晶振提供,输入FPGA后通过锁相环转换为需要的频率。

 

图5 调试系统模块图

串口的调试需要借助于串口调试工具,可以用VC编程实现,也可以直接使用网上已有的调试工具。直接选用网上的串口调试助手进行了测试,将数据从计算机送出,经过UART接口接收后再送回计算机。经过长达数十分钟的不间断接收和发送后,将送回计算机的数据与原始数据进行比较,多次测试均没有发生任何错误,这充分说明了这一UART接口程序具有高度的可靠性和稳定性,可以满足设计要求。

结束语

基于FPGA设计和实现UART,可以用片上很少的逻辑单元实现UART的基本功能。与传统设计相比,能有效减少系统的PCB面积,降低系统的功耗,提高设计的稳定性和可靠性,并可方便地进行系统升级和移植。

本设计具有较大的灵活性,通过调整波特率发生器的分频参数,就可以使其工作在不同的频率。采用16倍波特率的采样时钟,可以实时有效探测数据的起始位,并可对数据位进行“对准”中央采样,保证了所采样数据的正确性。该模块可以作为一个完整的IP核移植进各种FPGA中,在实际应用时可嵌入到其他系统中,很容易实现和远端上位机的异步通信。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭