DSPI模块初始化与队列管理:K60微控制器指南
需积分: 22 91 浏览量
更新于2024-08-05
收藏 20.01MB PDF 举报
"K60P144M100SF2RM.pdf - K60子系列参考文档,Rev.6, Nov 2011,由默_li编辑"
在嵌入式系统中,DSPI(Digital Serial Peripheral Interface)模块是一个关键组件,用于实现高速、低延迟的串行通信。本文档详细介绍了DSPI模块的初始化过程以及在K60微控制器上的应用信息,该微控制器是飞思卡尔(现NXP半导体)K60系列的一部分,支持多种芯片如MK60DN256ZVLQ10、MK60DX256ZVLQ10等。
49.5 初始化/应用信息
DSPI模块的初始化涉及队列管理和模式切换,以确保其能够有效地处理SPI通信。
49.5.1 如何管理DSPI队列
1. EOQ位:当DSPI执行最后一个控制命令时,会设置EOQ(End Of Queue)位,表示队列中的最后一个实体。
2. EOQF标志:在发送完成后,EOQF标志在DSPI状态寄存器(SR)中被设置,表明传输结束。
3. STOPPED状态:设置EOQF标志会使DSPI进入STOPPED状态,TXRXS位清零,禁止串行数据传输。
4. DMA持续填充:在STOPPED状态下,DMA仍可继续填充TX FIFO直到满或执行第5步。
5. 禁用DSPI DMA发送:通过禁用DMA使能请求,关闭分配给TX FIFO和RX FIFO的DMA通道。
6. 接收数据处理:确认RX FIFO中的数据已读取并存入接收队列,可通过读取SR的RXCNT或检查RFDF标志。
7. 更新DMA描述符:对新的队列,需要修改TX和RX的DMA描述符。
8. 清空FIFO:通过写1到MCR的CLR_TXF和CLR_RXF位分别清空TX FIFO和RX FIFO。
9. 重置发送计数:设置新队列的第一个实体的控制命令字中的CTCNT位,或由CPU直接在TCR的SPI_TCNT字段写入。
10. 重新启用DMA通道:通过设置相应的DMA请求使能位,恢复对DSPI TX FIFO和RX FIFO的DMA支持。
11. 恢复串行传输:清除EOQF位,允许串行发送和接收再次进行。
49.5.2 主机和从机切换模式
在DSPI中切换模式时,必须遵循以下步骤以确保正常运行:
1. 停止DSPI:通过设置MCR中的HALT位,暂停DSPI的操作。
这些步骤确保了DSPI模块在不同工作模式之间切换时的正确配置,从而能够适应SPI通信的各种需求,如主设备或从设备的角色切换。对于K60微控制器的开发者来说,理解和掌握这些初始化和管理模式切换的细节至关重要,以实现高效且可靠的SPI通信。
342 浏览量
301 浏览量
2021-09-01 上传
点击了解资源详情
2022-05-04 上传
431 浏览量
2009-08-09 上传
2020-08-14 上传
点击了解资源详情
张_伟_杰
- 粉丝: 64
- 资源: 3910
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜