热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

BlackfinDSP(七):用SPORT口模拟SPI

1.问题的提出当系统从SPIdevice启动时,若SCLK133M,则SPI的最大速度为33M。然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为

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的时序关系。

 


推荐阅读
author-avatar
雨水-_-打湿我的脸_950
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有