CN114116585A - 基于fpga的串口通讯方法 - Google Patents
基于fpga的串口通讯方法 Download PDFInfo
- Publication number
- CN114116585A CN114116585A CN202111419421.4A CN202111419421A CN114116585A CN 114116585 A CN114116585 A CN 114116585A CN 202111419421 A CN202111419421 A CN 202111419421A CN 114116585 A CN114116585 A CN 114116585A
- Authority
- CN
- China
- Prior art keywords
- serial port
- byte
- original
- encoding
- decoding end
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004891 communication Methods 0.000 title claims abstract description 38
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
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
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
-
- 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)
- Dc Digital Transmission (AREA)
Abstract
本申请提供有一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:编码端接收第一串口电路发送的原始串口数据;编码端确定与所述第一串口电路对应的串口序号;编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;编码端将预设编码标志和第一原始字节段组合得到第一编码字节;将串口序号和第二原始字节段组合得到第二编码字节;所述第一编码字节和第二编码字节共同构成编码字节;将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
Description
技术领域
本公开具体公开一种基于FPGA的串口通讯方法。
背景技术
UART串口(RS232、RS422等)是嵌入式设备中最常用的通讯接口。每个串口均需要有相应的硬件设备(如接口芯片、供电电路等的)支持。
当一款嵌入式设备需要使用多个串口时,这将增加设备体积、硬件成本。并且在嵌入式设备的设计阶段,未必能准确预知设备最终使用几路串口,这将增加不必要的设计冗余。
发明内容
鉴于现有技术中的上述缺陷或不足,本申请旨在提供一种基于FPGA的串口通讯方法。
第一方面,一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;
编码端将预设编码标志和第一原始字节段组合得到第一编码字节;将串口序号和第二原始字节段组合得到第二编码字节;所述第一编码字节和第二编码字节共同构成编码字节;
将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
进一步地,所述第一原始字节段包括:地址权重较高的字节段;所述第二原始字节段包括:地址权重较低的字节段;
第二方面,一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;
解码端接收编码字节;
解码端判断编码字节中是否包含预设编码标志;
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;
解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含串口序号;
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;
解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一原始字节段;
解码端解码第二串口数据,得到串口序号和第二原始字节段;
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
进一步地,还包括如下步骤:若串口序号无对应的串口,则第二处理模块发送第二报错信号。
综上所述,本申请中第一方面和第二方面公开有一种基于FPGA的串口通讯方法,该通讯方法包括分别内置有FPGA的编码端和解码端。所述编码端用于接收第一串口电路发送的原始串口数据,且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。基于第一方面和第二方面的通讯方法,一方面,该通讯方法能够对原始串口数据进行高效编码,几乎无传输延时;另一方面,该通讯方法既可以应用于新研制电路,降低硬件体积、重量、串口线缆数量;降低硬件设计阶段的不确定性,加快设计进度;亦可以应用于既有电路,在不改变电路硬件的前提下增加通讯串口数量,增加既有设备的功能通用性,应用场景广。
第三方面,一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;
编码端拆分串口序号,得到第一串口字节段和第二串口字节段;
编码端将第一预设编码标志、第一串口字节段和第一原始字节段组合得到第一编码字节;将第二预设编码标志、第二串口字节段和第二原始字节段组合得到第二编码字节;所述第一编码字节和第二编码字节共同构成编码字节;
将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
第四方面,一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;
解码端接收编码字节;
解码端判断编码字节中是否包含第一预设编码标志;
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;
解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含第二预设编码标志;
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;
解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一串口字节段和第一原始字节段;
解码端解码第二串口数据,得到第二串口字节段和第二原始字节段;
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端以第一串口字节段和第二串口字节段,得到串口序号;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
进一步地,若串口序号无对应的串口,则第二处理模块发送第二报错信号。
综上所述,本申请中第三方面和第四方面公开有一种基于FPGA的串口通讯方法,该通讯方法包括分别内置有FPGA的编码端和解码端。所述编码端用于接收第一串口电路发送的原始串口数据,且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。基于第一方面和第二方面的通讯方法,一方面,该通讯方法能够对原始串口数据进行高效编码,编码效率能高达50%,几乎无传输延时;另一方面,该通讯方法既可以应用于新研制电路,降低硬件体积、重量、串口线缆数量;降低硬件设计阶段的不确定性,加快设计进度;亦可以应用于既有电路,在不改变电路硬件的前提下增加通讯串口数量,增加既有设备的功能通用性,应用场景广。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1所示的是编码端和解码端通讯场景示意图;
图2所示的是实施例一中编码方法;
图3所示的是实施例三中编码方法。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一:
一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,请参考图1所示的硬件结构示意图,其中10所示的为编码端;20所示的为解码端。
具体地,基于FPGA的串口通讯方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;请参考图2所示的编码示意图,图2中将原始串口数据,拆分为两个原始字节,即:第一原始字节段和第二原始字节段,具体地,设定原始串口数据为8字节,其地址位为Bit【7:0】,优选地,所述第一原始字节段包括:地址权重较高的字节段,如图2中Bit【7:4】;所述第二原始字节段包括:地址权重较低的字节段;如图2中Bit【3:0】。
编码端将预设编码标志和第一原始字节段组合得到第一编码字节;具体地,预设编码标志为4bit,可为0xF;将串口序号和第二原始字节段组合得到第二编码字节;具体地,串口序号为4bit,可为0x0-0xE;所述第一编码字节和第二编码字节共同构成编码字节;具体地,所述第一编码字节为8bit,其结构如图2所示;所述第二编码字节为8bit,其结构如图2所示。
请参考图1,将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
实施例二:
一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;具体地,编码端的编码方法如实施例一所示。
解码端接收编码字节;
解码端判断编码字节中是否包含预设编码标志;具体地,解码端内置有预设编码标志为4bit,如:0xF;
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;本步骤中,若解码端判断编码字节无预设编码标志,则丢掉该编码字节,再继续接收下一编码字节,并重复上述判断过程,即:判断下一编码字节是否包含预设编码标志,若包含,则解码端缓存该编码字节,记为第一串口数据;若未包含,则丢掉该编码字节,再继续接收下一编码字节,继续执行上述判断步骤。
在获得第一串口数据之后,解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含串口序号;具体地,串口序号为4bit,如:可为0x0-0xE;亦可为0x0-0x4。以0x0-0x4为例进行说明:如果需要通讯的原始串口数量是5个,则范围可以是0x0~0x4,此种情况下,如果收到了0x5,则判定串口序号不在0x0~0x4范围内。
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;具体地,当解码端未包含串口序号时,可能包含以下两种情况:其一是:解码端包含预设编码标志;其二是:串口序号不在0x0-0xE的范围内。解码端发送第一报错信号之后,解码端丢弃此次接受的编码字节,开始接收下一次的编码字节。
在获得一组第一串口数据和第二串口数据之后,解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一原始字节段;具体地,请参考图2,第一串口数据中Bit【3:0】即为第一原始字节段。
解码端解码第二串口数据,得到串口序号和第二原始字节段;具体地,请参考图2,第二串口数据中Bit【7:4】即为串口字节;第二串口数据中Bit【7:4】即为第二原始字节段。
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
进一步地,还包括如下步骤:若串口序号无对应的串口,则第二处理模块发送第二报错信号,解码端丢弃此原始串口数据,开始接收下一次的编码字节。
实施例三:
一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,请参考图1所示的硬件结构示意图,其中10所示的为编码端;20所示的为解码端。
具体地,基于FPGA的串口通讯方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;请参考图3所示的编码示意图,图3中将原始串口数据,拆分为两个原始字节,即:第一原始字节段和第二原始字节段,具体地,设定原始串口数据为8字节,其地址位为Bit【7:0】,优选地,所述第一原始字节段包括:地址权重较高的字节段,如图3中Bit【7:4】;所述第二原始字节段包括:地址权重较低的字节段;如图3中Bit【3:0】。
编码端拆分串口序号,得到第一串口字节段和第二串口字节段;具体地,请参考图3,串口序号包括6bit,其中:第一串口字节段Bit【5:3】;第二串口字节段Bit【2:0】。
编码端将第一预设编码标志、第一串口字节段和第一原始字节段组合得到第一编码字节;具体地,第一预设编码标志可为1bit,如可为固定值0。
将第二预设编码标志、第二串口字节段和第二原始字节段组合得到第二编码字节;具体地,第二预设编码标志可为1bit,如可为固定值1。
所述第一编码字节和第二编码字节共同构成编码字节;具体地,所述第一编码字节为8bit,其结构如图3所示;所述第二编码字节为8bit,其结构如图3所示。
请参考图1,将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
实施例四:
一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;具体地,编码端的编码方法如实施例三所示。
解码端接收编码字节;
解码端判断编码字节中是否包含第一预设编码标志;具体地,第一预设编码标志可为1bit,如可为固定值0。
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;本步骤中,若解码端判断编码字节无第一预设编码标志,则丢掉该编码字节,再继续接收下一编码字节,并重复上述判断过程,即:判断下一编码字节是否包含第一预设编码标志,若包含,则解码端缓存该编码字节,记为第一串口数据;若未包含,则丢掉该编码字节,再继续接收下一编码字节,继续执行上述判断步骤。
在获得第一串口数据之后,解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含第二预设编码标志;具体地,第一预设编码标志可为1bit,如可为固定值1。
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;解码端发送第一报错信号之后,解码端丢弃此次接受的编码字节,开始接收下一次的编码字节。
解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一串口字节段和第一原始字节段;具体地,请参考图3,第一串口数据中Bit【3:0】即为第一原始字节段;第一串口数据中Bit【6:4】即为第一串口字节段。
解码端解码第二串口数据,得到第二串口字节段和第二原始字节段;具体地,请参考图3,第二串口数据中Bit【3:0】即为第二原始字节段;第二串口数据中Bit【6:4】即为第二串口字节段。
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端以第一串口字节段和第二串口字节段,得到串口序号;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
进一步地,若串口序号无对应的串口,则第二处理模块发送第二报错信号,解码端丢弃此原始串口数据,开始接收下一次的编码字节。
具体地,传输延时分析过程如下:
设定原始串口波特率为115200bps,原始串口设于第一串口电路中,其用于发送原始串口数据,当原始串口为多个时,每个原始串口对应设有串口序号。
编码端一方面用于接收第一串口电路中原始串口发送的原始串口数据并对原始串口数据进行编码得到编码字节,另一方面,用于将编码字节发送至解码端,具体地,编码端内设有融合串口,融合串口波特率的上限取决于电路硬件性能,在成本敏感的应用场合,融合串口波特率一般取值为5-10Mbps。
具体地,融合串口中可以容纳原始串口的数量,由下述计算公式得出:容量≤floor(高速串口波特率÷2÷(Σ各个串口波特率))
式中:floor表示向小取整,例floor(4.9)=4
具体地,融合串口波特率取6Mbps,原始串口波特率均取115200bps,则根据公式,融合串口最多可包含26路原始串口。
融合串口波特率高于原始串口波特率之和的2倍----这个2倍即编码效率,原始串口的1个字节编码后成为2个字节----也即即使全部的原始串口全部一刻不停地发送数据,融合串口也能无需缓存全部转发出去,所以全部的延时只来源于内置于编码端和解码端的FPGA程序固件,如:编码端和解码端一共可为约100clk,即1μs。
原始串口数据的发送速率远远低于FPGA工作时钟,如115200bps的串口每发送1个字节需时86.8μs,比FPGA固件延时多了将近2个数量级,所以当每一个原始串口发完第一个完整的字节后,解码端都能“几乎”无延时地收到该数据,而且无论原始串口波特率、数量如何变化,解码端都能在原始串口的第二个字节发送完成之前收到完整的第一个字节。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,其特征在于,所述方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;
编码端将预设编码标志和第一原始字节段组合得到第一编码字节;将串口序号和第二原始字节段组合得到第二编码字节;所述第一编码字节和第二编码字节共同构成编码字节;
将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
2.根据权利要求1所述的基于FPGA的串口通讯方法,其特征在于,
所述第一原始字节段包括:地址权重较高的字节段;所述第二原始字节段包括:地址权重较低的字节段。
3.一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,其特征在于,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;
解码端接收编码字节;
解码端判断编码字节中是否包含预设编码标志;
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;
解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含串口序号;
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;
解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一原始字节段;
解码端解码第二串口数据,得到串口序号和第二原始字节段;
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
4.根据权利要求3所述的一种基于FPGA的串口通讯方法,其特征在于,还包括如下步骤:若串口序号无对应的串口,则解码端发送第二报错信号。
5.一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,其特征在于,所述方法包括如下步骤:
编码端接收第一串口电路发送的原始串口数据;
编码端确定与所述第一串口电路对应的串口序号;
编码端拆分原始串口数据,得到第一原始字节段和第二原始字节段;
编码端拆分串口序号,得到第一串口字节段和第二串口字节段;
编码端将第一预设编码标志、第一串口字节段和第一原始字节段组合得到第一编码字节;将第二预设编码标志、第二串口字节段和第二原始字节段组合得到第二编码字节;所述第一编码字节和第二编码字节共同构成编码字节;
将所述编码字节发送至解码端,所述解码端用于接收所述第一编码字节和第二编码字节并从中提取所述串口序号和原始串口数据,并将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
6.一种基于FPGA的串口通讯方法,包括:分别内置有FPGA的编码端和解码端,其特征在于,所述方法包括如下步骤:
编码端用于接收第一串口电路发送的原始串口数据且对原始串口数据进行编码得到编码字节,并将编码字节发送至解码端;所述编码字节包括:第一编码字节和第二编码字节;
解码端接收编码字节;
解码端判断编码字节中是否包含第一预设编码标志;
若包含,则解码端缓存该编码字节,记为第一串口数据;
若未包含,则解码端丢掉该编码字节,获得下一编码字节,重复执行上述步骤;
解码端获取第一串口数据后,继续获得下一编码字节;
解码端判断下一编码字节是否包含第二预设编码标志;
若包含,则解码端缓存该串口数据,记为第二串口数据;
若未包含,则解码端发送第一报错信号;
解码端合并第一串口数据和第二串口数据,得到串口数据;
解码端解码第一串口数据,得到第一串口字节段和第一原始字节段;
解码端解码第二串口数据,得到第二串口字节段和第二原始字节段;
解码端以第一原始字节段和第二原始字节段,得到原始串口数据;
解码端以第一串口字节段和第二串口字节段,得到串口序号;
解码端将所述原始串口数据发送至与所述串口序号对应的第二串口电路。
7.根据权利要求6所述的一种基于FPGA的串口通信方法,其特征在于,还包括如下步骤:
若串口序号无对应的串口,则第二处理模块发送第二报错信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419421.4A CN114116585A (zh) | 2021-11-26 | 2021-11-26 | 基于fpga的串口通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111419421.4A CN114116585A (zh) | 2021-11-26 | 2021-11-26 | 基于fpga的串口通讯方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116585A true CN114116585A (zh) | 2022-03-01 |
Family
ID=80369673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111419421.4A Pending CN114116585A (zh) | 2021-11-26 | 2021-11-26 | 基于fpga的串口通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116585A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595503A (zh) * | 2013-10-25 | 2014-02-19 | 福建升腾资讯有限公司 | 一种基于串口装置的频率编解码通讯系统 |
CN105357077A (zh) * | 2015-11-24 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 多设备的串口数据处理装置及方法 |
CN105591716A (zh) * | 2014-12-26 | 2016-05-18 | 青岛海信日立空调系统有限公司 | 一种基于单载波的串行数据通信方法、装置及系统 |
-
2021
- 2021-11-26 CN CN202111419421.4A patent/CN114116585A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595503A (zh) * | 2013-10-25 | 2014-02-19 | 福建升腾资讯有限公司 | 一种基于串口装置的频率编解码通讯系统 |
CN105591716A (zh) * | 2014-12-26 | 2016-05-18 | 青岛海信日立空调系统有限公司 | 一种基于单载波的串行数据通信方法、装置及系统 |
CN105357077A (zh) * | 2015-11-24 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 多设备的串口数据处理装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7248740B2 (en) | Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions | |
CN1154285C (zh) | 灵活的通信差错保护方法 | |
EP1468567B1 (en) | Methods for start code emulation prevention and data stuffing | |
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
US20200250129A1 (en) | Rdma data sending and receiving methods, electronic device, and readable storage medium | |
JP2002027023A (ja) | 無線データ送受信装置及びその方法 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
US20020021720A1 (en) | Multiplexed signal transmitter/receiver, communication system, and multiplexing transmission method | |
JPS6096046A (ja) | デイジタル通信システム | |
WO2011137790A1 (zh) | 通用公共无线接口业务发送/接收方法及装置 | |
CN104081701A (zh) | 光网络系统的通信方法、系统及装置 | |
KR20080070949A (ko) | 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템 | |
CN104467865B (zh) | 串行通信协议控制器、字节拆分电路及8b10b编码器 | |
CN104360988A (zh) | 中文字符的编码方式的识别方法和装置 | |
EP1300976A1 (en) | Method of blind transport format detection | |
CN114116585A (zh) | 基于fpga的串口通讯方法 | |
JP2001500350A (ja) | 可変長符号器を使用する伝送システム | |
EP2712089A1 (en) | Method for compressing texts and associated equipment | |
CN103516477A (zh) | 一种数据传输方法及装置 | |
KR100636370B1 (ko) | 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법 | |
CN105099571A (zh) | 一种音频通信方法 | |
KR101127063B1 (ko) | 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 매체와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용하는 인코더 및 디코더와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용한 인코딩 방법 및 디코딩 방법과, 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 | |
CN104202124A (zh) | 一种erp数据包通讯方法 | |
JP3515526B2 (ja) | 通信システムにおける制御情報の符号化方法 | |
CN210274035U (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 |