Blackfin DSP(六):BF533的SPORT接口
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接口的更多相关文章
- BF533的SPORT接口
BF533的SPORT接口 1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCL ...
- Blackfin DSP(七):用SPORT口模拟SPI
1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...
- Blackfin DSP(八):1D DMA与音频处理模板
1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Bl ...
- Blackfin DSP(二):寄存器操作与GPIO
BlackfinDSP的寄存器是通过指针操作的,与51.ARM等MCU一样,通过“或”操作来置1,通过“与”操作清零. 在DSP上最简单的外设非IO口莫属,但是由于其功能强大,远非一般IO口可比,因此 ...
- “全栈2019”Java第六十三章:接口与抽象方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Blackfin DSP(三):BF533 的EBIU接口之flash
上一节谈了GPIO问题,是用BF561 ezkit进行说明的,这是因为561 ezkit上的GPIO是与LED直连的,讲解GPIO时不会涉及到其它问题,降低了复杂性.对于533,也采取同样的操作即可. ...
- Blackfin DSP(五):BF533的SPI接口
533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...
- Blackfin DSP(四):BF533 EBIU之SDRAM
BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...
- Blackfin DSP(八):BF533的DMA
#include <cdefBF533.h> #include <sys\exception.h> #define POLC 0x00004000 #define PORT_C ...
随机推荐
- NOIP2014感想
NOIP2014转眼就结束了,让人不由感慨时间之快,仿佛几天前还是暑假,几天后就已经坐在考场里了. 从暑假8月开始写博客,发了一些解题报告什么的,但这篇文章不再会是“题目大意 & 解题过程 & ...
- launch文件
launch在ROS应用中,每个节点通常有许多参数需要设置,为了方便高效操作多个节点,可以编写launch文件,然后用roslaunch命令运行roslaunch: roslaunch [option ...
- 黑马程序员——OC语言 其他语法
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)ARC的判断准则:只要没有强指针指向对象,就会释放对象 1.ARC特 ...
- 关于servlet的filter
Servlet过滤器 2009-12-08 23:12:44| 分类: Java|举报|字号 订阅 一.什么是Servlet过滤器 过滤器是在数据交互之间过滤数据的中间组件,独立于任何平台或 ...
- zip函数
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个包含元组的列表. x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) ...
- segues的类型
Name Interface Builder symbol Description Show Present the content in the detail or master area depe ...
- 动手实现自己的 STL 容器 《1》---- vector
本文参考了侯捷的 <STL 源码分析>一书,出于兴趣,自行实现了简单的 vector 容器. 之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出. vector ...
- Unity Sprite转Prefab
新项目使用Unity5.X,遇到了一些问题,其中就有Sprite的管理更新问题,查了一些资料,Mono推荐的是转为Prefab处理. 看了一些国外同行的处理方法,分析了一个编辑器插件脚本.学到了一些技 ...
- LNMP安装一键安装包
系统需求: CentOS/Debian/Ubuntu Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统) VPS或服务器必须已经 ...
- 对于unallocated space的翻译 我想说几句话
在sqlserver中,当我们使用sp_spaceused查看数据库空间使用情况的时候 会看到属性unallocated space.所有的中文翻译都是“未保留供数据库对象使用的数据库空间”, 作为中 ...