中文核心期刊咨询网
当前位置:首页 >电子信息核心论文 > 通信论文串口帧数据通信实现

通信论文串口帧数据通信实现

作者:核心期刊目录查询发布时间:2017-05-31

  这篇通信论文基于FPGA的串口帧数据通信实现,利用简单的RS232通信协议可满足器件之间完成复杂的数据交互,通信灵活性更强,可用于PC对器件的复杂功能调控,操作更加直观,人机交互良好。《江苏通信》(双月刊)创刊于1985年,由江苏省通信学会主办。本刊“立足江苏通信行业,面向世界通信发展,报道最新科技成果,开展学术技术培训交流”。荣获1989、1993、1996、1998、2002年连续五届被评为通信行业优秀科技期刊、1999年江苏省优秀期刊。

江苏通信

  【摘要】本文介绍了RS232串口通信协议的基本概念,并在串口通信的基础上,引入可编程逻辑器件,实现多帧数据通信。通过简单的物理连线实现PC与器件,器件与器件之间较复杂的通信信息交互,通用性较强。

  【关键字】FPGA;串口通信;VerilogHDL语言;帧数据解析

  一、前言

  在常用的RS232通信中,可实现单片系统间的数据交互,然而我们利用串口通信仅仅为了得到一个字节的数据就显得太过浪费。实际通信应用中,在串口发送时,我们需要将一组串口数据封装组合为一帧数据,设置一个帧数据指令约束,规定帧头、数据长度、有效数据、校验信息、帧尾等可用信息。因此实现串口帧数据通信,在有限的串口连线上赋予更多通信信息,丰富了器件间数据交互内容。

  二、串口通信协议组成

  简单的RS232串口通信利用TXD,RXD实现全双工通信。协议中规定通用字格式为:1位起始位、8位数据位、奇偶校验位、1位停止位组成。按位发送和接收字节。在串口发送时,主设备按照串口格式组成顺序,以某一波特率产生TXD,主设备的TXD作为从设备的RXD,检测RXD下降沿,以相同的波特率接收数据,操作可逆。只要保证接收与发送端各自的波特率时钟一致,便可保证通信的顺利进行,即完成一个字节的数据交互。

  三、帧数据通信

  在单字节串口通信的基础上,将多个数据组合成有规律的一帧数据进行通信。利用FPGA可对通信数据灵活组合,只要保证收、发端遵从实现约束的帧通信协议,便能完成数据交互。我们以串口帧数据通信实现PC对某一产品的各子模块功能检测为例,通过VerilogHDL语言,完成逻辑编写,模块分为接收模块、发送模块、FIFO缓存级模块、波特率设置模块。

  发送模块主要实现单字节串口数据的组合成一帧数据对外发送,实质是对单字节串口发送模块的反复调用。一帧数据通信格式以帧头单字节0xAA,帧数据长度(一字节)、检测对应子模块编号(N+1个字节)、设定帧尾0x55结尾,无检验位,数据格式如图3-1所示。接收模块主要实现对一帧串口指令的接收识别解析,通信解析流程如图3-2所示。首先检测RXD的下降沿,解析帧头数据,同时计数器字节计数开始,判断帧头数据为0xaa,解析数据长度,由寄存器变量缓存(一字节),解析检测对应子模块编号(N+1个字节),解析帧头数据为0x55后通信完成,判断计数器记录字节个数与寄存器变量缓存的数据长度是否一致,判断通信中是否漏掉数据,逻辑实现过程由状态机完成。

  FIFO缓存级模块用于帧数据缓存处理,避免数据覆盖。波特率设置模块用于接收、发送端通信速度的灵活把控。在正确接收完成后,接收端提取检测对应子模块编号进行对应校验工作,校验完成后,将检验结果与接收的帧数据重组,以帧头0xAA,帧数据长度(一字节)、检测对应子模块编号(N+1个字节)、检测结果(一字节)、帧尾0x55的形式发送回PC上位机。从而完成对该产品指定功能模块的校验工作。实际应用中,帧数据可多加一级和校验字节,避免接收端将有效数据中0x55误判断为帧尾数据,增强串口通信的可靠性。

上一篇:互联网论文移动互联网农产品营销创新

下一篇:电子论文极限温度下的电力电子技术

相关推荐