英飞凌TC397 MCU的SPI-DMA配置要点详解
创作时间:
作者:
@小白创作中心
英飞凌TC397 MCU的SPI-DMA配置要点详解
引用
CSDN
1.
https://blog.csdn.net/Wendywoody/article/details/142742610
本文将详细介绍英飞凌TC397 MCU的SPI-DMA配置要点,包括DMA的工作原理、传输过程、通道优先级以及SPI模块的配置方法。对于从事嵌入式系统开发的技术人员来说,本文具有较高的参考价值。
DMA(Direct Memory Access)作为独立控制器,可以理解为CPU外包,主要承担数据搬运操作。该数据搬运无需CPU干预,使得数据可在不占用CPU资源下完成数据传输任务,任务完成后通过中断的方式通知CPU,以便CPU进行必要的同步处理。
DMA传输过程可以是从内存到内存,从外设到内存,或是内存到外设三种方式。
软件针对每个channel提前配置相应的transaction control set,简称TCS,DMA通道请求与仲裁中心将会根据来自ICU的中断请求优先级来决定哪个DMA请求将会被优先处理。对于英飞凌DMA而言,DMA通道号就是其优先级,通道号越大优先级越高。
Move engine则是用来真正执行搬运动作的单元,在搬运过程中会根据提前配置好的TCS来决定是否响应中断请求或何时响应,如有中断产生,则会传递到IR模块进行处理。
QSPI TX/RX中断优先级与DMA通道号映射
QSPI TX/RX中断服务程序类别映射
- ISR CATEGORY: category_0
- mapping: DMA
SPI异步传输涉及的中断
如果通过DMA实现SPI的异步传输,涉及到7个中断,其中两个DMA中断,5个CPU中断。(参考Aurix TC3xx系列MCU SPI模块配置方法(二)_英飞凌单片机spi dma-CSDN博客)
各中断源计算参考
- SPI:
- DMA:
SPI任务优先级设置
SPI任务优先级设置参考SPI093:0,其中0表示最低优先级,3表示最高优先级。
SPI通用级别配置
- level0: 驱动程序仅处理所有可用SPI总线QSPIX上简单同步传输
- level1: 驱动程序仅处理所有可用SPI总线QSPIX上简单异步传输
- level2: 驱动的增强行为,将处理同步和异步传输
初始化处理步骤
- 调用
Spi_Init函数进行初始化 - 在使用SPI的外设驱动初始化函数中,调用
Spi_SetAsyncMode(SPI_ASYNC_MODE_INTERRUPT);
数据发送和接收配置
通过Spi_SetupEB函数设置发送和接收数据,然后通过Spi_AsyncTransmit函数发送Sequence。
热门推荐
催收电话如果不接可以拨打多少个才合适?
一般後背包大小這樣選!高效挑選適合你的旅行後背包完整攻略
新乡旅游指南:必游景点、美食推荐及行程规划攻略
商业小说书籍推荐:十部佳作带你领略商海风云
哈工大发现:午睡会影响寿命,睡午觉比不睡午觉寿命长几年不止?
常用网址怎么添加收藏?加入收藏列表的方法
达沙替尼(施达赛/依尼舒/Sprycel)的使用指南
小鹿犬的优点与缺点:萌宠新手必看!
硬刚美国七年后认罪,中企突然承认剽窃,背后隐情让人遗憾
2024年度闭门会议参与者保密承诺及责任协议
武汉铁路规划:优化布局,提升枢纽效率!
图像分割 — 初学者指南
从月牙定理看古希腊数学的奇妙突破
密集召开!从地方两会看招商,解析2025年经济发展路线
制定长期目标,助力人生规划与成就提升
如何通过数据支持科研假设?解读与讨论的要点
绿幽灵水晶挑选指南:如何挑选优质绿幽灵水晶
哪吒的“五行”之问|为什么是哪吒?
减肥期间能喝小米粥吗?营养师为你解答
国家一级保护动物白鹤驻足曹妃甸湿地
阿弥陀佛是什么佛,如何解释 阿弥陀佛是什么佛?
“公务员”专业,要火?
血脂偏高,还能放心食用蛋黄吗?
专家澄清“七星连珠”真相:不会逆天改命,三五年就会发生一次
十大雪地动物:冰雪世界的生存智慧
纯电VS燃油:车机互联智能化差异,真相竟是这样!
PU材料是什么?特性、应用及与天然皮革的辨别方法
绝了!这道蒜蓉菠菜好吃到全家跺脚,新手秒变大厨的秘诀在此
肇事逃逸撞狗:法律后果与应对策略
人类本体感觉之谜