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/bulk-only/ata/ufi是usb mass storage类规范中4个独立的子类规范的简称。前两个子规范定义了数据/命令/状态在usb上的传输方法。bulk-only传输规范仅使用bulk端点传送数据/命令/状态,cbi传输规范则使用control/bulk/interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。ata命令规范用于硬盘,ufi命令规范是针对usb移动存储而制定的。

2、嵌入式usb-host设计

2.1 硬件设计

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

stc89c516rd+具有64 kb的flash程序存储器,1280字节的ram(256字节的内部ram和1kb的外部ram),支持在系统/在应用可编程(isp,iap);ch375s是一款符合usb1.1协议规范的usb总线的通用接口芯片,支持usb-host主机方式和usb-device/slave设备方式。ch375s具有8位数据总线和读、写、片选控制线以及中断输出,因此ch375s作全速usb-host主机接口时,外围元器件只需要晶振和电容,就可以方便地挂接到单片机/dsp/mcu/mpu等控制器的系统总线上。考虑到读/写u盘或移动硬盘时一般都是以扇区模式进行的,所以要加磁盘数据缓冲区和文件数据缓冲区(都是512字节的整数倍),并且缓冲区越大,执行的效率越高,所以外扩了32 kb的ram。

usb-host电路如图2所示。

根据以上分析,即可设计如下文件操作:

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查