英飞凌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。
热门推荐
“大江东去,浪淘尽,千古风流人物”:探秘苏轼诗词的魅力
视特耐和依视路哪个镜片好?都是中高端档次镜片品牌,分享特点及优势!
云朵鞋?踩屎感?这种网红拖鞋可能正在毁掉你的脚→
汽车年检到底有什么用?为什么大家都讨厌年检?原因很扎心
催化剂:原理、应用及未来发展
美联储,大变数!美国就业数据“爆炸”!预期逆转……
MOS管是场效应管吗?
IRF9530NS场效应管:技术规格参数、工作原理与应用电路全解析
TPE能否用酒精消毒?
朴实的本土龟:草龟
泉州街头巷尾的美味:探寻这座海滨城市的特色小吃
装修贷提前还款利息怎么算?一文详解计算方法与注意事项
爬楼多长时间燃脂效果最好
量化模型的作用是什么?它对投资策略有何帮助?
以多样性、差异化破解题材雷同和艺术平庸
薪酬管理新趋势:如何平衡员工期望与企业成本?
推恩令与朱允炆:探究历史人物间的决策差异
2024注册环保工程师好考吗?有哪些备考建议?
铜价也疯狂 锂电铜箔影响几何?
酯化反应:从理论到应用的全面解析
一代宗师叶企孙|他未曾想创办一流大学,却建立了最好的清华大学物理系
“护墙板”是什么?弄懂这两点,才明白家中提升颜值定有它
13岁女孩骨龄超龄一岁还能长高吗
解析历史上英国都铎王朝的政治体制
Excel数据包含关系图制作教程
揭秘降压与升压DC-DC转换器:工作原理、纹波差异与未来发展趋势
软件开发生命周期 (SDLC):综合指南
慢性支气管炎哮喘吃什么药好
马谡为何被杀?除了街亭失守之外,更是政治斗争的牺牲品
诸葛亮为什么要一定要处死“干儿子”马谡?