CN114741355A - 一种基于Soc的数据封装方法 - Google Patents
一种基于Soc的数据封装方法 Download PDFInfo
- Publication number
- CN114741355A CN114741355A CN202210440559.0A CN202210440559A CN114741355A CN 114741355 A CN114741355 A CN 114741355A CN 202210440559 A CN202210440559 A CN 202210440559A CN 114741355 A CN114741355 A CN 114741355A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- length
- module
- fifo
- 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
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 title claims description 16
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 24
- 230000001105 regulatory effect Effects 0.000 claims abstract description 4
- 238000005538 encapsulation Methods 0.000 claims description 26
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Communication Control (AREA)
Abstract
本发明公开了S1:在PS模块和PL模块之间构建数据传输协议,并将协议进行规整;S2:通过arm模块下发预设参数;S3:按照步骤S1中构建的数据传输协议,将通信协议按照规定的格式内容,通过地址将下发的预设参数进行解析;S4:将前级模块输入到数据封装模块的数据通过FIFO进行缓存;S5:对FIFO内数据长度进行判定,若不满足通信协议中规定的数据包长度,对数据包长度进行调整直至满足通信协议中的规定长度,若满足通信协议中规定的数据包长度,则在封装时进行加装标识;通过ARM与FPGA的xillybus接口进行数据交互,保证了数据包传输能够正常传输。本发明的算法在硬件中实现更加简单,不仅提升了系统的工作效率,还节约了大量资源,符合软件无线电的SoC思想。
Description
技术领域
本发明涉及通信软件无线电领域,具体涉及一种基于Soc的数据封装方法。
背景技术
随着世界高科技领域的不断发展以及国际环境的剧烈变化,芯片产业在我国得到了越发广泛的关注,芯片领域自主创新的重要性越发凸显。对于一个完整的芯片产业链,按照先后顺序可以分为芯片设计、芯片制造、芯片封装三个环节。其中,芯片封装是芯片实现预设功能的必要条件,构成芯片产业的关键一环。所谓芯片封装,具体是指将芯片固定在框架或基板上完成布置、固定,引出接线端子,并采用特殊材料灌封固定芯片,以对芯片形成支撑、保护,随后将灌封固定的芯片组装在PCB(Printed Circuit Board,印刷电路板)上,进而实现满足一定功能的系统或结构的安装。
目前,SoC(System on Chip,系统级芯片)逐步成为芯片产业的主流趋势。在本质上,SoC属于一种片上系统,将整个系统集成到一块芯片之上,由处理器、内存、接口等模块组成。相比于常规芯片,SoC可以执行更为复杂的任务、实现更为复杂的功能,因而其具备更加优越的性能。这种情况下,相比于常规芯片,SoC具有更大的时钟频率,进而导致更大的功耗及散热。因此,SoC的封装互连结构需要在更高的温度服役。
软件无线电平台的优势是软硬件协同处理。图1以数字中频接收机为例,信号通过天线接收,再经过模拟端的下变频将信号变频至合适的中频,通过ADC将模拟中频信号输出为高速的数字中频信号,然后经过数字下变频器的变频、抽取和低通滤波之后变为低速的基带信号,其次再将基带信号送至DSP进行后续的解调、抗干扰、自适应、抗衰落等处理。最后处理完后的数据需要进行封装后再将数据包上传至PS,让PS端再对数据包进行相应的处理。其中,数据传输也是数字接收机不可或缺的一部分。
在SoC发展过程中,不断增长的数据量使得设计人员对嵌入式系统的数据传输效率的要求越来越高,本文的核心在于设计实现对数据进行封装,然后再对数据包进行可靠的传输,致力于提升系统数据传输的效率。
发明内容
本发明针对背景技术存在的缺陷,提出一种Soc的数据封装的技术,通过对数据进行封装后,能够在不同速率下完成数据的传输,数据的掉包率也比较低,从而有效地提高了SOC中数据封装后传输效率,为了解决上述技术问题,本发明提供了一种基于Soc的数据封装方法。
本发明采用的技术方案如下:
一种基于Soc的数据封装方法,所述方法包括如下步骤:
S1:在PS模块和PL模块之间构建数据传输协议,并将协议进行规整;
S2:通过arm模块下发预设参数;
S3:按照步骤S1中构建的数据传输协议,将通信协议按照规定的格式内容,通过地址将下发的预设参数进行解析;
S4:将前级模块输入到数据封装模块的数据通过FIFO进行缓存;
S5:对FIFO内数据长度进行判定,若不满足通信协议中规定的数据包长度,对数据包长度进行调整直至满足通信协议中的规定长度,若满足通信协议中规定的数据包长度,则在封装时进行加装标识;
S6:对步骤S5中输出进行判定,通过标识判定数据包长度是否满足要求后,通过FIFO内的数据进行封装,封装后对数据包进行传输;
S7:对满足传输的封装后数据通过xillybus通道的传输接口打开,并同时利用FIFO对数据包进行缓存;
S8:通过xillybus通道将数据包进行上传至PS模块内。
SOC芯片包括PS和PL端,将CPU功能和逻辑功能集合到一个芯片上,该种芯片功能强大,非常适合嵌入式领域的开发。数字信号处理芯片的多通道缓冲串行口,是在标准串行接口的基础之上对功能进行扩展,它可以和其他DSP器件、编码器等其他串口器件通信。但是现有技术中尚缺少MCBSP和USB的转换设备,这限制了基于多DSP数据采集系统存储的实现方式和便携性。
自集成电路器件的封装从单个组件的开发,进入到多个组件的集成后,随着产品效能的提升以及对轻薄和低耗需求的带动下,迈向封装整合的新阶段。在此发展方向的引导下,形成了电子产业上相关的两大新主流:系统单芯片SOC与系统化封装SIP。
SOC与SIP是极为相似,两者均将一个包含逻辑组件、内存组件,甚至包含被动组件的系统,整合在一个单位中。SOC是从设计的角度出发,是将系统所需的组件高度集成到一块芯片上。
SIP是从封装的立场出发,对不同芯片进行并排或叠加的封装方式,将多个具有不同功能的有源电子元件与可选无源器件,以及诸如MEMS或者光学器件等其他器件优先组装到一起,实现一定功能的单个标准封装件。
进一步地,所述步骤S1中构建的数据传输协议为FPGA内部的通信协议,包括规定封装的数据包的长度,数据包的包头格式。
进一步地,所述步骤S2中arm通过xillybus数据下行通道,将所需参数进行下发。
进一步地,所述步骤S3中通过ARM将下发的参数进行解析,采用协议地址进行解析,并将这些解析出来的参数用于当作数据包封装的包头。
进一步地,所述步骤S4中当数据输入数据封装模块时,利用异步FIFO对输入的数据进行缓存,等待对数据封装。
进一步地,所述步骤S5中利用FIFO的计数器判断进入FIFO的数据的个数,若超过了通信协议的规定的数据包长,则产生一个请求数据封装的标识,通过判断此标识来进行数据封装。
本发明的有益效果如下:
1.本发明一种基于Soc的数据封装方法,通过ARM与FPGA的xillybus接口进行数据交互,保证了数据包传输能够正常传输。本发明的算法在硬件中实现更加简单,不仅提升了系统的工作效率,还节约了大量资源,符合软件无线电的SoC思想。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,本说明书附图中的各个部件的比例关系不代表实际选材设计时的比例关系,其仅仅为结构或者位置的示意图,其中:
图1是本发明数字中频接收机图;
图2是本发明数据封装功能结构图;
图3是本发明xillybus接口图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
下面结合图1至图3,对本发明作详细说明。
实施例1
一种基于Soc的数据封装方法,所述方法包括如下步骤:
S1:在PS模块和PL模块之间构建数据传输协议,并将协议进行规整;S2:通过arm模块下发预设参数;S3:按照步骤S1中构建的数据传输协议,将通信协议按照规定的格式内容,通过地址将下发的预设参数进行解析;S4:将前级模块输入到数据封装模块的数据通过FIFO进行缓存;S5:对FIFO内数据长度进行判定,若不满足通信协议中规定的数据包长度,对数据包长度进行调整直至满足通信协议中的规定长度,若满足通信协议中规定的数据包长度,则在封装时进行加装标识;S6:对步骤S5中输出进行判定,通过标识判定数据包长度是否满足要求后,通过FIFO内的数据进行封装,封装后对数据包进行传输;S7:对满足传输的封装后数据通过xillybus通道的传输接口打开,并同时利用FIFO对数据包进行缓存;S8:通过xillybus通道将数据包进行上传至PS模块内。
本发明的工作原理/工作过程为:
步骤1:本方案的应用场景为PS与PL之间数据传输,所以需要规定FPGA内部的通信协议,其中需要规定好的封装的数据包的长度,数据包的包头格式。
步骤2:arm通过xillybus数据下行通道,将所需参数进行下发。
步骤3:按照PL与PS的通信协议,将ARM下发的参数进行解析,解析的方式主要为按照协议地址解析出内容即可。然后将这些解析出来的参数用于当作数据包封装的包头。
步骤4:当数据输入数据封装模块时,利用异步FIFO对输入的数据进行缓存,等待对数据封装。
步骤5:利用FIFO的计数器判断进入FIFO的数据的个数,如果超过了通信协议的规定的数据包长,则产生一个请求数据封装的标志,通过判断此标志来进行数据封装。
步骤6:在步骤5的基础上,若其请求数据封装的标志为1,则开始对FIFO内的数据进行封装,按照PL与PS通信协议对数据包格式规定进行封装,数据包格式为前N个数据内容为包格式,包头后紧跟着数据,数据长度为协议规定的固定长度。
步骤7:在步骤6的基础上,如果对数据封装完成后,则将数据进行传输至下一级。如果xillybus的传输通道的接口打开,则使用FIFO对数据进行缓存。
步骤8:在步骤7的基础上,当xillybus给fifo的读有效信号拉高后,xillybus接口如图3所示,等到下个时钟时开始上传FIFO内的数据包至PS端。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于Soc的数据封装方法,其特征在于,所述方法包括如下步骤:
S1:在PS模块和PL模块之间构建数据传输协议,并将协议进行规整;
S2:通过arm模块下发预设参数;
S3:按照步骤S1中构建的数据传输协议,将通信协议按照规定的格式内容,通过地址将下发的预设参数进行解析;
S4:将前级模块输入到数据封装模块的数据通过FIFO进行缓存;
S5:对FIFO内数据长度进行判定,若不满足通信协议中规定的数据包长度,对数据包长度进行调整直至满足通信协议中的规定长度,若满足通信协议中规定的数据包长度,则在封装时进行加装标识;
S6:对步骤S5中输出进行判定,通过标识判定数据包长度是否满足要求后,通过FIFO内的数据进行封装,封装后对数据包进行传输;
S7:对满足传输的封装后数据通过xillybus通道的传输接口打开,并同时利用FIFO对数据包进行缓存;
S8:通过xillybus通道将数据包进行上传至PS模块内。
2.根据权利要求1所述的一种基于Soc的数据封装方法,其特征在于,所述步骤S1中构建的数据传输协议为FPGA内部的通信协议,包括规定封装的数据包的长度,数据包的包头格式。
3.根据权利要求1所述的一种基于Soc的数据封装方法,其特征在于,所述步骤S2中arm通过xillybus数据下行通道,将所需参数进行下发。
4.根据权利要求1所述的一种基于Soc的数据封装方法,其特征在于,所述步骤S3中通过ARM将下发的参数进行解析,采用协议地址进行解析,并将这些解析出来的参数用于当作数据包封装的包头。
5.根据权利要求1所述的一种基于Soc的数据封装方法,其特征在于,所述步骤S4中当数据输入数据封装模块时,利用异步FIFO对输入的数据进行缓存,等待对数据封装。
6.根据权利要求1所述的一种基于Soc的数据封装方法,其特征在于,所述步骤S5中利用FIFO的计数器判断进入FIFO的数据的个数,若超过了通信协议的规定的数据包长,则产生一个请求数据封装的标识,通过判断此标识来进行数据封装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440559.0A CN114741355A (zh) | 2022-04-25 | 2022-04-25 | 一种基于Soc的数据封装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210440559.0A CN114741355A (zh) | 2022-04-25 | 2022-04-25 | 一种基于Soc的数据封装方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741355A true CN114741355A (zh) | 2022-07-12 |
Family
ID=82284121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210440559.0A Pending CN114741355A (zh) | 2022-04-25 | 2022-04-25 | 一种基于Soc的数据封装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741355A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512084A (zh) * | 2015-11-27 | 2016-04-20 | 中国电子科技集团公司第二十八研究所 | 一种Zynq平台数据交互装置 |
CN109189716A (zh) * | 2018-08-08 | 2019-01-11 | 西安思丹德信息技术有限公司 | 一种基于fpga的数据传输系统及传输方法 |
CN109373996A (zh) * | 2018-09-20 | 2019-02-22 | 北京遥感设备研究所 | 基于zynq处理器的实时飞控导航系统及方法 |
US20190129870A1 (en) * | 2018-12-26 | 2019-05-02 | Intel Corporation | Addressable distributed memory in a programmable logic device |
CN110069429A (zh) * | 2019-03-06 | 2019-07-30 | 湖北三江航天红峰控制有限公司 | 基于zynq的实时高性能srio控制器及控制方法 |
US20190303033A1 (en) * | 2018-04-03 | 2019-10-03 | Xilinx, Inc. | Data processing engine arrangement in a device |
CN111339003A (zh) * | 2020-01-08 | 2020-06-26 | 中国船舶重工集团公司第七二四研究所 | 一种基于fpga的通用多通道数据发送系统及方法 |
CN112835829A (zh) * | 2021-02-10 | 2021-05-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道dma传输测控信号的方法 |
US11029964B1 (en) * | 2019-02-21 | 2021-06-08 | Xlnx, Inc. | Booting a system-on-chip |
CN112995465A (zh) * | 2021-02-05 | 2021-06-18 | 中电海康集团有限公司 | 一种基于zynq的图像传输系统及方法 |
CN113656334A (zh) * | 2020-05-12 | 2021-11-16 | 大唐移动通信设备有限公司 | 一种数据传输处理方法和装置 |
CN113867836A (zh) * | 2021-09-24 | 2021-12-31 | 哈尔滨工程大学 | 用于fpga的装置、程序动态加载方法及数据传输方法 |
CN113886287A (zh) * | 2021-10-21 | 2022-01-04 | 武汉海晟科讯科技有限公司 | 一种基于SoC的自适应实时缓存系统及方法 |
-
2022
- 2022-04-25 CN CN202210440559.0A patent/CN114741355A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512084A (zh) * | 2015-11-27 | 2016-04-20 | 中国电子科技集团公司第二十八研究所 | 一种Zynq平台数据交互装置 |
US20190303033A1 (en) * | 2018-04-03 | 2019-10-03 | Xilinx, Inc. | Data processing engine arrangement in a device |
CN109189716A (zh) * | 2018-08-08 | 2019-01-11 | 西安思丹德信息技术有限公司 | 一种基于fpga的数据传输系统及传输方法 |
CN109373996A (zh) * | 2018-09-20 | 2019-02-22 | 北京遥感设备研究所 | 基于zynq处理器的实时飞控导航系统及方法 |
US20190129870A1 (en) * | 2018-12-26 | 2019-05-02 | Intel Corporation | Addressable distributed memory in a programmable logic device |
US11029964B1 (en) * | 2019-02-21 | 2021-06-08 | Xlnx, Inc. | Booting a system-on-chip |
CN110069429A (zh) * | 2019-03-06 | 2019-07-30 | 湖北三江航天红峰控制有限公司 | 基于zynq的实时高性能srio控制器及控制方法 |
CN111339003A (zh) * | 2020-01-08 | 2020-06-26 | 中国船舶重工集团公司第七二四研究所 | 一种基于fpga的通用多通道数据发送系统及方法 |
CN113656334A (zh) * | 2020-05-12 | 2021-11-16 | 大唐移动通信设备有限公司 | 一种数据传输处理方法和装置 |
CN112995465A (zh) * | 2021-02-05 | 2021-06-18 | 中电海康集团有限公司 | 一种基于zynq的图像传输系统及方法 |
CN112835829A (zh) * | 2021-02-10 | 2021-05-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道dma传输测控信号的方法 |
CN113867836A (zh) * | 2021-09-24 | 2021-12-31 | 哈尔滨工程大学 | 用于fpga的装置、程序动态加载方法及数据传输方法 |
CN113886287A (zh) * | 2021-10-21 | 2022-01-04 | 武汉海晟科讯科技有限公司 | 一种基于SoC的自适应实时缓存系统及方法 |
Non-Patent Citations (3)
Title |
---|
刘嘉珺: "ZYNQ_SoC验证平台的设计与实现" * |
刘应盼: "基于ZYNQ的图像采集处理系统设计与实现" * |
陈龙;曹力;: "一种Zynq SoC片内硬件加速的二维傅里叶变换" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194679B (zh) | 一种基于SpaceFibre接口的多协议接口数据采集装置和采集方法 | |
US7565467B2 (en) | USB hub, USB-compliant apparatus, and communication system | |
CN210804041U (zh) | 多总线协议转换及数据采集系统 | |
CN106162528B (zh) | LoRa信号与蓝牙信号转换模块、转换方法及信号发送装置 | |
CN109904141A (zh) | 具有电光互连电路的集成电路封装 | |
WO2011103922A1 (en) | Scalable digrf architecture | |
EP3857386B1 (en) | Data stored or free space based fifo buffer | |
TWI566623B (zh) | 傳輸裝置、傳輸方法及電腦程式產品 | |
CN110471872A (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
JP2011044224A (ja) | 積層型デバイス構成のための近傍界結合を使用した高速ワイヤレス直列通信リンク | |
CN101719873A (zh) | 千兆虚拟网卡 | |
CN104993982A (zh) | 一种fpga芯片内置phy收发器功能的以太网实现系统 | |
CN111556051A (zh) | 基于fpga的高速空间网络数据协议转换与复接装置 | |
CN107786988A (zh) | 一种多信道LoRa网关及其信号处理方法 | |
CN102104427B (zh) | 基于fpga的核磁共振数据通信实现装置和方法 | |
US20150030035A1 (en) | Ethernet media converter supporting high-speed wireless access points | |
CN114741355A (zh) | 一种基于Soc的数据封装方法 | |
CN109547066B (zh) | 一种基于fpga的专线通信分路控制实现方法及控制系统 | |
CN117479332A (zh) | 多设备多协议接入电力业务流的优先级调度系统及方法 | |
CN106933721B (zh) | 一种就地化保护装置串口远程监视方法 | |
CN114079675B (zh) | 报文处理方法、装置、终端设备及移动宽带上网设备 | |
CN108984324A (zh) | Fpga硬件抽象层 | |
CN112187597B (zh) | 一种基于FlexRay总线的车载地面端数据链 | |
Esparza et al. | Transitioning applications from CAN 2.0 to CAN FD | |
CN113923077A (zh) | Modbus-tsn网关芯片 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231229 |
|
AD01 | Patent right deemed abandoned |