|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:本文结合嵌入式技术、井下存储系统所要满足的高温、震动较强的自然条件和存储系统所需的容量的要: d) `# T+ x- S
求,提出了基于SOC单片机C8051F340控制读/写电子盘的存储系统,分析了电子盘的接口、电子盘接口; T7 \$ E. K! X* g
寄存器、电子盘存储结构,给出了电子盘与单片机C8051F340的硬件接口电路图、单片机读/写电子盘扇
! c J0 a6 {$ r2 R9 ?+ Z( W区的操作以及结合KeilC51语言论述了C8051F340通过FAT文件系统控制电子盘文件读/写的方法和 S0 s& ~+ y% Z ^4 h& K
思想。$ y, c9 V6 u9 L; n
关键词:电子盘 文件系统 C8051F340单片机
3 ~4 c4 j. I8 z4 E引言
% {' l5 l# h/ J' z$ l0 `; I如今,以单片机为核心的持续数据采集存储系统中,) F+ }5 A2 f, D |4 l8 G
对存储设备的性能要求也越来越高,例如井下检测系统需
4 M; Z9 z! i2 L9 H$ B9 v/ \运行在高温、高湿度、震动较强的恶劣环境中,且需要长时
& H' A+ r: r z/ m# V间持续采集,因此采集系统需要大容量、高稳定的存储设, t$ _/ w; D1 S
备。电子盘克服了机械硬盘的弊病,能提供原始、高性能
) s1 g% V: k. ]: D和高可靠的数据储存,即使是在恶劣的条件下工作-一恶
; t/ `; b6 K3 A5 S. T% g7 I劣的温度撞击、震动、干扰等,也不会对数据构成威胁。% b! t4 b1 r& p% L
经典的单片机读/写硬盘都是通过8255扩展I/O端口实
& D4 i* U! O. w9 c; \现的,由于8255自身的特性,在扩展的过程中还需使用反5 S! r5 `- f8 V* g
向器件,造成硬件结构复杂。C8051F340作为核心处理器
& v" E3 v# ^1 n4 H" v% x在无需扩展程序存储器、A/D芯片、I/O端口和USB功能
& p ?& R8 g. Z7 P控制器等器件的情况下,即可完成数据采集,通过自身I/; f' L/ t, R' f" K
0口存储到电子盘,并且可以通过USB通信完成数据的
4 k1 g# T( T4 S5 q( |6 V返回。基于以上原因,本文提出了基于sOC单片机
4 { ^" m& w& @5 _C8051F340读/写电子盘。" Z' [( @! K9 S" P f
,1电子盘与 单片机的硬件接口
( U( O8 [/ f& G8 f0 h系统mcu选用原CYGNAL公司的C8051F340,) w4 k9 F' M. |/ c- h- S7 C
C8051F系列单片机是集成的混合信号片上系统SOC .5 }4 V- v# i! r
(System On Chip),具有与MCS-51内核及指令集完全
0 K ]$ C I) N# o兼容的微控制器,除了具有标准8051的数字外设部件之' W$ ?! k g- k* `& T' V
外,片内还集成了数据采集和控制系统中常用的模拟部件
" L$ _: u \- c" H和其他数字外设及功能部件。C8051F340 具有以下特性:
9 u: J3 _+ E# e0 f高速、流水线结构的8051兼容的控制器内核(可达48" U$ }' D* n5 V% K2 k+ @4 e
MIPS);全速、非侵人式的在线调试接口;内部集成了USB, }5 M7 z% i8 X$ s
, s$ n2 ?& R! ^: |) q功能控制器;64KB可在系统编程的FLASH存储器。. Q# l& q) Q9 o$ }3 |# Z
电子盘IDE接口与普通的硬盘的读/写方法和寻址
I7 u8 A7 `0 F+ N. ]方式都一样,都遵循ATA标准。如图1所示,CS0、CSI是! q% ]2 `8 [7 p% H7 l2 @; b! N
IDE接口的片选信号,用于访问电子盘的命令寄存器和控
" R) r" ?" B+ I: a制寄存器;A0~A2是驱动器地址总线,用来选择设备的
. S6 t: e, n Q! E* M# h8 p寄存器或数据端口;Data0~Data15是驱动器数据总线,7 L" b7 Q* u- u/ J9 B
用来向寄存器组和电子盘驱动器传送数据;DIOR和
, O! }. k# R8 Q$ c' SDIOW对寄存器进行读/写操作时的一对握手控制信号;
4 A/ G& R8 M9 H& I7 ^6 URESET用来对电子盘进行复位;
* U/ T5 t$ ]: | C7 U7 E图1是C8051F340与电子盘硬件接口电路图。
- J. s9 P9 G) s. u4 P5 hC8051F340的P3、P4端口与电子盘接口的数据总线D0~5 k/ ]- m6 V. T5 P5 I
D15相连,P2端口和电子盘接口的控制信号A0、A1、A2、
# a8 T7 t3 R3 o, ICSo .CSI、DIOR、DIOW和RESET相连。通过限流电阻在
+ |' U$ {- r% R/ K# Q6 _0 TDASP脚上连接一个硬盘指示灯。P3、P4 端口需在设置0 Z$ W8 `2 [9 W4 I) c
为漏极开路的状态下读取电子盘数据寄存器中的数据,因9 Y) o {# n" j @+ C1 g/ `; S2 |
此在P3、P4端口分别接上4.7ks的上拉电阻,以达到限
6 g" d# _8 f2 n% S流的目的。: I/ b9 p/ r {% G
2电子硬盘控制寄存器) P8 c* g1 E- F
通过IDE接口的数据传输可以有两种方式:通过可 b5 m# k. p' ?- o2 d! W
编程的I/O(PIO)或使用直接访问(DMA)。但本系统而 P. t4 J' [$ S6 I0 `
言,属于单任务系统,负荷也不大,再加上PIO模式提供
$ c3 |& v5 o& v3 `: l- Y$ @' J了编程控制输人/输出模式,控制起来相对简单。在PIO
0 G6 a+ \% E6 [模式下,IDE接口与单片机之间的通信主要是通过访问0 E/ n( P( _" _0 |5 g8 e4 c
IDE控制器寄存器、命令寄存器来实现的。命令寄存器组% n# G# B0 y: `; t
用来给电子盘驱动器发送命令和命令参数;控制寄存器用
- W$ ~+ B$ Z- n来控制电子盘驱动器。这些寄存器是IDE接口与单片机3 K! A7 u- l1 n, }" w) m3 |
. x7 T6 w6 p D& r4 [9 E( B5 h3 Y* f! ?' V. _4 n
# A0 V5 V0 g) V9 H- |附件下载:( X S" d9 ~9 s5 G
, W3 B2 W* s* l
|
|