|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 g, o& c5 b! P" I$ E摘要:在无操作系统的单片机系统中实现USB主机系统功能,对U盘进行文件的读写,并在U盘上实现FAT格式文件系
0 I5 M* V2 i/ w* a统,使U盘成为单片机应用系统的存储设备,这极大的方便了单片机在数据采集,存储以及传输方面的应用。最后,实现了
3 c! K7 ]7 D- G1 w6 C0 z9 g2 D脱离PC机的对U盘操作的功能,数据能够脱离PC机在U盘之间方便简洁的交换。# ?" X( A [) s
关键字: USB主机系统;U盘;FAT文件系统;人机接口.
4 I2 p3 u, E" t) F* h引言0 t- K q; g, H* O0 T' j( m
对于大多数单片机而言,其内部存储器只有ROM和RAM
v6 y8 X1 v4 \( L* P9 G两种。由于ROM对数据的不易修改性和RAM对数据的掉电易.
8 m/ U% m9 D, X2 t+ f3 G失性,而且它们有限的容量,这极大地限制了单片机在数据存.
1 [3 h" ^ ~' x b/ c' c# A" Y储,处理及传输方面的应用。如今,U盘已经成为使用方便的移
) a' W5 b5 F, T$ ~5 C5 b' ? }5 V动存储设备,它采用USB总线接口,支持热插拔且即插即用,体5 J+ B/ h6 u. `/ ?7 f8 q4 L& W
积小容量大,读写速度快,可重复擦写几百万次,无需外接电源,
* w- B) E" V6 E$ {易于采购和携带,有多种容量可供选择,但是它通常与计算机交.& A; E2 \! V% `% e/ m
换数据,不是很方便。因此就有了脱离PC机在U盘之间交换数
9 [9 y5 M% j# j4 j据的需求。本文为脱离PC机的U盘对拷技术的研究与设计,主.8 R/ E; t8 d, H- w
要任务是要完成在无操作系统的情况下对嵌人式USB主机系.
, A- ?; q( ]& `' h+ ]% O统的设计,并完成Mass Storage类协议设备驱动嵌人式程序及
: H) K. O" ?* _9 T. Y用户程序。最后,实现结果为在无操作系统的单片机环境下能够4 W" O" o6 H1 ~ I
对U盘进行文件的读写操作及FAT文件系统的实现。
- ]* S" H ~" z" ?2 U1硬件电路总体设计% ]) N" N0 w, {4 n7 s, D/ o
嵌人式USB主机系统从硬件上区分主要包括USB主机控
* U2 V; C. n# h& V5 K& ]9 Y7 D0 u制器和系统主处理器,因此,嵌人式主机系统的核心就由主
% D3 S: n8 x& ^/ H, t$ D( ^. j. M% n- ]2 vCPU和主机控制器芯片构成。组成系统的首要任务就是选择合
6 |6 R+ U" H6 s$ G3 L2 @' O适的主CPU以及USB主机控制器芯片。另外,为了直观地显示
8 ?: p( g8 @- H( W( [4 A1 F- K系统调试过程和运行结果,需要建立一个人机界面。若作为一0 Y2 P1 i( ]# u- G: E7 j
个独立的系统,需要另行配置LCD显示模块完整的键盘模块6 E, i- n" ?! B
等。硬件选择的方案HAI必须综合考虑系统成本、处理速度、体- q3 {8 ^- p* E3 g& t
积、功耗等问题。
4 z7 O- P! }9 X' V# Y1.1系统硬件总体框图1 T' D' c' b4 a& t
嵌人式USB主机系统的核心包括中央处理器和USB主机
( I% O+ K& {) A" `4 h; I
* U& ]3 ^$ D l `1 ~; r2 \7 q控制器,基于程序存储容量和处理数据速度方面的考虑,外部
* i1 t1 V0 ]3 J8 R扩充RAM。图1是系统的总体设计框图。
# h$ V6 Y6 A5 D/ G. n6 D系统的大致工作流程是(视具体设计而定):单片机系统在( c& I& U: P8 L4 Q4 p
完成系统初始化之后,等待USB主控制器的外部中断或查询
8 b7 h1 G: X( Z5 \' v8 cUSB主控制器的状态,当USB设备插人主机系统上之后,由
) p& E" D- S+ ^2 {6 v0 RUSB主控制器通过外部中断信号或相应的状态值来通知单片
. i5 W0 T$ [5 A( ~' v5 t P& b机系统,单片机与USB主控制器完成设备的枚举、配置等操作,6 X# u) x7 a& I" z* L* g% P1 R
并对Flash闪存进行操作,可以建立文件并写数据,建立文件
# R5 J7 l& d& \# ?2 K! m/ {夹,读取具体文件中的数据,修改文件的信息(例如文件的修改
1 _ Z9 g) I9 n( }时间,大小等),或者使用通配符对Flash 闪盘中文件或文件夹
! E. [$ s) R/ d9 D5 k等等。预留扩展接口是留给用户进行具体功能扩展时使用,用$ E" o6 B* P0 n" C; }
于通过RS- -232与PC机进行通信,或控制时钟芯片等等。0 f) V( X% G1 x/ _; d0 y% c
1.2系统主处理器的选择4 z, d5 `/ C0 x4 H# m6 x/ M- B
常用的8位单片机体积小成本低但是一般来说时钟频率* A$ |, W, O8 s9 d2 ^7 Z2 \
不很高,且往往一个机器周期需要好几个时钟周期,更加导致
/ N8 W4 @4 x0 R效率降低。此外,8位单片机的片内资源较少, RAM,ROM容量
1 n1 a; l1 V7 b* @. ?都比较小,加大RAM就可以解决有大量数据需要处理的系统
5 K3 h" ^# O, i需求。DSP处理器由于外围集成的资源比较少,价格又比较昂9 S' O0 b4 c+ l2 D! ^# s" Y! H
贵,同样不适用于本系统。如今市面上流行的32位ARM核微& p5 C u( X+ L& [8 q" d; _
处理器,处理速度快,外围集成单元齐全,价格适中,更被广泛3 g* M C/ N" K, p) [
1 L1 N" e/ m, d/ T) Y
! l$ P) b% u k, c' y* w
: P$ Q6 ?" f1 D* {8 g( y
附件下载:
8 i, R% Y5 y9 o5 J/ X: \% z+ N A% |: z) L6 M. Z& O# y7 c9 M/ H. C$ [
|
|