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

  • 相关阅读:
    my ReadBook_dianzishangwu / 2020216 / dianzishangwuwuliu
    my ReadBook_shichangyingxiao / 2020208
    C#编写的clock
    Java建立JProgressBar
    java基本类型byte的取值范围
    正则表达式整理大全
    (C#)如何利用Graphics画出一幅图表
    设置鼠标可以移动窗体
    Java编程提高性能的26个方法
    数据加密工具设计经验
  • 原文地址:https://www.cnblogs.com/fengf1/p/9226776.html
Copyright © 2011-2022 走看看