Thread 中讨论的其他器件: SysConfig
尊敬的 TI 团队:
我正在将 ENC28J60以太网模块与 TMS320F28379D 连接,但我们在 SPI 通信中遇到问题,我的 MOSI 引脚信号不正确,我在 DSO 上看到。 我已附上我的代码文件,请检查 SPI 通信问题并帮助我解决。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 TI 团队:
我正在将 ENC28J60以太网模块与 TMS320F28379D 连接,但我们在 SPI 通信中遇到问题,我的 MOSI 引脚信号不正确,我在 DSO 上看到。 我已附上我的代码文件,请检查 SPI 通信问题并帮助我解决。
您好、Atul、
[引用 userid="491206" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1019666/tms320f28379d-tms320f28379d-controller-interfacing-with-enc28j60-issue-spi-communication ]DSO 上的 MOSI 引脚信号不正确。[/quot]您能不能描述什么不适合该信号? 它是否以不同的波特率发送正确的数据? 它是否根本不发送数据? 数据是否与您期望的不符?
作为调试的第一步、我将启用内部回送、并查看您是否可以接收到正在传输的正确数据。
此致、
Marlyn
您好、Atul、
由于依赖关系、我无法打开您的项目、但我查看了各个文件。 SysConfig 文件与 board.c 文件具有不同的配置。 查看 board.c 文件、我发现了以下内容:
void SPI_init() { //mySPI0 initialization SPI_disableModule(mySPI0_BASE); SPI_setConfig(mySPI0_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL0PHA1, SPI_MODE_MASTER, 8000000, 8); SPI_enableFIFO(mySPI0_BASE); SPI_setFIFOInterruptLevel(mySPI0_BASE, SPI_FIFO_TXEMPTY, SPI_FIFO_RXEMPTY); SPI_disableLoopback(mySPI0_BASE); SPI_setEmulationMode(mySPI0_BASE, SPI_EMULATION_STOP_AFTER_TRANSMIT); SPI_enableModule(mySPI0_BASE); }
在此过程中、您将配置 FIFO、但在 empty_sysconfig/main.c 文件中不使用 FIFO、因此如果是这样、我会禁用 FIFO。 您设置的配置适用于时钟相位为1的主器件、对应于以下时序图(来自数据表)。 这是您观察到的吗?
最后、SysConfig 文件的 STE 极性为高电平有效、但根据上面的图、它看起来需要为低电平有效(正常)。
此致、
Marlyn
不是 MISO,MOSI 线路为零。