您好,我在使用SDIO例程进行SDIO主从通信时遇到了困难,希望可以获得您的帮助

feifei
Posts: 4
Joined: Mon Nov 20, 2023 8:00 am

您好,我在使用SDIO例程进行SDIO主从通信时遇到了困难,希望可以获得您的帮助

Postby feifei » Wed Dec 06, 2023 9:38 am

您好,我需要做的是,使用一个ESP32做SDIO主机,另一个ESP32做SDIO从机,主机和从机之间进行通信。我使用的是官方的例程(4.3版本和5.1版本的都使用过)都不可以使其工作。我已经在从机的CMD,D0-D3上加了10K的上拉电阻至3.3V,并且改写了从机的efuse,但仍然无法工作。我使用示波器查看主机的引脚波形,发现只有CLK有时钟波形且有些干扰,其他的引脚都没有波形。在尝试主机和从机通信时,从机端串口打印slave ready,主机端出现许多不一样的错误。
sdmmc_io: sdmmc_io_reset: unexpected return: 0x108
sdmmc_req: process_command_response: error 0x107 (status=00000100)
这些错误之类的,甚至还出现了看门狗错误。我需要您的帮助,如果可以的话,可以回复一下我嘛,被困扰了许久了,万分感谢!

sjhuang
Posts: 9
Joined: Fri Sep 20, 2024 8:30 am

Re: 您好,我在使用SDIO例程进行SDIO主从通信时遇到了困难,希望可以获得您的帮助

Postby sjhuang » Fri Sep 20, 2024 8:50 am

类似问题,写到一起了。

我用他们的 S3 当 Master, C6 当slave 一样没有反应。
环境:
pin 连接:
S3 || C6
IO15 CMD 18
IO14 CLK 19
IO2 D0 20
IO4 D1 21
IO12 D2 22
IO13 D3 23

pull up
两种方式都试过:
外接 10K(除了clk)
内置 (sdio_slave_config_t .flags = SDIO_SLAVE_FLAG_INTERNAL_PULLUP,)

代码使用 ESP-IDF V5.3.1 : example/peripherals/sdio/

状况:C6 没有收到包,但是通过其中断 reg,可以看到,Master 发cmd后,变为:
slc->slc0int_raw. 210000 => 2210000
slc0int_st = 0
slc0int_ena = 240ff


slc0int_raw 新增加的 25bit 是其内部保留:

Code: Select all

/** cmd_dtc_int_raw : R/WTC/SS; bitpos: [25]; default: 0;
         *  reserved
         */
        uint32_t cmd_dtc_int_raw:1;
看有没有熟悉的人给方案。

Who is online

Users browsing this forum: No registered users and 82 guests