英飞凌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。
热门推荐
塑料与金属的浪漫邂逅:嵌件注塑技术全解析
指甲月牙和身体健康有关系?一文读懂月牙的6个真相!
外汇欧元分析:欧元汇率深度解析与预测
圣斗士宙斯篇和混沌篇一:同人作品说明及世界观设定
科学健身计划指南:增强肌肉力量的有效步骤和方法
高精度定位车载天线:驾驶安全与导航技术的未来
武汉一女士自煎中药 竟比代煎贵?医院如此解释
清华团队打造Ultraman算法,能让买家线上观看服装试穿效果
警方深入社区开展禁毒宣传,居民反响热烈共筑无毒防线
四种大模型微调方法总结
海南空心村现象探究:原因、影响与未来发展策略
物是人非事事休,欲语泪先流。全诗词意思及赏析
如何选择适合大数据处理的服务器内存?
英雄联盟手游:天使的最佳位置选择
固定资产明细账登记模板!固定资产明细账如何填写
股市风向标 | 恒生科技指数冲高回落后的市场展望
面朝大海春暖花开赏析
艾滋病疫苗最新进展:科学突破带来治愈新希望
长沙多所中学开启"自主学习"模式:学生周末到底双休还是不休?
南通外贸三季度破千亿大关,跨境电商与传统优势产业双轮驱动
颈椎压迫神经挂什么科最好
古代书生角色探析
为何网络小说取不出金庸古龙笔下那些有文化气息的主角名字?
为何人一激动就会全身发抖
如何追讨工程款:法律依据与实际操作指南
纳米喷雾是冷喷好还是热喷好
肺动静脉畸形怎么检查
不同茶叶的冲泡技巧顺口溜,你知道吗?
详细阐述大模型微调过程、方法、案例
颈椎病应检查哪个科室