zoukankan      html  css  js  c++  java
  • DSP28335学习笔记——McBSP配置为SPI

    由于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为从机。

  • 相关阅读:
    Java总结篇系列:Java多线程(一)
    path方法总结
    Ember模板中的操作指向
    EmberJS路由详解
    观察器observes与对象初始化
    emberjs重写补充类之reopen方法和reopenClass方法
    emberjs创建类
    2014Ember带来怎样的变化?
    创建应用和模型和控制器
    自定义指令
  • 原文地址:https://www.cnblogs.com/fengf1/p/9226776.html
Copyright © 2011-2022 走看看