>
首页 » 业界动态 » BF533与PowerPC SPI通信调试心得

BF533与PowerPC SPI通信调试心得

作者:  时间:2007-11-03 09:12  来源:

一、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设为从机。

相关推荐

Maxim推出集成振荡器的微型SPI/I²C UART

Maxim  SPI  I²C  UART  2010-01-18

德州仪器全新8通道高压双极DAC系列满足低功耗应用需求

2009-12-11

Linear推出可选250sps/1ksps的16位ADC

2009-12-07

德州仪器推出业界首款带电池充电功能的无源低频接口

2009-11-13

机顶盒制造商选择Spansion MirrorBit® SPI Multi-I/O闪存简化设计降低成本

低成本 UHF器件助力汽车门禁低功耗和远控

2009-10-15
在线研讨会
焦点