|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 H! _9 q9 o8 K' Y! }1 |" P
摘要:在无操作系统的单片机系统中实现USB主机系统功能,对U盘进行文件的读写,并在U盘上实现FAT格式文件系% c7 n) Y" V4 M
统,使U盘成为单片机应用系统的存储设备,这极大的方便了单片机在数据采集,存储以及传输方面的应用。最后,实现了% e! j) o& P* ~
脱离PC机的对U盘操作的功能,数据能够脱离PC机在U盘之间方便简洁的交换。
& N9 O1 `9 A3 \关键字: USB主机系统;U盘;FAT文件系统;人机接口.
) s7 h9 b' O+ B6 o+ H引言# n# z' h1 U3 J" A* w' R
对于大多数单片机而言,其内部存储器只有ROM和RAM
0 i6 k8 q1 l! r2 G: q3 r: L& h4 v两种。由于ROM对数据的不易修改性和RAM对数据的掉电易.
2 N3 Y8 ]/ m% l$ q, F' s失性,而且它们有限的容量,这极大地限制了单片机在数据存., [' e9 s" k/ A2 w! O4 X5 ]
储,处理及传输方面的应用。如今,U盘已经成为使用方便的移8 w: q7 f' f9 [5 C9 f+ l3 _% ~7 a' p" `
动存储设备,它采用USB总线接口,支持热插拔且即插即用,体
% K# p$ M# l& }3 N& o积小容量大,读写速度快,可重复擦写几百万次,无需外接电源,& H6 c# [& f0 u2 `4 b- O7 o
易于采购和携带,有多种容量可供选择,但是它通常与计算机交.
' |! t( v4 K$ C( u* T换数据,不是很方便。因此就有了脱离PC机在U盘之间交换数2 f- F* X2 C0 ]& }& O
据的需求。本文为脱离PC机的U盘对拷技术的研究与设计,主.
8 O4 V& k0 l9 f要任务是要完成在无操作系统的情况下对嵌人式USB主机系.
1 n5 g" ~. M5 k. n: j7 w0 H统的设计,并完成Mass Storage类协议设备驱动嵌人式程序及
, q7 |# u' R' j6 P" U/ G# M; E用户程序。最后,实现结果为在无操作系统的单片机环境下能够
7 S* W, U1 a- {5 w# h( ~$ y3 a# r对U盘进行文件的读写操作及FAT文件系统的实现。/ x) t3 {* M5 _* P
1硬件电路总体设计
) T7 o8 E Z4 P: X嵌人式USB主机系统从硬件上区分主要包括USB主机控
: c3 H# A* ~3 o! `5 K- k制器和系统主处理器,因此,嵌人式主机系统的核心就由主) `9 k; |& B, L. O4 s9 ^
CPU和主机控制器芯片构成。组成系统的首要任务就是选择合/ P0 }" [* P( U |) s' q
适的主CPU以及USB主机控制器芯片。另外,为了直观地显示
# y6 U, i3 S* S- l系统调试过程和运行结果,需要建立一个人机界面。若作为一: r" C4 y, B5 o9 L, {
个独立的系统,需要另行配置LCD显示模块完整的键盘模块
; S9 c, Q' Q. ?- a/ N9 p9 K等。硬件选择的方案HAI必须综合考虑系统成本、处理速度、体/ ^( R/ l2 i+ U$ F1 m9 O. A; O
积、功耗等问题。" W2 ?4 z; q5 U5 y
1.1系统硬件总体框图0 D) f1 q- g+ ]( y( E' C: B
嵌人式USB主机系统的核心包括中央处理器和USB主机
3 r) _8 g* u. U# I: d, s" q7 I
) a$ Z* h; k+ _2 s控制器,基于程序存储容量和处理数据速度方面的考虑,外部7 _8 M0 Y. U( {9 @, b
扩充RAM。图1是系统的总体设计框图。( e. y$ h$ ~. M- e. e2 x' ?, r; t
系统的大致工作流程是(视具体设计而定):单片机系统在; i: w/ |% w- }- a
完成系统初始化之后,等待USB主控制器的外部中断或查询
' b6 U: ]9 Z! v' @4 A% n- }USB主控制器的状态,当USB设备插人主机系统上之后,由" U2 ]- g6 i5 p& G; H" _ {
USB主控制器通过外部中断信号或相应的状态值来通知单片
6 l; f0 `# j4 C; u x: `1 K+ @5 x机系统,单片机与USB主控制器完成设备的枚举、配置等操作,7 q# h Z# s5 C1 [$ J
并对Flash闪存进行操作,可以建立文件并写数据,建立文件
# ^/ y3 D! h0 `" N O夹,读取具体文件中的数据,修改文件的信息(例如文件的修改3 K6 V- [, o5 [6 Z* f% T
时间,大小等),或者使用通配符对Flash 闪盘中文件或文件夹
3 V) [6 ^. U. z+ Y等等。预留扩展接口是留给用户进行具体功能扩展时使用,用- P/ o+ f: Y6 C% |% ^1 z
于通过RS- -232与PC机进行通信,或控制时钟芯片等等。
0 I8 e7 R B! T [# V" w1.2系统主处理器的选择. L; M1 d$ \# e$ l( f- f2 f
常用的8位单片机体积小成本低但是一般来说时钟频率
2 {! M' ~. D e. J/ [不很高,且往往一个机器周期需要好几个时钟周期,更加导致
( |( d5 N/ q2 a效率降低。此外,8位单片机的片内资源较少, RAM,ROM容量; q9 [/ w+ ~ v4 w8 p2 C
都比较小,加大RAM就可以解决有大量数据需要处理的系统
# I0 F! w* o3 H2 d# {: \, W需求。DSP处理器由于外围集成的资源比较少,价格又比较昂
8 w) v; P4 x$ p6 l' w) R2 O& Z贵,同样不适用于本系统。如今市面上流行的32位ARM核微2 V2 `6 ~( p( r6 \4 D
处理器,处理速度快,外围集成单元齐全,价格适中,更被广泛( {. `# g; ^. B8 ~; c: ]& q" T
7 j6 J+ o1 z o: {
* Y3 \% x. J: c `) J4 T4 C- ?: G" _9 h2 w. W- M: p
附件下载:* g( p5 N5 o3 A3 |$ y) A) U, X
* z" F, `7 R& F4 Q" @: F! s5 ?2 } |
|