zoukankan      html  css  js  c++  java
  • Blackfin DSP(七):用SPORT口模拟SPI

    1.问题的提出

      当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M。然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为SCLK/2=66M

    2.硬件连接方法

      

      SPI接口只有主设备发出SCK信号,因此需要将TSCLK配置为内部产生,RSCLK配置为从外部接收,并在硬件上将它们连接在一起;

      DT1PRI作为MOSI,DR1PRI作为MISO。

      根据帧同步信号的特点,将其作为片选信号,作为SCK的门控因子,指示SCK的有效时段。

    3.配置方法

      

    void Init_SPORT1( void )  /* 由于使用SPI读写时序,所以进行初始化 */
    {
        ////////////////发送配置//////////////
        *pSPORT1_TCR1 =  TCKFE|LATFS|LTFS|TFSR|ITFS|ITCLK;
        *pSPORT1_TCR2        = 0x0007;  
        /*8位字长,正常模式*/
        
        ////////////////接收配置//////////////
        *pSPORT1_RCR1        = RCKFE|LARFS|LRFS|RFSR;
        /*rising edge采样、延迟帧同步、低电平有效、需要帧同步、外部帧同步源、外部位时钟、MSB first、禁止接收*/
        *pSPORT1_RCR2        = 0x0007;
        /*8位字长、正常模式*/
        
       /////////////发送位时钟频率设置////////
        *pSPORT1_TCLKDIV      = 0x0003;                                 // TCLK = SCLK/8; 
        *pSPORT1_TFSDIV        = 0x0008;                                 
        
        *pSPORT1_TCR1     = (*pSPORT1_TCR1 | TSPEN);
        *pSPORT1_RCR1    = (*pSPORT1_RCR1 | RSPEN); //使能SPORT1接收
        
    }

    按照如上的配置,理论上可以产生的波形如下:

    示波器实测:

            

    从图可以看出,波形的时序关系正好符合SPI的时序关系。

  • 相关阅读:
    C# 利用TTS实现文本转语音
    Windows10提示“没有权限使用网络资源”的解决方案
    INSPIRED启示录 读书笔记
    INSPIRED启示录 读书笔记
    phpfpm的配置
    session 的工作原理
    MySQL 事务
    Redis各种数据类型的使用场景
    JavaScript 和Ajax跨域问题
    如何做URL静态化 和页面的静态化
  • 原文地址:https://www.cnblogs.com/BitArt/p/3292852.html
Copyright © 2011-2022 走看看