CN112187789B - 一种数据链路协议转换系统 - Google Patents

一种数据链路协议转换系统 Download PDF

Info

Publication number
CN112187789B
CN112187789B CN202011033494.5A CN202011033494A CN112187789B CN 112187789 B CN112187789 B CN 112187789B CN 202011033494 A CN202011033494 A CN 202011033494A CN 112187789 B CN112187789 B CN 112187789B
Authority
CN
China
Prior art keywords
ddcmp
data
module
uart
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011033494.5A
Other languages
English (en)
Other versions
CN112187789A (zh
Inventor
卢耀
孙裔申
李长军
王思元
张猛
李烨
吴刚
姜崃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202011033494.5A priority Critical patent/CN112187789B/zh
Publication of CN112187789A publication Critical patent/CN112187789A/zh
Application granted granted Critical
Publication of CN112187789B publication Critical patent/CN112187789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种数据链路协议转换系统,在FPGA上实现同步DDCMP通信协议与异步UART通信协议的转换与差错控制功能。包括:UART数据帧输入转化为DDCMP数据帧输出模块、DDCMP数据帧输入转化为UART数据帧输出模块、控制命令响应模块。数据帧的相互转化部分包括数据的采集模块、数据帧的解析和处理模块、数据的发送模块和必要的先入先出队列模块;控制命令响应模块是对控制命令的响应以及对功能模块参数的配置。通过在FPGA构建多套协议转换的功能部分,实现多路DDCMP‑UART通信协议的转换;并利用控制命令响应模块,灵活配置转换系统中的参数,提高了系统使用的灵活性,具有良好的实际应用价值。

Description

一种数据链路协议转换系统
技术领域
本发明属于数据通信领域,具体涉及一种数据链路协议转换系统。
背景技术
DDCMP(Digital Data Communication Message Protocol)全称为数字数据通信信息协议,是一种面向字节操作的同步协议。该协议在线路空闲时间,以发送端发送空闲码的方式,进行收、发端的同步;发送端在即将发送数据时,先发送多次同步码,而后以特殊控制字符表示一帧的起始,并利用指定的字节计数字段标明帧内的字节数。接收端通过对同步码和特殊控制字符的识别,从比特流中区分帧的起始位置;通过对指定的字节计数字段的识别,确定帧的终止位置。由于采用字节计数方式确定帧的终止位置,因此控制字段的检错尤为重要。同时,字节计数的方式不会引起数据和其它信息混淆,数据传输具有较好的透明性。
UART(universal asyncronous receiver/transmiter)全称为通用异步收发器,是一种通用串行数据总线。该协议在线路空闲时,数据线保持逻辑1状态;发送数据时,数据线上依次发送起始位、数据位、校验位和停止位。其中,起始位为1位的逻辑0,数据位是可选的5-8位,校验位可选奇偶校验或无校验,停止位为1位的逻辑1。
FPGA(Field Programmable Gate Array)全称为现场可编程门阵列,片内有大量的逻辑门和触发器,可用于各种不同数字逻辑电路功能的实现。它不同于软件编程的顺序特性,在FPGA内部,所有硬件逻辑均可同时工作,具有与生俱来的并行特点。因此,特别适用于大吞吐量、重复执行的数据传输和处理操作。
异步数据在传输过程中,需要加入起始位、停止位、可选的校验位,以及传输字符间的空闲等,传输速率及传输效率不如同步协议的传输。但异步数据信号可通过诸如MAX232芯片转换为RS-232C物理接口信号,与计算机的RS-232接口互联通信。因此,产生了将同步DDCMP信号与异步UART信号相互转换的需求。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种数据链路协议转换系统,把采用DDCMP协议进行链路传输的数据终端设备与采用UART异步传输设备进行互联互通,实现数据传输和数据资源共享。本发明系统包括UART转DDCMP模块、DDCMP转UART模块和控制命令响应模块;
其中,所述UART转DDCMP模块,用于,对输入的基于异步UART格式的约定协议报文,转换并输出基于同步DDCMP格式的约定协议报文;
所述DDCMP转UART模块,用于,对输入的基于同步DDCMP格式的约定协议报文,转换并输出基于异步UART格式的约定协议报文;
所述控制命令响应模块,用于,通过发送控制命令的方式,切换同步DDCMP信号的时钟方式与时钟频率。
所述UART转DDCMP模块包括UART数据采集模块、DDCMP数据帧解析处理模块和DDCMP发送模块,
其中,所述UART数据采集模块用于,接收基于异步UART格式的约定协议报文并存入接收缓存队列;
所述DDCMP数据帧解析处理模块用于整条报文的提取与解析;
所述DDCMP发送模块用于将整条报文按DDCMP报文格式发送。
当系统接收UART格式数据信号时,UART数据采集模块执行数据的接收,并通过两次以上采样逻辑电平的方式进行差错控制,并将比特构成的字节放入接收缓存队列FIFO1中;DDCMP数据帧解析处理模块从FIFO1中读取字节,当匹配到协议约定的特殊帧起始字节,且DDCMP发送模块空闲时,将从帧起始字节开始的数据放入待发送缓存FIFO2队列中,直到读取到用于标识帧界限的帧结束字节;当FIFO2正确存入一帧数据后,DDCMP发送模块进入发送状态,将FIFO2中的一帧数据进行发送。
基于UART格式的约定协议报文的界定采用特殊字节的方式,正文部分则采用转义字符的方式,将与特殊字符相同的正文部分进行转为非特殊字符进行处理;当DDCMP数据帧解析处理模块解析出完整的一帧数据后,DDCMP发送模块才将FIFO2中的数据发送;当DDCMP发送模块处于空闲状态时,DDCMP数据帧解析处理模块才开始工作。
UART异步格式的信号传输是以比特流的方式,按字节为单位进行传输的。因此需要用一定的方式界定报文的开始和结束,即报头、报尾。约定UART异步格式报文以字节0xC0作为特殊字符,并将正文中的0xC0转义为0xDB 0xDC,0xDB转义为0xDB0xDD。
UART数据采集模块用于接收UART格式数据信号。该模块通过每比特多次采样逻辑电平的方式进行差错控制,并将比特构成的字节放入接收缓存队列FIFO1中。
DDCMP数据帧解析处理模块在DDCMP发送模块空闲状态下,从FIFO1中读取字节;当匹配到字节0xC0,且后续字节不是0xC0时,即认为找到一条报文的开始。该模块将读取到的字节放入待发送缓存FIFO2中,且转义字节执行反转义操作(即0xDB 0xDC转义为0xC0,0xDB0xDD转义为0xDB)。经该模块处理后存入FIFO2中的数据即为一条完整的报文。
当DDCMP数据帧解析处理模块处理完成一帧报文后,DDCMP发送模块执行发送操作,将FIFO2中数据按约定的DDCMP格式进行发送。
所述DDCMP转UART模块包括DDCMP数据帧采集与解析模块和UART发送模块;
其中,所述DDCMP数据帧采集与解析模块负责DDCMP数据帧的正确接收和整帧封装,并将数据存入队列待发送;
所述UART发送模块负责将队列中的数据进行发送。
同步DDCMP格式数据以多字节组成的数据块(帧)为单位传输。在传输过程中,根据方波形式的时钟信号的变化沿,执行比特的跳变,即一个时钟周期传输一个比特。所述DDCMP数据帧采集与解析模块根据接收时钟执行数据信号的接收。帧的起始同步阶段采用移位方式,将新接收到的比特作为字节最低位,并比较新的字节与同步码SYN:当匹配到同步码后,该模块开始按字节接收;当连续检测到多个同步码后,且接收到帧起始符SOH,即表示一条报文的开始。报文的接收首先按约定格式对控制字段进行校验,校验通过后,再根据控制字段中的计数字段Count来读取Count字节,并将按字节接收到的报文内容,按约定格式进行转义和封装(报文开始和结束以0xC0为界限;报文中的0xC0转义为0xDB 0xDD,0xDB转义为0x DB 0xDD),存入待发送缓存FIFO3中。所述DDCMP数据帧采集与解析模块同时进行DDCMP数据的采集与封装,按照先检错,后存入的方式,避免出现DDCMP数据帧控制字节出错而导致后续字节接收错误的情况。
所述UART发送模块监测FIFO3中数据量,当FIFO3中存在有效数据,UART发送模块即按UART数据格式执行数据发送。
当系统接收DDCMP同步信号时,所述DDCMP数据帧采集与解析模块根据接收时钟RXC进行数据接收,DDCMP同步信号的信息帧的起始界定采用移位的方式,将新的比特数据置为字节最低位;当检测到协议约定的同步码SYN时,数据开始按字节接收;当连续两次以上检测到同步码SYN后,且出现帧起始字节SOH,开始进入接收状态;接收状态下,首先对同步码SYN的后8位控制字节按约定校验方式进行校验,校验通过后,再根据计数字段Count来读取Count字节,并将帧数据按约定格式进行封装和转义,存入待发送缓存FIFO3中;当检测到FIFO3中存在有效数据时,UART发送模块即按UART数据格式进行数据的发送。
所述控制命令响应模块负责接收上位机的配置命令,控制同步DDCMP的时钟模式及时钟频率;同步信号收发所需要的时钟来源通过上位机的控制命令来决定:当选择外时钟模式时,同步数据的收发所需时钟,由外部时钟输入信号来决定;当选择内时钟模式时,同步数据收发所需时钟则是系统提供的可调节时钟,并由时钟输出引脚输出时钟信号。
所述控制命令响应模块具体执行如下步骤:
步骤a1,系统监控与上位机通信所对应的特定端口,当上位机的控制命令通过特定端口发送至FPGA,系统接收控制命令并进行判定;
步骤a2,对接收到的不同控制命令信号,系统进行相应配置:外时钟模式下,DDCMP发送模块和DDCMP数据帧采集与解析模块所使用的时钟信号由接收信号时钟输入引脚RXC和发送信号时钟输入引脚TXC决定;内时钟模式下,DDCMP发送模块和DDCMP数据帧采集与解析模块所使用的时钟信号由系统生成,时钟频率由控制命令决定,并将时钟信号通过时钟输出引脚CLK输出。
步骤a3,步骤a2执行完成后,向上位机发送设置成功的反馈信号,重新回到步骤a1执行控制命令的监控。
所述系统对于UART信号转为DDCMP信号的处理按UART数据采集模块、DDCMP数据帧解析处理模块和DDCMP发送模块并行处理,其中,所述UART数据采集模块执行如下步骤:
步骤b1,UART数据采集模块按UART信号格式进行字节接收,并判定是否为指定的帧起始字节,当接收到帧起始字节后,将其放入接收缓存队列FIFO1中,进入步骤b2;否则,继续寻找帧起始字节;
步骤b2,继续接收后续字节,直到接收到非帧起始字节,并将其放入FIFO1,循环接收,直到接收到帧结束字节,即判定一帧信息结束,将其放入FIFO1中,回到步骤b1重新开始寻找新的一帧;
所述DDCMP数据帧解析处理模块执行如下步骤:
步骤c1,监测接收缓存队列FIFO1数据量及DDCMP发送模块状态Sig_DataSend;当FIFO1中有数据,且DDCMP发送模块处于空闲状态,即Sig_DataSend的值为0,进入步骤c2;
步骤c2,从FIFO1中读取数据,当读取到帧起始字节后,将后续字节存入待发送缓存FIFO2中,同时进行反转义的解析和必要的报文格式校验;当读取到帧结束字节时,进入步骤c3;
步骤c3,向DDCMP发送模块发送数据准备完成信号(Sig_DataReady=1),并回到步骤c1;
所述DDCMP发送模块执行如下步骤:
步骤d1,监测数据准备完成信号Sig_DataReady,当Sig_DataReady=0时,持续执行发送空闲码的操作;当Sig_DataReady=1时,置位Sig_DataSend=1,执行完当前字节的空闲码发送后,进入步骤d2;
步骤d2,按约定格式发送同步码SYN,并将FIFO2中字节按位发送;待发送完毕后,即FIFO2读空后,进入步骤d3;
步骤d3,在帧与帧之间插入必要的空闲码后,DDCMP发送模块进入空闲模式,置Sig_DataSend=0,并回到步骤d1等待Sig_DataReady为1;
所述系统对于DDCMP信号转为UART信号的处理利用DDCMP数据帧采集与解析模块和UART发送模块并行处理,其中,所述DDCMP数据帧采集与解析模块执行如下步骤:
步骤e1,根据同步时钟信号采样DDCMP信号,通过移位的方式,寻找同步码SYN;当接收到DDCMP信号所表示字节与同步码匹配时,进入步骤e2;
步骤e2,根据协议格式,如果数次匹配同步码成功,则说明报头接收正确,进入步骤e3接收控制字段;否则回到步骤e1继续寻找帧的报头;
步骤e3,接收相应字节的控制字段并进行相应校验,如果校验通过,则按控制字段中计数值Count接收相应字节的信息字段,并将接收到的控制字段和信息字段进行相应转义后,存入后级的数据发送缓存队列FIFO3中,当接收完成Count字节后,进入步骤e4;
步骤e4,对信息字段进行校验,如果校验错误,FIFO3写入错误标识码,并写入帧结束字符;否则,回到步骤e1,开始新一帧的接收;
所述UART发送模块执行如下步骤:
步骤f1,判断FIFO3是否有数据,如果有,进入步骤f2发送数据;否则,等待FIFO3存入数据;
步骤f2,按约定UART格式,发送读取到数据;
步骤f3,在字符发送结束后,增加字符发送间隔,回到步骤f1。
有益效果:本发明系统具有如下实用效果:
1、本发明的应用,利用同步DDCMP协议进行数据传输的终端设备上的数据,可通过该系统,将数据转换为UART数据,并通过硬件转换,直接与带有232串口的计算机等终端进行互联互通;而带有232串口的终端设备,也可通过发送对应格式的异步数据,将信号发送到以DDCMP协议进行数据传输的终端设备。最终实现计算机网络的数据通信和资源共享。
2、本发明的应用,可以将多路以DDCMP协议进行数据通信的信道进行集中。通过数据链路的上层构建,亦可对集中的数据进行再分配,实现计算机资源子网的负荷均衡和数据的分布处理。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明系统的示意图。
图2为系统时钟模块处理控制命令处理流程示意图。
图3为单路DDCMP信号转UART信号的处理流程示意图。
图4为单路UART信号转DDCMP信号的处理流程示意图。
具体实施方式
实施例1,
本实施例提供了一种数据链路协议转换系统,结合图1、图2,上位机要求系统工作模式为内时钟模式、时钟频率115.2kHz,处理按步骤1、2、3顺序执行:
1、系统实时监控与上位机通信的端口。上位机按约定向系统发送字节0x49,系统接收控制命令,并进入步骤2。
2、系统解析接收到的字节,并进行判定,若接收字节出错,并非约定字节,则向上位机发送0xEE失败信号,表示设置错误;若正确接收0x49字节,则按约定,系统即将UART转DDCMP模块中的DDCMP发送模块,和DDCMP转UART模块中的DDCMP数据帧采集与解析模块的时钟模式设置为内时钟模式、时钟频率115.2。此时,同步DDCMP信号的收发,依靠系统自身生成的频率为115.2kHz的方波时钟信号,并将该时钟信号通过时钟信号引脚CLK输出。进入步骤3。
3、设置完成后,向上位机发送0xAA,作为设置成功的反馈信号。并重新进入步骤1。
实施例2
本实施例提供了一种数据链路协议转换系统,结合图1、图3,UART信号转为DDCMP信号的处理按UART数据采集模块、DDCMP数据帧解析处理模块和DDCMP发送模块并行处理,每个模块又按照相应步骤顺序执行:
UART数据帧采集模块:
1、该模块按UART格式进行字节接收,寻找0xC0作为一条报文的起始。当接收到0xC0后,进入步骤2;否则继续执行步骤1。
2、继续接收下一字节,若仍为0xC0,则重新执行该步骤;否则,将0xC0和新接收到的字节放入接收缓存队列FIFO1中,并进入步骤3。
3、接收新的字节,并判定是否为0xC0,若不是,则将接收到字节存入FIFO1中,并重新进入步骤3;否则,将接收到的0xC0放入FIFO1中,并进入步骤1。
UART格式的报文经过UART数据帧采集模块后,以字节0xC0为界定,放入FIFO1中。
DDCMP数据帧解析处理模块:
1、监测FIFO1数据量以及DDCMP发送模块工作状态Sig_DataSend。当FIFO1中有数据,且DDCMP发送模块处于空闲状态,即Sig_DataSend=0,进入步骤2。
2、从FIFO1中读取数据,并寻找0xC0;当读取到0xC0后,且而后字节不是0xC0,进入步骤3。
3、读取字节并判定是否为0xDB或0xC0,当读取字节均不是二者,将读取字节放入待发送缓存FIFO2中,并重新进入步骤3;当读取字节为0xDB时,进入步骤4;当读取字节为0xC0时,进入步骤5。
4、读取下一字节,若为0xDC,将0xC0存入FIFO2中,进入步骤3;若为0xDD,则将0xDB存入FIFO2中,进入步骤3;若均不是,说明报文未按约定格式传送,或接收错误,清空FIFO2并重新进入步骤1;
5、读取到字节0xC0即说明一条报文读取结束,向DDCMP发送模块置位数据准备完成信号Sig_DataReady=1;在DDCMP发送模块进入发送状态后,即Sig_DataSend=1时,回到步骤1,并置位Sig_DataReady=0。
经DDCMP数据帧解析处理模块放入FIFO2的数据为一条报文,再经过DDCMP发送模块执行同步发送。
DDCMP发送模块:
1、初始化DDCMP发送模块为空闲工作状态,即Sig_DataSend=0;判断Sig_DataReady,当Sig_DataReady=0时,执行发送空闲码操作;当Sig_DataReady=1,说明FIFO2中数据准备完成,置位Sig_DataSend=1,该模块进入发送状态,进入步骤2。
2、校验FIFO2中数据量,若FIFO2数据量过小,则清空FIFO2并回到步骤1;按约定格式发送多个同步码SYN,并将FIFO2中字节按比特发送,待FIFO2中数据发送完毕,进入步骤3。
3、在发送完FIFO2中数据后,发送多个空闲码,而后回到步骤1。
实施例3,
本实施例提供了一种数据链路协议转换系统,结合图1、图4,DDCMP信号转为UART信号的处理利用DDCMP数据帧采集与解析模块和UART发送模块并行处理,每个模块又按照相应步骤顺序执行:
DDCMP数据帧采集与解析模块:
1、构建8位寄存器;根据同步时钟信号采样DDCMP信号,将寄存器中值向低位移位1位,将最新采样的比特置于寄存器最高位;将寄存器中值所构成字节与同步码SYN比较,若不同,则重新进入步骤1,若相同,则进入步骤2。
2、根据同步时钟信号采样DDCMP信号,按字节(即8次的采样所构成的二进制数)接收。根据协议格式,当接收到字节与同步码SYN多次相同,则说明同步成功,进入步骤3;否则,回到步骤1。
3、继续按字节接收信号;当接收字节为SYN时,重新进入步骤3;当接收字节不是SYN时,认为DDCMP控制字段开始,进入步骤4。
4、按位接收8字节的控制字段并进行校验;若校验通过,则先向待发送缓存FIFO3写入0xC0,而后将接收到的内容转义后存入FIFO3,并进入步骤5;若校验未通过,则回到步骤1重新开始。
5、根据步骤4接收到的8字节控制字段中的计数值Count,按字节循环接收Count字节的信息字段,并同时进行转义处理,存入FIFO3中;待接收完Count字节后,即信息字段接收完毕,进入步骤6。
6、接收2字节的CRC校验码,对信息字段进行校验。校验通过,则将CRC校验码转义处理后放入FIFO3;若校验未通过,则向FIFO3写入转义处理后的CRC校验码和错误标识码0xEE。而后,向FIFO3中写入0xC0,表示报文结束,回到步骤1。
DDCMP同步信号经过DDCMP数据帧采集与解析模块的处理后,以字节的形式存放于FIFO3中,并以0xC0作为界定。UART发送模块只需要将FIFO3中字节发送即可。
UART发送模块:
1、判断FIFO3是否有数据,若有,进入步骤2;否则,等待FIFO3存入数据。
2、按约定UART格式,发送读取到字符。进入步骤3。
3、在字符发送结束后,增加字符发送间隔,回到步骤1。
本发明提供了一种数据链路协议转换系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (10)

1.一种数据链路协议转换系统,其特征在于,包括UART转DDCMP模块、DDCMP转UART模块和控制命令响应模块;
其中,所述UART转DDCMP模块,用于对输入的基于异步UART格式的约定协议报文,转换并输出基于同步DDCMP格式的约定协议报文;
所述DDCMP转UART模块,用于对输入的基于同步DDCMP格式的约定协议报文,转换并输出基于异步UART格式的约定协议报文;
所述控制命令响应模块,用于通过发送控制命令的方式,切换同步DDCMP信号的时钟方式与时钟频率。
2.根据权利要求1所述的系统,其特征在于,所述UART转DDCMP模块包括UART数据采集模块、DDCMP数据帧解析处理模块和DDCMP发送模块,
其中,所述UART数据采集模块用于,接收基于异步UART格式的约定协议报文并存入接收缓存队列;
所述DDCMP数据帧解析处理模块用于整条报文的提取与解析;
所述DDCMP发送模块用于将整条报文按DDCMP报文格式发送。
3.根据权利要求2所述的系统,其特征在于,当系统接收UART格式数据信号时,UART数据采集模块执行数据的接收,并通过两次以上采样逻辑电平的方式进行差错控制,并将比特构成的字节放入接收缓存队列FIFO1中;DDCMP数据帧解析处理模块从FIFO1中读取字节,当匹配到协议约定的特殊帧起始字节,且DDCMP发送模块空闲时,将从帧起始字节开始的数据放入待发送缓存FIFO2队列中,直到读取到用于标识帧界限的帧结束字节;当FIFO2正确存入一帧数据后,DDCMP发送模块进入发送状态,将FIFO2中的一帧数据进行发送。
4.根据权利要求3所述的系统,其特征在于,基于UART格式的约定协议报文的界定采用特殊字节的方式,正文部分则采用转义字符的方式,将与特殊字符相同的正文部分进行转为非特殊字符进行处理;当DDCMP数据帧解析处理模块解析出完整的一帧数据后,DDCMP发送模块才将FIFO2中的数据发送;当DDCMP发送模块处于空闲状态时,DDCMP数据帧解析处理模块才开始工作。
5.根据权利要求4所述的系统,其特征在于,所述DDCMP转UART模块包括DDCMP数据帧采集与解析模块和UART发送模块;
其中,所述DDCMP数据帧采集与解析模块负责DDCMP数据帧的正确接收和整帧封装,并将数据存入队列待发送;
所述UART发送模块负责将队列中的数据进行发送。
6.根据权利要求5所述的系统,其特征在于,当系统接收DDCMP同步信号时,所述DDCMP数据帧采集与解析模块根据接收时钟RXC进行数据接收,DDCMP同步信号的信息帧的起始界定采用移位的方式,将新的比特数据置为字节最低位;当检测到协议约定的同步码SYN时,数据开始按字节接收;当连续两次以上检测到同步码SYN后,且出现帧起始字节SOH,开始进入接收状态;接收状态下,首先对同步码SYN的后8位控制字节按约定校验方式进行校验,校验通过后,再根据计数字段Count来读取Count字节,并将帧数据按约定格式进行封装和转义,存入待发送缓存FIFO3中;当检测到FIFO3中存在有效数据时,UART发送模块即按UART数据格式进行数据的发送。
7.根据权利要求6所述的系统,其特征在于,所述DDCMP数据帧采集与解析模块同时进行DDCMP数据的采集与解析,在接收到DDCMP同步信号的信息帧时,对控制字节进行校验,待校验正确后,即执行信息帧正文的接收和解析,将接收到字节放入FIFO3中;UART发送模块当检测到FIFO3中存在可读取数据时,即执行发送操作,实现同步信号的信息快速收发。
8.根据权利要求7所述的系统,其特征在于,所述控制命令响应模块负责接收上位机的配置命令,控制同步DDCMP的时钟模式及时钟频率;同步信号收发所需要的时钟来源通过上位机的控制命令来决定:当选择外时钟模式时,同步数据的收发所需时钟,由外部时钟输入信号来决定;当选择内时钟模式时,同步数据收发所需时钟则是系统提供的可调节时钟,并由时钟输出引脚输出时钟信号。
9.根据权利要求8所述的系统,其特征在于,所述控制命令响应模块具体执行如下步骤:
步骤a1,系统监控与上位机通信所对应的特定端口,当上位机的控制命令通过特定端口发送至FPGA,系统接收控制命令并进行判定;
步骤a2,对接收到的不同控制命令信号,系统进行相应配置:外时钟模式下,DDCMP发送模块和DDCMP数据帧采集与解析模块所使用的时钟信号由接收信号时钟输入引脚RXC和发送信号时钟输入引脚TXC决定;内时钟模式下,DDCMP发送模块和DDCMP数据帧采集与解析模块所使用的时钟信号由系统生成,时钟频率由控制命令决定,并将时钟信号通过时钟输出引脚CLK输出;
步骤a3,步骤a2执行完成后,向上位机发送设置成功的反馈信号,重新回到步骤a1执行控制命令的监控。
10.根据权利要求9所述的系统,其特征在于,所述系统对于UART信号转为DDCMP信号的处理按UART数据采集模块、DDCMP数据帧解析处理模块和DDCMP发送模块并行处理,其中,所述UART数据采集模块执行如下步骤:
步骤b1,UART数据采集模块按UART信号格式进行字节接收,并判定是否为指定的帧起始字节,当接收到帧起始字节后,将其放入接收缓存队列FIFO1中,进入步骤b2;否则,继续寻找帧起始字节;
步骤b2,继续接收后续字节,直到接收到非帧起始字节,并将其放入FIFO1,循环接收,直到接收到帧结束字节,即判定一帧信息结束,将其放入FIFO1中,回到步骤b1重新开始寻找新的一帧;
所述DDCMP数据帧解析处理模块执行如下步骤:
步骤c1,监测接收缓存队列FIFO1数据量及DDCMP发送模块状态Sig_DataSend;当FIFO1中有数据,且DDCMP发送模块处于空闲状态,即Sig_DataSend的值为0,进入步骤c2;
步骤c2,从FIFO1中读取数据,当读取到帧起始字节后,将后续字节存入待发送缓存FIFO2中,同时进行反转义的解析和必要的报文格式校验;当读取到帧结束字节时,进入步骤c3;
步骤c3,向DDCMP发送模块发送数据准备完成信号,并回到步骤c1;
所述DDCMP发送模块执行如下步骤:
步骤d1,监测数据准备完成信号Sig_DataReady,当Sig_DataReady=0时,持续执行发送空闲码的操作;当Sig_DataReady=1时,置位Sig_DataSend=1,执行完当前字节的空闲码发送后,进入步骤d2;
步骤d2,按约定格式发送同步码SYN,并将FIFO2中字节按位发送;待发送完毕后,即FIFO2读空后,进入步骤d3;
步骤d3,在帧与帧之间插入必要的空闲码后,DDCMP发送模块进入空闲模式,置Sig_DataSend=0,并回到步骤d1等待Sig_DataReady为1;
所述系统对于DDCMP信号转为UART信号的处理利用DDCMP数据帧采集与解析模块和UART发送模块并行处理,其中,所述DDCMP数据帧采集与解析模块执行如下步骤:
步骤e1,根据同步时钟信号采样DDCMP信号,通过移位的方式,寻找同步码SYN;当接收到DDCMP信号所表示字节与同步码匹配时,进入步骤e2;
步骤e2,根据协议格式,如果数次匹配同步码成功,则说明报头接收正确,进入步骤e3接收控制字段;否则回到步骤e1继续寻找帧的报头;
步骤e3,接收相应字节的控制字段并进行相应校验,如果校验通过,则按控制字段中计数值Count接收相应字节的信息字段,并将接收到的控制字段和信息字段进行相应转义后,存入后级的数据发送缓存队列FIFO3中,当接收完成Count字节后,进入步骤e4;
步骤e4,对信息字段进行校验,如果校验错误,FIFO3写入错误标识码,并写入帧结束字符;否则,回到步骤e1,开始新一帧的接收;
所述UART发送模块执行如下步骤:
步骤f1,判断FIFO3是否有数据,如果有,进入步骤f2发送数据;否则,等待FIFO3存入数据;
步骤f2,按约定UART格式,发送读取到数据;
步骤f3,在字符发送结束后,增加字符发送间隔,回到步骤f1。
CN202011033494.5A 2020-09-27 2020-09-27 一种数据链路协议转换系统 Active CN112187789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011033494.5A CN112187789B (zh) 2020-09-27 2020-09-27 一种数据链路协议转换系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011033494.5A CN112187789B (zh) 2020-09-27 2020-09-27 一种数据链路协议转换系统

Publications (2)

Publication Number Publication Date
CN112187789A CN112187789A (zh) 2021-01-05
CN112187789B true CN112187789B (zh) 2022-09-06

Family

ID=73943647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011033494.5A Active CN112187789B (zh) 2020-09-27 2020-09-27 一种数据链路协议转换系统

Country Status (1)

Country Link
CN (1) CN112187789B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726755B (zh) * 2021-08-23 2023-06-02 天津津航计算技术研究所 一种slip协议数据的处理方法
CN114280429A (zh) * 2021-11-12 2022-04-05 国网河北能源技术服务有限公司 Gis局部放电检测装置
CN114510448A (zh) * 2022-02-17 2022-05-17 安徽国芯智能装备有限公司 一种基于高速光纤以太网络的超高速数据传输系统及方法
CN114900571B (zh) * 2022-07-13 2022-09-27 工业信息安全(四川)创新中心有限公司 一种基于模板解析可信密码指令的方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4607364A (en) * 1983-11-08 1986-08-19 Jeffrey Neumann Multimode data communication system
CN102521181A (zh) * 2011-11-01 2012-06-27 四川川大智胜软件股份有限公司 多通道异型雷达数据实时解析集中收发卡及其通信方法
CN106411918A (zh) * 2016-10-24 2017-02-15 中国电子科技集团公司第二十八研究所 一种基于fpga的多路hdlc‑uart转换系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4607364A (en) * 1983-11-08 1986-08-19 Jeffrey Neumann Multimode data communication system
CN102521181A (zh) * 2011-11-01 2012-06-27 四川川大智胜软件股份有限公司 多通道异型雷达数据实时解析集中收发卡及其通信方法
CN106411918A (zh) * 2016-10-24 2017-02-15 中国电子科技集团公司第二十八研究所 一种基于fpga的多路hdlc‑uart转换系统及方法

Also Published As

Publication number Publication date
CN112187789A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112187789B (zh) 一种数据链路协议转换系统
CN104008078B (zh) 一种基于fpga的数据传输板之间进行高速传输的方法
US8184026B2 (en) Mobile industry processor interface
KR100881191B1 (ko) 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치
CN111737182B (zh) 串行通信参数自动配置方法及系统
CN110224789B (zh) 一种基于fpga的多模式hdlc控制器
CN106850046A (zh) 一种基于fpga的星载遥控遥测终端、系统及方法
CN111064545B (zh) 基于fpga实现具有spw接口的专网地检装置及方法
JPH02226943A (ja) ハイレベルデータリンク制御手順フレームを解析し且つ処理するためのシステム
JPH05122282A (ja) データ伝送方式
CN111930666A (zh) 一种高速可配置工业协议转换器
CN111698271A (zh) 一种hdlc协议ip核
US20030014579A1 (en) Communication controller and method of transforming information
CN114416626B (zh) 一种基于8b/10b编码的异步串行数据恢复方法
CN109902055B (zh) 一种适用窄带数据网络的slip编码数据流传输方法
JP4988544B2 (ja) データ処理装置およびデータ処理方法並びにプログラム
CN108429707B (zh) 一种适应不同传输速率的时间触发业务转发器及方法
CN111949590B (zh) 一种可跨fpga平台的高速通讯方法
CN101039323B (zh) 多速率多协议比特流处理器
CN102420675B (zh) 数据报文缓冲存储的使用状态信息的收发方法及装置
CN100444595C (zh) 一种主从设备通信方法
CN104009823B (zh) 一种SerDes技术中的错位检测与纠错电路
CN112147918B (zh) 基于arm+fpga+dsp架构的异步数据交互方法及系统
CN111026590B (zh) 接口电路的数据验证方法及平台
CN108509365B (zh) 一种dbi的数据传输方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant