![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| BF533与PowerPC SPI通信调试笔记 | |||||
作者:Free 文章来源:本站原创 点击数: 更新时间:2007-10-3 ![]() |
|||||
|
SPI通信调试笔记:
一、SPI硬件连接 这里做BlackFin533兼容SPI口与PowerPC405 CPU的SCP口进行通信,由于PowerPC405 CPU的SCP口不完全兼容SPI,这样我们为了支持两个器件之间的双向通信,在保证数据信号建立时间和保持时间的前提下,牺牲一点传输速度,我们把SPI的时钟信号往后推迟1/4个时钟周期,利用硬件实现,具体实现方案待定!这样,我们的传输速度会有所降低,但是仍然能够保证我们传输码率为3Mbps的影音压缩文件。保守估计,SPI的最高传输速度应该在15Mbps。 BF533的MISO------------PPC 405的SCP_TXD BF533的MOSI------------PPC 405的SCP_RXD BF533的SCK-------------PPC 405的SCP_CLK 时钟延时1/4个时钟周期 BF533的SPISS(PF0)----PPC 405的SCP_ENO_N 二、配置SPI寄存器(BF533) #define TIMOD_T 0x0001 #define TIMOD_R 0x0000 void Drv_Config_slave_read() { *pSPI_CTL = (((*pSPI_CTL)&0xFFFC)|TIMOD_R); } void Drv_config_slave_write() { *pSPI_CTL |= (((*pSPI_CTL)&0xFFFC)|TIMOD_T) |EMISO; } void Drv_Config_master_read() { *pSPI_CTL = (((*pSPI_CTL)&0xFFFC)|TIMOD_R) | EMISO; } void Drv_config_master_write() { *pSPI_CTL |= (((*pSPI_CTL)&0xFFFC)|TIMOD_T); } void Drv_config_to_master() { *pSPI_FLG = FLS1; // Set baud rate SPI_SCK = HCLK/(2*SPIBAUD) SCK *pSPI_BAUD = 2; // configure spi port // 8-bit data, MSB first, SPI Master *pSPI_CTL = MSTR; } void Drv_config_to_slave() { *pSPI_CTL = PSSE; } void Drv_SPI_enable() { *pSPI_CTL |= SPE ; } void Drv_SPI_disable() { *pSPI_CTL &= ~SPE ; } 三、注意事项 为了与PowerPC 405之间正常通信,应该设置SPI_CTL的CPOL为1;在本应用中BF533设为从机。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|