工具与软件:
我正在尝试通过 SPI 与外部闪存器件 Infineon S25FL512S 进行连接。
我曾提及 S25FL512S 数据表(https://www.digikey.com/en/htmldatasheets/production/1207771/0/0/1/s25fl512s)和 TMS320F2837xD TRM SPI 第18部分。 但是、我的所有命令都返回全部0xFF。 我将 示波器连接到 LaunchPad 的 J5引脚47 (应映射到 GPIO65、用于 SPICLKB)和接地、 然后我看到时钟信号断开。
我已经基于"spi_ex6_eeproM"创建了一个简单项目。 该编译器具有一个主循环、可向闪存器件发送 RDID 命令以读取其制造商和器件标识。
我指定了正确的 SPI 配置设置:
SPI_disableModule(SPIB_BASE);
SPI_setConfig(SPIB_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL0PHA1, // Rising edge with delay
SPI_MODE_CONTROLLER, 1000000, 8); // bitRate = 1 MHz
SPI_setPTESignalPolarity(SPIB_BASE, SPI_PTE_ACTIVE_LOW);
SPI_disableFIFO(SPIB_BASE);
SPI_disableLoopback(SPIB_BASE);
SPI_setEmulationMode(SPIB_BASE, SPI_EMULATION_STOP_MIDWAY);
SPI_enableModule(SPIB_BASE);
我已经三次检查 LaunchPad 上连接了正确的 GPIO 引脚:
GPIO63 = SPISIMOB = LaunchPad 引脚55
GPIO64 = SPISOMIB = LaunchPad 引脚54
GPIO65 = SPICLKB = LaunchPad 引脚47.
GPIO66 = SPISTEB = LaunchPad 引脚59
(包括3.3V 和接地)。
非常感谢您提供任何建议。
谢谢!
Diane