基于FPGA实现异步串行通信

基于FPGA实现异步串行通信摘要:为了适应全数字化自动控制更加广泛的应用,采用现场可编程门阵列(FPGA)对异步串行通信控制器(UART)进行多模块的系统设计的方法,使串口通信的集成度更高。对UART系统结构进行了模块化分解,可分为三个模块:FPGA波特率发生器控制模块、FPGA数据发送模块及数据接收模块。采用Ve"log语言描述硬件功能,利用Xilinx公司的FPGA芯片,在XilinxISEDesignSuite13.4环境下进行设计、编译、综合、下载。采用第三方仿真工具Mod-elSim进行模拟仿真。关键字:FPGA;UART;多模块;Verilog;XilinxISE中图分类号:TN911?34文献标识码:A文章编号:10047373X(2013)13?0071?03RealizationofasynchronousserialcommunicationbasedonFPGATIANLei,ZHANGYong2(1.SchoolofElectronicandInformation,Xi'anPolytechnicUniversity,Xi,an710048,China;2.XinjiangXinhuaenergyR&DcenterinXi'anElectrieCo.,Ltd.,Xi,an710304,China)Abstract:Inordertoadapttothewidelyapplicationsoffulldigitalautomaticcontrol,amulti?modulesystemisdesignedwithFPGAforUART,tomaketheintegrationleveloftheserialcommunica-tionhigher.TheUARTsystemstruetureisdiscomposedintothreemodules:FPGAbaudrategeneratorcontrolmodule,FPGAdatasendingmoduleandthedatareceivingmodule・Thehardwarefunction-alityisdescribedbyVeriloglanguage・ByusingFPGAchipofXilinx,thedesign,compiling,synthesisanddownloadcouldbecompletedinXilinxISEDesignSuite13.4environment.TheSimulationisconductedbyMod-elSim.Keywords:FPGA;UART;multi?module;Verilog;XilinxISE异步串行通信(UART)是一种广泛应用的串行数据传输协议,UART[1?3]的要求是传输线少,可靠性高而且传输距离远。UART功能负责从总线采集数据,转换成传输格式,然后发送到串口。也负责从串口接收数据,检查和删除附加的位,并传送结果数据给总线。异步串行通信广泛的应用于军事、工业、自动控制、仪器、通信、医药、话音图像处理等众多领域[4?6]o现实应用中多采用专用集成芯片实现UART功能,如8250、8250A、16450、16C451.16C551等[7]。但在实际应用中,一般只需要UART的几个主要功能,专用芯片成本比较大且造成资源的浪费[8?9]。近年来随着电子设计技术的日趋成熟,特别是FPGA在集成度和速度上的大幅提高,可以用一个芯片构成一个复杂的系统。一个芯片就能完成处理计算、通信、控制等多功能,而且成本大幅度降低[10?ll]o根据以上考虑,本文采用FPGA实现UART功能。1UART通信原理串行通信分为两种类型:同步通信方式和异步通信方式。UART即通用异步串行通信收发器。UART的一帧数据由起始位、数据位、奇偶校验位和停止位组成。数据在传输过程中是通过一个字符接一个字符进行传输来实现通信的。每一帧的信息在传送前传输线处于高电平状态。在传送一个字符信息的时候,每一个字符的接收是靠起始位来同步的,字符的前面是一位起始位,首先发送起始位为低电平,一般用下降沿通知收方传输开始,然后发送起始位之后的数据位,数据位的传送先低位后高位,字符本身由5〜8位数据位组成。数据位后面是奇偶校验位,奇偶校验位后的是停止位,标志着一帧字符结束。停止位后为高电平,为空闲位,并为下一个字符的开始传送做准备。在发送、接收数据时,数据的帧与帧之间如果有间隙,就要在停止位之后附加空闲位,停止位后面是不定长度的空闲位。停止位和空闲位都规定高电平,这样可以保证起始位开始处有一个下降沿。如图1所不O图1UART的一帧数据1.1系统设计与硬件实现异步通信允许在串行链路上进行全双工的通信。本文把异步通信电路作为一个整体来实现,数据接收经过MAX232进行电平转换后经FPGA串口模块的RXD端输入,由FPGA进行串/并转换后,8位有效数据进入总线,再进入处理芯片。数据发送经数据处理后经由总线进入FPGA串口模块,8位有效数据在FPGA中进行并行转换为串行数据后由TXD端输出到MAX232的12管脚,在MAX232种经过电平转换后由TXD端输出,系统基本结构框图如图2所示。图2系统基本结构框图帧格式采用1位幵始位,8位数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?