CN111930666A - 一种高速可配置工业协议转换器 - Google Patents
一种高速可配置工业协议转换器 Download PDFInfo
- Publication number
- CN111930666A CN111930666A CN202010954923.6A CN202010954923A CN111930666A CN 111930666 A CN111930666 A CN 111930666A CN 202010954923 A CN202010954923 A CN 202010954923A CN 111930666 A CN111930666 A CN 111930666A
- Authority
- CN
- China
- Prior art keywords
- frame
- state
- protocol
- data
- module
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明属于总线协议转换技术领域,涉及一种高速可配置工业协议转换器,采样FPGA芯片技术,包括第一串口控制器及第一串口控制器依次连接的接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器;所述第一串口控制器和第二串口控制器,用于收发不同类型的工业现场总线数据;接收组帧模块,用于接收串口控制器发出的不同类型的工业现场总线数据的源协议帧,并进行校验,完成协议组帧;协议转换模块,用于提取源协议帧中的设备地址信息、功能码信息、数据写入到目标协议帧的相应位置;发送组帧模块,用于将目标协议帧计算出校验后,进行发送。本发明具有可灵活配置,支持多种协议互转且协议转换时延短达纳秒ns级别和时延固定的优点。
Description
技术领域
本发明涉及总线协议转换技术领域,尤其涉及一种高速可配置工业协议转换器。
背景技术
工业自动化控制系统拥有提高效率、节能降耗、节省人力成本、促进产业升级的明显效果,未来发展潜力巨大,而工业控制系统大多由多种厂家的工业设备组合而成,各厂家设备遵循的协议不同。在工业控制系统中,现场总线是普遍使用的一项通信技术,相较于其他的工业控制通信技术,从各种指标上来说可以很好的满足工业控制领域中对于监控的实时性、稳定性等要求,但是多种现场总线标准并存是现场总线的一个最大的特点。这种多种现场总线标准并存的现状在未来仍将保持,因此,要实现不同厂家、不同种类的产品,几乎所有工业控制设备都支持一种到多种现场总线协议,成熟的现场总线技术已广泛应用于很多领域,然而,很难用一种总线协议替代所有的总线协议,这涉及到总线协议之间的互转,即不同通信协议之间的转换,它能方便快速地实现对不同生产现场的控制设备进行组网,便于集中监控。现有的工业协议转换都是一对一的,比如Modbus-ASCII转Hostlink,并出厂就固定了,不可配置,而且现有的工业协议转换器目前主要基于高处理灵活性的通用处理器如CPU等实现协议转换,但是由于工业协议处理数据量大,而且基于指令流的通用处理器处理效率低,导致通用处理器80%以上的资源集中在协议本身的处理,而协议内容处理资源占用较少,并且转换时延长(微秒us级别)。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供一种高速可配置工业协议转换器,其具体技术方案如下。
一种高速可配置工业协议转换器,采样FPGA芯片,包括:第一串口控制器、接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器,所述第一串口控制器依次连接接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器;
所述第一串口控制器和第二串口控制器,用于收发不同类型的工业现场总线数据;
所述接收组帧模块,用于接收串口控制器发出的不同类型的工业现场总线数据的源协议帧,并进行校验,完成协议组帧;
所述协议转换模块,用于提取源协议帧中的设备地址信息、功能码信息、数据写入到目标协议帧的相应位置;
所述发送组帧模块,用于将目标协议帧计算出校验后,进行发送。
进一步的,所述接收组帧模块包括:状态机模块及状态机模块依次连接的校验模块、控制选择模块和接收组帧RAM;所述状态机模块根据源协议帧的帧头、帧尾、数据长度以及状态机模块使能校验模块对源协议帧进行校验的结果来执行状态转移,通过控制选择模块输出相应的控制信息,将源协议帧写入接收组帧RAM,并给出组帧完成指示后进行数据映射处理。
进一步的,所述状态机模块包括第一状态机、第二状态机和第三状态机;所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,所述第二状态机根据对Modbus RTU协议的设定执行状态转移,所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII,Hostlink,FINS协议的设定执行状态转移。
进一步的,所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE_IDLE1状态;
2)STATE1_IDLE状态满足:收到帧头0XDC或者帧头0XE5 转跳到STATE1_FRAME_OK状态;
3)STATE1_IDLE状态满足:收到帧头0X10转跳到STATE1_FRAME_START状态,数据长度LNE=0X06;
4)STATE1_IDLE状态满足:收到帧头0XA2转跳到STATE1_FRAME_START状态,数据长度LNE=0X0B;
5)STATE1_IDLE状态满足:收到第1帧头0X68转跳到STATE1_FRAME_START_TEMP;
6)STATE1_FRAME_START_TEMP状态满足:收到第4字节位置帧头0X68,同时收到第2和3字节位置的LEN相等则转跳到STATE1_FRAME_START状态,数据长度LNE=0Xxx为第2 和3 字节LEN的值,不满足条件则回到STATE1_IDLE状态;
7)STATE1_FRAME_START状态满足:收到的字节计数的值等于LEN的值转跳到STATE1_FRAME_END状态;
8)STATE1_FRAME_END状态满足:校验通过同时帧尾值为0X16 转跳到STATE1_FRAME_OK状态,不然则回到STATE1_IDLE状态;
9)STATE1_FRAME_OK执行完后回到STATE1_IDLE状态。
进一步的,所述第二状态机根据对Modbus RTU协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE2_IDLE状态;
2)STATE2_IDLE状态满足:收到串口数据进入STATE2_FRAME_RECV状态;
3)STATE2_FRAME_RECV状态满足:串口数据间隔大于等于3.5个字符则转跳到STATE2_IDLE状态;
4)STATE2_FRAME_RECV状态满足:串口数据间隔小于3.5个字符则保持在STATE2_FRAME_RECV状态。
进一步的,所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII, Hostlink,FINS协议的设定执行状态转移,具体包括如下步骤:
1)复位进入IDLE状态;
2)IDLE状态满足:收到帧头转跳到STATE_FRAME_START状态;
3)STATE_FRAME_START状态满足:收到帧头转跳到STATE_FRAME_START状态;
4)STATE_FRAME_START状态满足:收到帧尾N-1且校验通过转跳到STATE_FRAME_END状态;
5) STATE_FRAME_END状态满足:收到帧头转跳到STATE_FRAME_START状态;
6)STATE_FRAME_END状态满足:收到帧尾N 转跳到STATE_FRAME_OK状态,未收到帧尾N回到IDLE状态;
7)STATE_FRAME_OK执行完后回到IDLE状态。
进一步的,所述协议转换模块用于进行协议转换,具体包括如下步骤:
1) 在目标协议的起始位和结束符的相应位置写入起始位和结束符;
2) 提取源协议的设备地址信息写入到目标协议的设备地址信息位置;
3) 提取源协议的功能码信息,经过命令转换后写入到目标协议的功能码信息位置;
4) 提取源协议的数据,写入到目标协议数据位置;
进一步的,所述发送组帧模块包括发送组帧RAM、发送组帧控制、CRC检验计算和发送组帧;
需要发送的帧数据通过CPU配置、或者协议转换模块写入发送组帧RAM,所述帧数据的帧头存在发送组帧RAM地址0,依次累加存储直到帧尾,除CRC外;
所述发送组帧模块收到协议转换模块完成一帧的数据配置后的指示信号后,在发送组帧RAM中读出帧数据,进行CRC校验计算,CRC校验计算结果插入发送组帧的CRC位置与帧数据一起发送至第二串口控制器发送FIFO;
所述CRC校验计算包括:累加算法、异或算法和Modbus RTU CRC算法。
进一步的,所述Modbus RTU CRC算法具体包括如下步骤:
1)预置 crc_en==1’b0的 1 个 16 位的寄存器为十六进制FFFF,即全为 1,称为 CRC寄存器;
2) 把第一个8位二进制数据,即帧的第一个字节, 与 16 位的 CRC寄存器的低 8 位相异或, 把结果放于 CRC寄存器;
3) 把CRC寄存器的内容朝低位右移一位,用0填补最高位, 并检查右移后的移出位;
4) 如果移出位为 0,重复第3步 ,再次右移一位;如果移出位为1,CRC 寄存器与多项式0xA0 01 即1010 0000 0000 0001进行异或;
5) 重复步骤3和步骤4, 直到右移8次,这样整个8位数据全部进行了处理;
6) 重复步骤2到步骤5, 进行通信信息帧下一个字节的处理;
7) 将该通信信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;
8) 最后得到的 CRC寄存器内容即为 CRC码。
进一步的,一种高速可配置工业协议转换方法,包括如下步骤:
1) 通过所述第一串口控制器收发不同类型的工业现场总线数据;
2)将第一串口控制器发出的不同类型的工业现场总线数据发送给接收组帧模块,通过接收组帧模块进行校验,完成协议组帧;
3)通过所述协议转换模块提取总线数据的源协议帧中的设备地址信息、功能码信息、数据并写入到目标协议帧的相应位置;
4)将需要发送的目标协议帧写入到所述发送组帧模块,通过发送组帧模块将目标协议帧计算出校验后,发送至第二串口控制器;
5)最后通过所述第二串口控制器收发所述校验后的目标协议帧。
本发明具有可灵活配置,支持多种协议互转且采用FPGA做协议转换,协议转换时延短,达到纳秒ns级别,时延固定的优点。
附图说明
图1是本发明的系统结构示意图;
图2是本发明的接收组帧模块示意图;
图3是本发明的第一状态机原理示意图;
图4是本发明的第二状态机原理示意图;
图5是本发明的第三状态机原理示意图;
图6是本发明的Modbus RTU CRC校验原理示意图;
图7是本发明的发送组帧模块示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图及实施例,对本发明进行进一步详细说明。
如图1所示,一种高速可配置工业协议转换器,采样FPGA芯片技术,包括: 第一串口控制器、接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器,所述第一串口控制器依次连接接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器;所述第一串口控制器和第二串口控制器,用于收发不同类型的工业现场总线数据;接收组帧模块,用于接收串口控制器发出的不同类型的工业现场总线数据的源协议帧,并进行校验,完成协议组帧;协议转换模块,用于提取源协议帧中的设备地址信息、功能码信息、数据写入到目标协议帧的相应位置;发送组帧模块,用于将目标协议帧计算出校验后,进行发送。
如图2所示,所述接收组帧模块包括:状态机模块及与状态机模块依次连接的校验模块、控制选择模块和接收组帧RAM;所述状态机模块根据源协议帧的帧头、帧尾、数据长度以及状态机模块使能校验模块对源协议帧进行校验的结果来执行状态转移,通过控制选择模块输出相应的控制信息,将源协议帧写入接收组帧RAM,并给出组帧完成指示后进行数据映射处理。
如图3-5所示,所述状态机模块包括第一状态机、第二状态机和第三状态机;所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,所述第二状态机根据对ModbusRTU协议的设定执行状态转移,所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII,Hostlink,FINS协议的设定执行状态转移。
所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE_IDLE1状态;
2)STATE1_IDLE状态满足:收到帧头0XDC或者帧头0XE5 转跳到STATE1_FRAME_OK状态;
3)STATE1_IDLE状态满足:收到帧头0X10转跳到STATE1_FRAME_START状态,数据长度LNE=0X06;
4)STATE1_IDLE状态满足:收到帧头0XA2转跳到STATE1_FRAME_START状态,数据长度LNE=0X0B;
5)STATE1_IDLE状态满足:收到第1帧头0X68转跳到STATE1_FRAME_START_TEMP;
6)STATE1_FRAME_START_TEMP状态满足:收到第4字节位置帧头0X68,同时收到第2和3字节位置的LEN相等则转跳到STATE1_FRAME_START状态,数据长度LNE=0Xxx为第2 和3 字节LEN的值,不满足条件则回到STATE1_IDLE状态;
7)STATE1_FRAME_START状态满足:收到的字节计数的值等于LEN的值转跳到STATE1_FRAME_END状态;
8)STATE1_FRAME_END状态满足:校验通过同时帧尾值为0X16 转跳到STATE1_FRAME_OK状态,不然则回到STATE1_IDLE状态;
9)STATE1_FRAME_OK执行完后回到STATE1_IDLE状态。
所述第二状态机根据对Modbus RTU协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE2_IDLE状态;
2)STATE2_IDLE状态满足:收到串口数据进入STATE2_FRAME_RECV状态;
3)STATE2_FRAME_RECV状态满足:串口数据间隔大于等于3.5个字符 则转跳到STATE2_IDLE状态;
4)STATE2_FRAME_RECV状态满足:串口数据间隔小于3.5个字符 则保持在STATE2_FRAME_RECV状态。
所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII, Hostlink,FINS协议的设定执行状态转移,具体包括如下步骤:
1)复位进入IDLE状态;
2)IDLE状态满足:收到帧头转跳到STATE_FRAME_START状态;
3)STATE_FRAME_START状态满足:收到帧头 转跳到STATE_FRAME_START状态;
4)STATE_FRAME_START状态满足:收到帧尾N-1且校验通过 转跳到STATE_FRAME_END状态;
5)STATE_FRAME_END状态满足:收到帧头 转跳到STATE_FRAME_START状态;
6)STATE_FRAME_END状态满足:收到帧尾N 转跳到STATE_FRAME_OK状态,未收到帧尾N回到IDLE状态;
7)STATE_FRAME_OK执行完后回到IDLE状态。
所述协议转换模块用于进行协议转换,具体包括如下步骤:
1) 在目标协议的起始位和结束符的相应位置写入起始位和结束符;
2) 提取源协议的设备地址信息写入到目标协议的设备地址信息位置;
3) 提取源协议的功能码信息,经过命令转换后写入到目标协议的功能码信息位置;
4) 提取源协议的数据,写入到目标协议数据位置。
如图7所示,所述发送组帧模块包括发送组帧RAM、发送组帧控制、CRC检验计算和发送组帧。
需要发送的帧数据由CPU配置、或者协议转换模块写入发送组帧RAM,帧数据的帧头存在发送帧RAM地址0,依次累加存储直到帧尾,除CRC外。
发送组帧模块收到协议转换模块完成一帧的数据配置后的指示信号后,在发送组帧RAM中读出帧数据,进行CRC校验计算,CRC校验计算结果插入发送组帧的CRC位置与帧数据一起发送至第二串口控制器后发送FIFO。
所述CRC校验计算包括:累加算法、异或算法和Modbus RTU CRC算法。
如图6所示,所述Modbus RTU CRC算法,具体包括如下步骤:
1)预置 crc_en==1’b0的 1 个 16 位的寄存器为十六进制FFFF,即全为 1, 称为 CRC寄存器;
2) 把第一个8位二进制数据,即帧的第一个字节, 与 16 位的 CRC寄存器的低 8 位相异或, 把结果放于 CRC寄存器;
3) 把CRC寄存器的内容朝低位右移一位,用0填补最高位,并检查右移后的移出位;
4) 如果移出位为 0,重复第3步 ,再次右移一位;如果移出位为1, CRC 寄存器与多项式0xA0 01 即1010 0000 0000 0001进行异或;
5) 重复步骤3和步骤4,直到右移8次,这样整个8位数据全部进行了处理;
6) 重复步骤2到步骤5,进行通信信息帧下一个字节的处理;
7) 将该通信信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;
8) 最后得到的 CRC寄存器内容即为 CRC码。
一种高速可配置工业协议转换方法,包括如下步骤:
1) 通过所述第一串口控制器收发不同类型的工业现场总线数据;
2)将第一串口控制器发出的不同类型的工业现场总线数据发送给接收组帧模块,通过接收组帧模块进行校验,完成协议组帧;
3)通过所述协议转换模块提取总线数据的源协议帧中的设备地址信息、功能码信息、数据并写入到目标协议帧的相应位置;
4)将需要发送的目标协议帧写入到所述发送组帧模块,通过发送组帧模块将目标协议帧计算出校验后,发送至第二串口控制器;
5)最后通过所述第二串口控制器收发所述校验后的目标协议帧。
Claims (10)
1.一种高速可配置工业协议转换器,采样FPGA芯片,其特征在于,包括:第一串口控制器、接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器,所述第一串口控制器依次连接接收组帧模块、协议转换模块、发送组帧模块和第二串口控制器;
所述第一串口控制器和第二串口控制器,用于收发不同类型的工业现场总线数据;
所述接收组帧模块,用于接收串口控制器发出的不同类型的工业现场总线数据的源协议帧,并进行校验,完成协议组帧;
所述协议转换模块,用于提取源协议帧中的设备地址信息、功能码信息、数据写入到目标协议帧的相应位置;
所述发送组帧模块,用于将目标协议帧计算出校验后,进行发送。
2.如权利要求1所述的一种高速可配置工业协议转换器,其特征在于,所述接收组帧模块包括:状态机模块及状态机模块依次连接的校验模块、控制选择模块和接收组帧RAM;所述状态机模块根据源协议帧的帧头、帧尾、数据长度以及状态机模块使能校验模块对源协议帧进行校验的结果来执行状态转移,通过控制选择模块输出相应的控制信息,将源协议帧写入接收组帧RAM,并给出组帧完成指示后进行数据映射处理。
3.如权利要求2所述的一种高速可配置工业协议转换器,其特征在于,所述状态机模块包括第一状态机、第二状态机和第三状态机;所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,所述第二状态机根据对Modbus RTU协议的设定执行状态转移,所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII, Hostlink,FINS协议的设定执行状态转移。
4.如权利要求3所述的一种高速可配置工业协议转换器,其特征在于,所述第一状态机根据对Profibus、PPI协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE_IDLE1状态;
2)STATE1_IDLE状态满足:收到帧头0XDC或者帧头0XE5 转跳到STATE1_FRAME_OK状态;
3)STATE1_IDLE状态满足:收到帧头0X10转跳到STATE1_FRAME_START状态,数据长度LNE=0X06;
4)STATE1_IDLE状态满足:收到帧头0XA2转跳到STATE1_FRAME_START状态,数据长度LNE=0X0B;
5)STATE1_IDLE状态满足:收到第1帧头0X68转跳到STATE1_FRAME_START_TEMP;
6)STATE1_FRAME_START_TEMP状态满足:收到第4字节位置帧头0X68,同时收到第2和3字节位置的LEN相等则转跳到STATE1_FRAME_START状态,数据长度LNE=0Xxx为第2 和3 字节LEN的值,不满足条件则回到STATE1_IDLE状态;
7)STATE1_FRAME_START状态满足:收到的字节计数的值等于LEN的值转跳到STATE1_FRAME_END状态;
8)STATE1_FRAME_END状态满足:校验通过同时帧尾值为0X16 转跳到STATE1_FRAME_OK状态,不然则回到STATE1_IDLE状态;
9)STATE1_FRAME_OK执行完后回到STATE1_IDLE状态。
5.如权利要求3所述的一种高速可配置工业协议转换器,其特征在于,所述第二状态机根据对Modbus RTU协议的设定执行状态转移,具体包括如下步骤:
1)复位进入STATE2_IDLE状态;
2)STATE2_IDLE状态满足:收到串口数据进入STATE2_FRAME_RECV状态;
3)STATE2_FRAME_RECV状态满足:串口数据间隔大于等于3.5个字符则转跳到STATE2_IDLE状态;
4)STATE2_FRAME_RECV状态满足:串口数据间隔小于3.5个字符则保持在STATE2_FRAME_RECV状态。
6.如权利要求3所述的一种高速可配置工业协议转换器,其特征在于,所述第三状态机根据对Mewtocol(ASCII),Modbus ASCII, Hostlink,FINS协议的设定执行状态转移,具体包括如下步骤:
1)复位进入IDLE状态;
2)IDLE状态满足:收到帧头转跳到STATE_FRAME_START状态;
3)STATE_FRAME_START状态满足:收到帧头转跳到STATE_FRAME_START状态;
4)STATE_FRAME_START状态满足:收到帧尾N-1且校验通过转跳到STATE_FRAME_END状态;
5) STATE_FRAME_END状态满足:收到帧头转跳到STATE_FRAME_START状态;
6)STATE_FRAME_END状态满足:收到帧尾N 转跳到STATE_FRAME_OK状态,未收到帧尾N回到IDLE状态;
7)STATE_FRAME_OK执行完后回到IDLE状态。
7.如权利要求1所述的一种高速可配置工业协议转换器,其特征在于,所述协议转换模块用于进行协议转换,具体包括如下步骤:
1) 在目标协议的起始位和结束符的相应位置写入起始位和结束符;
2) 提取源协议的设备地址信息写入到目标协议的设备地址信息位置;
3) 提取源协议的功能码信息,经过命令转换后写入到目标协议的功能码信息位置;
4) 提取源协议的数据,写入到目标协议数据位置。
8.如权利要求1所述的一种高速可配置工业协议转换器,其特征在于,所述发送组帧模块包括发送组帧RAM、发送组帧控制、CRC检验计算和发送组帧;
需要发送的帧数据通过CPU配置、或者协议转换模块写入发送组帧RAM,所述帧数据的帧头存在发送组帧RAM地址0,依次累加存储直到帧尾,除CRC外;
所述发送组帧模块收到协议转换模块完成一帧的数据配置后的指示信号后,在发送组帧RAM中读出帧数据,进行CRC校验计算,CRC校验计算结果插入发送组帧的CRC位置与帧数据一起发送至第二串口控制器发送FIFO;
所述CRC校验计算包括:累加算法、异或算法和Modbus RTU CRC算法。
9.如权利要求8所述的一种高速可配置工业协议转换器,其特征在于,所述Modbus RTUCRC算法具体包括如下步骤:
1)预置 crc_en==1’b0的 1 个 16 位的寄存器为十六进制FFFF,即全为 1, 称为 CRC寄存器;
2) 把第一个8位二进制数据,即帧的第一个字节, 与 16 位的 CRC寄存器的低 8 位相异或,把结果放于 CRC寄存器;
3) 把CRC寄存器的内容朝低位右移一位,用0填补最高位, 并检查右移后的移出位;
4) 如果移出位为 0,重复第3步 ,再次右移一位;如果移出位为1,CRC 寄存器与多项式0xA0 01 即1010 0000 0000 0001进行异或;
5) 重复步骤3和步骤4,直到右移8次,这样整个8位数据全部进行了处理;
6) 重复步骤2到步骤5,进行通信信息帧下一个字节的处理;
7) 将该通信信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;
8) 最后得到的 CRC寄存器内容即为 CRC码。
10.一种高速可配置工业协议转换方法,其特征在于,包括如下步骤:
1) 通过所述第一串口控制器收发不同类型的工业现场总线数据;
2)将第一串口控制器发出的不同类型的工业现场总线数据发送给接收组帧模块,通过接收组帧模块进行校验,完成协议组帧;
3)通过所述协议转换模块提取总线数据的源协议帧中的设备地址信息、功能码信息、数据并写入到目标协议帧的相应位置;
4)将需要发送的目标协议帧写入到所述发送组帧模块,通过发送组帧模块将目标协议帧计算出校验后,发送至第二串口控制器;
5)最后通过所述第二串口控制器收发所述校验后的目标协议帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010954923.6A CN111930666A (zh) | 2020-09-11 | 2020-09-11 | 一种高速可配置工业协议转换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010954923.6A CN111930666A (zh) | 2020-09-11 | 2020-09-11 | 一种高速可配置工业协议转换器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111930666A true CN111930666A (zh) | 2020-11-13 |
Family
ID=73309394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010954923.6A Pending CN111930666A (zh) | 2020-09-11 | 2020-09-11 | 一种高速可配置工业协议转换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930666A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527727A (zh) * | 2020-12-07 | 2021-03-19 | 国网甘肃省电力公司营销服务中心 | 一种基于gpu的加速协议转换的算法 |
CN113839819A (zh) * | 2021-09-24 | 2021-12-24 | 北京微纳星空科技有限公司 | 一种协议转换器扩展串口的方法、装置、设备及存储介质 |
CN114944889A (zh) * | 2022-05-19 | 2022-08-26 | 成都汇蓉国科微系统技术有限公司 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388889A (zh) * | 2008-10-23 | 2009-03-18 | 上海大学 | 一种多协议总线之间的转换方法 |
CN202495966U (zh) * | 2012-03-07 | 2012-10-17 | 陕西科技大学 | 一种嵌入式可配置的多协议通信网络转换器 |
CN110519161A (zh) * | 2019-09-29 | 2019-11-29 | 杭州和利时自动化有限公司 | 一种网关装置及数据协议转换的方法 |
CN210804041U (zh) * | 2019-10-31 | 2020-06-19 | 浙江海利普电子科技有限公司 | 多总线协议转换及数据采集系统 |
-
2020
- 2020-09-11 CN CN202010954923.6A patent/CN111930666A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388889A (zh) * | 2008-10-23 | 2009-03-18 | 上海大学 | 一种多协议总线之间的转换方法 |
CN202495966U (zh) * | 2012-03-07 | 2012-10-17 | 陕西科技大学 | 一种嵌入式可配置的多协议通信网络转换器 |
CN110519161A (zh) * | 2019-09-29 | 2019-11-29 | 杭州和利时自动化有限公司 | 一种网关装置及数据协议转换的方法 |
CN210804041U (zh) * | 2019-10-31 | 2020-06-19 | 浙江海利普电子科技有限公司 | 多总线协议转换及数据采集系统 |
Non-Patent Citations (2)
Title |
---|
余发洪: "基于FPGA的多协议综合转换系统设计技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
生命如歌,代码如诗: "Modbus-RTU通讯协议中CRC校验码的计算步骤及算法代码", 《HTTPS://BLOG.CSDN.NET/MA950924/ARTICLE/DETAILS/82747285》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527727A (zh) * | 2020-12-07 | 2021-03-19 | 国网甘肃省电力公司营销服务中心 | 一种基于gpu的加速协议转换的算法 |
CN113839819A (zh) * | 2021-09-24 | 2021-12-24 | 北京微纳星空科技有限公司 | 一种协议转换器扩展串口的方法、装置、设备及存储介质 |
CN113839819B (zh) * | 2021-09-24 | 2022-08-05 | 北京微纳星空科技有限公司 | 一种协议转换器扩展串口的方法、装置、设备及存储介质 |
CN114944889A (zh) * | 2022-05-19 | 2022-08-26 | 成都汇蓉国科微系统技术有限公司 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
CN114944889B (zh) * | 2022-05-19 | 2023-07-04 | 成都汇蓉国科微系统技术有限公司 | 一种基于可参数化配置的多功能通信数据校验系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930666A (zh) | 一种高速可配置工业协议转换器 | |
CN111200581B (zh) | 基于lvds总线的数据收发模块 | |
CN107547574B (zh) | 一种基于通用协议的通信系统及方法 | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
CN112187789B (zh) | 一种数据链路协议转换系统 | |
US10579581B2 (en) | Multilane heterogeneous serial bus | |
CN102780705A (zh) | Ethernet-CAN协议转换器 | |
CN111917753B (zh) | 一种基于位域的Modbus TCP报文解析方法 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN113934667A (zh) | 一种基于fpga逻辑资源延时的过采样异步通信方法 | |
CN102130744B (zh) | 计算循环冗余校验码的方法和装置 | |
CN111464386A (zh) | 用于数据传输的通信转换方法和装置、通信系统 | |
Sowmya et al. | Design of UART module using ASMD technique | |
CN107517094B (zh) | 基于fpga的s模式二次雷达情报服务器及其工作方法 | |
CN111367850A (zh) | 一种fpga和mcu之间的快速通信方法 | |
CN202632782U (zh) | 一种基于MicroBlaze软核的多路SSI数据采集模块 | |
CN112147918B (zh) | 基于arm+fpga+dsp架构的异步数据交互方法及系统 | |
CN109902036B (zh) | 基于emif接口的双速率1553b总线设备通信方法 | |
CN109032664B (zh) | 实时追踪微体系结构级队列队满状态的方法及系统 | |
Kong et al. | Design and Implementation of UART Based on Verilog HDL | |
KR20170094699A (ko) | 디지털 데이터 통신장치 및 데이터 모의장치 | |
CN101976214B (zh) | 一种自适应速率crc码的实现方法及其装置 | |
CN114124718B (zh) | 强实时EtherCAT实现系统 | |
WO2023104210A1 (zh) | 数据传输芯片及电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201113 |
|
RJ01 | Rejection of invention patent application after publication |