《基于FPGA的串口通信电路设计与实现》

发表时间:2020/7/21   来源:《科学与技术》2020年第7期   作者:杨静
[导读] 信息时代的到来,给计算机等终端带来了挑战
        摘要:信息时代的到来,给计算机等终端带来了挑战,文章以串口通信电路为研究对象,以FPGA的应用为切入点,对电路设计要点进行了归纳,例如,协议设计、串口发送等,希望能够给人以积极影响,使FPGA所拥有效能,在该领域得到应有发挥。
        关键词:串口通信;FPGA;电路设计

        前言:首先应当明确一点,连接计算机和相关设备的通信电路,通常为串口通信电路,这是因为该电路拥有良好的可靠性,近几年,不断发展的科技,使人们对通信电路提出了更加严格的要求,通过优化电路的方式,对系统速度进行提高,成为大势所趋,这也是FPGA被用于电路设计的背景,本文所研究课题的价值不言而喻。
1协议设计
        通信协议指的是发生在通信双方间的约定,所约定内容主要有字符定义、数据格式及传输速度,需要通信双方严格遵守。现有通信协议均为分层结构,高层协议被用来对校验方式、数据包格式进行定义,底层协议所强调重点为UART。
1.1高层协议
        FPGA向上位机所发送数据,即为上行数据,反之,上位机向FPGA所发送数据,通常被称为下行数据。上行数据包拥有固定的数据长度,下行数据包往往以参数地址为研究重点,这是因为一旦有断电情况出现,无法保存的FPGA数据极易出现丢失情况,只有在EEPROM对数据进行保存,才能避免数据丢失,导致更加严重的后果出现[1]。
1.2底层协议
        研究表明,UART能否发挥作用,通常取决于起始位、停止位与波特率的设置。目前,社会各界所认可的参数设置为:起始位对应低电平;停止位对应高电平;数据位为8bit,且不存在校验位。而该协议的功能,可被概括如下:对数据进行发送时,用串行数据流对电路所传递并行数据进行代替,在加设停止位、起始位的基础上,以通信协议所确定波特率为依据,完成发送数据流的操作。若要对数据进行接收,则应第一时间将停止位、起始位去掉,用字节对数据流进行代替,并向电路进行传递。
2电路设计
        FPGA无UART存在,UART又是组成串口通信所不可或缺的部分,通过连接电平转换芯片的方式,为数据传输提供支持。要想实现数据通信,关键是对UART、协议电路进行设计,本文所研究FPGA的构成模块,主要为波特率发生、发送与接收。
2.1通信协议
        FPGA是拥有存储功能的阵列模块,目前,在单片机和计算机电路中较为常见。该模块的存储单元为SRAM,正是大量存储单元的存在,才使得FPGA拥有了突出的逻辑功能。对通信协议进行设计的目的,主要是统一双方字符、数据格式和传输速度,该协议又可分为高层协议、底层协议。

高层协议的作用,主要是对校验方式进行定义,由上文分析可知,底层协议的作用,通常表现在信息发送环节,即:用串行数据流代替并行数据,增加停止位、起始位,以固定波特率为依托,对数据流进行传输。而数据接收的前提是去掉停止位、起始位,用字节代替数据流,并向高层协议进行传输。
2.2串口发送
        本文所设计电路,主要由发送与接收通道构成,二者对信号进行获取的载体是时钟模块,由此可见,时钟模块也是构成电路的重要部分。发送通道又分为UART、移位及数据寄存器等,接收通道往往分为UART、控制状态机和参数寄存器,另外,二者的共同点,还包括均对CRC模块进行了加设。
        发送电路涉及高层协议、底层协议,其中,高层协议所依托构件,主要是CRC、转台控制机和参数寄存器,底层协议强调定期利用数据包对数据进行发送,在周期下降沿对数据包进行发送。若以UART所描述内容为依据,可得出以下结论:接口模块负责控制数据的发送,WRN信号发出后,由发送器结合信号对数据进行锁存,将保持寄存器的数据,向移位寄存器进行发送,若计数值达到2,则应对起始位进行发送,完成发送停止位的操作后,将计数器清零[2]。由于发送时钟所依托基础是数据传输特有的波特率,因此,发送时钟约为发生器所对应时钟的16倍。
2.3串口接收
        研究表明,该通道的价值主要是为数据提供串并转换的途径,并在EEPROM对经过校验的数据进行保存。接收通道的构成,同样分为高层协议、底层协议,二者缺一不可。UART可被拆分为大量构件,例如,数据缓存、接收状态机等,接收模块被赋予功能,主要是用并行数据代替串行数据,在输出并行数据的同时,对所接收数据的准确性加以判断。接收模块与发送模块拥有相似的结构和运行过程,二者的区别主要表现为运行流程相反,接收模块需要对数据进行串并转换处理,利用缓冲器完成移位操作,确保校验位及时产生。这里要注意的是,如果停止位、校验位有错误存在,所产生指示信号往往无法对正确指示进行传达,因此,若有类似问题存在,有关人员应做到及时处理,以免造成更严重的后果。
2.4控制模块
        该模块与诸多模块相连,例如,上文提到的发送模块与接收模块,另外,该模块还连接着并行总线,可经由单片机对控制信号进行接收,从而达到对时钟生成、发送及接收加以控制的目的。事实证明,对FPGA加以利用,可使发送与接收数据的环节,拥有更为理想的质效,有关人员应以FPGA为依托,对数据进行采集和处理,这样做能够使异步串行通信的设想成为现实,不仅系统更加稳定,电路板面积也较之前更小,生产成本随之下降。
结论:近几年,上文所讨论电路已被用于诸多领域,并且发挥了重要作用,事实证明,以FPGA为依托,对UART与线路进行设计,仅需对较少逻辑资源加以利用,便可达到串口通信的目的,系统自然拥有更为理想的可靠性,另外,该方案还可用于其他电路,随着电路板面积的不断减小,电路成本逐渐降低。
参考文献:
[1]熊文,王莉,肖健,等.一种RS485串口通信电路的高可靠性设计[J].自动化与仪器仪表,2017(03):43-45.
[2]黄定威,杨国庆,何泓儒,等.基于USB和串口通信的调度命令提示电路设计[J].中国高新科技,2019(02):67-68.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: