当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:针对周期数据传输涉及的数据如何传输和周期任务调度,主要研究SPI和EDMA结合的数据传输方法,并利用时钟中断及查询进行周期任务调度的方法。采用的数据传输方法和调度方法能完成大量数据传输,避免CPU消耗,保

摘要:针对周期数据传输涉及的数据如何传输和周期任务调度,主要研究SPI和EDMA结合的数据传输方法,并利用时钟中断及查询进行周期任务调度的方法。采用的数据传输方法和调度方法能完成大量数据传输,避免CPU消耗,保证数据传输实时性。且最终通过一个示例说明,数据传输的过程并对各项技术优缺点进行了分析与讨论。

关键词 周期任务;数据传输;时钟中断查询

MPC5554是汽车控制器中常用的一款芯片,其集成了DSPI和EDMA等众多模块。DSPI可与外部模块进行高速通信,但传输过程占用大量CPU资源,影响其他任务的执行。本文主要研究了在MPC5554芯片上,SPI和EDMA配合进行数据传输的方法,该方式在保障SPI高速、实时、高吞吐通讯的前提下,又解放了CPU,整个通讯过程基本无需CPU参与,这样CPU就可以给其他任务分配更多的资源,从而大幅提高系统性能。文中给出了SPI和 EDMA之间与外设的连接方式。同时在汽车控制器中,数据传输通过多个周期传输任务进行,相同周期传输任务具有相同的优先级,不同周期任务的调度时机和调度周期不同,本文设计实现了采用时钟中断和查询方式进行周期传输任务调度的方法,给出了算法步骤,并举例对算法应用进行了说明。此方法已被应用在汽车控制器中,且系统运行稳定。

1 SPI与EDMA结合的数据传输方式

使用DSPI(串行/解串外围设备接口)模块的最简单的方式是将其配置为符合工业标准的SPI(串行外设接口)模式,是高速数据传输的理想选择。但SPI在与外设进行通信时,会占用较多的CPU资源,采用EDMA中断方式可在处理器最小程度的参与下,满足大数据量通信要求。本文将SPI和 EDMA结合进行数据传输,该方法在保证SPI高速、实时的前提下,整个过程无需CPU参与,CPU可以并行执行其他任务。

1.1 与外部设备的连接方式

图1所示为DSPI和EDMA与燃油芯片的连接方式。通过EDMA将大量数据从内存传送到SPI缓冲区,再通过SPI配置将数据发送到燃油芯片;反之,燃油芯片将通信数据发送给SPI缓冲区,再通过EDMA将数据传送到内存中。EDMA传输主要通过TCD通道完成,发送和接收采用不同的 TCD通道。

1.2 SPI和EDMA配置

在MPC5554中有DSPIA,DSPIB,DSPIC和DSPID,在此只使用DSPIA。其发送和接收缓冲均利用FIFO实现。 EDMA的TCD发送通道向DSPIA发送缓冲区发送数据,TCD接收通道从DS PIA接收缓冲区接收数据。DSPI的发送缓冲FIFO有4级深度,复位后,发送缓冲的FIFO产生EDMA请求以要求填充数据。当EDMA和DSPI被设置为共同操作后,EDMA将从其传输控制描述块定义的队列中开始读取数据填充SPI发送缓冲。发送缓冲中只要有待发送数据就会立刻传送到移位寄存器中被发送。接收缓冲FIFO也有4级深度,保证即使有延迟发生数据也能正常发送接收。

2 数据周期传输任务调度算法

本文主要研究多个周期性的数据传输任务的调度方式,仅考虑调度时机和调度周期,不考虑任务优先级和任务抢占等其他因素。不同的周期任务一般均采用不同的调度时机和调度周期,设计采用时钟中断和查询方式的周期数据传输任务调度算法,使得每个周期任务能按照任务本身的调度时机和调度周期进行实时调度,不受其他周期任务干扰。算法步骤如下:

(1)获取每个周期任务的调度周期和调度时机,并求取这些时间值的最大公约数pnum。

(2)求取每个周期任务的调度周期和调度时机相对于pnum的倍数,并将周期任务入口和这些倍数存储在如图2所示的Struct数据结构中。

将每个周期任务的struct:信息顺序存储在缓冲区中。

(3)设置时钟中断的时问值为pnum。

(4)在时钟中断触发后,对缓冲区中的每一个周期任务信息按照顺序进行查询。查询过程中对字段At_turn进行判断,若At_turn=0,则进入*function指定的周期任务入口执行周期任务,同时将At_period写入At_turn字段,否则At_turn减1。对一个周期任务处理完成后再进行下一个周期任务的查询和处理。伪代码如图3所示。

3 应用

在某采用MPC5554芯片的汽车控制器中,通过本文方法向燃油芯片持续发送数据,使得燃油芯片保持正常工作状态。在此汽车控制器中有4个数据传输周期任务,每个周期任务的调度时机和调度周期如表1所示。

4个任务的调度时机和调度周期时间的最大公约数为5 ms,设置时钟中断周期为5 ms,将每个周期任务的调度时机和调度周期与5 ms的倍数关系存储在各自任务结构中并写入缓冲区中,缓冲中的任务信息存储如下:

{

周期任务1入口,4,0;

周期任务2入口,6,1;

周期任务3入口,2,2;

周期任务4入口,4,3;

}

程序运行过程中,通过查询缓冲区中的任务信息,当任务的At_turn值达到0时,表示应该执行对应任务,同时将At_period值写入At_turn,重新开始调度周期的计数。

在任务执行过程中,采用SPI和EDMA配合的方式进行数据传输。发送采用EDMA的TCD32通道,接收采用EDMA的TCD33通道。DSPIA和EDMA发送接收通道地址配置如图4所示,其他长度、模式等配置信息与发送过程相关。

在时钟中断触发后,以上周期传输任务部分执行情况如表2所示。

4 结束语

采用本文周期传输任务调度的算法与SPI及EDMA结合的方式进行数据传输可满足大量高速数据实时传输,且不影响CPU执行其他任务,算法易于实现、计算量少,采用的数据结构和软件结构易于修改和扩展,任务调度方式灵活、适用面广、可应用于其他周期任务的调度。但算法也存在一定的局限性,例如一次传输数据量受到sPI缓冲区深度的限制;周期传输任务的调度周期和调度时机各数据之间倍数关系越明显,则算法效率越高;若倍数关系不明显,最大公约数较小,则时钟中断会较频繁的触发,且查询操作运行次数会增加,影响算法运行效率;存储周期任务信息也会占用一定的存储空间,后期可完善算法减少信息存储和查询操作,从而进一步提高资源利用率。

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

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 信息技术
关闭
关闭