CN115833920B - 一种解调数据的传输方法和装置 - Google Patents
一种解调数据的传输方法和装置 Download PDFInfo
- Publication number
- CN115833920B CN115833920B CN202310109526.2A CN202310109526A CN115833920B CN 115833920 B CN115833920 B CN 115833920B CN 202310109526 A CN202310109526 A CN 202310109526A CN 115833920 B CN115833920 B CN 115833920B
- Authority
- CN
- China
- Prior art keywords
- data
- dma
- preset
- fifo
- channel
- 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
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种解调数据的传输方法和装置,该方法应用于控制芯片,包括:根据从上位机发送的启动指令启动DMA通道;若当前解调数据达到第一预设数据量,根据当前解调数据和当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入第一FIFO;若各第一FIFO中存在目标FIFO,将各目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入DDR缓存;若DDR缓存中的数据量达到预设DMA大小,将DDR缓存中的数据经DMA通道写入上位机中的预设物理地址,并在预设物理地址中的数据量达到预设DMA大小时,向上位机发送中断信号,以使上位机读取预设物理地址中的数据并按各通道标识获取各解调数据,从而在降低传输复杂度的同时,提高了传输卫星解调数据的带宽利用率。
Description
技术领域
本申请涉及数传通信技术领域,更具体地,涉及一种解调数据的传输方法和装置。
背景技术
在卫星数传数据的接收过程中,高速数传基带能够通过星地射频链路接收卫星下行数传信号,进行解调、帧同步、解扰和信道译码等处理,并将处理后的数传数据经网络分发至后端的接收设备。目前国内主流高速数传基带支持的码速率在1Mbps到2Gbps之间。未来高速数传基带产品的发展趋势主要向更多数据通道、更高码速率和更高效的频谱利用率等方向发展,以适应未来不同的卫星数传载荷。
在现有的多通道解调数据处理方案中,数据由底层板卡(即控制芯片)经过PCIeDMA(Direct Memory Access,直接内存访问)传输至上位机。一般地,多通道数据传输方法可分为两类:
一是不同通道的数据传输采用等数量的DMA通道来完成,不同DMA通道的传输大小是根据相应数据通道的码速率分别进行设置的,此种方法能够保证DMA数据处理时的正确性和带宽利用的高效性,但缺点是随着通道数增加,DMA通道的数量也随之增加,这便造成了硬件资源占用多、底层板卡实现时消耗资源大、复杂度高的情况;
二是不同通道的数据传输由一个DMA通道来完成,每次只传输一个数据通道的数据内容,该方法能够节约硬件资源和减少底层板卡的复杂程度,但为了保证传输的正确性且兼顾较宽的码速率范围(1Mbps~2Gbps),需要按照最高码速率设定DMA通道的传输大小,当仅有一个数据通道的低速数据进行传输且按照最高码速率设定DMA通道的传输大小时,造成较低的DMA传输效率,无法适用更宽的码速率范围。
因此,如何在降低传输复杂度的同时,提高传输卫星解调数据的带宽利用率,是目前有待解决的技术问题。
发明内容
本申请实施例提供一种解调数据的传输方法和装置,用以在降低传输复杂度的同时,提高传输卫星解调数据的带宽利用率。
第一方面,提供一种解调数据的传输方法,应用于包括控制芯片和上位机的系统中,所述控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各所述数据通道分别带有一个通道标识且分别对应一个第一FIFO,所述控制芯片和所述上位机之间设置有一条基于PCIe的DMA通道,所述方法包括:所述控制芯片根据从所述上位机发送的启动指令启动所述DMA通道;若当前数据通道中的当前解调数据达到第一预设数据量,所述控制芯片根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;若各所述第一FIFO中存在目标FIFO,所述控制芯片将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存,其中,所述目标FIFO中的数据量达到第二预设数据量;若所述DDR缓存中的数据量达到预设DMA大小,所述控制芯片将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
第二方面,提供一种解调数据的传输装置,所述装置包括控制芯片和上位机,所述控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各所述数据通道分别带有一个通道标识且分别对应一个第一FIFO,所述控制芯片和所述上位机之间设置有一条基于PCIe的DMA通道,所述控制芯片包括:启动模块,用于根据从所述上位机发送的启动指令启动所述DMA通道;组帧模块,用于若当前数据通道中的当前解调数据达到第一预设数据量,根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;复接模块,用于若各所述第一FIFO中存在目标FIFO,将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存,其中,所述目标FIFO中的数据量达到第二预设数据量;写入模块,用于若所述DDR缓存中的数据量达到预设DMA大小,将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
通过应用以上技术方案,控制芯片根据从上位机发送的启动指令启动DMA通道;若当前数据通道中的当前解调数据达到第一预设数据量,控制芯片根据当前解调数据和当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;若各第一FIFO中存在目标FIFO,控制芯片将各目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入DDR缓存;若DDR缓存中的数据量达到预设DMA大小,控制芯片将DDR缓存中的数据经DMA通道写入上位机中的预设物理地址,并在预设物理地址中的数据量达到预设DMA大小时,向上位机发送中断信号,以使上位机读取预设物理地址中的数据并按各通道标识获取各解调数据,从而在降低传输复杂度的同时,提高了传输卫星解调数据的带宽利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种解调数据的传输方法的流程示意图;
图2示出了本发明实施例中帧数据的帧结构示意图;
图3示出了本发明另一实施例提出的一种解调数据的传输方法的原理示意图;
图4示出了本发明另一实施例提出的一种解调数据的传输方法的流程示意图;
图5示出了本发明实施例中控制芯片的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种解调数据的传输方法,通过对不同数据通道的数据分别标记上通道标识、组帧、缓冲、复接和缓存,然后通过一条基于PCIe的DMA通道将缓存后的数据传输至上位机,最后上位机根据通道标识恢复解调数据并进行后续处理,从而在降低传输复杂度的同时,提高了传输卫星解调数据的带宽利用率。
具体的,该方法应用于包括控制芯片和上位机的系统中,控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各数据通道分别带有一个通道标识且分别对应一个第一FIFO,控制芯片和上位机之间设置有一条基于PCIe的DMA通道,如图1所示,该方法包括以下步骤:
步骤S101,所述控制芯片根据从所述上位机发送的启动指令启动所述DMA通道。
本实施例中,控制芯片和上位机共用物理内存。控制芯片可以为包括FPGA(FieldProgrammable GateArray,现场可编程逻辑门阵列)、ASIC(ApplicationSpecificIntegrated Circuit,专用集成电路)等芯片中的任一种,控制芯片被设置为PCIe的EP(End Point)端,用于将各数据通道的解调数据写入上位机的内存,上位机被设置为PCIe的RC(RootComplex)端。解调数据可以是对从卫星接收的数传数据(如数字图像、数字话音、有效载荷的试验数据等测量数据)进行解调后得到的。DDR缓存可以为包括DDR1、DDR2、DDR3、DDR4、DDR5等缓存中的任一种。
上位机在确定满足预设传输条件时,向控制芯片发送启动指令,控制芯片根据启动指令启动DMA通道,使DMA通道进入工作状态。
步骤S102,若当前数据通道中的当前解调数据达到第一预设数据量,所述控制芯片根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO。
本实施例中,解调数据经各数据通道输入控制芯片,在当前数据通道中的当前解调数据达到第一预设数据量时,控制芯片根据当前解调数据和对应的通道标识进行组帧,得到带有通道标识的帧数据,然后将帧数据输入与当前数据通道对应的第一FIFO(FirstInput First Output,先进先出队列)进行数据缓冲。可以理解的是,若当前解调数据未达到第一预设数据量,则不进行组帧。
在本申请一些实施例中,所述控制芯片根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,具体为:
根据所述通道标识确定帧头,并根据所述当前解调数据确定有效数据段;
将所述帧头和所述有效数据段进行组合,得到所述帧数据。
本实施例中,帧数据包括帧头和有效数据段,控制芯片根据通道标识确定帧头,并根据当前解调数据确定有效数据段,然后将帧头和有效数据段进行组合后得到帧数据,从而保证高效的得到帧数据。如图2所示为帧数据的帧结构示意图,通道标识作为帧头,解调数据作为有效数据段,两者组合后得到各帧数据。
可选的,所述帧头的字节数为4,所述有效数据段的字节数为4096,本领域技术人员可根据实际需要灵活设置不同字节数的帧头和有效数据段。
步骤S103,若各所述第一FIFO中存在目标FIFO,所述控制芯片将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存,其中,所述目标FIFO中的数据量达到第二预设数据量。
本实施例中,若第一FIFO中的数据量达到第二预设数据量,则该第一FIFO为目标FIFO,控制芯片将各目标FIFO中的数据输出并进行复接,得到复接数据,然后将复接数据输入DDR缓存进行缓存。
可选的,在第一FIFO为目标FIFO时触发读使能信号,控制芯片根据读使能信号读取各目标FIFO中的数据,以将各目标FIFO中的数据输出。
另外,复接技术对于本领域技术人员是显而易见的,复接的具体过程在此不再赘述。
步骤S104,若所述DDR缓存中的数据量达到预设DMA大小,所述控制芯片将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
本实施例中,上位机预先向操作系统申请为预设物理地址的物理内存,用于保存控制芯片经DMA通道写入的数据。若DDR缓存中的数据量达到预设DMA大小,说明DDR缓存中已经缓存了足够多的数据,控制芯片将DDR缓存中的数据经DMA通道写入上位机中的预设物理地址,在预设物理地址中的数据量达到预设DMA大小时,说明已经完成本次DMA传输,控制芯片向上位机发送中断信号,上位机收到中断信号后,读取预设物理地址中的数据,并根据各通道标识确定读取的数据是哪个数据通道的解调数据,从而完成解调数据的传输。
可选的,上位机按各所述通道标识获取各解调数据具体为:上位机按各所述通道标识将各解调数据分别填入各预设缓冲区,从而可分别对不同的解调数据进行后续处理。
可以理解的是,若上位机在预设物理地址中的数据中没有读取到所述通道标识,上位机丢弃从预设物理地址中的读取的数据。
在本申请一些实施例中,在所述DDR缓存的前端设置有一个第二FIFO,所述DDR缓存包括两个大小分别为所述预设DMA大小的缓存区,将复接得到的复接数据输入所述DDR缓存,具体为:
所述控制芯片将所述复接数据输入所述第二FIFO;
若所述第二FIFO的写入深度达到预设写入深度,所述控制芯片读取所述第二FIFO中的数据并写入当前缓存区,所述当前缓存区为两个所述缓存区中的一个;
若所述第二FIFO的读取深度达到预设读取深度,所述控制芯片停止读取所述第二FIFO中的数据;
在所述当前缓存区被写满时,所述控制芯片确定所述DDR缓存中的数据量达到所述预设DMA大小。
本实施例中,在DDR缓存的前端设置有一个第二FIFO,该第二FIFO用于将复接数据由第一位宽转换为第二位宽并及进行数据缓冲,DDR缓存包括两个缓存区,每个缓存区的大小为预设DMA大小。将复接数据输入第二FIFO,并将两个缓存区中的一个作为当前缓存区,然后通过第二FIFO的写入深度和读取深度将数据写入DDR缓存,具体的,若第二FIFO的写入深度达到预设写入深度,说明第二FIFO中缓存的数据足够多,控制芯片读取第二FIFO中的数据并写入当前缓存区;若第二FIFO的读取深度达到预设读取深度,说明第二FIFO中缓存的数据已经较少,需要停止读取第二FIFO中的数据,以使第二FIFO中缓存的数据继续累积,由此,经过多次对FIFO的读写和对DDR缓存的写数据,当前缓存区被写满。由于当前缓存区大小为预设DMA大小,当前缓存区被写满时,控制芯片确定DDR缓存中的数据量达到预设DMA大小,之后可执行步骤S104,从而实现高效的将复接数据输入DDR缓存。
可选的,第一位宽为16bit,第二位宽为256bit。
在本申请一些实施例中,在所述当前缓存区被写满之后,所述方法还包括:
所述控制芯片将除所述当前缓存区之外的另一个缓存区作为新的当前缓存区,并继续根据所述写入深度和所述读取深度将所述第二FIFO中的数据写入所述新的当前缓存区。
本实施例中,在当前缓存区被写满之后,一方面控制芯片将当前缓存区中的数据经DMA通道写入预设物理地址,另一方面控制芯片将另一个缓存区作为新的当前缓存区,并继续根据写入深度和读取深度将第二FIFO中的数据写入新的当前缓存区,从而避免了第二FIFO中的数据丢失,提高了数据传输的可靠性。
在本申请一些实施例中,所述控制芯片根据从所述上位机发送的启动指令启动所述DMA通道,具体为:
所述控制芯片根据所述启动指令确定DMA控制参数,并按所述DMA控制参数启动所述DMA通道;
其中,所述DMA控制参数包括DMA启动命令、所述预设DMA大小和所述预设物理地址的起始地址。
本实施例中,上位机向控制芯片发送的启动指令中包括DMA控制参数,控制芯片根据DMA控制参数启动DMA通道,DMA控制参数包括DMA启动命令、预设DMA大小和预设物理地址的起始地址。控制芯片根据DMA启动命令使DMA通道进入工作状态,控制芯片按照预设DMA大小进行各次的DMA数据的传输,控制芯片根据预设物理地址的起始地址将DDR缓存中的数据写入预设物理地址,从而更加准确的进行解调数据的传输。
本领域技术人员可根据实际需要对DMA控制参数的种类进行增减,这并不影响本申请的保护范围。
在本申请一些实施例中,所述预设DMA大小是根据各通道数据量之和确定的,所述通道数据量由所述数据通道的码速率与单次处理时长的乘积确定,所述单次处理时长为所述上位机处理一次DMA数据的所需时长。
本实施例中,上位机处理一次DMA数据的所需时长为单次处理时长,数据通道的码速率与单次处理时长的乘积为通道数据量,根据各通道数据量之和确定预设DMA大小,从而可更加准确的确定预设DMA大小,提高了解调数据传输的可靠性。举例来说,若包括N个数据通道,各通道标识分别为1、2…N,各数据通道的码速率分别为rate1、rate2…rateN,单次处理时长为t0,则预设DMA大小DMASize=(rate1+rate2+…+ rateN)*t0。
通过应用以上技术方案,在包括控制芯片和上位机的系统中,控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各数据通道分别带有一个通道标识且分别对应一个第一FIFO,控制芯片和上位机之间设置有一条基于PCIe的DMA通道,控制芯片根据从上位机发送的启动指令启动DMA通道;若当前数据通道中的当前解调数据达到第一预设数据量,控制芯片根据当前解调数据和当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;若各第一FIFO中存在目标FIFO,控制芯片将各目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入DDR缓存,其中,目标FIFO中的数据量达到第二预设数据量;若DDR缓存中的数据量达到预设DMA大小,控制芯片将DDR缓存中的数据经DMA通道写入上位机中的预设物理地址,并在预设物理地址中的数据量达到预设DMA大小时,向上位机发送中断信号,以使上位机读取预设物理地址中的数据并按各通道标识获取各解调数据,从而在降低传输复杂度的同时,提高了传输卫星解调数据的带宽利用率。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
本申请实施例提供一种解调数据的传输方法,如图3所示,应用于包括控制芯片FPGA和上位机的系统中,FPGA中设置有多个用于接收解调数据的数据通道(1、2…N)和一个DDR3缓存,在DDR3缓存的前端设置有一个第二FIFO,各数据通道分别带有一个通道标识且分别对应一个第一FIFO,FPGA和上位机之间设置有一条基于PCIe的DMA通道,FPGA作为PCIe的EP端设置有EP模块PCIe_EP,上位机作为PCIe的RC端设置有RC模块PCIe_RC,FPGA和上位机共享上位机的物理内存,上位机通过驱动层读取FPGA写入物理内存中的DMA数据。
如图4所示,该方法包括以下步骤:
步骤S201,上位机申请物理内存,并确定预设物理内存地址和预设DMA大小。
本实施例中,上位机向操作系统申请物理内存,确定预设物理内存地址。预设DMA大小DMASize=(rate1+ rate2+…+ rateN)*t0,其中,rate1、rate2…rateN分别为各数据通道的码速率,t0为上位机处理一次DMA数据的所需时长。
步骤S202,上位机向FPGA发送DMA启动指令,启动DMA通道。
本实施例中,FPGA根据DMA启动指令确定DMA启动命令、预设DMA大小和预设物理地址的起始地址,并基于DMA启动命令、预设DMA大小和预设物理地址的起始地址启动DMA通道。
步骤S203,FPGA根据通道标识和解调数据进行组帧,将组帧后的帧数据输入各第一FIFO。
本实施例中,在当前数据通道中的当前解调数据达到第一预设数据量时,FPGA根据通道标识和解调数据进行组帧,得到帧数据,帧数据中的帧头为通道标识,长度为4字节;帧数据中的有效数据段为解调数据,长度为4096字节。
步骤S204,是否存在目标FIFO,若是执行步骤S205,否则执行步骤S203。
本实施例中,若第一FIFO中的数据量达到第二预设数据量,则该第一FIFO为目标FIFO。
步骤S205,FPGA将各目标FIFO中的数据进行复接,并将复接数据写入第二FIFO。
步骤S206,第二FIFO的写入深度是否达到预设写入深度,若是执行步骤S207,否则执行步骤S205。
步骤S207,FPGA读取第二FIFO中的数据并写入DDR3的当前缓存区。
本实施例中,DDR3中包括两个大小分别为预设DMA大小的缓存区,当前缓存区为两个缓存区中的一个。
步骤S208,第二FIFO的读取深度是否达到预设读取深度,若是执行步骤S209,否则执行步骤S207。
步骤S209,FPGA停止读取第二FIFO中的数据。
步骤S210,当前缓存区是否已满,若是执行步骤S211和步骤S212,否则执行步骤S206。
步骤S211,FPGA将另一个缓存区作为当前缓存区,并执行步骤S206。
步骤S212,FPGA将当前缓存区中的数据经DMA通道写入预设物理地址,完成写入后向上位机发送中断信号。
步骤S213,上位机收到中断信号,并读取预设物理地址下的数据。
步骤S214,上位机按各通道标识将各解调数据填入各预设缓冲区。
通过应用以上技术方案,与现有技术相比,具有以下技术效果:
具有良好的可扩展性。本领域技术人员可根据实际需要对数据通道的数量进行扩展,仅需保证所有数据通道的码速率小于PCIe传输带宽即可,从而实现可对更多数量的数据通道进行解调数据的传输。
提高了传输带宽利用率。本申请实施例通过将多通道数据组帧,将组帧后帧数据进行DMA传输,DMA传输的数据均为有效数据,按照DMA大小4KB,组帧帧头4字节来计算,带宽利用率为η= 4096/(4096+4) = 99.9%。因此,具有极高的传输带宽利用率。
降低了传输复杂度。本申请实施例仅采用一条基于PCIe的DMA通道,且组帧时增加的资源非常少,降低了传输复杂度。
本申请实施例还提出了一种解调数据的传输装置,所述装置包括控制芯片和上位机,所述控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各所述数据通道分别带有一个通道标识且分别对应一个第一FIFO,所述控制芯片和所述上位机之间设置有一条基于PCIe的DMA通道,如图5所示,所述控制芯片包括:
启动模块501,用于根据从所述上位机发送的启动指令启动所述DMA通道;
组帧模块502,用于若当前数据通道中的当前解调数据达到第一预设数据量,根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;
复接模块503,用于若各所述第一FIFO中存在目标FIFO,将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存,其中,所述目标FIFO中的数据量达到第二预设数据量;
写入模块504,用于若所述DDR缓存中的数据量达到预设DMA大小,将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
在具体的应用场景中,在所述DDR缓存的前端设置有一个第二FIFO,所述DDR缓存包括两个大小分别为所述预设DMA大小的缓存区,复接模块503,具体用于:
将所述复接数据输入所述第二FIFO;
若所述第二FIFO的写入深度达到预设写入深度,读取所述第二FIFO中的数据并写入当前缓存区,所述当前缓存区为两个所述缓存区中的一个;
若所述第二FIFO的读取深度达到预设读取深度,停止读取所述第二FIFO中的数据;
在所述当前缓存区被写满时,所述控制芯片确定所述DDR缓存中的数据量达到所述预设DMA大小。
在具体的应用场景中,复接模块503,还具体用于:
在所述当前缓存区被写满之后,将除所述当前缓存区之外的另一个缓存区作为新的当前缓存区,并继续根据所述写入深度和所述读取深度将所述第二FIFO中的数据写入所述新的当前缓存区。
在具体的应用场景中,启动模块501,具体用于:
根据所述启动指令确定DMA控制参数,并按所述DMA控制参数启动所述DMA通道;
其中,所述DMA控制参数包括DMA启动命令、所述预设DMA大小和所述预设物理地址的起始地址。
在具体的应用场景中,所述预设DMA大小是根据各通道数据量之和确定的,所述通道数据量由所述数据通道的码速率与单次处理时长的乘积确定,所述单次处理时长为所述上位机处理一次DMA数据的所需时长。
在具体的应用场景中,组帧模块502,具体用于:
根据所述通道标识确定帧头,并根据所述当前解调数据确定有效数据段;
将所述帧头和所述有效数据段进行组合,得到所述帧数据。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种解调数据的传输方法,其特征在于,应用于包括控制芯片和上位机的系统中,所述控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各所述数据通道分别带有一个通道标识且分别对应一个第一FIFO,所述控制芯片和所述上位机之间设置有一条基于PCIe的DMA通道,所述方法包括:
所述控制芯片根据从所述上位机发送的启动指令启动所述DMA通道;
若当前数据通道中的当前解调数据达到第一预设数据量,所述控制芯片根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;
若所述第一FIFO中的数据量达到第二预设数据量,则所述第一FIFO为目标FIFO,所述控制芯片将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存;
若所述DDR缓存中的数据量达到预设DMA大小,所述控制芯片将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
2.如权利要求1所述方法,其特征在于,在所述DDR缓存的前端设置有一个第二FIFO,所述DDR缓存包括两个大小分别为所述预设DMA大小的缓存区,将复接得到的复接数据输入所述DDR缓存,具体为:
所述控制芯片将所述复接数据输入所述第二FIFO;
若所述第二FIFO的写入深度达到预设写入深度,所述控制芯片读取所述第二FIFO中的数据并写入当前缓存区,所述当前缓存区为两个所述缓存区中的一个;
若所述第二FIFO的读取深度达到预设读取深度,所述控制芯片停止读取所述第二FIFO中的数据;
在所述当前缓存区被写满时,所述控制芯片确定所述DDR缓存中的数据量达到所述预设DMA大小。
3.如权利要求2所述方法,其特征在于,在所述当前缓存区被写满之后,所述方法还包括:
所述控制芯片将除所述当前缓存区之外的另一个缓存区作为新的当前缓存区,并继续根据所述写入深度和所述读取深度将所述第二FIFO中的数据写入所述新的当前缓存区。
4.如权利要求1所述的方法,其特征在于,所述控制芯片根据从所述上位机发送的启动指令启动所述DMA通道,具体为:
所述控制芯片根据所述启动指令确定DMA控制参数,并按所述DMA控制参数启动所述DMA通道;
其中,所述DMA控制参数包括DMA启动命令、所述预设DMA大小和所述预设物理地址的起始地址。
5.如权利要求4所述的方法,其特征在于,所述预设DMA大小是根据各通道数据量之和确定的,所述通道数据量由所述数据通道的码速率与单次处理时长的乘积确定,所述单次处理时长为所述上位机处理一次DMA数据的所需时长。
6.如权利要求1所述的方法,其特征在于,所述控制芯片根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,具体为:
根据所述通道标识确定帧头,并根据所述当前解调数据确定有效数据段;
将所述帧头和所述有效数据段进行组合,得到所述帧数据。
7.一种解调数据的传输装置,其特征在于,所述装置包括控制芯片和上位机,所述控制芯片中设置有多个用于接收解调数据的数据通道和至少一个DDR缓存,各所述数据通道分别带有一个通道标识且分别对应一个第一FIFO,所述控制芯片和所述上位机之间设置有一条基于PCIe的DMA通道,所述控制芯片包括:
启动模块,用于根据从所述上位机发送的启动指令启动所述DMA通道;
组帧模块,用于若当前数据通道中的当前解调数据达到第一预设数据量,根据所述当前解调数据和所述当前数据通道的通道标识进行组帧,并将组帧得到的帧数据输入与当前数据通道对应的第一FIFO;
复接模块,用于若所述第一FIFO中的数据量达到第二预设数据量,则所述第一FIFO为目标FIFO,将各所述目标FIFO中的数据输出并进行复接,并将复接得到的复接数据输入所述DDR缓存;
写入模块,用于若所述DDR缓存中的数据量达到预设DMA大小,将所述DDR缓存中的数据经所述DMA通道写入所述上位机中的预设物理地址,并在所述预设物理地址中的数据量达到所述预设DMA大小时,向所述上位机发送中断信号,以使所述上位机读取所述预设物理地址中的数据并按各所述通道标识获取各解调数据。
8.如权利要求7所述的装置,其特征在于,在所述DDR缓存的前端设置有一个第二FIFO,所述DDR缓存包括两个大小分别为所述预设DMA大小的缓存区,所述复接模块,具体用于:
将所述复接数据输入所述第二FIFO;
若所述第二FIFO的写入深度达到预设写入深度,读取所述第二FIFO中的数据并写入当前缓存区,所述当前缓存区为两个所述缓存区中的一个;
若所述第二FIFO的读取深度达到预设读取深度,停止读取所述第二FIFO中的数据;
在所述当前缓存区被写满时,所述控制芯片确定所述DDR缓存中的数据量达到所述预设DMA大小。
9.如权利要求8所述的装置,其特征在于,所述复接模块,还具体用于:
在所述当前缓存区被写满之后,将除所述当前缓存区之外的另一个缓存区作为新的当前缓存区,并继续根据所述写入深度和所述读取深度将所述第二FIFO中的数据写入所述新的当前缓存区。
10.如权利要求7所述的装置,其特征在于,所述启动模块,具体用于:
根据所述启动指令确定DMA控制参数,并按所述DMA控制参数启动所述DMA通道;
其中,所述DMA控制参数包括DMA启动命令、所述预设DMA大小和所述预设物理地址的起始地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310109526.2A CN115833920B (zh) | 2023-02-14 | 2023-02-14 | 一种解调数据的传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310109526.2A CN115833920B (zh) | 2023-02-14 | 2023-02-14 | 一种解调数据的传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115833920A CN115833920A (zh) | 2023-03-21 |
CN115833920B true CN115833920B (zh) | 2023-04-25 |
Family
ID=85521258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310109526.2A Active CN115833920B (zh) | 2023-02-14 | 2023-02-14 | 一种解调数据的传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115833920B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006042261A1 (en) * | 2004-10-11 | 2006-04-20 | Texas Instruments Incorporated | Multi-channel direct memory access with shared first-in-first-out memory |
CN107967225A (zh) * | 2017-11-21 | 2018-04-27 | 深圳市统先科技股份有限公司 | 数据传输方法、装置、计算机可读存储介质和终端设备 |
CN111694777A (zh) * | 2019-03-11 | 2020-09-22 | 苏州微影激光技术有限公司 | 基于PCIe接口的DMA传输方法 |
CN112835829A (zh) * | 2021-02-10 | 2021-05-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道dma传输测控信号的方法 |
CN114416019A (zh) * | 2021-12-30 | 2022-04-29 | 北京无线电计量测试研究所 | 一种数据管理方法及系统 |
WO2022156370A1 (zh) * | 2021-01-20 | 2022-07-28 | 苏州浪潮智能科技有限公司 | 一种基于fpga的dma设备及dma数据搬移方法 |
CN115599719A (zh) * | 2022-10-16 | 2023-01-13 | 西北工业大学(Cn) | 一种基于fpga的fifo接口多通道dma控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1645967B1 (en) * | 2004-10-11 | 2008-02-27 | Texas Instruments Incorporated | Multi-channel DMA with shared FIFO buffer |
-
2023
- 2023-02-14 CN CN202310109526.2A patent/CN115833920B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006042261A1 (en) * | 2004-10-11 | 2006-04-20 | Texas Instruments Incorporated | Multi-channel direct memory access with shared first-in-first-out memory |
CN107967225A (zh) * | 2017-11-21 | 2018-04-27 | 深圳市统先科技股份有限公司 | 数据传输方法、装置、计算机可读存储介质和终端设备 |
CN111694777A (zh) * | 2019-03-11 | 2020-09-22 | 苏州微影激光技术有限公司 | 基于PCIe接口的DMA传输方法 |
WO2022156370A1 (zh) * | 2021-01-20 | 2022-07-28 | 苏州浪潮智能科技有限公司 | 一种基于fpga的dma设备及dma数据搬移方法 |
CN112835829A (zh) * | 2021-02-10 | 2021-05-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道dma传输测控信号的方法 |
CN114416019A (zh) * | 2021-12-30 | 2022-04-29 | 北京无线电计量测试研究所 | 一种数据管理方法及系统 |
CN115599719A (zh) * | 2022-10-16 | 2023-01-13 | 西北工业大学(Cn) | 一种基于fpga的fifo接口多通道dma控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN115833920A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8520563B2 (en) | Interface device, communications system, non-volatile storage device, communication mode switching method and integrated circuit | |
US20060230215A1 (en) | Elastic buffer module for PCI express devices | |
CN110968534B (zh) | 一种基于fpga的多通道分片合并处理方法及系统 | |
CN116431079A (zh) | 数据读取、写入方法及装置、带宽转换装置和电子设备 | |
CN109698824B (zh) | 一种fc-ae-1553协议转换多协议多通道数据记录系统 | |
CN113961494B (zh) | 一种pcie总线与axi总线的桥接系统 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
US20060242334A1 (en) | Information processor and information processing method | |
CN115833920B (zh) | 一种解调数据的传输方法和装置 | |
CN116737624B (zh) | 一种高性能数据存取装置 | |
CN111949585A (zh) | 数据转换处理方法及装置 | |
CN101340595B (zh) | 一种图像数据回读的方法和装置 | |
JP2009124488A (ja) | データ中継処理装置及び方法 | |
EP1971923B1 (en) | Method for managing under-runs and a device having under-run management capabilities | |
CN115550568A (zh) | 一种基于CoaXpress协议的图像传输方法及系统 | |
CN105007151A (zh) | 一种高低速总线通讯方法及装置 | |
EP4040735A1 (en) | Vehicle control device and data transfer control method | |
CN114553776A (zh) | 一种信号乱序控制与速率自适应的传输装置及其传输方法 | |
CN114490459A (zh) | 数据传输方法、装置、设备、接收机和存储介质 | |
CN114564441B (zh) | 片上系统、数据处理方法及计算机设备 | |
JP5892325B2 (ja) | ループバック回路 | |
CN115357534B (zh) | 一种高速多路lvds采集系统及存储介质 | |
CN118338144A (zh) | 一种图像信号处理方法、系统、fpga及客户端 | |
US20100268854A1 (en) | System and method for utilizing peripheral first-in-first-out (fifo) resources | |
CN111538688B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |