位置:51电子网 » 技术资料 » 其它综合

基于USB-Host的大容量数据采集系统的设计

发布时间:2007/8/29 0:00:00 访问次数:489

作者:长江大学 万天军 徐爱钧 李家绪


摘  要 利用USB主控制器控制U盘作为数据采集系统的移动存储器。该设计基于USB主/从控制芯片CH375S,遵守大容量存储设备类规范中的BulkOnly和UFI子规范,支持FAT16文件系统,实现了数据采集系统中可用U盘进行数据存储,方便与计算机交互;配合液晶和外扩键盘,可以完全抛开PC,实现采集数据的实时显示和指定存储区域内数据的查看。


关键词  CH375S  USB-Host  数据采集系统  Mass-Storage类  FAT16 文件系统


引言


随着移动数据存储领域的日益扩大,在嵌入式系统中实现USB主机功能,以实现利用USB存储设备进行数据存储的需求变得日益迫切。U盘作为新型移动存储设备,以体积小、速度高、抗震动、通用性强的特点倍受青睐,因此,在数据采集系统中开发出嵌入式USB主机控制U盘作为数据存储器,将具有良好的实用价值和应用前景。


1  USB大容量存储设备协议分析


基于USB的大容量数据采集系统的设计,主要是要实现嵌入式USBHost。要想设计出能直接读写U盘的嵌入式USBHost,就必须理解USB大容量存储设备协议。目前USB大容量存储设备软件结构如图1所示。



图1  USB大容量存储设备软件结构示意图


图1中,虚线左边部分是主机的驱动程序结构,也是嵌入式USBHost所要实现的。左边最顶层是FAT文件系统层API ,用于提供给用户访问存储设备的方法。U盘中的数据都是以文件格式存储的,FAT16因具有高度兼容性而被广泛应用于移动存储设备中。这里简要分析一下FAT16文件系统结构和存储空间的组织原则。


(1)  FAT16文件系统结构


FAT格式的磁盘大致可以分5个部分:MBR区、DBR区、FAT区、FDT区和DATA区。
MBR区: 又称主引导记录,其后为64字节的DPT(Disk Partition Table,磁盘分区表)。由于不需要从U盘启动,且U盘就一个分区,所以U盘上没有这个数据区。
DBR区: 即操作系统引导记录区,通常占用分区的第0扇区,共512字节,由跳转指令、BPB、结束标志几部分组成。
FAT 区: 存放文件分配表。文件分配表是一一对应于数据区簇号的列表,反映了所有簇的使用情况。每个表项单元的大小决定了FAT的类型,比如FAT16的表项单元为16位。FAT表一般都有一个备份。
FDT区: 存放着文件目录表,位于备份FAT表之后。FDT由32位的目录项线性构成,记录着根目录下每个文件(子目录)的起始单元、属性等。FDT大小为32个扇区,最多可以保存512个目录项。
DATA区: 是真正意义上的数据存储的地方,位于FDT之后,占据硬盘上的大部分数据空间。


(2)  FAT16的存储空间组织原则


当磁盘空间格式化为FAT分区时,FAT文件系统就将这个分区当成整块可分配的区域进行规划,以便数据的存储。FAT将磁盘空间以一定数目的扇区为单位进行划分,这样的单位称为簇。通常情况下,每扇区512字节的原则是不变的。簇的大小一般是2n(n为整数)个扇区的大小(每个簇的最大存储空间为32 KB)。一般采用逻辑块LBA(Logical Block Addressing)寻址方式。


图1虚线左边中间的UFI/ATA驱动层将应用程序的访问转换成UFI或ATA命令/数据格式,与外部存储设备之间按照子规范UFI或ATA的定义进行命令/状态/数据的交换;最底层则是USB传输驱动,负责将上层的UFI/ATA数据发送到USB总线上以及接收从存储设备返回的状态/数据。CBI/BulkOnly/ATA/UFI是USB Mass Storage类规范中4个独立的子类规范的简称。前两个子规范定义了数据/命令/状态在USB上的传输方法。BulkOnly传输规范仅使用Bulk端点传送数据/命令/状态,CBI传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。ATA命令规范用于硬盘,UFI命令规范是针对USB移动存储而制定的。


2  嵌入式USB-Host设计


2.1  硬件设计


系统采用增强型8051内核的单片机STC89C516RD+作为中央处理芯片,选用南京沁恒电子公司的CH375S作为USB主机控制芯片。


STC89C516RD+具有64 KB的Flash程序存储器,1 280字节的RAM(256字节的内部RAM和1 KB的外部RAM),支持在系统/在应用可编程(ISP,IAP);CH375S是一款符合USB1.1协议规范的USB总线的通用接口芯片,支持USBHost主机方式和USBDevice/Slave设备方式。CH375S具有8位数据总线和读、写、片选控制线以及中断输出,因此CH375S作全速USBHost 主机接口时,外围元器件只需要晶振和电容,就可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。考虑到读/写U盘或移动硬盘时一般都是以扇区模式进行的,所以要加磁盘数据缓冲区和文件数据缓冲区(都是512字节的整数倍),并且缓冲区越大,执行的效率越高,所以外扩了32 KB的RAM

作者:长江大学 万天军 徐爱钧 李家绪


摘  要 利用USB主控制器控制U盘作为数据采集系统的移动存储器。该设计基于USB主/从控制芯片CH375S,遵守大容量存储设备类规范中的BulkOnly和UFI子规范,支持FAT16文件系统,实现了数据采集系统中可用U盘进行数据存储,方便与计算机交互;配合液晶和外扩键盘,可以完全抛开PC,实现采集数据的实时显示和指定存储区域内数据的查看。


关键词  CH375S  USB-Host  数据采集系统  Mass-Storage类  FAT16 文件系统


引言


随着移动数据存储领域的日益扩大,在嵌入式系统中实现USB主机功能,以实现利用USB存储设备进行数据存储的需求变得日益迫切。U盘作为新型移动存储设备,以体积小、速度高、抗震动、通用性强的特点倍受青睐,因此,在数据采集系统中开发出嵌入式USB主机控制U盘作为数据存储器,将具有良好的实用价值和应用前景。


1  USB大容量存储设备协议分析


基于USB的大容量数据采集系统的设计,主要是要实现嵌入式USBHost。要想设计出能直接读写U盘的嵌入式USBHost,就必须理解USB大容量存储设备协议。目前USB大容量存储设备软件结构如图1所示。



图1  USB大容量存储设备软件结构示意图


图1中,虚线左边部分是主机的驱动程序结构,也是嵌入式USBHost所要实现的。左边最顶层是FAT文件系统层API ,用于提供给用户访问存储设备的方法。U盘中的数据都是以文件格式存储的,FAT16因具有高度兼容性而被广泛应用于移动存储设备中。这里简要分析一下FAT16文件系统结构和存储空间的组织原则。


(1)  FAT16文件系统结构


FAT格式的磁盘大致可以分5个部分:MBR区、DBR区、FAT区、FDT区和DATA区。
MBR区: 又称主引导记录,其后为64字节的DPT(Disk Partition Table,磁盘分区表)。由于不需要从U盘启动,且U盘就一个分区,所以U盘上没有这个数据区。
DBR区: 即操作系统引导记录区,通常占用分区的第0扇区,共512字节,由跳转指令、BPB、结束标志几部分组成。
FAT 区: 存放文件分配表。文件分配表是一一对应于数据区簇号的列表,反映了所有簇的使用情况。每个表项单元的大小决定了FAT的类型,比如FAT16的表项单元为16位。FAT表一般都有一个备份。
FDT区: 存放着文件目录表,位于备份FAT表之后。FDT由32位的目录项线性构成,记录着根目录下每个文件(子目录)的起始单元、属性等。FDT大小为32个扇区,最多可以保存512个目录项。
DATA区: 是真正意义上的数据存储的地方,位于FDT之后,占据硬盘上的大部分数据空间。


(2)  FAT16的存储空间组织原则


当磁盘空间格式化为FAT分区时,FAT文件系统就将这个分区当成整块可分配的区域进行规划,以便数据的存储。FAT将磁盘空间以一定数目的扇区为单位进行划分,这样的单位称为簇。通常情况下,每扇区512字节的原则是不变的。簇的大小一般是2n(n为整数)个扇区的大小(每个簇的最大存储空间为32 KB)。一般采用逻辑块LBA(Logical Block Addressing)寻址方式。


图1虚线左边中间的UFI/ATA驱动层将应用程序的访问转换成UFI或ATA命令/数据格式,与外部存储设备之间按照子规范UFI或ATA的定义进行命令/状态/数据的交换;最底层则是USB传输驱动,负责将上层的UFI/ATA数据发送到USB总线上以及接收从存储设备返回的状态/数据。CBI/BulkOnly/ATA/UFI是USB Mass Storage类规范中4个独立的子类规范的简称。前两个子规范定义了数据/命令/状态在USB上的传输方法。BulkOnly传输规范仅使用Bulk端点传送数据/命令/状态,CBI传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。ATA命令规范用于硬盘,UFI命令规范是针对USB移动存储而制定的。


2  嵌入式USB-Host设计


2.1  硬件设计


系统采用增强型8051内核的单片机STC89C516RD+作为中央处理芯片,选用南京沁恒电子公司的CH375S作为USB主机控制芯片。


STC89C516RD+具有64 KB的Flash程序存储器,1 280字节的RAM(256字节的内部RAM和1 KB的外部RAM),支持在系统/在应用可编程(ISP,IAP);CH375S是一款符合USB1.1协议规范的USB总线的通用接口芯片,支持USBHost主机方式和USBDevice/Slave设备方式。CH375S具有8位数据总线和读、写、片选控制线以及中断输出,因此CH375S作全速USBHost 主机接口时,外围元器件只需要晶振和电容,就可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。考虑到读/写U盘或移动硬盘时一般都是以扇区模式进行的,所以要加磁盘数据缓冲区和文件数据缓冲区(都是512字节的整数倍),并且缓冲区越大,执行的效率越高,所以外扩了32 KB的RAM

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!