市面上许多手机和便携设备(如数字相机)都能通过插入一块标准、小型或微型SD(安全数字)卡来增加内存。这一功能刺激了共享或扩展主机处理器SDIO(安全数字I/O)埠从而连接多个设备的需求。SD卡接口设计为一个6信道总线,当中 1个信道用于时钟、一个用于命令,其余4个用于数据线路。
按照SD卡协会(SD Card Association;SDA)的物理层规范,可将多卡与总线连接,只要每个卡都有专门的一套命令和数据信道(时钟可共享)。若在主机只有一套命令/数据信道的情况下扩展SDIO接口,还必须解决几个问题,才能实现优化解决方案。无论采用什么方法来扩展接口,插入的扩展部件绝不能影响功能运作和造成系统延迟。
扩展SDIO接口的约束条件
市面上有两种电压范围的SD卡及配件产品,即电压在2.7 到3.3V的高压卡,以及要么工作在上述高压范围,要么使用1.8V标称低压的双电压卡。因此,理想的解决方案应当让主机控制器能够同时与这两种卡接口,为用户带来最大的灵活性。
用于扩展SDIO接口的插入扩展部件绝不能影响功能运行和造成系统延迟。接口通信定义了多种模式(即不同速率)。缺省模式定义为0到25MHz之间可变的时钟速率,可透过4条并行数据线以每秒12.5MB的速率传输数据。高速模式支持高达50MHz的时钟速率,可通过接口以每秒25MB的速率传输数据。对SDIO接口进行复用的处理速度必须足够快,并不能对高速模式的数据传输速率造成限制。
卡的初始化和识别以低速进行,采用漏极开路输出信号接法,时钟速率在100kHz 到 400kHz之间。初始化一完成,主机就进入数据传输模式,而接口则可根据具体SD卡的模式(即卡的数据传输速率) 相应提高速率。数据传输模式采用推挽信号接法,时钟速率可达50MHz。扩展SDIO接口的电路必须解释协议并清楚了解主机何时进入数据传输模式,必须能以既有利于初始化(漏极开路信号),又有利于数据传输模式(推挽信号)的交替方式实现通信。
最后,当主机或卡都不向接口传输数据时,埠复用器必须让系统处于默认的高阻抗状态,备有所需的升压电阻来控制命令和数据线。SD卡规范定义的升压电阻值在10k到100k奥姆之间,用于防止总线处于浮接状态。
针对SDIO接口设计之多任务器
接着以快捷半导体针对扩展SDIO接口的目标应用开发出的FSSD06多任务器为例,说明其设计要点。这种多任务器每项功能均为应对前述挑战而设计。概括而言,这些功能是透过快捷半导体的专有架构来实现,这个架构综合了被动FET开关与主动缓冲器的最佳功能。
首先,让我们看看主机控制器和市面上各种类型SD卡对电源电压的灵活性需求。多任务器的每个埠都有一个专门的电源引脚,这样逻辑高位埠电压就可以准确地做到所期望的电压值。主机和卡之间的电压转换由多任务器的内部电路来管理,系统设计人员只需在每个埠加上所期望的电压,不用操心其他任何事情。对不用的埠,电源引脚必须接地,而命令和数据引脚可以接地也可浮接。
为了支持高速模式,多任务器具有非常短的传送延迟,典型延迟范围在1到2奈秒。这个响应速度在SD接口的电容性负载达到40pF的最大容许值时尤其重要。多任务器采用专有输出驱动电路,该电路的驱动强度可调,能够提供极短的信号脉冲沿上升时间,亦允许系统工作在漏极开路(初始化)信号模式和推挽(高速传输)信号模式。
将这种方法与纯漏极开路方法做个比较,后者类似于FPGA供货商建议的方法,必需采用较低的升压电阻才能达到所要求的数据速率。升压电阻低带来一个问题,即SD卡控制器将信号拉到逻辑低电平时所需的功耗大幅增加。而且这个问题在接口的电容性负载增加时更加恶化。
SDIO技术规范所允许的总线最大电容性负载为40pF,而且采用纯无源的升压电阻来实现逻辑高电平状态,这会影响接口的最大工作速率。系统设计人员必须在采用低阻抗端接而导致功耗增加,与数据传输期间的工作速率之间作出权衡折衷。 因此多任务器需采用针对两种模式优化的驱动电路,使系统设计人员可摆脱这种约束。多任务器的输出也需采用同样的专有驱动电路,无需解释主机控制器的命令就能实现双向通信,因而简化所需的逻辑并进一步减少总体系统功耗。
如果能将SD卡插槽与主机接口隔离(比如在无通信期间),效果可能会更好。这可用OEb引脚禁用多任务器的两个埠来实现。根据SDIO接口规范,时钟在线没有升压电阻,如果SD卡仍处于上电状态,卡的时钟线将处于浮接。不过,FSSD06透过连接一个微小的升压电阻到任何未选中的卡埠的时钟在线,解决了这个问题,防止上电的SD卡因浮接了一个CMOS输入而产生振荡,造成额外的功耗。
由于SDIO接口扩展逐渐在便携式(电池供电的)设备中应用,大幅度降低功耗对延长电池工作时间或电池最终寿命非常关键。本文所讨论的多任务器功能特点,都是针对降低设备功耗,以及简化从单卡设计到多卡设计的转换而开发的。
- 内置电压转换电路;
- 无需采用低阻抗升压电阻,就能在高速模式下驱动大电容性负载;
- 自动感测通信方向;
- 支持所有定义的 SD 卡模式:1位、4位或 SPI。
应用发展
在设计需要扩展SDIO接口的系统时,需要考虑几个关键事项。设计人员面临的最重要选择是决定命令(CMD)和数据(DAT)信号的升压电阻的最优值。该阻值越小,信号的完整性越好,这取决于迹线的长度,在高速数据传输时尤为突出;但系统功耗会增加。
另外,可配置的评测板也可为设计人员提供协助。该板卡需可容许插入各种阻值的升压电阻。在每个SD卡埠都能测量不同阻值升压电阻在每条迹线的电容性负载为30pF时的效果,阻值范围是从4.7k到100k奥姆。四条数据迹线的每一条都具有相应的不同升压阻值,而命令线则可选择五种不同的阻值,每种都有一个自有的跳线。使用这种配置的评测板,开发人员就能评测初始化和数据传输模式下时钟、命令和数据在线的信号波形(在每条迹在线提供了测试点)。通过监视评测期间的电源电流,就可以选出最优的升压电阻,既能达到很好的信号完整性,同时又能最大限度地降低总体系统功耗。
为监视电流及评测不同电压下的接口信号,评测板还得提供一些连接器,对主机埠和每个SD卡埠进行独立供电。使用跳线从连接器对特定的SD卡加电。快捷的评测板就配有3个调压器(1.8V、2.6V和3.3V),便于用户根据其应用进行电压安排。
---作者任职于快捷半导体---