ESP32 CIU软件限制与操作指南

需积分: 41 129 下载量 68 浏览量 更新于2024-08-09 收藏 8.14MB PDF 举报
"ESP32技术参考手册,CIU操作的软件限制-genie使用手册(2020版)" 在ESP32芯片的CIU(Card Interface Unit)操作中,存在一些重要的软件限制,这些限制涉及到对SD卡、SDIO卡、COMBO卡以及CE-ATA设备的操作,以确保数据传输的正确性和稳定性。以下是对这些限制的详细解释: 1. **单卡操作限制**:一次只能选择一张卡进行命令或数据传输。在传输过程中,新命令可以发送给同一张卡以读取状态或终止数据传输,但不能同时对多张卡进行操作。 2. **单次数据传输**:只能发出一个数据传输命令。这意味着不能同时执行多个数据传输请求。 3. **卡写操作中断处理**:在开放式卡写操作期间,如果卡时钟因FIFO为空而停止,软件必须先填充FIFO并重新启动卡时钟,然后才能发送停止/中止命令。 4. **SDIO/COMBO卡传输恢复**:在卡功能暂停期间,软件必须先重置FIFO并启动恢复命令,类似于启动新的数据传输。 5. **卡复位命令的使用**:在进行卡传输时使用卡复位命令(CMD0、CMD15 或 CMD52_reset),必须设置命令寄存器上的stop_abort_cmd位,以确保CIU能在复位命令后停止数据传输。 6. **数据结束位错误处理**:如果RINTSTS寄存器设置了数据结束位错误,CIU可能无法保证SDIO中断的可靠性,因此软件应忽略SDIO中断,向卡发送停止/中止命令以停止读取数据。 7. **FIFO满处理**:在读卡过程中,若FIFO已满导致卡时钟停止,软件需要至少读取两个FIFO地址来重启卡时钟。 8. **CE-ATA设备操作限制**:在一个命令/数据传输中,只能有一个CE-ATA设备活动。其他设备在有数据传输进行时不能接收新命令,除非是在等待CCS(Command Completion Signal)时发送CCSD(Command Completion Status Data)。 9. **CE-ATA中断管理**:启用CE-ATA设备中断时,如果有正在进行的RW_BLK命令,不应向同一设备发送新的RW_BLK命令,除非在等待CCS时发送CCSD。 这些限制是为了防止数据冲突和系统异常,确保ESP32在处理各种存储设备时的稳定性和可靠性。开发者在编写相关驱动程序或应用程序时,必须遵循这些规则,以避免数据丢失或硬件损坏。通过理解和遵循这些软件限制,可以有效地优化ESP32的性能和兼容性。