技术支持
Acute逻辑分析仪 SDIO测试应用
Q: 我是開發平板電腦的工程師,遇到 SD card 相關的問題,使用者用相機拍照之後,將存有照片之 SD card 拿到平板電腦上讀取時,傳到一半發生讀不到卡的現象. 之後插拔數次皆無效,插到別台同款的平板電腦也無效. 直到插到筆電才可以讀到再插回平板就正常了,懷疑是平板的 SD 協議與該 SD card 有相容性問題.
A:此問題使用 Acute TL2236B+ 把訊號抓進來以波形查看,首先我們先用 SD。硬體觸發功能,看看有沒有發生CMD CRCError.
實際有觸發到 CMD CRC Error, 經檢視波形, 該處為 SD Card 被斷電又上電之後產的雜訊.
循著 CRC Error我們看到Host不斷送出ACMD 41(SD_SEND_OP_COND)來詢問卡片的電壓支援資訊但是看到Response回應回來的值(R3)顯示如下:
其中根據SD規格書中的記載
可以看到Response回來都顯示Bit31為On Initialization (Busy紅色箭頭處)
且 Host 每隔 20ms 重送一次 ACMD41. 重複約 98 次,時間約 1.96秒.
此時,Host 會將 SD card斷電重新上電從頭來過.
從上述分析結果來看,整體而言SD的協議上來說看起來沒有問題.但根據上述的量測情形,這片 SD card 應該是需要更長的 Initialize 時間,建議可以調整 Host 對 SD card 等候的時間,不要過早 Timeout 即可排除問題.