USB118AD型
USB2.0接口U盘读写模块
用户手册
西安达泰电子有限责任公司
+86-29-85272421,85277568, FAX:+86-29-85277554
西安市朱雀大街 56 号明德门凯旋广场 D323
E-MAIL:info029@126.com dataie@gmail.com
本公司其他系列产品图片及详细资料,欢迎查看网站 http://www.dataie.com
本文档更新日期:2009-04-7 版本号:V3.7
该产品在不断改进功能,新增或修改功能的说明以最新版本为准。恕不另行通知。
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
目前,基于USB2.0接口的移动存储设备已经被广泛使用,尤其是采用USB-FLASH技术的U盘
产品的容量由几年前的16M增加到现在的4G。
U盘的使用通常是作为计算机的外部存储设备,能否脱离计算机直接向U盘读写数据呢?答
案是肯定的。USB118系列嵌入式U盘读写模块提供了通过串口或SPI口读写U盘的简单途径,由此
结合单片机的串口或数据总线就可以实现U盘的文件读写。
达泰公司开发的 USB118 模块,解决了不用电脑如何给 U盘中存储文件的问题。这样以来,
大量的仪器设备就可以将数据记录到 U 盘中了。自从 2006 年正式发布 USB118 产品,累计超过
5万台设备仪器中采用了 USB118 模块。为了满足快速大容量 U盘的使用,从 2007 年 10 月公司
投入大量研发力量,彻底解决了大容量 U盘的识别问题,SPI 口读写文件速度达到了 1.5Mbps,
经过长期系统的测试,在 2008 年 10 月正式推出 USB2.0 接口的高速读写 U盘的模块 USB118AD。
第一章 USB118AD型高速 U盘读写模块简介
USB118AD型高速U盘读写模块是对USB118A模块的性能进行改进后的新型采用USB2.0接口
的高速模块,具有与USB118A模块完全兼容的串口,同时增加了高速的SPI接口,主要应用于便
携仪器或者嵌入式数据采集系统的外挂式海量存储。USB118AD带有
USB2.0接口,遵循
USB2.0协议规范,可以全面兼容所有遵守USB协议规范的移动存储器(如U盘及USB接口的移动硬
盘等)。
USB118模块的
坚持了西安达泰电子有限责任公司USB接口产品模块化的设计思想,为用
户提供最简化的接口,具有超小体积,低功耗的特点。
1.1 USB118AD模块应用系统的组成
图 1-1 USB118AD 模块的应用功能示意图
????????
USB118 模块
TTL串口 SPI口
TTL ??
外接 U盘
(USB 接
口存储器)
USB接口
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 1
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
USB118AD模块是USB2.0数据采集应用系统中的主设备(HOST),具有一个ROOT HUB,可以使
用户直接接入Slave USB接口移动存储器。USB118模块支持FAT/FAT32文件系统,可以嵌入或集
成到用户数据采集系统中,图1_1是USB118AD模块的应用功能示意图。
1.2 USB118AD模块的特点
◆ 良好的兼容性: 标准USB2.0 接口,可以使用市场上的大容量U盘、数码相机及移动硬盘
◆ 标准的通讯接口:采用RS232串口和高速SPI接口
◆ 简明的系统协议:14条精简命令完成所有读写过程,可以操作子目录
◆ 嵌入式模块应用:不必了解USB协议,直接嵌入用户系统
◆ 超小的体积设计:高密度SMT工艺,模块尺寸只有火柴盒大小
第二章 USB118AD模块功能及硬件说明
2.1 命名规则及型号说明
USB118AD命名规则为:USB118A代表达泰电子USB1.1接口的U盘串口读写模块,USB118AD是
USB118A模块的升级产品。
功 能
型 号
接口 接口速率(bps) 文件系统 选型说明
USB118A
TTL串口 9600/19200/57600 FAT16/32
USB1.1接口,对 256M以下
U盘适应性较好,淘汰产品。
建议新用户不要选用。
USB118AD
TTL串口
SPI口
9600/57600/115200
SPI 00模式
FAT16/32
高速, USB2.0 接口,对 U
盘适应性较好,建议优先选
用。
USB118AD_Demo RS232串口 9600/57600/115200 FAT16/32
为 USB118AD 模块配套设
计的测试板。建议新用户选
购,可以缩短产品开发周期,
节约开发成本。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 2
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
USB118A模块 USB1.1接口 淘汰产品
USB118AD模块 USB2.0接口 升级产品
图 2-1 USB118A系列模块图示
2.2 USB118AD模块的功能
◆ 检测U盘的状态(如插入,拔出)
◆ 创建文件和目录
◆ 打开一个已经创建的文件和目录
◆ 从文件中读取指定长度和指定位置的数据
◆ 写数据到指定文件的指定地址
◆ 列举目录下的文件和目录
◆ 删除文件和目录
◆ 查询U盘容量、剩余空间及FAT格式
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 3
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
USB118AD模块遵守USB2.0 协议规范,支持所有基于USB 的移动存储器,支持FAT/32文件
系统。采用移动硬盘时,不要进行多个分区。
系统工作于命令应答方式下(在协议中应答也被称为命令),由用户系统发出命令(如创
建文件、写文件等),系统再根据该命令进行相应处理后,向用户系统返回相关的应答,该命
令即完成。这一过程根据需要重复进行,实现整体系统的工作。USB118AD模块的用户协议完
全兼容USB118A 的协议,所以对于USB118A的老用户,其程序不用修改就可以直接升级。
2.3 USB118AD模块的硬件说明
2.3.1 USB118AD模块介绍
◆ 外接端子示意图
图2-2 USB118A外接端子示意图
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 4
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
图2-3 USB118AD端子信号名称及排序示意图
◆ USB 接口:采用A 型USB HOST 口,与U 盘连接。
◆ TTL 串口: 图中CN1插座为6 Pin 2.54mm间距,主要用于通过插座与用户系统连接。与USB118A
模块的插座定义相同,只是增加了一个复位线。
Pin 1 2 3 4 5 6
信号 +5V GND TXD RXD GND nRST
说明 电源输入 电源地 串口输出 串口输入 信号地 复位
注意:
串口波特率有三种选择,数据格式为: 8 N 1
模块的串口输出电平为TTL,低电平为0V,高电平为3.3V。
如果模块的串口与计算机RS232口相连,必须进行电平变换。
RXD连接外部单片机的发送(TX),TXD连接外部单片机的接收(RX)。
nRST: 低电平脉冲(大于100mS)可以复位系统。
◆ SPI接口: 图中CN2插座为12针单排插针,针间距为2.54mm ,主要用于SPI方式或者通过插
针固定的方式,同时在此排针上有串口信号线、电源线,从而为用户提供了更加灵活的安
装方式。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 5
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
SPI总线系统是一种高速同步串行外设接口,它可以使USB118AD模块与各种外围设备以串
行方式进行通信以交换信息。当用户的单片机系统串口已经被占用时,可以考虑采用SPI
模式,尤其对于需要高速存储的应用,应该首先选用SPI模式。
关于 SPI编程的一点说明:
一般的 SPI控制器,都有两个控制位 CPOL , CPHA,用于控制沿、电平,模块的 SPI选择
为这两个控制位都为 0。
SPI 的控制:8 位、高位在前、CPOL=0、CPHA=0、最高速率为 2Mbps。时钟上升沿数据
有效。本模块工作在从(Slave)模式下,所以用户 SPI为主(Master)模式。
发送命令时,发送命令中第一个数据之后,需要延迟一段时间(10us)再发送第二个数据。
也就是发送完 AA 后,就延迟一段时间,再发送后面的数据的时候就不用延迟了。其实,
不延迟,也可以工作的,延迟一下更稳定一点。
用户的程序流程:
Pin 7 8 9 10 12 13 14 15
11,
16,17
18
信号 SSEL SCK SO SI RXD TXD LED1 LED0 GND +5V
说明
SPI
片选
SPI
时钟
SPI
输出
SPI
输入
串口
输入
串口
输出
通信灯 U盘灯 地 电源
z 写一个命令给 USB118AD
z 循环读数据,等待命令处理完毕
注:此时不能发送下一个命令,只能发送一些无意义的数据,比如写 FF。直到读到的数据
不是 FF,才表示命令已经处理完成。
z
循环读结果。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 6
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
◆ 方式选择: 图中M0和M1插针通过短路帽可以选择串口波特率或SPI方式,短路帽方向为上
图水平方向,插上短路帽为1(高电平),不插为0(低电平)
工作方式 M1 M0 短路帽 波特率
串口 1 1 M1和M0都插上 57600bps
串口 1 0 M1插上,M0不插 115200bps
串口 0 1 M1不插,M0插上 9600bps
SPI口 0 0 M1和M0都不插 8位数据,00模式
◆ LED 工作状态指示灯:
LED5(电源灯,红色):灯亮表示外部给模块提供的电源正常。
LED6(USB口电源灯,红色):灯亮表示给USB口的电源正常。
LED7(U盘数据灯,绿色):灯亮表示与U 盘连接成功。当U盘枚举或读写数据时,灯在
闪烁。
LED8(模块工作灯,绿色):模块正常工作时灯在闪烁,频率为1秒。
◆ 工作状态输出信号:
LED0(U盘数据状态):输出高电平表示U 盘连接成功。当U盘枚举或读写数据时,输出
脉冲信号。此信号可以直接对地之间外接LED灯,信号输出接发光二极管的正极,发
光二极管的负极接地,不用串接限流电阻。此信号功能与模块上的D7相同。
LED1(模块通信状态):模块收到通信命令时闪亮。在SPI测试一方式下,LED1一直在闪
烁,因为模块内部程序在不断发送检测版本和检测U盘的命令。
◆ 外型尺寸示意图:
USB118AD模块外型尺寸: 长×宽×高=51.6×43×12mm
图中尺寸用mm(mil)表示,其中:100mil=2.54mm
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 7
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
图2-3 USB118AD外型尺寸示意图1
Φ3×4
图2-4 USB118AD外型尺寸示意图2
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 8
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
2.4 工作规范:
电源电压:直流 +5V±5%
工作电流:85mA 不含U盘,125mA左右(含U盘)
工作温度:-35 ~75 ℃
储存温度:-40 ~ 85 ℃
相对湿度:10 ~ 90%@40℃,非冷凝
2.5 执行的标准:
Universal Serial Bus Specification Revision 2.0 CB
参考的安全规范及标准(相对参考) FCC Class A
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 9
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
第三章 USB118模块通讯协议说明
3.1 USB118模块的通讯协议
通讯采用数据包的方式,每一次完整的通讯过程包括发送命令、命令应答两个阶段。发送命
令是用户单片机系统向USB118模块发出的操作请求和参数以及数据;命令应答是USB118模块
对于用户命令的应答。
3.2 USB118模块的接口控制命令说明
◆ 发送命令格式
0xaa+0xbb+命令码+参数+数据
注:十六进制数0xaa 和0xbb 为同步码,作用是使发送端与接收端命令同步。
命令长度 1字节 63字节 0-2048字节
内容 命令码 参数 数据
注:发送命令和数据时,相邻两个字节间的延时不能超过32 毫秒,否则USB118模块会认为操作
超时,从而返回错误信息。错误信息格式是:0xaa + 0xbb +0x01。另外,当同步码和命令码错
误时,USB118模块也会返回错误信息。错误信息格式是:0xaa + 0xbb+0x01。
◆ 命令应答格式:
命令长度 1字节 1字节 62字节 0~16384字节
内容 应答码 结果 参数 数据
◆ 命令列表
命 令 描 述 代码(16进制) 含 义 数 据
发送命令(由外部控制器发往USB118模块,USB118模块的串口接收)
USB118R_Detect 01H 检测设备 无数据
USB118R_Open 06H 打开文件 无数据
USB118R_Create 07H 创建文件 无数据
USB118R_MakeDir 32H 创建子目录 无数据
USB118R_InDir 33H 进入子目录 无数据
USB118R_OutDir 34H 返回上层目录 无数据
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 10
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
USB118R_RootDir 35H 返回根目录 无数据
USB118R_Read 08H 读取文件 无数据
USB118R_Write 09H 写文件 有数据
USB118R_List 10H 列出所有文件和子目录 无数据
USB118R_Remove 11H 删除指定的文件或子目录 无数据
USB118R_GetDiskCapacity 12H 获得磁盘空间 无数据
USB118R_SetFilePointer 15H 将文件指针移动到指定位置 无数据
USB118R_GetVersion 30H 获得软件版本 无数据
应答命令(由USB118模块发往外部控制器,USB118模块的串口发送)
USB118T_Detect 04H 检测设备应答 无数据
USB118T_Create 0AH 创建文件应答 无数据
USB118T_Read 0BH 读文件应答 有数据
USB118T_Write 0CH 写文件应答 无数据
USB118T_Open 0DH 打开文件应答 无数据
USB118T_List 20H 列出文件和子目录应答 有数据
USB118T_Remove 21H 删除指定文件或子目录应答 无数据
USB118T_GetDiskCapacity 22H 获得磁盘空间应答 无数据
USB118T_SetFilePointer 25H 设置文件指针应答 无数据
USB118T_GetVersion 40H 获得软件版本应答 无数据
USB118T_MakeDir 42H 创建子目录应答 无数据
USB118T_InDir 43H 进入子目录应答 无数据
USB118T_OutDir 44H 返回上层目录应答 无数据
USB118T_RootDir 45H 返回根目录应答 无数据
◆ 命令详细说明
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 11
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
通信流程:以检测是否有U盘插入的命令来说明
1. 用户发送命令:USB118R_Detect
发送的内容为:aa bb 01 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
aa bb 是前导码,与命令码要一起发送, 01是命令码,00是参数,从第3~64字节的参
数没有定义,全部用20补齐。共发送了66个字节。
2.用户接收命令:USB118R_Detect
接收的内容为:04 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04是命令码,01是参数,表示有U盘存在。01表示检测到的U盘是FAT32格式。从第6~64字节
的参数没有定义,返回00,共62个00H。总共收到64个字节。
3.程序示例:
/*------------------------------------------------------------------------------
函数功能: 检测设备是否正常
出口参数: commd[0]= 0x04, commd[1] 是检测结果 0x01有磁盘,0x00没有磁盘。
----------------------------------------------------------------------- */
void USB118_Detect()
{
intia(0x20); //intialize command data group
commd[0]=0x01; //USB118R_Detect command 0x01
commd[1]=0x00;
serial_syn(); //发送前导码 aa bb
serial_send(commd, 0, 0);
}
▲ USB118R_Detect(01H)
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 12
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
功能:检测是否有U盘接入。
数据部分:无
命令格式:
命令码 (Hex) 01H 00H
字节偏移数 0 1 2~63
说 明 保留
字节偏移数是64个字节的索引号,保留字节在编程时用20H补齐即可。以下类同,不再说明。
▲ USB118R_Open(06H)
功能:在当前目录打开指定文件名的文件。此命令成功返回后,即可以进行_SetFilePointer 、
_Read 、_Write 等操作,如果这些操作发生错误,则文件自动关闭,需要重新打开才能进行操
作。如果打开文件后又执行了上面三个命令以外的命令,则文件也会自动关闭。
数据部分:无
命令格式:
命令码 (Hex) 06H
字节偏移数 0 1~8 9~11 12~63
说 明 文件名 扩展名 保留
▲ USB118R_Create(07H)
功能:在U盘上创建指定文件名的文件。此命令成功返回后,即可以进行_SetFilePointer 、
_Read 、_Write 等操作,如果这些操作发生错误,则文件自动关闭,需要重新打开才能进行操
作。如果打开文件后又执行了上面三个命令以外的命令,则文件也会自动关闭。
数据部分:无
命令格式:
命令码 (Hex) 07H 00H
字节偏移数 0 1~32 33 34~63
说 明 文件目录项 保留
注意:该命令的文件名和扩展名必须为大写字母或数字,检查到已经存在同名文件,将直接打
开已经存在的文件。文件目录项遵守FAT文件规范,请参考P23页的表格。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 13
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
▲ USB118R_MakeDir(32H)
功能:在当前目录创建指定名的子目录。此命令成功返回后,即进入创建的目录中。该命令中
目录名必须为大写字母或数字,检查到已经存在同名目录,将直接打开进入存在的目录。
数据部分:无
命令格式:
命令码 (Hex) 32H 00H
字节偏移数 0 1~32 33 34~63
说 明 目录项 保留
▲ USB118R_InDir(33H)
功能:进入当前目录中指定的目录。此命令成功返回后,即进入子目录中,便可以进行创建文
件、创建子目录、读文件等操作。
数据部分:无
命令格式:
命令码 (Hex) 33H
字节偏移数 0 1~8 9~63
说 明 目录名 保留
▲ USB118R_OutDir(34H)
功能:返回当前目录的上一层目录。
数据部分:无
命令格式:
命令码 (Hex) 34H
字节偏移数 0 1~63
说 明 保留
▲ USB118R_RootDir(34H)
功能:返回根目录。
数据部分:无
命令格式:
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 14
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
命令码 (Hex) 35H
字节偏移数 0 1~63
说 明 保留
▲ USB118R_Read(08H)
功能:读取已经打开的文件。仅执行过一个_Open 命令后本命令才有效。读取的位置由
_SetFilePointer 命令指定的文件指针来确定。每次读取文件完成后,文件指针向后移动成功
读取的长度。_Open命令后,文件指针为文件起始位置0。
数据部分:无
命令格式:
命令码 (Hex) 08H
字节偏移数 0 1~2 3~63
说 明
读取长度
(低字节在前)
保留
▲ USB118R_Write(09H)
功能:向已经打开的文件中写入数据。仅执行过一个_Open 命令或者_Create 后本命令才有效。
写入的位置由_SetFilePointer 命令指定的文件指针来确定。每次将数据写入文件完成后,文
件指针向后移动成功写入的长度。在执行_Open 命令和_CreateFile 命令后,文件指针为文件
的起始位置0。
数据部分:每次写入的最大长度根据不同U盘而不同。本版本限制每次写入最大长度为4Kbyte.
命令格式:
命令码 (Hex) 09H 00H
字节偏移数 0 1 2~3 4~63
说 明 写入长度
(低字节前)
保留
问题:给文件中写完数据后,发现U盘上的文件并没有数据,这是为何?
解答:在写完数据后,文件必须关闭,刚写入的数据才能存入U盘中。所以用户如果不打算继续
写入数据,这时必须执行一个其它命令,例如读版本号命令,该文件就正常关闭了。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 15
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
▲ USB118R_List(10H)
功能:列举目录下面的所有文件和文件夹。
数据部分:无
命令格式:
命令码 (Hex) 10H 00H
字节偏移数 0 1 2~63
说 明 保留
▲ USB118R_Remove(11H)
功能:删除指定的文件或子目录。删除子目录时,文件扩展名为20H,要保证目录为空,否则会
出现不可预料的错误。
数据部分:无
命令格式:
命令码 (Hex) 11H 00H
字节偏移数 0 1 2~9 10~12 13~63
说 明 文件名 文件扩展名 保留
▲ USB118R_GetCapacity(12H)
功能:获得磁盘空间
数据部分:无
命令格式:
命令码 (Hex) 12H 00H
字节偏移数 0 1 2~63
说 明 保留
▲ USB118R_SetFilePointer(15H)
功能:将已经打开的文件指针移动到指定位置。仅在执行_Open ,_Create 后该命令才有效。
数据部分:无
命令格式:
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 16
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
命令码 (Hex) 15H 00H
字节偏移数 0 1 2~5 6~63
说 明 指针位置
(低字节前)
保留
▲ USB118R_GetVersion(30H)
功能:获得当前系统的版本号。
数据部分:无
命令格式:
命令码 (Hex) 30H 00H
字节偏移数 0 1 2~63
说 明 保留
▲ USB118T_Detect(04H)
功能:返回是否有U 盘插入
数据部分:无
结果:有磁盘(01H) 无磁盘(00H)
错误码:未定义
FAT格式:FAT(00H) FAT32(01H)
命令格式:
命令码 (Hex) 04H
字节偏移数 0 1 2~3 4 5~63
说 明 结果 错误码 FAT格式 保留
▲ USB118T_Create(0AH)
功能:返回创建文件的结果。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 17
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
命令码 (Hex) 0AH
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
▲ USB118T_Read(0BH)
功能:返回读取文件的结果
数据部分:最大长度为16384
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 0BH
字节偏移数 0 1 2~3 4~5 6~63
说 明 结果 错误码 数据长度
(低字节前)
保留
注意:以前
版本此处数据长度字节偏移数可能有误。
▲ USB118T_Write(0CH)
功能:返回写文件的结果
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 0CH
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
▲ USB118T_Open(0DH)
功能:返回打开文件的结果。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
文件目录项: 32个字节,具体含义请参考P23页的文件格式表格。其中有文件大小,对用户来说
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 18
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
比较重要。如果打开一个已经存在的文件,并想继续添加内容,那么就要通过这个返回参数得
到文件的大小,然后用移动指针命令将指针移到文件末尾。
命令格式:
命令码 (Hex) 0DH
字节偏移数 0 1 2~3 4~35 36~63
说 明 结果 错误码 文件目录项 保留
▲ USB118T_List(20H)
功能:列举磁盘上文件和目录的应答。
数据部分:有。数据部分的内容是文件目录项,每个文件目录项占用32字节,格式见FAT 规范。
内容 数据部分
文件(或目录)1 目录项 0~31
文件(或目录)2目录项 32~63
⋯⋯⋯ ⋯⋯⋯
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 20H
字节偏移数 0 1 2~3 4~5 6~63
说 明 结果 错误码 数据长度
(低字节在前)
保留
▲ USB118T_Remove(21H)
功能:删除文件或子目录的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 19
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
命令格式:
命令码 (Hex) 21H
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
▲ USB118T_GetCapacity(22H)
功能:获得磁盘空间的应答。返回数据,低位在前。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码
(Hex)
22H
字节偏移数 0 1 2~3 4~7 8~11 12~15 16~19 20~63
说 明 结
果
错误
码
有效空间
低4字节
(低字节
在前)
剩余空间
低4字节
(低字节
在前)
有效空间
高4字节
(低字节
在前)
剩余空间
高4字节
(低字节
在前)
保留
▲ USB118T_SetFilePointer(25H)
功能:返回设置文件指针的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 25H
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 20
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
▲ USB118T_GetVersion(40H)
功能:获得版本号的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 40H
字节偏移数 0 1 2~3 4~5 6~63
说 明 结果 错误码 版本号 保留
▲ USB118T_MakeDir(42H)
功能:获得创建子目录的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 42H
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
▲ USB118T_InDir(43H)
功能:获得进入指定子目录的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 43H
字节偏移数 0 1 2~3 4~63
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 21
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
说 明 结果 错误码 保留
▲ USB118T_OutDir(44H)
功能:获得返回上层目录的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 44H
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
▲ USB118T_RootDir(45H)
功能:获得返回根目录的应答。
数据部分:无
结果:成功(01H) 失败(00H)
错误码:未定义
命令格式:
命令码 (Hex) 45H
字节偏移数 0 1 2~3 4~63
说 明 结果 错误码 保留
◆ 错误码
错误码 错误名 错误含义
0001H NoDevice 设备未插入或未检测到设备
0002H DeviceFull 设备已经满或者设备中的剩余空间不足以容纳要写入的文件
000AH DeviceErr 设备异常
0010H FileExist 要创建的文件或目录已经存在
0011H FileNotFound 要找的文件或目录不存在
0012H LengthExceed 要读取的文件长度超出文件实际长度
0013H ReachEnd 已经到达文件结尾
0014H FileNotOpened 文件或目录未打开
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 22
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
0050H StateErr 状态错误
00FAH SysErr 系统错误
◆ 文件格式
注意:USB118模块只支持8.3,即文件名最多为8 个字符,文件扩展名最多为3 个字符。
文件大小,4个字节,低字节在前。
上次更新时间及日期备注中说明“高位在后,低位在前”,明确地说是“高字节在后,低
字节在前”。
更新时间
: time=Hr * 2048 + Min * 32 + Sec / 2 上表中此处有误。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 23
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
第四章 USB118AD模块的测试说明
USB118AD模块可以通过USB118AD_DEMO测试板直接连接PC 机的RS232串口,从而通过PC 机
上的演示软件进行功能测试。
也可以通过USB118AD_Demo测试板以SPI模式测试USB118AD模块,同时提供单片机测试程序
源码。
4.1 USB118AD_DEMO 测试板
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 24
测试板
USB118AD_DEMO
USB118AD模块
被测模块安装位置
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
4.2 采用电脑串口测试 USB118AD模块
4.2.1硬件连接
为了协助客户快速使用USB118AD模块,采用我公司提供的测试板USB118AD_DEMO通过PC机串
口测试USB118AD模块。
识别各种容量、非加密、
无分区、FAT/FAT32、
USB1.1/USB2.0的 U盘
通过电脑 USB
口为测试板提
供+5V电源
被测模块
USB118AD
连接电脑串
口 RS232
图4-1 USB118AD与电脑串口的连接
第一步:测试板连线
将串口延长线的DB9一端连接到测试板的UART2的插座上,另一端连接至PC 机的COM 口插
座上(如果电脑没有串口,可以采用市场上的USB口转串口的转化器或者我公司的USB210模块);
将USB118AD模块插在测试板的12Pin测试插座上,用螺钉固定好;然后将U盘插入USB118AD模块
的USB A 型座上,详细连接如图4-1所示。
第二步:设置串口速率
将模块上的M0和M1插针通过短路帽可以选择串口波特率或SPI方式,短路帽方向为上图水平
方向,插上短路帽为1(高电平),不插为0(低电平)
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 25
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
工作方式 M1 M0 短路帽 波特率
串口 1 1 M1和M0都插上 57600bps
串口 1 0 M1插上,M0不插 115200bps
串口 0 1 M1不插,M0插上 9600bps
SPI口 0 0 M1和M0都不插 8位数据,00模式
注意:改变工作方式或选择波特率时必须在模块断电时进行。
第三步:通电
通过USB延长线一端连接到测试板的USB口上,另一端连接到电脑的任一个USB口上,即可给
测试板提供5V直流电源,电脑启动后,测试板得电,USB插座附近的D1电源灯亮表示给测试板的
供电正常,测试板上的D2指示灯闪烁频率大约为1秒表示测试板程序工作正常;USB118AD模块上
的D5电源指示灯亮表示模块电源正常,D8灯闪烁频率大约为1秒表示USB118AD模块程序工作正
常,模块上的D6灯点亮表示提供给U盘接口的5V电源正常,当插入U盘时模块上的D7指示等点亮,
同时测试板上的D6灯点亮表示U盘被正确识别。
4.2.2 演示软件使用
在电脑的 Windows操作系统上运行:USB118AD_DEMO_UART . EXE程序。该软件主要
用于通过电脑串口测试 USB118AD的命令使用过程,这个软件非常直观地演示了每条命令的发
送和接收的
,用户在软件状态窗口上可以清楚的看到发送接收的数据内容。用户在编写和
调试其单片机的程序时能够借鉴这个过程,并进行比对,因此可以快速将 USB118AD模块应用
到其系统中。
硬件设备连接完成并检查无误后,启动该软件,启动界面如4-2图所示。
工具栏中的操作命令可在相应的菜单项中找到,后面的说明只对工具栏中的按钮操作说
明 。
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 26
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
发送的命
令内容
接收的返回
内容
图4-2 USB118A D_DEMO_UART测试软件
▲ 串口速率设置 :在文件菜单中选择串口设置项,出现串口参数设置窗体,如图4-3所
示:
图4-3 串口参数设置
▲ 检测设备:单击工具栏上的检测设备按钮,相当于发送USB118R_Detect命令,如果设
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 27
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
备正常,将在软件主窗口的左上侧显示“设备检测正常”,否则显示“设备检测异常”,此
时请检查是否插入U盘。
▲ 检测空间:单击工具栏上的检测空间按钮,相当于发送USB118R_Getcapacity命令,将
在软件主窗口左上侧显示U盘的空间大小和当前剩余空间大小。
▲ 检测版本: 单击工具栏上的检测版本按钮,相当于发送USB118R_GetVersion命令,在
USB118AD模块工作正常的情况下,此时将返回硬件的版本号(7.0),同样在主窗口
的左上侧显示。
▲ 文件列表:单击工具栏上的文件列表按钮,相当于发送USB118R_List命令,将把当前
目录下的所有文件及文件夹列在窗口右侧的空白域中。
▲ 返回上层:单击工具栏上的返回上层按钮,相当于发送USB118R_OutDir命令,从当前
子目录返回上层目录,并自动执行文件列表命令,如果已经是根目录,执行后提示错
误。
▲ 返回根目录:单击工具栏上的返回根目录按钮,相当于发送USB118R_RootDir命令,从
当前子目录直接返回到根目录,并自动执行文件列表命令。
▲ 创建文件:单击工具栏上的新建文件按钮,将弹出新建文件窗口,如图4-5所示,在文
本框中填上要建立的文件的文件名、扩展名及属性点击确定,相当于发送USB118R_
Creat命令,就会在当前目录下建立此文件,建立文件后可以在文件列表中看到。
图4-4 创建文件
▲ 创建文件夹:单击工具栏上的创建文件夹按钮,将弹出新建文件夹窗口,在文本框中
http://www.dataie.com data029@126.com Tel: 029-85272421 85277568 28
USB118AD 型 USB2.0 接口 U 盘读写模块
西安达泰电子有限责任公司
填上要建立的文件夹的文件名确定,相当于发送USB118R_MakeDir命令,就会在当前
目录下建立此文件夹。
▲ 打开文件:在文件列表列出后,可以双击选中的文件或选中文件后单击工具栏上的打
开文件按扭,都可以打开文件。此时将弹出一个窗口,用来显示打开后的文件内容,
您可以在打开文件完成后修改文件内容,相当于先发送USB118R_Open命令,然后发送
USB118R_Read命令。如图4-5所示:
图4-5 打开并读取文件
▲ 删除文件:在文件列表列出后,选择要删除的文件,然后单击工具栏上的删除文件按
钮删除文件,相当于发送USB118R_Remove命令。删除子目录也是该命令,