当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 基于TD-LTE系统中数据跟踪技术的研究与DMA获取系统总线的不同模式,设计并分析比较了在S3C6410上通过DMA实现原语跟踪的两种方案。根据TD-LTE无线综合测试仪中的设计要求,选择了中断标志查询模式获取系统总线的方案,实现了TD-LTE系统原语的实时跟踪,满足了系统对CPU资源利用率以及数据传输速度和准确性的要求。
关键词: 直接存储器存取;嵌入式应用;长期演进;跟踪数据

原语是从物理层到非接入层各层间的通信数据,这些数据包含带有大量标识信息的头。在TD-LTE无线综合测试仪表数据传输过程中,从最上端非接入层开始向下逐层将数据加头并加入本层的有效数据,到物理层后向上反馈并逐层解析头提取本层所需数据。这些数据的正确性是确保整个通信系统正常运作的关键所在,因此,在系统设计与调试过程中对这些数据的实时跟踪检测十分必要。
本文介绍了在TD-LTE中基于三星ARM1176JZF芯片S3C6410的DMA技术的具体应用实现(即原语跟踪技术),以及在具体环境中不同技术方案的对比分析。最终的设计方案充分利用了DMA在基带芯片中的可用性与占用CPU资源小的优势[1],实现了高效实时可靠的原语跟踪。
1 S3C6410中DMA控制器特性
S3C6410包含4个DMA控制器,每个DMA控制器由8个传输通道组成。DMA控制器的每个通道能在主AXI(Advanced Extensible Interface)总线的设备和外部AXI总线之间通过AHB(Advanced High performance Bus)到AXI进行单向数据传输。DMA控制器结构框图如图1所示,每个控制器提供16个外设DMA请求,并且DMA控制器支持外部中断响应,即每个通道可以支持从内存到外设、从内存到内存、从外设到内存、从外设到外设4种模式的数据传输。在TD-LTE系统中,原语跟踪使用的是内存到外设模式,每个外设连接到DMA控制器,可以产生DMA脉冲请求或是单一DMA请求,脉冲大小可编程。DMA内部有4个字的FIFO通道,支持8 bit、16 bit、32 bit宽度处理。由于原语跟踪采用的外设是UART支持的8 bit输出,故本文在设计中DMA也采用8 bit处理[2]。

2 DMA信号处理流程与跟踪步骤
数据跟踪的基本机制如下:首先为各层的数据在内存中开辟存储空间,将数据存储到指定缓存中,再由DMA实现内存到外设的数据搬移。本文的外设是UART,将数据搬移到UART的输出缓存区以实现数据跟踪。DMA控制器和外设的信号交互如图2所示。

当请求被允许且剩余数据量大于脉冲大小时,DMA控制器发送全部数据脉冲;而剩余数据量小于脉冲大小时,DMA控制器将再次监控请求信号等待下次传输[3]。本文在数据跟踪时将脉冲设置为1以满足数据跟踪实时性的要求。此外,由于单次数据量并不是很大(最大不过字节单位的数据量),因此没有采用链表模式来传输数据。整个跟踪过程主要包括以下几个步骤:首先DMA接收到外设驱动初始化完毕后发送的DMA请求;然后DMA控制器请求CPU将数据搬移到需要使用的总线交给DMA控制,将数据预读取到DMA-FIFO中(即DMA数据搬移内部过程);最后打开DMA通道将DMA-FIFO中的数据传输到UART的输出缓存中,输出到显示设备。其中只有驱动初始化和总线释放过程有CPU参与,而驱动初始化过程是一次性的,之后的步骤都由DMA单独控制从而释放CPU资源以继续执行系统的其他工作。工作中会产生更多的原语需要DMA反复运行支持实时跟踪,图3为数据跟踪基本设计流程。
3 DMA跟踪数据方案设计与分析
数据在内存中的缓存处理方案是:根据TD-LTE无线综合测试仪表系统单次跟踪的数据量大小以及原语产生地址与时间的随机不连续性,DMA搬移数据时设置了100 KB的数据缓存区,以统一数据地址提高跟踪效率[4],从而在合理利用存储空间的同时也保证了数据在传输过程中的高效与完整性,设计中采用起始地址和结束地址标志相减的方式判断单次数据量大小。当数据存储到100 KB缓存边界缓存溢出时,需要采用一定的数据处理机制来做溢出判断,其处理方式如图4所示。将本次的数据量分成A、B两块,分两次分别传输,A部分是本次数据搬移起始位置到100 KB边界位置的数据量,B部分是当前数据总量减去A部分数据后的剩余数据量。这里要注意的是:A部分数据传输完成后,系统可能又产生了新的原语数据块C,因此设计中,在传输数据块B时要重新读取数据的终止标志位加上后面产生的新的数据块C,以保证数据的实时性与完整性。

在TD-LTE无线综合测试仪表系统中,原语是单条产生的,并带有一定的时间间隔。为满足系统对实现数据跟踪的实时性要求,在跟踪数据时也是单条实时显示。这就要求在设计中判定DMA在每次传输是否完成,避免本次传输还未完成而下一次传输已经开始,导致本次传输数据不完整。因此在设计过程中,采用了中断判断模式和中断标志位判断模式两种方案来判定传输是否完成并获取总线来执行下一次数据搬移。
3.1 中断判定模式
根据S3C6410中DMA控制器特性,DMA在数据搬移结束时可以产生数据计数中断或数据错误中断两种中断。设计中打开DMA对应的GPIO(General Purpose Input Output)口并初始化相对应的41号VIC(Vectored Interrupt Controllers)中断向量,就可以利用数据计数中断来完成系统的外部中断响应,进入中断函数,在中断函数中再次调用DMA以此完成多次数据搬移[4]。在使能DMA通道并且数据传输完成后由硬件自动响应中断,有效避免了DMA设备在传输过程中被下一次传输请求打断,而搬移数据和系统其他程序的执行完全互不干扰。这种模式可以在各种数据量大小的数据搬移过程中最大限度地利用CPU资源。但是,由于采用了上述的数据缓存机制,而且在TD-LTE系统中断处理中比DMA计数中断优先级高的中断还有很多,因此采用中断模式在实际运用中会出现以下三种典型不稳定的情况及所采取的措施:
(1)在CPU向缓存中搬移数据过程中产生了中断,此时会出现当前一次要搬移的数据在内存中不完整或标志位混乱的情况,因此,在设计时搬移数据前还需要增加内存数据是否存储完成的标志位判定。由于中断类型众多,设计有一定难度。
(2)最后几条原语数据在存入内存缓存区后,若前面的搬移数据还没有完成,则无法获取总线,则会导致最后几条原语无法跟踪。因此,需要在原语全部发送完毕后在系统程序靠后的固定位置添加一条空的原语跟踪语句来跟踪最后几条。
(3)当出现较大数据量搬移时耗时较长,可能超过上层系统原语发送的间隔时间,后面几条原语将堆积到缓存中,等待下一次DMA总线获取后,一次性搬出,这样会导致下一次数据搬移时间的延长。这一条是基于机制的本质问题,实时性和数据完整性预计会受到较大影响。
3.2 中断标志位判定模式

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭