分享
多通道DMA传输测控信号方法_朱道山.pdf
下载文档

ID:2370274

大小:1.07MB

页数:3页

格式:PDF

时间:2023-05-10

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
通道 DMA 传输 测控 信号 方法 朱道山
7 0 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 多通道DMA传输测控信号方法朱道山(中国西南电子技术研究所,成都 6 1 0 0 3 6)摘要:研究了现有测控系统Z YNQ平台中数据传输的两种主要方式,提出了一种全新的多通道DMA传输方法。该方法采用虚通道设计思路,以多通道连续DMA存储+一次性遍历方式,有效减少了Z YNQ平台中P S单元参与数据搬移的过程,大幅提高了数据收发两端的存储能力,可用于数据量大或实时性要求高的应用场景中。关键词:虚通道;多通道;DMA;Z YNQ中图分类号:T N 9 1 9 文献标识码:AM u l t i-c h a n n e l D M A T r a n s m i s s i o n M e t h o d o f M e a s u r e m e n t a n d C o n t r o l S i g n a lZ h u D a o s h a n(S o u t h w e s t C h i n a I n s t i t u t e o f E l e c t r o n i c T e c h n o l o g y,C h e n g d u 6 1 0 0 3 6,C h i n a)A b s t r a c t:I n t h i s p a p e r,t w o m a i n m e t h o d s o f d a t a t r a n s m i s s i o n i n t h e e x i s t i n g t r a n s m i s s i o n s y s t e m Z YNQ p l a t f o r m a r e s t u d i e d,a n d a n e w m u l t i-c h a n n e l DMA t r a n s m i s s i o n m e t h o d i s p r o p o s e d.T h i s m e t h o d a d o p t s t h e v i r t u a l c h a n n e l d e s i g n i d e a a n d a d o p t s t h e m u l t i-c h a n n e l c o n t i n u o u s DMA s t o r a g e+o n e-t i m e t r a v e r s a l m o d e t o e f f e c t i v e l y r e d u c e t h e p a r t i c i p a t i o n o f P S u n i t i n t h e d a t a m o v i n g p r o c e s s i n t h e d a-t a m o v i n g p r o c e s s i n t h e Z YNQ p l a t f o r m.I t g r e a t l y i m p r o v e s t h e s t o r a g e c a p a c i t y a t b o t h e n d s o f t h e d a t a r e c e i v i n g a n d t r a n s m i t t i n g,a n d c a n b e u s e d i n a p p l i c a t i o n s c e n a r i o s w i t h l a r g e d a t a v o l u m e o r h i g h r e a l-t i m e r e q u i r e m e n t s.K e y w o r d s:v i r t u a l c h a n n e l;m u l t i-c h a n n e l;DMA;Z YNQ0 引 言近年来,随着信号处理技术的发展,在测距、遥测、遥控等领域,测控系统对数据的分发速度和系统的带宽要求越来越高,数据的传输效率已经成为决定整个系统性能的关键性因素之一1-3。通常,在测控系统中存在一个主控单元(MC U),系统中多种事务都是在MC U控制下进行的。若MC U频繁参与系统中的每一条指令控制,则会大大降低系统数据传输效率,尤其不适合用于数据量大或者对实时性要求高的数据传输应用场景。在现有的测控系统中,主控芯片通常选用Z YNQ(P S单元+P L单元)实现。数据收发一般采用B r a m或者直接存储器DMA方式实现4-6。采用B r a m方式实现时,一方面,P S接收来自以太网数据,将数据写入到B r a m后,再向P L写入数据发送完成标识;P L收到P S写入的数据发送完成标识后,取出相应的数据并发送到外部设备。另一方面,P L接收到来自外部设备的数据,将数据写入到B r a m后,再把P L数据接收完成标识写入到对应寄存器;P L通过中断通知或者P S通过定时查询读取到P L数据接收完成标识后,读取相应的数据并通过以太网发送出去。采用B r a m方式实现,接口简单,但由于B r a m读取方式本身速率较低,不适用于高速率数据传输场景。采用DMA方式实现时,一方面,P S接收来自以太网的数据,通 过DMA方 式 写 入 到P L端 本 地B r a m或 者F I F O,再向P L写入数据并发送完成标识,P L收到P S写入的数据并发送完成标识后,取出相应的数据并发送到外部设备。另一方面,P L接收到来自外部设备的数据,将数据写入到P L端本地B r a m或者F I F O后,再把P L数据接收完成标识写入到对应寄存器。P L通过中断通知或者P S定时读取到P L数据接收完成标识后,通过DMA方式读取对应数据并通过以太网发送出去。采用DMA方式,P S读取一次数据就需要一次中断或多次查询,频繁握手会影响数据收发速率。采用定时查询实现时,P S会在每次定时时间满足后,执行一次查询握手信号的操作。定时查询方式虽然操作简单,但是查询时间间隔长短难以把握。若定时间隔过短,则会导致P S频繁查询握手信号状态,无法有效执行其他指令,降低系统运行效率。若定时间隔过长,则无法及时响应实时性要求较高的数据传输。敬请登录网站在线投稿(t o u g a o.m e s n e t.c o m.c n)2 0 2 3年第4期 7 1 使用中断方式可以保证外部设备的数据得到及时处理,但是在数据传输间隔较短时,同样会导致P L不断地向P S发起中断,P S频繁处理中断而无法响应其他指令,从而降低系统运行效率。本文针对现有技术存在的不足之处,提出一种多通道DMA传输测控信号方法,数据搬移完全由P L参与,在不增加硬件复杂度的前提下,利用P S端现有的D D R存储资源,可大幅提高P S端中断响应能力以及对多类型数据传输具有高容错能力。1 系统架构设计多通道DMA传输测控信号硬件框图如图1所示,硬件由Z YNQ+D D R+以太网设备+外部设备组成。利用P S端D D R资源,采用虚通道设计思路将D D R分成多个存储片段使用7-8;P SP L握手采用出入队指针方式实现。写数端维护入队指针,读数端维护出队指针,根据出入队指针差值,一次遍历全部的D D R存储片段。图1 多通道D M A传输测控信号硬件框图采用外部设备数据总线连接的Z YNQ芯片作为主控芯片,在主控芯片中内置外接D D R芯片的P S单元,P S单元通过以太网T C P连接以太网设备,外部设备数据通过P L单元缓存处理后,使用A X I B u s写入P S端D D R。将P S端D D R芯片划分成多个通道的先入先出队列F I F O数据,每个通道F I F O数据对应一种不同类型的数据传输,多个相同大小的数据循环缓存B U F F块组成每个通道的数据;其次,P S端与P L端的入队指针采用B r a m_C t r l方式实现。P L端通过DMA把数据写入到内存D D R对应的数据F I F O缓存B U F F后,通过中断方式通知P S,P S端入队出队单元与P L端入队出队指针单元各自维护读写数据入队和出队指针数据长度计数,P L根据P L端维护的出队指针和P S端写入的入队指针之间的差值,可以获取P L端本轮转发的数据长度。P S单元在收到P L端中断、取走之前P L写入的所有数据缓存B U F F中的数据后,从D D R中搬移数据实现数据快速转发,根据P S端维护的出队指针与P L端写入的入队指针之间的差值,可以获取P S端本轮转发的数据长度,从D D R中读取对应长度的数据,通过以太网T C P发送至以太网设备。2 软件设计多通道DMA传输测控信号模块组成框图如图2所示,Z YNQ主控芯片内置P L单元和P S单元。其中,P L单元包含DMA读写控制单元与P L入队出队指针单元;P S单元包含DMA数据传输单元、DMA中断服务单元与P S入队出队指针单元。为了防止数据混叠情况出现,对数据进行分片区处理,事先把D D R芯片划分成P L写P S读和P S写P L读两个独立的区域。把P L写P S读区域划分成N个数据F I F O区域,分别为P L_P S_F I F O_1、P L_P S_F I F O_2、P L_P S_F I F O_N。对每个数据P L_P S_F I F O区域划分 成M个 数 据 缓 存B U F F块,分 别 为B U F F_1、B U F F_2、B U F F_M。把P S写P L读区域划分成N个数据F I F O区域,分别为P S_P L_F I F O_1、P S_P L_F I F O_2、P S_P L_F I F O_N。对每个数据P S_P L_F I F O区域划分 成M个 数 据 缓 存B U F F块,分 别 为B U F F_1、B U F F_2、B U F F_M。2.1 P L单元处理流程P L单元缓存通过数据总线接收外部输入数据,按照事先约定的数据总线类型进行解析,并写入D D R对应的数据F I F O区域。经P L单元DMA读写控制单元启动DMA写流程,首先,向DMA读写控制单元写使能寄存器中写入1,打开DMA读写控制单元写操作使能;其次,向DMA读写控制单元写地址寄存器中写入对应的写地址W r i t e_A d d r;最后,向DMA读写控制单元写长度寄存器中写入对应的写长度W r i t e_L e n g t h。在DMA读写控制单元底层接收数据准备好信号R e a d y信号为1时,读取本地缓存的外部输入数据,通过DMA读写控制单元写入到D D R对应的数据P L_P S_F I F O的多通道数据F I F O多数据缓存B U F F中,并在达到W r i t e_L e n g t h后更新P L入队出队指针单元中的P L入队指针数值,再向P S单元发送中断,并给出对应数据F I F O相关数据缓存B U F F的中断标识。P S单元收到来自P L单元的中断,进入P S端中断服务流程,取出相关中断标识后,引导DMA数据传输单元进行D D R数据的读取,按照事先约定的传输协议对数据进行打包,经以太网发送出去,待本轮P S读取D D R数据全部转发出去后,更新P S入队出队指针单元中的P S出队指针数值。2.2 P S单元处理流程P S单元接收到以太网数据后,根据事先约定的传输协议,解析出写入数据对应数据F I F O相关的数据缓存7 2 M i c r o c o n t r o l l e r s&E m b e d d e d S y s t e m s 2 0 2 3年第4期w w w.m e s n e t.c o m.c n 图2 多通道D M A传输测控

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开