为WiFi产品增加板载大容量存储

2014年是 WiFi运营的新时代,运营商不再继续投资WLAN建设,但出现了越来越多的商业 WiFi运营公司,团队。新时代的 WiFi运营也不再单纯只做无线覆盖,而是结合了更多的增值服务,如广告推送,窃取用户隐私,用户行为分析,大数据等。在这样的形势下,对于 WiFi产品的软件开发提出了很高的要求,反观硬件,倒是没有更多的需求,唯一发生变化的就是增加板载大容量存储。

为 WiFi SoC增加板载大容量存储 当前广泛使用的 WiFi SoC,普遍不具备合适的大容量存储接口,只有独立的网络处理器才会具备,如Freescale QorIQ系列,AMCC APM8018x系列,Broadcom BCM470x系列,Qualcomm IPQ806x等。而这些独立的网络处理器的价格往往比较高,如何为廉价的 WiFi SoC增加板载大容量存储以实现较高的性价比,是一个值得讨论的课题。值得庆幸的是,广泛使用的 WiFi SoC通常具有USB 2.0 Host接口,这就使得为这些 WiFi SoC增加板载大容量存储成为了可能。

本文面向有一定技术实力的工程师,因此会有部分英文,请读者谅解。

USB Hub

WiFi产品对于存储的需求,不仅仅是板载存储,往往还需要同时支持U盘,那么,USB Hub就成为了必不可少的器件。Google一下USB Hub芯片,有大量的器件可供选择,这种情况下,我主要向读者介绍Microchip的USB Hub芯片(收购了SMSC)。

evb-usb2514bc

Microchip的USB251xB是一系列低成本,高效率的USB 2.0 Hub控制器。USB251xB引入了Microchip的MultiTRAK™技术,具有业界领先的数据吞吐量,是扩展USB接口的理想选择。USB251xB非常适用于消费类与移动电子产品,采用了较小尺寸的QFN36 6x6mm封装,并且2/3/4口的Hub芯片可以pin-to-pin。其主要特征如下:

  • High performance, ultra low-power, small footprint hub controller IC with 2, 3, or 4 downstream ports (indicated by the “x” in the part number)
  • Fully compliant with the USB 2.0 specification
  • Enhanced OEM configuration options available through either a single serial I2C® EEPROM, or SMBus slave port
  • MultiTRAK – High-performance multiple transaction translator which provides one transaction translator per port
  • PortMap – Flexible port mapping and disable sequencing
  • PortSwap – Programmable USB differential-pair pin locations ease PCB design by aligning USB signal lines directly to connectors
  • PHYBoost – Programmable USB signal drive strength for recovering signal integrity using 4-level driving strength resolution

USB251xB设计要点

USB251xB的参考设计等资料可以在这里找到:http://www.microchip.com/wwwproducts/Devices.aspx?product=USB2514B。不同于常规的USB Hub芯片,板载USB Hub属于自供电,并且不需要EEPROM,有以下几点需要注意:

  • VBUS_DET连接至3.3V
  • SDA/SMBDATA/NON_REM1设置为高电平
  • SCL/SMBCLK/CFG_SEL0设置为低电平
  • HS_IND/CFG_SEL1设置为低电平

板载NAND Flash

这里所指的板载NAND Flash实际就是板载U盘,是通过USB接口进行扩展的,最早为 WiFi产品增加板载NAND Flash的就是极路由设备,如下图。为 WiFi产品增加板载NAND Flash的思路与设计一款U盘的思路是一致的。

usb-nand 图中的Skymedi的SK6226就是一款NAND控制器,据我所知,Skymedi现在主推一款SK6238,与SK6226 pin-to-pin兼容。

SK6238是一个功能加强版的U盘控制器,并且将震荡器内建在控制器内,降低了客户的开发成本。它能符合USB2.0的规格并能以极低功率来满足 USB bus-power的需求。SK6238在USB2.0规范下,提供了480Mbps的传输速率。透过先进的电源管理控制方式电路设计,SK6238能提 供非常小的功耗,并且支持Bus power规范,无需外接电源供应器。

SK6238控制芯片可支持1y/2x/3x nm MLC and TLC 闪存。同时也可支持多种世界级最新闪存,包含三星 (Samsung) 、英特尔(Intel)、美光(Micron)、东芝 (Toshiba) 、海力士(Hynix)、ONFI2.0以及三星Toggle NAND闪存,提供客户最弹性及最适时的变化。

SK6238设计要点

第一次设计U盘的工程师一定想不到U盘,需要量产工具,类似于Atheros的ART,类似于Ralink的ATE。关于U盘量产工具,介绍如下:

当主控板焊接上空白FLASH后插入电脑,因为没有相应的数据, 电脑只能识别到主控板,而无法识别到FLASH,所以这时候电脑上显示出U盘盘符,但是双击盘符却显示没有插入U盘,就像是插入一个空白的读卡器。事实上这时候的U盘几乎就是读卡器。所以要让电脑识别出空白FLASH这张“卡”就要向FLASH内写入对应的数据,这些数据包括U盘的容量大小,采用的芯片(芯片不同,数据保留的方式也不同),坏块地址(和硬盘一样,FLASH也有坏块,必须屏蔽)等等,有了这些数据,电脑就能正确识别出U盘了。而当这些数据损坏的时候,电脑是无法正确识别U盘的。

重点来了,需要在板上留出可供U盘量产的测试点或者插针,极路由上就可以看到这样的测试点。

u-disk-testpad

目测测试点直接连在了SK6226芯片上,个人认为这种方法不是最专业的,建议采用USB Switch的方式,提高产测的可靠性。

TF卡控制器

为 WiFi产品增加TF卡是一种不错的选择,可以减少量产的环节,也可以随意更换不同容量的TF卡。为为 WiFi产品增加TF卡与设计一款读卡器的设计思路是一致的。

Microchip的USB224x系列USB 2.0闪存控制器提供了USB接口与高速闪存设备之间的桥梁,这系列芯片为广大工程师提供了丰富的选择,可以使用不同的芯片连接不同的存储介质。USB224x系列芯片内置USB 2.0收发器,一个8051内核的微控制器,以及Memory Stick(MS),Smart Media(SM),Secure Digital(SD)控制器,非常适合 WiFi产品扩展大容量存储。USB224x主要特征如下:

  • Optimized for Hi-Speed performance and versatility
  • Supports Smart Media™/xD-Picture Card™, Memory Stick™/Memory Stick PRO™/Memory Stick PRO-HG™ and MultiMediaCard™/Secure Digital interfaces
  • Capable of high-performance throughput > 35MB/s with new Hi-Speed formats – MS PRO-HG
  • Well-suited for PC applications utilizing Microsoft® ReadyBoost™ to improve system performance
  • Secure memory format options supported via internal memory
  • Supports individual or any combination of sockets
  • Industrial-temp option – designed to meet -40° to 85°C requirements
  • Optional, small footprint, 36-pin QFN package for single or fully-multiplexed card interface designs or space-constrained applications

USB2240设计要点

本文以USB2240为例,简要介绍TF卡控制器设计要点。USB2240的参考设计资料可以在这里获得:http://www.microchip.com/wwwproducts/Devices.aspx?product=USB2240

evb-usb2240-ind

  • 无需配置,USB2240就可以支持1/4/8 bit SD/TF卡
  • GPIO1可用来连接LED指示状态,当操作TF卡时,会闪烁
  • GPIO2可悬空
  • GPIO4下拉
  • GPIO7悬空
  • GPIO10可为TF卡供电
  • GPIO12,14上拉
  • GPIO15用于判断是否有TF卡插入,视情况而定

SATA控制器

如果以上提到的方法所带来的大容量存储无法满足容量要求,那么就可以想办法扩展SATA硬件,速度快,容量大,对于有下载需求的产品来说,是不错的选择。为 WiFi产品增加SATA控制器的思路与设计一款移动硬盘盒的思路是一致的。

JM20329是智微(JMicron)公司推出的一款高速USB to SATA Bridge芯片,该芯片高集成的高速USB和SATA Phys技术为USB to SATA外围设备提供了性价比优良的解决方案,该芯片采用0.18μmCMOS技术,制造工艺优良。

JM20329-SATA

JM20329的主要功能特征如下:

  • Compliance with Gen1i/Gen1m of Serial ATA II Electrical Specification 2.5   
  • Support SATA II Asynchronous Signal Recovery (Hot Plug) feature             
  • Compliance with USB 2.0 electrical specification                            
  • Support USB High-Speed and Full-Speed Operation                             
  • Compliance with USB Mass Storage Class, Bulk-Only Transport Specification   
  • Support ATA/ATAPI PACKET command set                                        
  • Support ATA/ATAPI LBA48 addressing mode                                     
  • Support 12MHz external crystal                                              
  • Support external NVRAM for Vender Specific VID/PID of USB Device Controller 
  • Embedded 3.3V to 1.8V voltage regulator                                    
  • Single power 3.3V power supply                                             
  • 0.18um CMOS technology                                                     
  • 48 LQFP package                                                            
  • 8 GPIO

JM20329的参考设计,点击查看

本文介绍了为 WiFi产品, WiFi SoC增加大容量存储的三种方法,应该可以满足很多中应用场合。在这样的一个 WiFi产品应用越来越多的时代,对于存储的需求将会越来越多。

发表评论