一种多模式高速智能异步串口通信模块及实现方法技术

技术编号:7302905 阅读:258 留言:0更新日期:2012-04-27 11:36
本发明专利技术公开了一种多模式高速智能异步串口通信模块及实现方法,其所基于的硬件架构是CPCI总线模块,该模块硬件包括可编程逻辑单元、大容量存储单元、通用异步收发控制器、高速数字隔离器件和接口电平转换器件等。其优点是(1)可根据用户实际需要通过软件选择智能模式和非智能模式。(2)工作于智能模式时,可通过软件灵活设置各串口的数据帧格式。(3)工作于智能模式时,模块接收数据时将根据设定的数据帧格式自动判断数据帧头、数据长度、校验和、帧尾等信息。

【技术实现步骤摘要】

本专利技术属于通信接口
,具体来说是基于硬件逻辑实现多模式高速智能异步串口通信的方法。
技术介绍
串口通信以其简单、可靠性高和编程容易等特点在系统控制和数据通信中一直占有重要的地位,它不仅没有因为时代的进步而淘汰,反而在规格上越来越完善,应用也越来越广泛。但由于串口通信的特点通用异步收发控制器与上位机(CPU)的数据交换是按字节收发的,即通用异步收发控制器收到1个字节的报文就给CPU发出一个中断信号告知CPU 来取数据,由CPU对数据的正确性(报文头尾标识,校验和等)进行判断并处理,因此串口收发数据越快,其单位时间内向CPU申请的中断就越多。在一般系统中,CPU往往还要处理网络数据,作图形显示和处理等,这样就严重影响了 CPU的处理能力,因此也成为串口通信速率的瓶颈。利用我们多年来在计算机通信接口领域的成果与经验,自主设计开发的基于硬件逻辑实现的多模式高速智能异步串口通信模块可以通过软件设置工作于智能模式(通过板上微处理器对数据进行判别处理,只把符合要求的数据发送给CPU)和非智能模式(传统串口通信模式,不对数据作处理,收到数据就传送给CPU,由CPU来对数据进行解析),并支持多种串口通信协议标准,可以在不占用CPU资源的情况下提高串口通信速度,能够满足不同领域用户对异步串口通信的要求。
技术实现思路
本专利技术目的是提供,以满足不同控制系统和数据通信的要求。本专利技术的硬件架构是基于CPCI总线的智能异步串口通信模块,该模块硬件包括可编程逻辑单元、大容量存储单元、通用异步收发控制器、高速数字隔离器件和接口电平转换器件。所述的可编程逻辑单元通过CPCI总线与CPU连接,并向CPU提交数据和接收CPU 的下发数据;所述的大容量存储单元通过RAM接口与所述的可编程逻辑单元连接,进行接收数据的暂存处理;所述的通用异步收发控制器通过局部总线与所述的可编程逻辑单元连接,进行通信数据的收发处理;所述的高速数字隔离器件两端分别与所述的通用异步收发控制器和所述的接口电平转换器件连接,进行通信信号的传输;所述的接口电平转换器件一端与外设通过RS232/RS485/RS422接口连接,另一端与所述的高速数字隔离器件连接, 进行通信信号的逻辑电平转换和传输。所述的可编程逻辑单元是本专利技术的核心组成部分,其内部集成了嵌入式微处器及由Verilog硬件描述语言设计的各种功能模块,主要实现本板与CPU的数据交换,与通用异步收发控制器的数据交换以及本板所有逻辑控制。所述的Verilog硬件描述语言设计的各种功能模块包括模式选择寄存器、接口选择寄存器、串口数据收发模块、数据帧接收识别模块、数据搬移模块和CPCI转局部总线模块等。a. 所述的模式选择寄存器可通过写入不同的值实现本板智能模式与非智能模式的选择。b. 所述的接口选择寄存器可通过写入不同的值实现本板各串口的接口标准 (RS232, RS422, RS485 等)选择。C. 所述的串口数据收发模块在接收时首先判断通用异步收发控制器接收缓冲区是否有数据,若有,则取出一个字节数据并将其送往数据帧识别模块;在发送时判断发送标志位看通用异步收发控制器是否允许发送,若允许发送则将FIFO中要发送的数据写入通用异步收发控制器发送寄存器,等待发送。d. 所述的数据帧接收识别模块可设置各串口的数据帧鉴别格式,它们只接收符合各自设定的数据帧格式的数据,而剔除掉不符合自己的数据帧格式的数据。e. 所述的数据搬移模块在接收时负责将接收FIFO中的数据搬移到大容量存储单元中暂存,并查询双口 RAM是否处于可写状态且剩余存储空间是否大于数据帧的大小, 若满足要求,又将暂存于所述大容量存储单元内的帧数据搬移到双口 RAM内,并向CPU发出中断请求;在发送时,接收到CPU的发送中断请求后,将要发送的数据从双口 RAM快速转移到内部FIFO,并通知串口数据收发模块将数据发送出去。f. 所述的CPCI转局部总线模块主要将CPCI总线转换为本板使用的局部总线, 以实现cpu与本板的数据交换。本专利技术一种多模式高速智能异步串口通信模块的实现方法,包括设备初始化设置、智能模式下数据收发处理和非智能模式下数据收发处理。(1)所述的设备初始化设置包括以下内容 a.接口标准设置RS232、RS422 或 RS485。b.串口工作模式设置智能模式或非智能模式。c.若工作为所述的智能模式,则进行数据帧格式设置,包括报文头、报文尾等。d. 串口参数设置包括波特率、数据位(5 8位)、校验位(奇校验、偶校验或无校验位)、停止位(1位、1. 5位或2位)等。(2)所述的智能模式相对于CPU来说为数据帧传输模式,其数据的接收流程如附图3所示,包括以下步骤步骤101 远方设备将数据流发送到某个串口,所述的接口电平转换器将IEA232/ IEA485/IEA422通信的电气信号转换为TTL信号,经过所述的高速数字隔离器传输到所述的通用异步收发控制器,进入步骤102 ;步骤102 可编程逻辑单元内的串口数据收发模块定时查看所述通用异步收发控制器各串口的接收寄存器是否有数据,若有,则进入步骤103 ;步骤103 串口数据收发模块读出接收寄存器内的字节数据,并将该字节数据送往数据帧识别模块,进入步骤104 ;步骤104 数据帧识别模块根据初始化设置的数据帧格式对收到的字节数据进行判别,若数据符合数据帧格式要求,则进入步骤105 ;若不符合,则进入步骤106,丢掉该字节数据并将之前收到的此帧其他数据从接收FIFO中清空,重新回到步骤102 ;步骤105 将数据存入可编程逻辑单元内部相应串口的接收FIFO内,并进入步骤107 ; 步骤107 判断所述的FIFO内是否为完整的一帧数据,若是,则进入步骤108 ; 步骤108 将该帧数据存入所述的大容量存储单元内,进入步骤109 ; 步骤109 数据搬移模块判断可编程逻辑单元内为该串口开设的双口 RAM区是否处于可写状态且剩余存储空间是否大于数据帧的大小,若是,则进入步骤110。若判断为否,则数据继续存在大容量存储单元内;步骤110 数据搬移模块将数据从大容量存储单元内转移到双口 RAM内并向CPU发出一个硬件中断请求,进入步骤111 ;步骤111 =CPU收到中断请求后,通过CPCI转局部总线模块将此帧数据读入CPU内存。至此,一个完整的数据帧接收过程就结束了。其数据的发送流程如附图4所示,包括以下步骤步骤201 :CPU将要发送的一帧数据通过CPCI转局部总线模块写入某串口双口 RAM区, 并给数据搬移模块送出一个发送中断请求,进入步骤202 ;步骤202 数据搬移模块收到中断请求信号后将该帧数据从双口 RAM内快速搬移到该串口发送FIFO区,进入步骤203 ;步骤203 可编程逻辑单元内的串口数据收发模块查询通用异步收发控制器对应串口是否为允许发送状态,若是,则进入步骤204 ;步骤204 串口数据收发模块读出FIFO中一个字节数据,将其写入通用异步收发控制器发送寄存器,进入步骤205;步骤205 通用异步收发控制器将数据转化为串行数据后经高速数字隔离器件和接口电平转换器件发送给外设,进入步骤206 ;步骤206 重复步骤203 步骤205,直到该帧数据全部发送完。至此,一个完整的数据帧发送过本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多模式高速智能异步串口通信模块,其特征在于其硬件架构是基于CPCI总线的异步串口通信模块,该模块硬件包括可编程逻辑单元、大容量存储单元、通用异步收发控制器、高速数字隔离器件和接口电平转换器件;所述的可编程逻辑单元通过CPCI总线与 CPU连接,并向CPU提交数据和接收CPU的下发数据;所述的大容量存储单元通过RAM接口与所述的可编程逻辑单元连接,进行接收数据的暂存处理;所述的通用异步收发控制器通过局部总线与所述的可编程逻辑单元连接,进行通信数据的收发处理;所述的高速数字隔离器件两端分别与所述的通用异步收发控制器和所述的接口电平转换器件连接,进行通信信号的传输;所述的接口电平转换器件一端与外设通过RS232/RS485/RS422接口连接,另一端与所述的高速数字隔离器件连接,进行通信信号的逻辑电平转换和传输。2.根椐权利要求1所述的一种多模式高速智能异步串口通信模块,其特征在于所述的可编程逻辑单元是核心组成部分,其内部集成了嵌入式微处理器及由Verilog硬件描述语言设计的各种功能模块,所述的Verilog硬件描述语言设计的各种功能模块包括模式选择寄存器、接口选择寄存器、串口数据收发模块、数据帧接收识别模块、数据搬移模块和 CPCI转局部总线模块。3.根椐权利要求1所述的一种多模式高速智能异步串口通信模块的实现方法,其特征在于该方法包括设备初始化设置、智能模式下数据收发处理和非智能模式下数据收发处理;所述的设备初始化设置,包括以下内容a.接口标准设置RS232、RS422或 RS485 ;b.串口工作模式设置智能模式或非智能模式;c.若工作为所述的智能模式,则进行数据帧格式设置,包括报文头、报文尾;d.串口参数设置包括波特率、数据位(5 8位)、校验位(奇校验、偶校验或无校验位)、停止位(1位、1. 5位或2位);所述的智能模式相对于CPU来说为数据帧传输模式,其数据的接收流程,包括以下步骤步骤101 远方设备将数据流发送到某个串口,所述的接口电平转换器将IEA232/ IEA485/IEA422通信的电气信号转换为TTL信号,经过所述的高速数字隔离器传输到所述的通用异步收发控制器,进入步骤102 ;步骤102 可编程逻辑单元内的串口数据收发模块定时查看所述通用异步收发控制器各串口的接收寄存器是否有数据,若有,则进入步骤103 ;步骤103:串口数据收发模块读出接收寄存器内的字节数据,并将该字节数据送往数据帧识别模块,进入步骤104 ;步骤104 数据帧识别模块根据初始化设置的数据帧格式对收到的字节数据进行判别,若数据符合数据帧格式要求,则进入步骤105 ;若不符合,则进入步骤106,丢掉该字节数据并将之前收到的此帧其他数据从接收FIFO中清空,重新回到步骤102 ;步骤105 将数据存入可编程逻辑单元内部相应串口的接收FIFO内,并进入步骤107 ; 步骤107 判断所述的FIFO内是否为完整的一帧数据,若是,则进入步骤108 ; 步骤108 将该帧数据存入所述的大容...

【专利技术属性】
技术研发人员:唐俊龙小军陶翼
申请(专利权)人:中国船舶重工集团公司第七○九研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术