适用于多种端口的数据接收存储转发装置转让专利

申请号 : CN201010136948.1

文献号 : CN101808027B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭宇赵光权刘大同潘大为周建宝王少军

申请人 : 哈尔滨工业大学

摘要 :

适用于多种端口的数据接收存储转发装置,属于通信电子领域,本发明为解决现有数据接收存储转发装置不具有通用性的问题。本发明装置的接收端口电路的输出端连接端口选择电路,端口选择电路的RS232串行端口通过RS-232单元与FPGA的RS232串行端口相连,端口选择电路的RS422串行端口通过RS-422单元与FPGA的RS422串行端口相连,端口选择电路的RS485串行端口通过RS-485单元与FPGA的RS485串行端口相连,FPGA的控制输出端连接端口选择电路的受控端,FPGA的数据存储输入输出端连接存储单元的输入输出端,FPGA的转发或存储控制信号输出端与转发单元的转发或存储控制信号输入端相连。

权利要求 :

1.适用于多种端口的数据接收存储转发装置,其特征在于,它包括FPGA(1)、接收端口电路(2)、端口选择电路(3)、RS-232单元(4)、RS-422单元(5)、RS-485单元(6)、存储单元(7)和转发单元(8),接收端口电路(2)的输出端与端口选择电路(3)的输入端相连,端口选择电路(3)的RS232串行端口通过RS-232单元(4)与FPGA(1)的RS232串行端口相连,端口选择电路(3)的RS422串行端口通过RS-422单元(5)与FPGA(1)的RS422串行端口相连,端口选择电路(3)的RS485串行端口通过RS-485单元(6)与FPGA(1)的RS485串行端口相连,FPGA(1)的控制输出端与端口选择电路(3)的受控端相连,FPGA(1)的数据存储输入输出端与存储单元(7)的输入输出端相连,

FPGA(1)的转发或存储控制信号输出端与转发单元(8)的转发或存储控制信号输入端相连,

FPGA(1)包括串并转换单元(11)、数据处理单元(12)、存储控制单元(13)和USB控制单元(14),串并转换单元(11)上有三个串行数据端口,分别为RS232串行端口、RS422串行端口和RS485串行端口,串并转换单元(11)的并行数据端口与数据处理单元(12)的并行数据端口相连,数据处理单元(12)的输出端与存储控制单元(13)的输入端相连,存储控制单元(13)的数据存储输入输出端与存储单元(7)的输入输出端相连,存储控制单元(13)的串行数据转发端口与USB控制单元(14)的串行数据输入端相连,USB控制单元(14)的转发或存储控制输出端同时与串并转换单元(11)的受控端和转发单元(8)的转发或存储控制信号输入端相连,串并转换单元(11)包括第一多路选择器(11-1)、第二多路选择器(11-2)、异步核(11-3)和HDLC核(11-4),第一多路选择器(11-1)上有的三个串行数据端口,分别为RS232串行端口、RS422串行端口和RS485串行端口,第一多路选择器(11-1)的异步信号输出端与异步核(11-3)的输入端相连,异步核(11-3)的输出端与第二多路选择器(11-2)异步信号输入端相连,第一多路选择器(11-1)的同步信号输出端与HDLC核(11-4)的输入端相连,HDLC核(11-4)的输出端与第二多路选择器(11-2)同步信号输入端相连,USB控制单元(14)的转发或存储控制输出端同时与第一多路选择器(11-1)的控制信号输入端、第二多路选择器(11-2)的控制信号输入端、异步核(11-3)的控制信号输入端和HDLC核(11-4)的控制信号输入端连接,其中异步核(11-3)的控制信号输入端接收到的控制信号包括波特率控制信号、校验控制信号、停止位控制信号和字节长度控制信号,HDLC核(11-4)的控制信号输入端接收到的控制信号是速率设置控制信号。

2.根据权利要求1所述的适用于多种端口的数据接收存储转发装置,其特征在于,FPGA(1)采用Altera公司的EP2C70F系列芯片。

3.根据权利要求1所述的适用于多种端口的数据接收存储转发装置,其特征在于,接收端口电路(2)采用DB-9连接器。

4.根据权利要求1所述的适用于多种端口的数据接收存储转发装置,其特征在于,端口选择电路(3)采用多路选择器。

5.根据权利要求1所述的适用于多种端口的数据接收存储转发装置,其特征在于,存储单元(7)采用CF卡。

6.根据权利要求1所述的适用于多种端口的数据接收存储转发装置,其特征在于,转发单元(8)采用USB器件CY7C68013。

说明书 :

适用于多种端口的数据接收存储转发装置

技术领域

[0001] 本发明涉及适用于多种串行总线通信方式端口的数据接收存储转发装置,属于通信电子领域。

背景技术

[0002] 目前,针对数据接收、存储、转发的装置有很多种。就其接收方式来说,包括有线接收和无线接收两种,无线接收一般抗干扰性弱,有线数据接收种类繁杂,常的有RS-232总线、RS-422总线、RS-485总线、CAN总线等接收方式。从存储方式来说,存储器一般采用FIFO、SRAM、SDRAM、ROM、FLASH、固态盘等存储介质来实现。从转发方式来说,一般采用串行通讯实现,常用的有USB总线、RS-422总线、RS-485总线。
[0003] 就目前存在的有线数据接收存储转发装置进行归纳和总结,此类装置没有形成统一的、标准的设计原则,通用性和兼容性较差。

发明内容

[0004] 本发明目的是为了解决现有有线串行数据接收存储转发装置不具有通用性的问题,提供了一种适用于多种端口的数据接收存储转发装置。
[0005] 本发明包括FPGA、接收端口电路、端口选择电路、RS-232单元、RS-422单元、RS-485单元、存储单元和转发单元,
[0006] 接收端口电路的输出端与端口选择电路的输入端相连,端口选择电路的RS232串行端口通过RS-232单元与FPGA的RS232串行端口相连,端口选择电路的RS422串行端口通过RS-422单元与FPGA的RS422串行端口相连,端口选择电路的RS485串行端口通过RS-485单元与FPGA的RS485串行端口相连,FPGA的控制输出端与端口选择电路的受控端相连,[0007] FPGA的数据存储输入输出端与存储单元的输入输出端相连,
[0008] FPGA的转发或存储控制信号输出端与转发单元的转发或存储控制信号输入端相连。
[0009] 本发明的优点:
[0010] 针对现有数据接收存储转发装置不具有通用性的问题,提出了一种集数据接收存储转发于一体的多功能装置。
[0011] 多功能装置的多功能性主要体现在一下几点:
[0012] 1、多种通讯数据接收功能。该装置可以接收RS-232、RS-422及RS-485三种电平的差分数据;
[0013] 2、多种通讯方式。通过可编程逻辑器件的Verilog语言编程,可实现同步/异步选择、HDLC协议、通讯速率可设置;
[0014] 3、多种数据转发。数据转发可通过USB接口在线转发,适合较近的距离。由可通过CF离线转发,即通过读卡器直接获取CF卡内的数据,其优点是没有距离的限制。

附图说明

[0015] 图1是本发明结构示意图,图2是FPGA内部逻辑框图,图3是异步通讯的IP核原理图,图4是HDLC核的原理图,图5是CF卡逻辑框图,图6是本发明工作流程图。

具体实施方式

[0016] 具体实施方式一:下面结合图1至图6说明本实施方式,本实施方式包括FPGA1、接收端口电路2、端口选择电路3、RS-232单元4、RS-422单元5、RS-485单元6、存储单元7和转发单元8,
[0017] 接收端口电路2的输出端与端口选择电路3的输入端相连,端口选择电路3的RS232串行端口通过RS-232单元4与FPGA1的RS232串行端口相连,端口选择电路3的RS422串行端口通过RS-422单元5与FPGA1的RS422串行端口相连,端口选择电路3的RS485串行端口通过RS-485单元6与FPGA1的RS485串行端口相连,FPGA1的控制输出端与端口选择电路3的受控端相连,
[0018] FPGA1的数据存储输入输出端与存储单元7的输入输出端相连,
[0019] FPGA1的转发或存储控制信号输出端与转发单元8的转发或存储控制信号输入端相连。
[0020] HDLC(英文全称High level Data Link Control,高级数据链路控制),HDLC是一个在同步网上传输数据、面向位的数据链路层协议。
[0021] 本实施方式所述装置能接收三种类型的数据,分别为RS-232、RS-422及RS-485,端口选择电路3在FPGA1的控制下只能选择其中一种类型的数据,与其对应的接收单元相连,即:RS-232类型数据被接收端口电路2接收后,通过端口选择电路3进入RS-232单元4;RS-422类型数据被接收端口电路2接收后,通过端口选择电路3进入RS-422单元5;RS-485类型数据被接收端口电路2接收后,通过端口选择电路3进入RS-485单元6,RS-232单元
4、RS-422单元5和RS-485单元6采用标准的电平转换芯片实现差分电平到TTL电平的转换,RS-232单元4、RS-422单元5或RS-485单元6被选中之后开始接收数据,即实现差分电平到TTL电平的转换。转换后的TTL电平进入FPGA1,在FPGA1内通过Verilog语言编程实现数据的串并转换、数据处理及数据存储。
[0022] 存储单元7采用CF卡实现,CF卡容量大、体积小、抗震抗冲击能力强,是目前大容量数据存储较为流行的产品,CF卡的控制单元通过FPGA1实现。当数据接收完成之后,通过转发单元8实现数据的转发,转发给计算机9,转发单元8采用计算机普遍使用的USB接口,该接口通用性强,数据传输速度快。转发单元8的控制部分在FPGA1内实现,通过硬件描述语言实现数据的转发,同时还实现对接收端口选择、通讯协议、通讯速率、软复位的设置等功能。
[0023] FPGA1采用Altera公司的EP2C70F系列芯片。
[0024] 接收端口电路2采用DB-9连接器。
[0025] 端口选择电路3采用多路选择器。
[0026] 转发单元8采用USB器件CY7C68013。
[0027] 硬件设计的核心部分为FPGA1内部的逻辑设计,该部分采用Verilog语言实现。主要完成异步通讯协议(主要针对RS-232\422)、同步HDLC通讯协议逻辑(RS422\485)及数据存储的逻辑控制功能。FPGA内部的逻辑框图如图2所示。
[0028] FPGA1包括串并转换单元11、数据处理单元12、存储控制单元13和USB控制单元14,串并转换单元11的三个输入端分别接收RS-232单元4输出的信号、RS-422单元5输出的信号和RS-485单元6输出的信号,串并转换单元11的输出端与数据处理单元12的输入端相连,数据处理单元12的输出端与存储控制单元13的输入端相连,存储控制单元13的数据存储输入输出端与存储单元7的输入输出端,存储控制单元13的转发输出端与USB控制单元14的输入端相连,USB控制单元14的控制输出端与串并转换单元11的受控端相连,USB控制单元14的转发或存储端与转发单元8的转发或存储端相连。
[0029] 存储控制单元13(基于SOPC的CF控制单元):
[0030] CF控制单元基于SOPC技术实现,如图5所示。第一部分为接口部分, 与系统外部的接口——输入FIFO、输出FIFO、命令/状态寄存器, 其功能是完成外部数据的输入和输出、接收外部命令以及向外部发送状态参数;与存储区的接口——CF 控制,其功能是完成对各路存储模块的读写操作。第二部分为控制部分,其功能是初始化存储区及接口部分、向各存储模块发送各种命令及发送和接收数据。CPU 是整个系统的核心,负责协调控制各个模块的工作。在系统启动以后,CPU 的主要工作有: 系统初始化、 对数据进行编码变换处理、将数据写入CF 卡。系统初始化工作主要进行通用寄存器设置、定时器设置、中断设置、CF 卡初始化。CPU 对外部数据按一定格式进行编码,编码后的数据暂存于外部RAM 中的缓冲区中。CPU 在主程序中循环查询缓冲区数据长度, 当数据量大于等于512bytes 时,,就将512bytes 的数据写入CF 卡的一个扇区(512bytes/ Sector) 。
[0031] 串并转换单元11包括第一多路选择器11-1、第二多路选择器11-2、异步核11-3和HDLC核11-4,第一多路选择器11-1上有的三个串行数据端口,分别为RS-232串行端口、RS-422串行端口和RS-485串行端口,第一多路选择器11-1的异步信号输出端与异步核11-3的输入端相连,异步核11-3的输出端与第二多路选择器11-2异步信号输入端相连,第一多路选择器11-1的同步信号输出端与HDLC核11-4的输入端相连,HDLC核11-4的输出端与第二多路选择器11-2同步信号输入端相连,USB控制单元14的转发或存储控制输出端同时与第一多路选择器11-1的控制信号输入端、第二多路选择器11-2的控制信号输入端相连、异步核11-3的控制信号输入端和HDLC核11-4的控制信号输入端连接,其中异步核11-3的控制信号输入端接收到的控制信号包括波特率控制信号、校验控制信号、停止位控制信号和字节长度控制信号,HDLC核11-4的控制信号输入端接收到的制信号是速率设置控制信号。
[0032] 异步核11-3(异步通讯IP Core):
[0033] 接收RS-232和异步RS-422类型数据。
[0034] 异步通讯协议在FPGA1内以可编程逻辑实现,通讯协议具有较强的灵活性,包括通讯波特率,停止位,校验位,数据位等都是可设置的,图3是FPGA1内异步通讯协议的实现方法。
[0035] 通讯协议的核心是实现串行输入数据的接收。当复位及起始控制器给出允许接收命令后,接收数据编码器根据用户设置,确定接收数据的位数为n,起始位检测器不断检测是否有起始位输入,当检测到起始位后,串行数据就在约定的波特率时钟下输入n位移位寄存器,当输入位数满足n位时,接收数据编码器从移位寄存器中将并行数据读出,并去掉结束位,对校验位进行校验,然后将有限数据位写入接收缓冲区。
[0036] HDLC核11-4(HDLC通讯IP Core):
[0037] 接收同步RS-422和RS-485类型数据。
[0038] HDLC协议的实现采用在FPGA1内以可编程逻辑实现,HDLC协议的实现包括发送器和接收器。为满足用户需要,在设计中提供最大的灵活性,包括帧头、帧尾数目,传输速率,本地地址等都是可以通过寄存器设置的。HDLC协议接收器的构成如图4所示。接收器包括‘7E’检测器,去0控制器,串并转换器,CRC校验器,接收数据编码器,设置寄存器,状态寄存器,接收缓冲区。
[0039] 串行输入数据在以同步时钟的速度输入到‘7E’检测器,当7E检测器检测到有效帧头后,使能去0控制器,经过去0的串行数据进入串并转换器和CRC校验器,串并转换器的一个并行输出进入地址判读器,以判读当前数据是否为有效帧,当该帧有效时,接收数据编码器从串并转换器读入并行数据后存入接收缓冲区,并更新状态寄存器。CRC校验器对输入的串行数据进行实时判读,在帧尾将判读结果通过接收数据编码器发送到状态寄存器。
[0040] 在USB控制单元14的控制下,第二多路选择器11-2只选择让一路数据输出给数据处理单元12,数据处理单元12为缓存,并通过存储控制单元13将接收的一路数据存储在存储单元7中,当需要此数据时,将存储在存储单元7中的数据通过USB控制单元输出给计算机9。
[0041] 参见图6说明本发明装置的工作流程:
[0042] 一、装置上电,连接至计算机的USB接口,进行硬件初始化;
[0043] 二、通过上位机软件选择接收数据的端口;
[0044] 三、选择端口后进行通讯设置:同步/异步设置,异步设置包括RS-232通讯和RS-422通讯,需要设置数据的波特率、校验方式、停止位长度、字节长度,同步设置包括通讯速率设置、帧长设置、帧头个数设置;
[0045] 四、等待数据;
[0046] 五、数据接收:按照相应的协议进行数据接收;
[0047] 六、数据进行串并转换、数据处理:将串行数据按照既定的协议进行处理,转换为并行数据,去掉多余的信息;
[0048] 七、数据存储:基于SOPC技术将数据存储到CF卡中;
[0049] 八、数据接收结束。
[0050] 九、进行数据转发功能:一种是通过USB接口进行数据转发,另外一种方式就是通过CF读卡器读取CF卡中的数据至计算机中进行处理;
[0051] 十、完成数据接收、存储、转发功能。