[发明专利]一种多模式高速智能异步串口通信模块及实现方法有效
申请号: | 201110392553.2 | 申请日: | 2011-12-01 |
公开(公告)号: | CN102420877A | 公开(公告)日: | 2012-04-18 |
发明(设计)人: | 唐俊;龙小军;陶翼 | 申请(专利权)人: | 中国船舶重工集团公司第七○九研究所 |
主分类号: | H04L29/10 | 分类号: | H04L29/10 |
代理公司: | 武汉金堂专利事务所 42212 | 代理人: | 胡清堂 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模式 高速 智能 异步 串口 通信 模块 实现 方法 | ||
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:将该帧数据存入所述的大容量存储单元内,进入步骤109;
步骤109:数据搬移模块判断可编程逻辑单元内为该串口开设的双口RAM区是否处于可写状态且剩余存储空间是否大于数据帧的大小,若是,则进入步骤110;若判断为否,则数据继续存在大容量存储单元内;
步骤110:数据搬移模块将数据从大容量存储单元内转移到双口RAM内并向CPU发出一个硬件中断请求,进入步骤111;
步骤111:CPU收到中断请求后,通过CPCI转局部总线模块将此帧数据读入CPU内存;
其数据的发送流程包括以下步骤:
步骤201:CPU将要发送的一帧数据通过CPCI转局部总线模块写入某串口双口RAM区,并给数据搬移模块送出一个发送中断请求,进入步骤202;
步骤202:数据搬移模块收到中断请求信号后将该帧数据从双口RAM内快速搬移到该串口发送FIFO区,进入步骤203;
步骤203:可编程逻辑单元内的串口数据收发模块查询通用异步收发控制器对应串口是否为允许发送状态,若是,则进入步骤204;
步骤204:串口数据收发模块读出FIFO中一个字节数据,将其写入通用异步收发控制器发送寄存器,进入步骤205;
步骤205:通用异步收发控制器将数据转化为串行数据后经高速数字隔离器件和接口电平转换器件发送给外设,进入步骤206;
步骤206:重复步骤203~步骤205,直到该帧数据全部发送完;
所述的非智能模式为常规的串口通信模式,即CPU直接与通用异步收发控制器以字节为单位交互数据,此时所述的可编程逻辑单元内部只有CPCI转局部总线模块工作,其余单元均不参加工作;其数据的接收流程包括以下步骤:
步骤301:远方设备将数据流发送到某个串口,所述的接口电平转换器将IEA232/IEA485/IEA422通信的电气信号转换为TTL信号,经过所述的高速数字隔离器传输到所述的通用异步收发控制器,进入步骤302;
步骤302:所述的通用异步收发控制器收到一字节数据后将其存入接收寄存器内并向CPU发出一个硬件中断请求,进入步骤303;
步骤303:CPU收到中断请求后通过CPCI转局部总线模块读出该字节数据,进入步骤304;
步骤304:CPU判断数据是否符合报文格式要求,若符合,则进入步骤305;若不符合,则进入步骤306,丢掉该字节数据并将之前收到的此帧其他数据从内存中清空,并返回步骤303;
步骤305:CPU将该字节数据写入内存,进入步骤307;
步骤307:重复步骤301~步骤306,直到该帧数据接收完成;
非智能模式下数据的发送流程包括以下步骤:
步骤401:CPU首先查看通用异步收发控制器相应串口是否处于允许发送状态,若允许发送,则进入步骤402;
步骤402:CPU将要发送的1个字节数据写入通用异步收发控制器发送寄存器,进入步骤403;
步骤403:通用异步收发控制器将数据转化为串行数据后经高速数字隔离器件和接口电平转换器件发送给外设,进入步骤404;
步骤404:重复步骤401~步骤403,直到该帧数据全部发送完。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七○九研究所,未经中国船舶重工集团公司第七○九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110392553.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:对由测试装置对安全芯片的访问进行认证的方法
- 下一篇:集群管理设备