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.

[参考译文] CCS/TMS320F2.8335万:SD卡使用带有FAT32文件系统的SPI模式与TMS320F2.8335万连接。

Guru**** 2540720 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621258/ccs-tms320f28335-sd-card-interfacing-with-tms320f28335-using-spi-mode-with-fat32-file-system

部件号:TMS320F2.8335万
主题中讨论的其他部件:controlSUITEC2000WARE

工具/软件:Code Composer Studio

您好,

我正在尝试使用2.8335万 Delfino TI微控制器在SD卡上实施FAT文件系统。 我使用 过http://www-s.ti.com/sc/techlit/spraao7.zip中的FAT文件库 ,但SD卡未正确初始化。 我还想知道如何在SD卡中创建文本文件并将数据写入其中。 有什么建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我写这封信是为了让您知道,一位C2000小组成员已被指派担任此职位。 我们将尽力解答您的疑问。 但是,由于我们的其中一个站点受到恶劣天气的影响,因此可能会延迟响应。

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

    本论坛就上述议题进行了许多讨论。 您只需在论坛中搜索解决方案即可。 下面是其中一个线程:
    e2e.ti.com/.../13.7077万

    此外,您还可以在此处包括FATFS库:
    C:\ti\controlSUITE\DEVICE_SUPPORT\f2806x\v151\Mware\thirit_parti\fatfs

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

    我创建了一个项目文件,并将其与 www-s.ti.com/.../spraao7.zip中提供 的所有文件链接在一起。 但程序只在一个条件下继续移动。

    void sd_initialization()函数

    CS_LOW; //拉CS LOW
    DATA_WAT计= FALSE; //注册操作函数

    //向具有CS低电平的卡发送“进入空闲状态”命令,以选择SPI模式
    //并将卡置于空闲模式。
    SPI_xmit_command (GO怠速状态,Stuff位,initial_CRC);

    reset_response; //重置响应
    while (response != in_idle_State) //等待直到卡以空闲响应***** (卡未进入空闲状态)
    sd_command_respons();

    以上代码调用低于功能—


    void sd_command_respons()

    UINT16 I;

    reset_response; //重置响应

    //此回路连续传输0xFF,以便接收来自卡的响应。
    //该卡应返回00或01,表示它处于空闲状态或
    //它已完成初始化(成功)。 如果收到任何其他信息
    //0x00,0x01或0xFF,则出现错误。
    对于(i=0;i<8;i++)

    响应= SPI_xmit_byte(dumy_data);
    //如果响应为0x00或0x01,则从循环中断
    如果((response == in_idle_State)||(response == success ))
    中断;
    //如果对SD_ERROR的响应不是0x00,0x01或0xFF分支
    否则,如果(response != dummy_data)
    sd_error();
    }
    }


    我总是得到"响应=成功"。 因此,程序总是被吸入初始化的这一部分。 上述程序将数据写入SD卡扇区,而不是FAT文件系统中的数据。


    后来,我尝试从ELM-CHAN的网站( MMC-C28x.c )实施另一个程序,使用FAT文件系统创建文件系统。 也没有执行f_open命令。

    SPI工作正常,但我没有从卡中得到正确的响应。

    此致,
    Tanuj
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您想在C2000Ware中查找带有FatFS示例的SD卡(它也在controlSUITE中,但C2000Ware版本具有关键的错误修复),我们确实为F2837xD提供了带有FatFS示例的SD卡。 它可能需要一点移植,因为它适用于不同的设备,但它可以帮助查看它。

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

    您提到的示例甚至不是使用SPI在SD卡中读取或写入数据。 它只是使用UART在控制台上显示一些注释。

    我希望在我已经开发的代码中获得一些帮助。 SPI工作正常。 但是,在卡执行chk_mount函数后,我无法从卡中获得任何FR_OK结果。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    UART应提供与SD卡交互的接口。 如果深入 研究代码,您应该会看到一些带有基本SPI实现的FatFS文件IO函数。

    我的想法不一定是您需要用此示例代码替换现有代码,而是希望知道此代码是否对您有效,这样我们就可以排除您的卡,硬件设置等问题。

    Whitney

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

    您好,Whitney,

    感谢您的回复。 我使用TMS3202.8377万s试用了该程序。 它本应该起作用的。 但无法正常工作的原因可能是不同的硬件设置或与SD卡的通信模式不同。

    我找到了带有SPI命令的基础文件,但找不到调用它们的代码部分。 代码中也不存在SPI模式初始化。 可能是使用SD模式的数据通信。 这就是为什么它有点不同。

    我正在使用CATALEX制造的SD卡模块(. ) ,可直接用于与SD卡的SPI引脚连接。 在初始化过程中,我提供了290 kHz的SPI时钟频率,在通信过程中,通过调整波特率,将其提高到1.2 MHz。 这仅由fatfs系统推荐。 请查看硬件示意图并告诉我是否缺少了一些东西。

    谢谢!

    Tanuj