DSP28335学习笔记——McBSP配置为SPI
2017-05-08 11:05
344 查看
由于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为从机。
参考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之SPI配置与使用总结
- CCS3.3下DSP28335的软件仿真器配置笔记
- DSP28335学习笔记1
- spring学习笔记(23)基于tx/aop配置切面增强事务
- 【学习笔记】coreseek(sphinx)搜索引擎的安装及简单配置
- Redis学习笔记02--主从数据库配置
- vue学习笔记5——路由相关配置,引入其他插件等
- ROS学习笔记二:ubuntu软件源配置(二)
- 转学习笔记:Caffe上配置和运行MNIST
- Espresso学习笔记一:Espresso的安装与配置
- 学习笔记(三)HttpServlet中路径配置相关
- OpenCV学习笔记一 OpenCV 2.49 + Eclipse 配置教程
- OpenCV学习笔记——OpenCV3.1.0+VS2015开发环境配置
- Spring学习笔记三: 通过注解配置Bean
- 汇编学习笔记(二)-- 配置编辑器
- [学习笔记]如何在Eclipse上配置LaTeX
- stm32寄存器版学习笔记10 SPI
- Java学习笔记---1.Java发展及JDK配置
- 学习ServiceMix笔记(五) 学习ServiceMix的blueprint配置
- 学习笔记(二)ubuntu16.04下Qt+opencv的安装配置及使用