BF533的SPORT接口
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 = 8;
// 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 = 7;
// 发送使能
*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 = 8;
// sync require, external FS used, external rclk used
*pSPORT1_RCR1 = LARFS|LRFS|RFSR;
// 8 bit word length
*pSPORT1_RCR2 = 7;
*pSPORT1_RCR1 = (*pSPORT1_RCR1 | RSPEN);//使能SPORT1接收
}
3)发送数据:
*pSPORT1_TX16 =d;
while((*pSPORT1_STAT&0x0040)!=0x0040); /*等待上一次发送完成 */
4)接收数据:
while(!(*pSPORT1_STAT & RXNE));//查看SPI传输状态是否有数据需要接收
i = *pSPORT1_RX16; //读取数据
BF533的SPORT接口的更多相关文章
- Blackfin DSP(六):BF533的SPORT接口
1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCLK/2.最大支持32bit字 ...
- 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(八):1D DMA与音频处理模板
1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Bl ...
- Blackfin DSP(七):用SPORT口模拟SPI
1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...
- Lock接口
Lock与synchronized Lock和synchronized在功能上是一样的.不过Lock提供了一些其他功能,包括定时的锁等待.可中断的锁等待.公平性,以及实现非块结构的加锁. 从性能上Lo ...
- 为elasticSearch开发c++接口
一. ElasticSearch是什么 ElasticSearch是目前开源全文搜索引擎的首选,可以快速存储,搜索和分析海量数据.Stack Overflow,Github等都在使用. Elas ...
- IIS服务器环境下某路径下所有PHP接口无法运行报500.19错误
IIS服务器环境下某路径(文件夹)下所有PHP接口无法运行报500.19错误 环境:IIS8.5 + php7.2.1 错误描述:某目录下(如 d:\web\A)所有php接口文档运行错误,接口测试工 ...
- 12月18日风险投资速递:Facebook收购实时体育数据提供商Sport Stream
国内公司 1.手游公司成都掌沃无限获得近千万元天使投资 成都掌沃无限成立于2013年,是一家新成立的手机游戏开发商,创始人及CEO张涛拥有超过10年的游戏行业从业经验和连续创业经历,其首款游戏产品为& ...
随机推荐
- crawler_网络爬虫之数据分析_httpwatcher
所谓爬虫,首先要通过各种手段爬取到想要站点的数据. web2.0之后,各种网络站点类型越来越多,早期的站点多为静态页面[html .htm],后来逐步加入 jsp.asp,等交互性强的页面.再后来随着 ...
- crawler_爬虫开发的准备工作【工具】
俗话说工欲善其事必先利其器,做java网络爬虫开发分析网页的分析工具,抓包工具比不可少,一下是个人常用的几个工具. 1.firefox低版本是为了支持httpwather , ie各个版本都支持htt ...
- css3简单几步画一个乾坤图
原文:[原创]css3简单几步画一个乾坤图 效果如上,鼠标移上去会有动画. 代码如下非常简单: <html> <head> <style> .outer{heigh ...
- CSharp设计模式读书笔记(20):观察者模式(学习难度:★★★☆☆,使用频率:★★★★★)
观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新.观察者模式的别名包括发布-订阅(Publish/ ...
- C#随机双色球
using System; using System.Collections.Generic; namespace ConsoleApplicationRandnumber { class Progr ...
- google code 上源码的下载方法
SVN全称是Subversion,是Apache的一个子项目 ,具体能够到SVN中文站(http://www.subversion.org.cn/)去了解下.Google Code是Google的一个 ...
- Swift 制作一个新闻通知中心插件1
使用 Swift 制作一个新闻通知中心插件(1) 随着 iOS 8 的发布,苹果为开发者们开放了很多新的 API,而在这些开放的接口中 通知中心插件 无疑是最显眼的一个.通知中心就不用过多介绍了,相信 ...
- 笔试题&面试题:CW输出矩阵
称号:CW输出矩阵(N*N). 如果一个矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 那么程序应该给出的输出为:1 2 3 4 8 1 ...
- 分享UI设计模型
UI设计模型是可重用的界面设计解决方案,可以让开发人员少走弯路,节约不少开发时间.下面慧都小编跟大家分享6个很有用的UI设计模型资源,希望对你有用: 1.UI Patterns 由一个丹麦人开发的UI ...
- orcale复制表结构及其数据
http://hi.baidu.com/tag/Oracle/feeds http://hi.baidu.com/gqftuisidibabiq/item/14d306cc87cbdf45bcef69 ...