F28M35通过FPGA接口到EEPROM(AT25256B),利用SSI读写,想咨询大家一下:
SSIOFss SSIORx SSIOCLK SSIOTx是DSP信号脚连接到FPGA,ROMSIMO和ROMSOMI是25256输入输出脚连接到FPGA,在FPGA内连接DSP和25256信号
现DSP通过SSIDataPut()函数读25256的状态寄存器,同时写一个0x00提供时钟让25256把数据放在SO上,观察返回数据,读状态寄存器语句如下:
mSSI_CS_Low() //CS拉低
SSIDataPut(SSI0_BASE, 0x05);
delay_us(20);
SSIDataPut(SSI0_BASE, 0x00);
delay_us(20);
while(SSIBusy(SSI0_BASE)){}
SSIDataGetNonBlocking(SSI0_BASE, &SSIget[0]);
mSSI_CS_High() //CS拉高
FPGA内观察信号如下:
可见SSIORx管脚上的确收到了25256的状态寄存器数据0x02(写enable),但用SSIDataGetNonBlocking()读到的数据却不是0x02。
请问是读语句有问题还是配置有问题?SSI配置是仿照ControlSuite的m3例程loopback配置的
望指教。感谢!