摘要 :本文提出了自主设计的 USB Host 解决方案 -MemMaster 模块,该模块遵守 USB 1.1 协议规范,可用于作为嵌入式设备的数据输入输出模块,将数据以文件的形式和作为 Slave 端的基于 USB 接口的移动存储器进行交换。
1 、 引言 当前,在工控机、嵌入式系统中,数据采集和交换大多是使用软盘、串行接口( RS232/RS485 )或以太网等方式。软盘存储容量小、可靠性差,而串行接口或以太网都需要布线施工,成本接入大,而且不具备移动性。目前移动存储技术,特别是基于 USB-FLASH 技术的 USB 移动存储器技术的发展为上述领域中的数据存储和交换提供了新的可能性。随着数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,如何在嵌入式系统中实现 USB 移动存储也成为以及急需解决的问题。 本文提出了一种 USB-HOST 的解决方案- MemMaster ,它带有标准 USB 与数据总线接口,可将 USB 移动存储器(爱国者迷你王、魔盘、易盘等)直接与各类数据采集系统、工控机及嵌入式系统相连,还配备了供用户二次开发的通讯协议,用户能方便地和 USB 移动存储器进行数据交换(读写、存储、管理数据等)。 MemMaster 模块完全遵守 USB 1.1 协议规范,可以全面兼容所有遵守 USB 协议规范的移动存储器(容量不限、基于 Flash 的、基于 SmartMedia 等的移动存储器和 USB 接口的移动硬盘等),比如爱国者迷你王、魔盘等。它体积小、功耗低,支持 FAT12/FAT16 文件系统,最大文件传输速度可达到 200KB/S 。 目前,该 MemMaster 解决方案已经被北京华旗资讯数码科技发展有限公司采用,成 ?quot;USB 移动存储转接王(嵌入式) " 产品。 以下就 MemMaster 的原理和结构等作一个介绍。
2 、 原理 - USB HOST USB 技术规范将使用 USB 进行数据传输的双方分划为两种角色: Host 和 Slave ,并且规定,数据传输只能发生在 Host 和 Slave 之间。目前,绝大多数 Host 功能角色被集成在各种类型的 PC 机(或以上层次机器)上,如笔记本电脑、台式机、 Mac 机及服务器等。各种各样的基于 USB 的移动设备,包括 USB 移动存储器、带 USB 接口的数码相机等都集成 USB Slave 功能角色。这样,就导致这些作为 USB Slave 的 USB 接口的数字设备无法应用于嵌入式系统中。解决这一问题的根本办法就是在需要使用 USB 设备的嵌入式系统中集成 USB Host 功能模块,使之具有与 USB Slave 设备进行数据传输的能力。 MemMaster 实现了 USB Host 功能,并且提供了基于总线的接口方式,可以作为一个数据接口模块集成入用户的嵌入式系统中,使用得用户系统能够读 / 写作为 Slave 的 USB 移动存储器,从而完成数据存储和交换功能。由于 MemMaster 实现了 FAT12/16 文件系统,可以将用户系统发来的数据以文件的方式存储到 USB 移动存储器中,因此,用户可以在需要时,将 USB 移动存储器取出并拿到自己的数据处理中心的 PC 机中直接将采集到的数据进行分析、处理,极大地方便用户的数据采集和处理。其原理图如下:
3 、 Master 的硬件结构 MemMaster 方案通过一个总线方式实现与用户系统的接口。其体系结构主要包括三个部分: MCU 、 USB 接口控制设备和系统总线。 MCU 实现整体系统控制。 USB Host 控制器用来控制 USB 总线接口进行与 USB Slave 设备的命令与数据交互。系统总线用于完成与用户系统的协议交互。
4 、 MemMaster 的软件框架 MemMaster 系统软件包括:系统主控模块、 USB 接口控制模块、文件系统模块和系统协议模块。 系统主控模块实现系统的整体控制功能。 USB 接口控制模块实现 USB 设备控制驱动功能。 文件系统模块实现 FAT12/16 文件系统功能。 系统协议实现与用户系统的交互,提供给用户系统控制与驱动本 MemMaster 模块的能力。
5 、 Master 和嵌入式系统的通信协议 MemMaster 系统是一个完整的单片机系统,该系统通过总线接口实现与用户单片机系统的命令和数据通信。如下图所示:
MemMaster 系统工作于命令 / 响应方式下,由用户系统发出命令, MemMaster 系统在根据该命令进行相应处理后,向用户系统返回相关的响应,该命令即完成。这一过程根据重复进行,以此实现整体系统的工作。 MemMaster 提供非常简单明了的系统协议,可以使用户在最快的时间内实现系统的集成。如下表所示,在最简单的情况下,只需要下面 4 条命令即可完成创建目标文件并将数据写入目标文件的功能。
6 、 产品实例
|