存储器的嵌入式设备中扮演着重要人物,上面不只装置有操作系统,一起也保存着运用程序和运行日志等。关于存储器如eMMC,写入的数据量决议其惯例运用的寿数,关于有很多日志记载的运用,一般能选用一个大容量的存储设备。文件将介绍如安在 Toradex 的计算机模块 Apalis iMX6 上扩展一个外部 eMMC。
Apalis iMX6 具有四个 SDIO 接口,其间一个现已用于模块本身的 eMMC。其他三个均能够适用于衔接别的的 eMMC。为了更好的进步读写速度,SDIO 接口可装备为 8bit 形式。
![](http://uphotos.eepw.com.cn/1451461111/pics/1700720907600534.png)
eMMC 内部有一个控制器,担任履行来自 host 的 MMC 指令、将数据写入到存储单元、保护映射联系保证每个存储单元能够均衡得写入等。该控制器常常要两路电压。如下图的 VCCQ 用于驱动控制器本身,该电压也用于面向 host 的 SDIO 接口,因而就需求于 host 端的 SDIO 电平共同。Apalis iMX6 的 SDIO 为 3.3V,Toradex 别的一个系列 Verdin 模块的接口则为 1.8V。现在绝大多数的 eMMC 都能支撑 1.8V 和 3.3V 两种电压。图中别的一个电源 VCC 用于存储单元 NAND 的供电。
![](http://uphotos.eepw.com.cn/1451461111/pics/1700720940459176.png)
![](http://uphotos.eepw.com.cn/1451461111/pics/1700720964821666.png)
咱们选取市场上常见的eMMC 模块,制造合适 Apalis Evalution Board 的转接板。在实践运用中,能够把 eMMC 芯片直接焊接在定制的底板上,以增加结实性和稳定性。
![](http://uphotos.eepw.com.cn/1451461111/pics/1700720988956632.png)
下面是eMMC 模块转接板原理图。其间 U1 是 eMMC 模块底部的 B2B 链接器,上面的引脚都直接来自 eMMC 芯片。其间运用到了 CMD、CLK、DATA0~7。因为 Apalis iMX6 的 SDIO 为 3.3V,所以 eMMC 模块的两路电源均运用 3.3V。iMX6 SoC 只要其间的两路 SDIO 才有 Reset 引脚,其间一路现已用于模块本身的 eMMC,另一路的 SD4_RESET 没有引出到模块的金手指上。这关于扩展的 eMMC 来说将失掉硬件复位功用,只能选用断电复位 eMMC。图中 H1 是 2.54mm 排针,能够直接衔接 Apalis Evalution Board。别的,关于 CMD、CLK、DATA0~7 信号在规划底板时必须运用等长布线。
![](http://uphotos.eepw.com.cn/1451461111/pics/1700721027312085.png)
![](http://uphotos.eepw.com.cn/1451461111/pics/1700721050605536.png)
修正`imx6qdl-apalis.dtsi`中 usdhc1 引脚装备,增加 non-removable 特点。这儿约束了 SDIO 的最高频率为 20MHz。原因是在测验中发现经过转接板方法衔接 eMMC 模块,当 SDIO 运用高频率时钟通讯时会形成发 MMC 相关过错。如果在定制底板上直接放置 eMMC 芯片并合理布线,则不会存在该问题。
重新启动后检查日志中mmc0 相关信息,mmc0 控制器上时别到外部扩展的 eMMC 模块。
因为前面设置了20MHz 的最高时钟,mmc0 的实践频率为 19.8MHz,8bit 总线形式。
上面演示了如安在Toradex 计算机模块上方便地扩展外部 eMMC,以及一些需求留意的几点如 eMMC 接口的电压挑选、调试期间的时钟设置和载板规划中的布线问题。