英飞凌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。
热门推荐
特征工程自动化如何为机器学习带来重大变化
经期遇上春节,这样安排最健康!
层流手术室设计新趋势:从空气净化到智能管理
洁净手术室环境管理:从空气净化到消毒规范
机器学习和深度学习的算法有哪些不同?
AI、机器学习、深度学习与神经网络:有何区别?
低血压的中医辨证论治
如何有效应对骚扰电话,保护个人隐私与合法权益
龙洋:从地方台到央视,一位主持人如何在质疑中成长
龙洋新综艺《简牍探中华》爆火,你看了吗?
磷酸铁锂电池:定义、特性、应用及维护指南
新华每日电讯:破纪录春节档透视中国电影产业新动向
柳舟记 电视剧原声带
腾讯客服的“沙雕”日常:从“磨砂高光”到“赠送谢谢”
腾讯客服如何应对工作焦虑?这5个方法值得借鉴
双十一期间,腾讯客服教你如何应对网络诈骗
最新科技如何守护你的银行卡安全?
太阳能充电器:它们的工作原理、优点、缺点以及如何选择最好的充电器
脑缺血患者的营养食谱大揭秘!
脑供血不足?这些小妙招帮你防住它!
缺血性脑卒中的心理干预新趋势
中国脑缺血治疗迎来突破:从“追赶者”到“领跑者”
父母犯罪记录影响子女考公?制度设计需平衡安全与公平
贵阳出发!西双版纳自驾游必备清单
贵阳到西双版纳自驾游攻略大揭秘!
马来西亚必打卡!京那巴鲁山挑战极限
婆罗洲探险:10天马来西亚深度游攻略
马来西亚必打卡:娘惹菜、沙爹、椰浆饭!
探访林明锡矿博物馆:揭秘马来西亚历史文化的宝藏地
从入门到精通:茶叶冲泡完全指南