多通道DMA传输测控信号的方法技术

技术编号:28558518 阅读:14 留言:0更新日期:2021-05-25 17:52
本发明专利技术公开的一种多通道DMA传输测控信号的方法,旨在提供一种数据传输速率高,容错能力强,实时性处理效率高的DMA传输方法。发明专利技术通过下述技术方案予以实现:外部设备数据通过PL单元缓存处理后,使用AXI‑Bus写入PS外挂DDR。更新PL入队指针并通过中断通知PS单元。PS单元根据PS端出队指针与PL写入的入队指针之间的差值,从DDR中读取对应长度的数据。PS单元通过以太网获取的数据写入DDR后,更新PS入队指针。PL单元检测到PS入队指针发生变化,并根据PL端出队指针与PS写入的入队指针之间的差值,获取PS端本轮转发的数据长度,从DDR中读取对应长度的数据通过数据总线发送至外部设备。

【技术实现步骤摘要】
多通道DMA传输测控信号的方法
本专利技术涉及一种测距、遥测及遥控相关领域,通过多通道直接存储器存取DMA(DirectMemoryAccess)传输测控信号的方法。
技术介绍
DMA方式传输数据是计算机应用系统中用于提高数据传输速率和微处理器使用效率的一项重要技术。DMA是一种快速传送数据的机制,由DMA控制器(DMAcontroller,DMAC)实现。DMA的应用能够有效减轻处理器的负担,可以大大提高数据传输的效率,从而提高系统性能。直接存储器存取DMA是指数据传送时不需要CPU的介入,I/O设备和存储器之间直接进行大量数据信息交换的传输方法。它是由硬件设备代替CPU接管总线并负责数据传输,省去了由CPU负责传输时所必须的寻址指令。DMA传输方法与编程I/O及中断驱动I/O传输方法相比,具有传输速度快、I/O响应时间短、CPU额外开销小的明显优点,可使整个系统的性能大大提高。因此,在PCI、HDLC这样的高速信息交换环境中,便显示出了它不可取代的优势。而在DMA的设计中,由于整个系统的协调工作,都是由DMA控制模块来进行系统控制的。所以,DMA控制模块是整个DMA正常工作的“指挥官”,其地位也是举足轻重的。DMA控制模块设计的好坏,直接决定和影响着整个系统传输性能的优劣。由于,在高速信息交换系统中,数据信息是否能快速、准确地进行传送是关键因素。DMAC具有多通道传输能力。由于受总线和各种存储资源的限制,对多通道进行仲裁将不可避免,如何针对不同的应用采用不同的仲裁方式,也是设计时需要考虑的问题。在软件层面,DMAC虽可代替MPU执行数据传输任务,但MPU仍需对DMAC进行配置,以保证传输任务的顺利完成,例如在快速设备与慢速设备间进行数据传输时,一般会在软件中为DMA设置缓冲区.设计DMAC时,应考虑对驱动程序的灵活性和可移植性的支持,以减少MPU对数据传输过程的干预,进一步提高传输速度和MPU使用效率。DMA(DirectMemoryAccess)即直接存储器访问,是指外部设备和系统存储器之间或者存储器与存储器之间直接进行数据传输的一种方式,传输数据的过程中无需MCU的控制。DMA技术使得MCU不需要在读写数据上消耗时间,可以将工作主要集中在数据运算上,从而减轻了MCU传输数据的负担,大大加快了系统的运算速度,提升了整个系统的运行效率。近年来,随着信号处理技术的发展,测控系统在测距、遥测、遥控等领域,对数据的分发速度和系统的带宽要求越来越高,数据的传输效率已经成为决定整个系统性能的关键性因素之一。通常,在测控系统中存在一个主控单元(MCU),系统中的多种事务都是在MCU控制下进行的。MCU频繁参与系统中的每一条指令控制,会大大降低系统数据传输的效率,尤其不适合用于数据量大或者对实时性要求高的数据传输应用场景当中。在现有的测控系统中,主控芯片通常选用ZYNQ(PS单元+PL单元)实现,主控单元即PS单元。数据的收发一般采用Bram方式或者直接存储器DMA方式实现。采用Bram方式实现时,当PS接收到来自以太网数据后,写入数据到PS_PL_Bram后,再向PL发送数据写入完成握手标识,PL监控PS写入的数据发送握手标识发生变化后,取出相关长度的数据发送到对应的设备。当PL接收到来自外部数据后,写入数据到PL_PS_Bram后,再把PL准备好数据的握手标识信号写入到对应的寄存器供PS读取。当PS定时读取到PL准备好数据的握手标识信号发生改变后,读取对应长度的数据通过以太网发送出去。采用上述Bram方式实现,数据的读写速率相对较低。采用DMA方式实现时,PS与PL之间的数据握手通知信号会成为数据收发速率的瓶颈。握手信号采用定时查询方式实现时,PS会在每次定时时间满足设定条件后,执行一次查询握手信号的操作。如果握手信号准备好,PS就会通知PL通过DMA把数据发送给PS,这种方式相对简单,但是定时查询时间的长短难以把握。定时过短,会导致PS因为频繁查询握手信号状态,无法执行其他指令,降低系统效率。定时过长,则无法对实时性要求较高的数据传输及时响应。而使用中断控制方式,尽管能保证外部设备的数据得到及时的处理,但是在数据传输间隔较短时,同样会导致PL不断地向PS发起中断,PS频繁处理中断而无法响应其他指令的情况产生。
技术实现思路
本专利技术的目的是针对现有技术存在的不足之处,提供一种数据传输速率高,容错能力强,实时性处理效率高的多通道DMA传输方式,以解决现有测控系统中数据传输速率及实时性低下的问题,改善整个系统实时响应性能。本专利技术的上述目的可以通过以下措施来达到,一种多通道DMA传输测控信号的方法,其特征在于:首先,在测控系统中采用外部设备数据总线连接的ZYNQ芯片作为主控芯片,在主控芯片中内置外挂DDR芯片的PS单元,PS单元通过以太网TCP连接以太网设备,外部设备数据通过PL单元缓存处理后,使用AXI-Bus写入PS外挂DDR,然后,DMA读写控制单元采用直接存储器DMA方式实现PS单元与PL之间的数据交互,把PS端的内存DDR芯片划分成多个通道的先入先出队列FIFO数据,每个通道的FIFO数据对应一种不同类型的数据传输,多个相同大小的数据循环缓存BUFF块组成每个通道的数据FIFO;其次,PS端与PL端的入队指针采用Bram_Ctrl方式实现;PL端DMA读写控制单把数据写入到DDR对应的数据FIFO缓存BUFF中后通过中断的方式通知PS单元,PS端入队出队单元与PL端入队出队指针单元各自维护读写数据入队和出队指针数据长度计数,PL单元根据PL端维护的出队指针和PS端写入的入队指针之间的差值,可以获取PL端本轮转发的数据长度;PS端参与数据搬移的过程,在收到PL端中断后,取走之前PL写入的所有数据缓存BUFF中的数据,从DDR中搬移数据实现数据快速转发,根据PS端维护的出队指针与PL端写入的入队指针之间的差值,可以获取PS端本轮转发的数据长度,从DDR中读取对应长度的数据,通过以太网TCP发送至以太网设备。本专利技术相比现有技术方法的有益效果是:1)数据传输速率高。本专利技术在测控系统中采用外部设备数据总线连接的ZYNQ芯片作为主控芯片,在主控芯片中内置外挂DDR芯片的PS单元,PS单元通过以太网TCP连接以太网设备,外部设备数据通过PL单元缓存处理后,使用AXI-Bus写入PS外挂DDR,可提高PS与PL双向收发数据传输的速率。DMA读写控制单元采用DMA方式实现PS单元与PL之间的数据交互,采用直接存储器DMA方式实现,数据读写的速率会大幅提高,通过PL端直接访问PS端DDR,可大幅减少PL端向PS端写入数据时,PS参与数据搬移的过程。PS端取走数据只需在收到PL端中断,即可从DDR中搬移数据实现数据快速转发。2)容错能力强。本专利技术把PS端的DDR芯片划分成多个通道的先入先出队列FIFO数据,每个通道的FIFO数据对应一种不同类型的数据传输,多个相同大小的数据循环缓存BUFF块组成每个通道的数据;这种采用多通道FIFO实现,对单个DDR芯片划分为多个通道的FIFO,事先划分好每一种类型的数据使用本文档来自技高网
...

【技术保护点】
1.一种多通道DMA传输测控信号的方法,其特征在于:首先,在测控系统中采用外部设备数据总线连接的ZYNQ芯片作为主控芯片,在主控芯片中内置外挂DDR芯片的PS单元,PS单元通过以太网TCP连接以太网设备,外部设备数据通过PL单元缓存处理后,使用AXI-Bus写入PS外挂DDR,然后,DMA读写控制单元采用直接存储器DMA方式实现PS单元与PL之间的数据交互,把PS端的内存DDR芯片划分成多个通道的先入先出队列FIFO数据,每个通道的FIFO数据对应一种不同类型的数据传输,多个相同大小的数据循环缓存BUFF块组成每个通道的数据FIFO;其次,PS端与PL端的入队指针采用Bram_Ctrl方式实现;PL端DMA读写控制单把数据写入到DDR对应的数据FIFO缓存BUFF中后通过中断的方式通知PS单元,PS端入队出队单元与PL端入队出队指针单元各自维护读写数据入队和出队指针数据长度计数,PL单元根据PL端维护的出队指针和PS端写入的入队指针之间的差值,获取PL端本轮转发的数据长度;PS端参与数据搬移的过程,在收到PL端中断后,取走之前PL写入的所有数据缓存BUFF中的数据,从DDR中搬移数据实现数据快速转发,根据PS端维护的出队指针与PL端写入的入队指针之间的差值,获取PS端本轮转发的数据长度,从DDR中读取对应长度的数据,通过以太网TCP发送至以太网设备。/n...

【技术特征摘要】
1.一种多通道DMA传输测控信号的方法,其特征在于:首先,在测控系统中采用外部设备数据总线连接的ZYNQ芯片作为主控芯片,在主控芯片中内置外挂DDR芯片的PS单元,PS单元通过以太网TCP连接以太网设备,外部设备数据通过PL单元缓存处理后,使用AXI-Bus写入PS外挂DDR,然后,DMA读写控制单元采用直接存储器DMA方式实现PS单元与PL之间的数据交互,把PS端的内存DDR芯片划分成多个通道的先入先出队列FIFO数据,每个通道的FIFO数据对应一种不同类型的数据传输,多个相同大小的数据循环缓存BUFF块组成每个通道的数据FIFO;其次,PS端与PL端的入队指针采用Bram_Ctrl方式实现;PL端DMA读写控制单把数据写入到DDR对应的数据FIFO缓存BUFF中后通过中断的方式通知PS单元,PS端入队出队单元与PL端入队出队指针单元各自维护读写数据入队和出队指针数据长度计数,PL单元根据PL端维护的出队指针和PS端写入的入队指针之间的差值,获取PL端本轮转发的数据长度;PS端参与数据搬移的过程,在收到PL端中断后,取走之前PL写入的所有数据缓存BUFF中的数据,从DDR中搬移数据实现数据快速转发,根据PS端维护的出队指针与PL端写入的入队指针之间的差值,获取PS端本轮转发的数据长度,从DDR中读取对应长度的数据,通过以太网TCP发送至以太网设备。


2.如权利要求1所述的多通道DMA传输测控信号的方法,其特征在于:在外部设备数据发送流程中,外部设备通过数据总线经PL单元缓存处理后,通过AXI-Bus直接写入PS外挂DDR芯片中,修改PL入队指针并放入事先指定的Bram_Ctrl地址空间后,通过中断Int通知PS单元。


3.如权利要求2所述的多通道DMA传输测控信号的方法,其特征在于:PS单元根据自身维护的出队指针与PL写入的入队指针之间的差值,从DDR中读取对应长度的数据,通过以太网(TCP)发送至网络设备。


4.如权利要求1所述的多通道DMA传输测控信号的方法,其特征在于:在外部设备接收数据流程中,PS单元通过以太网获取的数据写入内存DDR后,修改PS入队指针并通过Bram_Ctrl写入对应的地址空间;PL单元检测到PS入队指针发生变化,根据自身维护的出队指针与PS写入的入队指针之间的差值,从DDR中读取对应长度的数据通过数据总线发送至外部设备。


5.如权利要求1所述的多通道DMA传输测控信号的方法,其特征在于:在外部设备数据发送流程中,外部设备通过数据总线经PL单元缓存处理后,通过AXI-Bus直接写入PS外挂DDR芯片中,修改PL入队指针并放入事先指定的Bram_Ctrl地址空间后,通过中断Int通知PS单元。


6.如权利要求1所述的多通道DMA传输测控信号的方法,其特征在于:在外部设备接收数据流程中,PS单元根据自身维护的出队指针与PL写入的入队指针之间的差值,从DDR中读取对应长度的数据通过以太网(TCP)发送至网络设备;PS单元通过以太网获取的数据写入DDR后,修改PS入队指针并通过Bram_Ctrl写入对应的地址空间,PL单元检测到PS入队指针发生变化,并根据自身维护的出队指针与PS写入的入队指针之间的差值,从DDR中读取对应长度的数据通过数据总线发送至外部设备。

【专利技术属性】
技术研发人员:朱道山高逸龙丘国生邵龙费霞马力科
申请(专利权)人:西南电子技术研究所中国电子科技集团公司第十研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1