1.特性

  bf533有两个SPORT口(synchronous serial Port),即同步串行接口。完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCLK/2。最大支持32bit字长,可进行硬件u-law和A-law压缩。结构框图如下:

2.接口信号说明

3.串行时钟T/RCLK

  由SPORTx_TCLKDIV和SPORTx_RCLKDIV两个16位寄存器决定分频的值,假设系统时钟为SCLK,则串行时钟的计算公式为:

  

例如,SCLK=133MHz,RCLKDIV = 4时,得到的RCLK freq = 133/(2*(4+1))=13.3MHz。

4.帧同步信号T/RFS

  帧同步信号的分频是由SPORTx_TFSDIV和SPORTx_RFSDIV寄存器的值决定的,计算公式如下:

  

  注意到,帧同步信号的频率是对串行时钟频率的分频,而不是对系统时钟SCLK的分频,因此,在相邻的两个帧同步信号之间,有(T/RFSDIV+1)个串行位时钟,看下图的说明:

                        图 1 :

  因此,我通常并不计算T/RFS信号的频率,而是把它理解为Number of transmit clock cycles counted before generatingTFS pulse,该值就等于T/RFSDIV+1.图中所示TFSDIV = 8,8+1 = 9 > 8因此两个字节的数据之间有一个bit的无关位。

5. 工作模式

  1)提前帧同步和延迟帧同步

    提前同步模式,帧同步信号比数据早一个串行时钟周期。

    

  2)有帧模式和无帧模式

    有帧模式:对于每一个字,都需要一个帧信号;

    无帧模式:在第一个字传送后,忽视帧信号,但是帧信号是一直按照我们的设置继续产生的,只不过被忽视了;

    

5.程序实例与讲解:

1)发送端设置:

void Init_Sport1_TX(int TCLKDIV)
{ //SPORTx_TCLK frequency = (SCLK frequency)/(2 x (SPORTx_TCLKDIV + 1))
*pSPORT1_TCLKDIV = TCLKDIV;
//the number of cycles between frame sync pulses
*pSPORT1_TFSDIV = ;
// driving data with rising edge,late frame sync,active low
//sync require, inter FS used, internal tclk used
*pSPORT1_TCR1 = LATFS|LTFS|TFSR|ITFS| ITCLK;
// 8 bit word length
*pSPORT1_TCR2 = ;
// 发送使能
*pSPORT1_TCR1 = (*pSPORT1_TCR1 | TSPEN);
}

按照该程序设置,可以得到图1所示的波形。

2)接收端设置:

一般情况下,接收端的设置和发送端一致,只不过接收端一般使用发送端的帧同步信号FS和位时钟SCLK所以配置为external FS和external SCLK

void Init_Sport1_RX(int RCLKDIV)
{
//SPORTx_RCLK frequency = (SCLK frequency)/(2 x (SPORTx_RCLKDIV + 1))
*pSPORT1_RCLKDIV = RCLKDIV;
//the number of cycles between frame sync pulses
*pSPORT1_RFSDIV = ;
// sync require, external FS used, external rclk used
*pSPORT1_RCR1 = LARFS|LRFS|RFSR;
// 8 bit word length
*pSPORT1_RCR2 = ;
*pSPORT1_RCR1 = (*pSPORT1_RCR1 | RSPEN);//使能SPORT1接收
}

3)发送数据:

 *pSPORT1_TX16 =d;
while((*pSPORT1_STAT&0x0040)!=0x0040); /*等待上一次发送完成 */

4)接收数据:

while(!(*pSPORT1_STAT & RXNE));//查看SPI传输状态是否有数据需要接收
i = *pSPORT1_RX16; //读取数据
												

Blackfin DSP(六):BF533的SPORT接口的更多相关文章

  1. BF533的SPORT接口

    BF533的SPORT接口 1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCL ...

  2. Blackfin DSP(七):用SPORT口模拟SPI

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

  3. Blackfin DSP(八):1D DMA与音频处理模板

    1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Bl ...

  4. Blackfin DSP(二):寄存器操作与GPIO

    BlackfinDSP的寄存器是通过指针操作的,与51.ARM等MCU一样,通过“或”操作来置1,通过“与”操作清零. 在DSP上最简单的外设非IO口莫属,但是由于其功能强大,远非一般IO口可比,因此 ...

  5. “全栈2019”Java第六十三章:接口与抽象方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. Blackfin DSP(三):BF533 的EBIU接口之flash

    上一节谈了GPIO问题,是用BF561 ezkit进行说明的,这是因为561 ezkit上的GPIO是与LED直连的,讲解GPIO时不会涉及到其它问题,降低了复杂性.对于533,也采取同样的操作即可. ...

  7. Blackfin DSP(五):BF533的SPI接口

    533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...

  8. Blackfin DSP(四):BF533 EBIU之SDRAM

    BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...

  9. Blackfin DSP(八):BF533的DMA

    #include <cdefBF533.h> #include <sys\exception.h> #define POLC 0x00004000 #define PORT_C ...

随机推荐

  1. pycharm 使用小结

    1.pycharm 自动换行,显示行号,缩进向导 在代码右侧右键 2.自动注释/取消注释 ctrl + /

  2. Codeforces Round #380 (Div. 2) 解题报告

    第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...

  3. JAVA 泛型与通配符的使用

    泛型的本质是参数化类型.即所操作的数据类型被指定为一个参数. 1.jdk 1.5/1.6 必须显式的写出泛型的类型. 2.jdk 1.7/1.8 不必显式的写出泛型的类型. 一.泛型声明 可以用< ...

  4. JavaScript本地对象 内置对象 宿主对象

          在ECMAScript中,所有对象并非同等创建的. 一般来说,可以创建并使用的对象有3种:本地对象.内置对象和宿主对象. 1. 本地对象 ECMA-262把本地对象(native obje ...

  5. iOS移动下上传图片失败解决 (上传多图,带其他参数)

    项目中有一个主要的功能,就是上传图片,结结果移动真的是很奇怪,WiFi,联通,电信都没有问题的情况下,居然在移动下不行,真的是很头疼.不过好在最后是解决了 项目的网络请求我是采用ASIHttpRequ ...

  6. jboss入门学习1

    环境准备 win8 jdk1.6 jboss4.0.5 oracle10g 修改jboss默认端口 server/default/conf/jboss-service.xml 1.WebService ...

  7. Jmeter—7 测试中使用到的定时器和逻辑控制器

    1 测试中提交数据有延时1min,所以查询数据是否提交成功要设置定时器. 固定定时器页面:单位是毫秒 [dinghanhua] 2 集合点.Synchronizing Timer 集合点编辑:集合用户 ...

  8. Excel 2007 批量删除隐藏的文本框[转]

    该方法取自百度知道,该朋友给出函数,我详细写一下方法. 打开有文本框的excel文件. 按 Alt+F11 打开编辑器. 将下面的函数复制进去: Sub deltxbox()Dim s As Shap ...

  9. SVG 2D入门12 - SVG DOM

    使用脚本可以很方便的完成各种复杂的任务,也是完成动画和交互的一种主流方式.由于SVG是html的元素,所以支持普通的DOM操作,又由于SVG本质上是xml文档,所以也有一种特殊的DOM操作,大多称之为 ...

  10. 隐匿在iOS文件系统中的隐私信息

    说明: . 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用. . “这些都不是我干的,我就负责说出来.” . 图片仅供参考. . 本文所讨论的内容适用于iOS .4环境,其应用程 ...