在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 4268|回复: 1

[资料] Blackfin入门教程 SPORT

[复制链接]
发表于 2013-10-30 11:24:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
ADSP-BF53x上有两个SPORT口,SPORT(synchronous serial ports)接口是ADSP-BF53x上速度最快的串口,其速度可以达到系统时钟的1/2, 每一个SPORT口有两根接收数据线和两根传输数据线,支持全双工模式传输。

  SPORT接口通常用做一些高速的数据传输,它支持I2S模式,通常将SPORT接口连接音频的编解码器芯片,作为音频数据输出接口。

  SPORT时钟频率配置: SPORTx_TCLK frequency = (SCLK frequency)/(2 x (SPORTx_TCLKDIV + 1)) <?XML:NAMESPACE PREFIX = O /> SPORTx_RCLK frequency = (SCLK frequency)/(2 x (SPORTx_RCLKDIV + 1)) SPORT同步信号频率配置:

  SPORTxTFS frequency = (TSCLKx frequency)/(SPORTx_TFSDIV + 1)

  SPORTxRFS frequency = (RSCLKx frequency)/(SPORTx_RFSDIV + 1) <?XML:NAMESPACE PREFIX = V /> 寄存器 功能 SPORTx_TX_CONFIG SPORTx传输配置寄存器 SPORTx_RX_CONFIG SPORTx传输配置寄存器 SPORTx_TX SPORTx传输寄存器 SPORTx_RX SPORTx接收寄存器 SPORTx_TSCLKDIV SPORTx传输时钟配置寄存器 SPORTx_RSCLKDIV SPORTx接收时钟配置寄存器 SPORTx_TFSDIV SPORTx传输同步信号配置寄存器 SPORTx_RFSDIV SPORTx接收同步信号配置寄存器 SPORTx_STAT SPORTx状态寄存器 *pSPORT0_TCLKDIV = TCLKDIV; //配置SPORT传输接口的时钟频率

  *pSPORT0_TFSDIV = TFSDIV; //配置SPORT传输接口的同步频率

  *pSPORT0_TCR1 = ITFS|TFSR|ITCLK;//配置SPORT传输工作模式

  *pSPORT0_TCR2 = 31; //配置SPORT以32Bit数据传输

  *pDMA2_PERIPHERAL_MAP = 0x2000; //设置SPORT传输接口DMA

  *pDMA2_CONFIG = WDSIZE_32 | DI_EN |FLOW_1; //设置DMA工作模式

  *pDMA2_START_ADDR = (void *)iTxBuffer; //设置DMA 传输数据起始地址

  *pDMA2_X_COUNT = 1000; //设置DMA传输次数

  *pDMA2_X_MODIFY = 4; //设置DMA每次地址增量变化

  *pDMA2_CONFIG = (*pDMA2_CONFIG | DMAEN); //使能传输DMA

  *pSPORT0_TCR1 = (*pSPORT0_TCR1 | TSPEN); //使能传输SPORT

  *pSIC_IAR0 = 0xffffffff;

  *pSIC_IAR1 = 0xfffff<?研发项目管理XML:NAMESPACE PREFIX = ST1 /><?xml:namespace prefix = st1 />32f; //配置SPORT DMA中断等级

  *pSIC_IAR2 = 0xffffffff;

  register_handler(ik_ivg9, Sport0_RX_ISR); //注册接收中断

  register_handler(ik_ivg10, Sport0_TX_ISR); //注册传输中断

  *pSIC_IMASK = 0x00000600; //使能中断

  EX_INTERRUPT_HANDLER(Sport0_TX_ISR) //传输DMA中断函数

  {

  *pDMA2_IRQ_STATUS = 0x0001; //清楚中断标志位

  printf("SPORT TX DMA Done!\n"); //打印信息

  *pSIC_IMASK &= ~0x00000400; //关闭传输中断

  } 代码实现了通过SPORT0接口利用SPORT0 DMA传输数据和接收数据,SPORT接口时钟和同步信号采用内部由系统时钟配置分频获取。

  代码描述了SPORT接口使用DMA传输时常用的配置,没有和其他设备做通讯,所以看不到接收的实际数据。

对于BF60x系列,只能用CCES环境编译,CCES中自带了SPORT驱动,与VDSP环境不同的是,CCES提供的驱动,兼容RTOS;就是说CCES中系统自带的接口驱动是操作系统格式接口的;所以这种方式下的驱动,需要摸索: 如图中的两个merroy,要是独立的;否则,两个HSPORT只能有一个被配置(重复配置);


                               
登录/注册后可看大图
发表于 2013-11-7 09:32:56 | 显示全部楼层
Blackfin在视频领域已经证明失败了吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 01:37 , Processed in 0.018512 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表