DSP28335学习笔记——McBSP配置为SPI
来源:互联网 发布:编程入门视频 编辑:程序博客网 时间:2024/06/01 08:50
由于28335硬件外设上只有一个SPI接口,所以当SPI接口不够用时,可以将McBSP配置为SPI接口。
参考28335的数据手册,当DSP为主机时,配置McBSP为SPI所用到的接线如下图所示。
另外总结一些调试过程中的经验。
1.传输数据位数的确定
由RCR1寄存器中的RWDLEN1和XCR1寄存器中的XWDLEN1决定。分别对应着接受和发送的位数,在配置成SPI模式的时候,这两个位应该保持一致。具体的配置如下所示:
2.时钟极性和时钟相位的确定
时钟极性和时钟相位是由三个寄存器位决定的,即CLKSTP、CLKXP和CLKRP。
CLKSTP对应的是时钟相位,即CPHA。
CLKSTP位同时也是使能SPI功能的一个位,控制的是时钟停止模式的使能和禁用,这个功能开启时,McBSP兼容SPI。当CLKSTP=0或CLKSTP=1时,禁用SPI功能,CLKSTP=2或CLKSTP=3时,使能McBSP的SPI功能,时钟停止模式开启。CLKSTP=2时,在数据传输时时钟立即开启,相当于数据采样从第一个时钟边沿开启。CLKSTP=3时,时钟延迟半个周期,即数据采样从第二个时钟边沿开启。
CLKXP表示数据发送的时钟极性,CLKXP=0,发送的数据在时钟的上升沿采样,CLKXP=1,发送数据在时钟下降沿采样。时钟为CLKX。同时也决定着传输空闲时间的高低电平,即时钟极性。
CLKRP表示数据接收的时钟极性,CLKRP=0,接收的数据在时钟的下降沿采样,CLKRP=1,接收数据在时钟上升沿采样。时钟为CLKR。如下表所示。
这三位相互搭配,就会产生不同的时序。
3.传输波特率的设定
CLKGDV决定,是一个CLKG的分频数值,从0到255.
4.如何配置成SPI模式
通过CLKSTP、CLKXP和CLKRP来配置时钟的极性和延时的SPI兼容模式。
5.主机从机的配置
CLKXM=1,为主机,CLKXM=0为从机。
- DSP28335学习笔记——McBSP配置为SPI
- MCBSP配置SPI
- DSP学习总结——McBSP
- DSP28335学习笔记1
- DSP28335— DELAY_US总结
- DSP28335 SPI的使用
- STM32 学习笔记--SPI通信配置
- MCBSP 回环配置实例
- mcbsp
- McBSP
- Dubbo 源码学习笔记 —— SPI的机制体现
- DSP28335研发笔记
- DSP28335研发笔记
- DSP28335的一些笔记
- DSP28335笔记--SCI篇
- DSP28335—CMD解读(1)
- DSP28335—CMD文件解读(2)
- STM32 SPI学习笔记!
- IIS 互联网信息服务(Internet Information Server)
- angular2的服务
- 【Leetcode】523. Continuous Subarray Sum
- Mysql
- Codeforces Round #412 A. Is it rated?
- DSP28335学习笔记——McBSP配置为SPI
- val和attr和prop获取数据中的区别
- android简单的加壳流程
- 学习笔记: 源码 solver.cpp 初访
- 【枚举】洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
- Android开发ViewDragHelper打造不一样的recyclerview
- 解决高德地图key与sha1不匹配或MD5安全码未通过问题
- 杭电4801 PocKet Cube DFS
- java 获取路径的各种方法