英飞凌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。
热门推荐
激素治疗的隐藏风险:糖皮质激素性骨质疏松症全面解析
牛奶燕麦粥-2分钟搞定快手营养早餐
医院死亡病人尸检流程:确保公正、透明与合规的步骤
石学敏:中国针灸学的开拓者与创新者
ChatGPT文献检索、文件管理,配合这几个工具真好用!
失业保险领取条件是什么?
苯酚化学品安全技术说明书
如何将录音文件转换为MP3格式:步骤、工具与技巧
凯尔特Triquetra符号:一个跨越千年的神秘象征
俗话说“书中自有颜如玉”,颜如玉究竟是谁?长的有多美?
深圳推出应届毕业生15天免费住宿政策,每经记者实探:拎包入住,多区房源开年即爆满
一个看中国问题的角度:文凭贬值和社会进步
70年住宅公寓房购买需注意的问题
“小孩哥”是什么梗?
从练习生到顶流:蔡徐坤的"巨C"之路
USB 2.0 协议详解:从历史发展到实际应用
每天饮用一瓶无糖可乐的影响是什么
期中考试前学习计划:四位同学的高效备考方案
叉烧肉,酱香浓郁、肉质鲜嫩、色泽诱人,成了食客心中的经典美味
贪吃卤味!警惕亚硝酸盐中毒!
呼伦贝尔的这些景点,绝对值得一去!
昆明最受欢迎的10家老字号面馆!
水生植物的四种种植方式详解
使用Jekyll在GitHub Pages上搭建网站个人博客
大学AI通识课能文理通识吗?
健胃消食片使用说明指导
地支四墓库的详细解析:中国传统命理学中的重要概念
智能浪潮推动AI医疗平权,真创新才能走的更远
发现自我风格:从年龄到个性的时尚之旅
清朝男子发型的演变:从金钱鼠尾头到阴阳头