基于U盘的单片机海量存储方案
随着Flash Memory非易失存储技术的发展,基于USB接口的闪存即U盘现已得到广泛应用。从理论上讲,以U盘作为便携式采集存储系统的存储载体完全能够满足长时间采集海量数据的要求。但目前所面临的问题是,U盘主要应用于PC机系统中。以单片机等微处理器为核心的嵌入式系统的应用中,尚缺少与U盘的直接接口技术。因此将单片机技术与U盘存储技术两者结合起来,利用单片机直接读写U盘,并通过总线方式与嵌入式系统的其它部分实现命令和数据的通信,从而实现便携仪器或者嵌入式系统的外挂式海量存储,具有广阔的应用前景。
采用单片机直接控制读写U盘,关键在于USB-HOST技术的实现,即单片机作为USB主机系统。USB系统包括两部分:USB主机和USB外设,它们组合在一起就构成了完整的USB系统。USB的拓扑结构中居于核心地位的是Host(也称为主机),任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。
采用西安达泰电子设计的U盘读写模块可以避开复杂的USB协议,通过标准串口或者高速SPI口,非常简单快速地实现仪器设备的海量存储。该模块已经经过5年市场运行,使用简单,性能可靠,产品由最初的USB118A升级为USB118AD。
USB118AD模块作为嵌入式的USB主机控制器,功能模块框图如图所示。
只要将USB118AD模块嵌入到用户系统中,用系统的主控单片机串口或者SPI口与USB118AD模块的通信接口连接,将外接U盘的USB插座引到设备壳体上,用户就可以非常方便的通过普通U盘实现仪器或设备数据的海量存储。