zynq emio 外接emmc/SD 相关问题与描述总结

在使用emio的情况要注意,由于通过PL的扩展,导致一些问题,如时钟时序,数据、cmd的方向控制都需要注意。

A、emio的clk和clk_fb要短接(原因是要通过反馈修复clk输出时序),可通过内部直接短接(该处理方式有一定风险,反馈距离过短可能跑不了高速)。也可把线引出板外用0欧电阻短接(SDIO应尽量短,且如果CLK有FB管脚的话,要绕到芯片/SD卡座再绕回来。否则如果线过长,可能会造成建立时间不足,传输出错。通常情况下可以不用严格等长,只要对CLK做好隔离就行了)。

zynq emio 外接emmc/SD 相关问题与描述总结_第1张图片

B、由于硬件因素或者可能是短接接法问题,导致emmc再使用高速时,时序有问题,进而导致无法分区等问题。

mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xc00

print_req_error: I/O error, dev mmcblk0, sector 0

Buffer I/O error on dev mmcblk0, logical block 0, lost async page write

通过修改设备树:

broken-mmc-highspeed;

在节点处添加,不使用高速

其他的线如cmd 的data从emio出来是3根线,输入、输出和方向,这3个管脚需要FPGA用源码连接,注意方向不要弄错。

得出结论,使用zynq尽量使用ps端mio的接口如flash、emmc/SD、以太网等,避免一些错误。

你可能感兴趣的:(问题总结,emio,emmc,zynq)