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.

[参考译文] TMDSCNCD28388D:microSD 卡读写问题

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/966979/tmdscncd28388d-microsd-card-read-write-issue

器件型号:TMDSCNCD28388D

您好!

我正在尝试在 microSD 卡中读写。 我已配置 SPI-C、并在  f_open 函数中获取 FR_NOT _READY 错误。

我尝试遵循 f2837xd 示例。 请告诉我发生了什么错误、并帮助我进行故障排除。 如果需要任何信息、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ravi、

    由于美国假期、主题专家下周将不在办公室。 请在1月5日或6日之前回复。 对给您带来的不便深表歉意。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您在我外出时的耐心。 您能否分享您对代码进行了哪些更新以将其移植到 F28388D? 我猜它主要是 GPIO 变化?

    您是否可以访问逻辑分析仪或示波器、或者可用于检查 SPI 信号的器件? 尽管我认为如果您使用板载 micro SD 插槽、这可能会很困难。 不过、您可能可以使用连接到输出 XBAR 的输入 XBAR 将其呈现到可访问引脚。

    惠特尼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    主席先生,

    我要附加我的文件。 我已使用4 GB MicroSD 对 SPI-C 线路进行了更改。 主文件位于 card\port\sd_card.c 中

    除上述情况外、其他变化包括:

    波特率  

    在文件中创建和写入

    很抱歉、我是 microSD 和 FAT 文件系统的初学者、因此我的侧边没有完整的信息。

    我将读取并尝试使用:  连接到输出 XBAR 的输入 XBAR。

    希望我能够充分了解 SD 卡固件更新和 数据记录器功能。  

    e2e.ti.com/.../spi_5F00_test_5F00_0.4.rar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的 GPIO 配置看起来不正确。 对于引脚100-102、MUX 域应为2、GMUX 应为1 (请参阅数据表中的 SPI C 选项如何在第6列中)。 对于 GPIO 103、多路复用器值应为0、因为它应该是 GPIO。

    确保将其修复在 POWER_ON ()和 SEND_INinitial_clock_train ()中。

    惠特尼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    主席先生,

    我尝试了:

    GpioCtrlRegs.GPDMUX1.bit.GPIO100 = 2;//对于 GPIO 100、101、102

    GpioCtrlRegs.GPDMUX1.bit.GPIO103 = 0;//表示 GPIO 103

    GPIO_SetupPinMux (100、0、6); //表示 GPIO 100、101、102

    更改 了 power_on ()、 send_initial_clock_train ()

    但没有改进,得到相同的 FR_NOT_READY 错误。  

    SIR、是否有任何采样可以设置 XBAR 以监控 SPI-C 线路?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您想直接写入多路复用器寄存器、您需要同时写入 GPDMUX1和 GPDGMUX1。 GPIO_SetupPinMux ()函数写入这两个函数,因此该方法至少应该起作用。

    我们没有任何以这种方式使用 XBAR 的示例。 它看起来是这样的(请注意、我自己没有测试过):

    EALLOW;
    
    // XBAR 输入1将从 GPIO100获取其值
    InputXbarRegs.INPUT1SELECT = 100;
    
    //将 OUTPUTXBAR3的 MUX1配置为 INPUTXBAR1
    OutputXbarRegs.OUTPUT3MUX0TO15CFG.bit.MUX1 = 1;
    
    //启用 OUTPUTXBAR3的 MUX 1
    OutputXbarRegs.OUTPUT3MUXENABLE.bit.MUX1 = 1;
    
    EDIS;
    
    // GPIO 14配置为 OUTPUTXBAR3
    GPIO_SetupPinMux (14、0、6); 

    看看这是否使 GPIO100上的 SPI 信号可以在 GPIO14上观察到。 使用 TRM 中的数据表和 XBAR 章节根据需要调整路径。

    惠特尼