|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:本文结合嵌入式技术、井下存储系统所要满足的高温、震动较强的自然条件和存储系统所需的容量的要2 [. o3 k, ^% p
求,提出了基于SOC单片机C8051F340控制读/写电子盘的存储系统,分析了电子盘的接口、电子盘接口- a2 t# M. i4 [
寄存器、电子盘存储结构,给出了电子盘与单片机C8051F340的硬件接口电路图、单片机读/写电子盘扇
4 P% M2 Q# o' i# L$ V3 ^5 l6 G2 M8 z区的操作以及结合KeilC51语言论述了C8051F340通过FAT文件系统控制电子盘文件读/写的方法和# H% a+ v3 _6 M+ |. c8 K3 D7 s
思想。
; y" |" a7 S) O. R8 [关键词:电子盘 文件系统 C8051F340单片机
) m0 @# l5 [# w# K# Z6 ?引言
9 h4 z% E& z+ \( z如今,以单片机为核心的持续数据采集存储系统中,9 \$ M: @( q3 a' Q! E
对存储设备的性能要求也越来越高,例如井下检测系统需$ y/ @( ?/ |" Z9 U; D
运行在高温、高湿度、震动较强的恶劣环境中,且需要长时2 @5 q* e" N: F
间持续采集,因此采集系统需要大容量、高稳定的存储设
+ J D0 j/ }4 Y* N8 ]% z3 j5 ]备。电子盘克服了机械硬盘的弊病,能提供原始、高性能; K& O& ~$ m0 k/ i- P
和高可靠的数据储存,即使是在恶劣的条件下工作-一恶
( h. e; u1 a/ B- n9 J# l% V劣的温度撞击、震动、干扰等,也不会对数据构成威胁。. `' N. G9 b5 J+ \
经典的单片机读/写硬盘都是通过8255扩展I/O端口实3 B7 A E. d! V+ |' y! I. K
现的,由于8255自身的特性,在扩展的过程中还需使用反
; J$ r5 A0 x3 L向器件,造成硬件结构复杂。C8051F340作为核心处理器
, p+ b4 a$ J/ `7 K: J" O在无需扩展程序存储器、A/D芯片、I/O端口和USB功能
9 A; q) y8 l) c3 @# T控制器等器件的情况下,即可完成数据采集,通过自身I/
+ o' n; m) w% x2 \' \- a7 ~# g1 y' u0口存储到电子盘,并且可以通过USB通信完成数据的
2 {7 F. F! `# }0 V o返回。基于以上原因,本文提出了基于sOC单片机
! l/ R5 \5 P. M; F uC8051F340读/写电子盘。
V3 f. }; |+ s8 {/ D8 ?" p,1电子盘与 单片机的硬件接口5 e# d8 I, x+ A
系统mcu选用原CYGNAL公司的C8051F340,
* C5 K' O7 s k+ L. d6 JC8051F系列单片机是集成的混合信号片上系统SOC .4 B) n2 N4 x B7 V2 K: H
(System On Chip),具有与MCS-51内核及指令集完全
) \3 a) ~ b% J5 k兼容的微控制器,除了具有标准8051的数字外设部件之
( k0 t4 N7 Y2 O9 Z外,片内还集成了数据采集和控制系统中常用的模拟部件
+ z6 \- b* {% g+ r和其他数字外设及功能部件。C8051F340 具有以下特性:4 i% d- w7 d/ { n. W
高速、流水线结构的8051兼容的控制器内核(可达48% v4 Y* ]8 i- A+ R
MIPS);全速、非侵人式的在线调试接口;内部集成了USB3 o- U( w( O( q) K) \7 `& M
! a- k- A, w5 i; X' a: O4 V- E1 q( ]
功能控制器;64KB可在系统编程的FLASH存储器。
P* ]" y) d; O电子盘IDE接口与普通的硬盘的读/写方法和寻址
8 R9 X1 G% ]' ?# ]方式都一样,都遵循ATA标准。如图1所示,CS0、CSI是/ k! i1 B% s1 ]4 {* H7 ^
IDE接口的片选信号,用于访问电子盘的命令寄存器和控/ Q) v# C! G0 W6 h% b& D
制寄存器;A0~A2是驱动器地址总线,用来选择设备的
, E6 \4 [5 O# e) z5 Z寄存器或数据端口;Data0~Data15是驱动器数据总线,
) }6 m9 N U/ J( P0 `' e用来向寄存器组和电子盘驱动器传送数据;DIOR和
' P* a( L4 P% k4 }+ L J" yDIOW对寄存器进行读/写操作时的一对握手控制信号;1 b4 b5 ], o+ z" l
RESET用来对电子盘进行复位;
- z% {6 q$ n+ ?" f图1是C8051F340与电子盘硬件接口电路图。
: S; X) j+ R" tC8051F340的P3、P4端口与电子盘接口的数据总线D0~
9 `& x* Q) `8 sD15相连,P2端口和电子盘接口的控制信号A0、A1、A2、
% i9 q. t, n3 S3 g9 L0 k+ _) }CSo .CSI、DIOR、DIOW和RESET相连。通过限流电阻在; q+ w" m2 C2 F, Y, p4 x
DASP脚上连接一个硬盘指示灯。P3、P4 端口需在设置- B) `4 p/ I: {# U! B( u" @7 Y
为漏极开路的状态下读取电子盘数据寄存器中的数据,因# H) `& q' m2 m+ I
此在P3、P4端口分别接上4.7ks的上拉电阻,以达到限
% o+ A4 L6 P x: {9 U X流的目的。
4 U. X. j. d8 [% v6 y0 N2电子硬盘控制寄存器; x- I# x" p) u9 n$ b
通过IDE接口的数据传输可以有两种方式:通过可
! Q" Z/ X$ r# r2 d编程的I/O(PIO)或使用直接访问(DMA)。但本系统而# p( o4 w; H: ~5 C6 ?# G
言,属于单任务系统,负荷也不大,再加上PIO模式提供9 Y2 T4 I/ l* q- ]7 @2 r9 R
了编程控制输人/输出模式,控制起来相对简单。在PIO: n, _: l& h! e9 }! Q
模式下,IDE接口与单片机之间的通信主要是通过访问
2 y' C- z1 u' d- u7 KIDE控制器寄存器、命令寄存器来实现的。命令寄存器组: I& H. U5 g7 r* J1 z7 j5 A2 G8 K
用来给电子盘驱动器发送命令和命令参数;控制寄存器用
9 ]) J/ j% M+ J5 r1 O; g" h来控制电子盘驱动器。这些寄存器是IDE接口与单片机1 U# N, Y5 T: \8 x/ o
( N" F7 J5 H) ^6 T0 Z
$ L6 ]2 t" n2 k4 s9 ?! l
- G: N' S! |0 A
附件下载:
5 I; |# Y7 b5 A* T5 b7 I
2 M8 Y9 E9 e* k7 _1 ~" t |
|