当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]通过8051单片机对CF卡进行读写。2.CF卡的操作方式CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面

通过8051单片机对CF卡进行读写。

2.CF卡的操作方式

CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为:

LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区数一1

在实际使用过程中,用LBA地址进行寻址,可以大大简化编程的工作量,避免柱面、磁头和扇区之间的换算和切换,并且可以突破CHS对大容量的无法寻址的限制。

3.CF卡的文件管理

CF卡的文件管理系统和硬盘的文件管理是一样的,他将CF卡的存储空间分为五个部分:主引导记录扇区(MBR)、DOS引导区(DBR)、文件分配表(FAT)、文件目录表(FDT)和数据。

主引导记录扇区(MBR)

主引导记录扇区(MBR)在0柱面、0磁头、1扇区。主引导记录记录磁盘最重要的结构信息。主引导记录是硬磁盘作分区时建立的(Fdisk)。主引导记录包括一小段执行代码(主引导代码)、磁盘特征和硬盘分区表。主引导记录结束的两个字节必须是引导自举标记0x55AA。磁盘特征位于0x01B8, 指定磁盘操作系统。

DOS引导区(DBR)

DOS引导区(DBR)的起始扇区在0柱面、1磁头、1扇区,磁盘的逻辑0扇区都称为DOS引导扇区,又称为BOOT区。它由以下5个部分组成:

跳转指令,占用3个字节的跳转指令将跳至引导代码,其内容随DOS版本变化。

厂商标识和DOS版本号。该部分总共占用8个字节,其内容随DOS版本而不同。

BPB(BIOS Paramenter Block, BIOS参数块)。BPB从第12字节起占用19个字节。

DOS引导程序。DOS引导程序既是占用480字节的BOOT代码,负责完成DOS的3个系统文

件的装入工作。这部分内容随DOS版本不同而变化。

结束标志字,结束标志占用2个字节,其值为AA55。

BPB表中所记录的有关参数,能帮助编程者确定磁盘的容量大小、文件分配表FAT的位置和大小、文件目录表FDT的位置和大小。因此以FAT32分区格式为例讨论BPB表的结构。

偏移量为0BH、0CH记录每个扇区的字节数,0DH记录每簇扇区数。0EH、OFH记录保留扇区数,10H记录FAT表的数目,15H磁盘介质描述符,18H每个磁道的扇区数,24H每个FAT表的扇区数,2CH~2FH根目录起始号。

文件分配表(FATl)

文件分配表FAT(File AllocatiON Tabel)是文件管理系统用来给每个文件分配磁盘物理空间的表格,它告诉操作系统,文件存放在磁盘什么地方。文件分配表(FAT)有表标识和簇映射(旧称表目)的集合组成。一个完全相同的镜像副本连续存储在主 FAT 表后。表标识符包括磁盘介质描述符( 1 字节)和填充字节, 总计占两个簇的簇映射区域(这大概也就是 FAT 文件系统簇号由2开始的原因), 填充字节一般为 FF,FAT32 的填充字节中还包含"脏位", 即系统启动时执行磁盘检查(FAT-ChkDsk/NTFS-AutoChk)。FAT 簇映射中, 0000 表示空簇, FFFF 表示簇链结束, FFF7 表示坏簇, 其余值表示其后续簇的簇号。FAT12 和 FAT32 的存储策略同 FAT16 类似, 例如 FAT12的结束簇为 FFF, FAT32 的坏簇为 0FFFFFF7 等(注意 FAT32 的高 4 位保留)。文件分配表(FAT2)是FAT1的完全备份。

文件目录表(FDT) 在文件目录表中,每个文件占32个字节(用PC-TOOLS或DEBUB读出时占两行),各个字节的含义是这样的:0-7 字节:文件名;8-10 字节:扩展名;11 字节,表示文件属性;12-21 共10个字节为保留字段,没有使用;22-23 为建立文件的时间;24-25 为建立文件的日期;26-27 为文件占用的第一个簇号,即起始簇;28-31 共4个字节为此文件的长度。

3.AT89S52与CF卡的接口设计

CF卡有3种工作模式可供选择:I/0模式、存储器模式和IDE模式。CF卡的默认模式是存储器模式,使用也最为普遍。如果使用存储器模式则不需要配置任何寄存器。每一种模式的电路连接各不相同。在I/0模式和存储器模式下,可以采用8位的访问方式,也可以采用16位的访问方式。本文所采用的是8位的存储器模式,其接口电路原理图如图1所示。

AT89S52的P0口就为数据线连接CF的DO—D7,CF卡的A0-A10为地址线,P3.6、P3.7分别为读(RD)、写(WE)线。由于 AT89S52是8位的单片机,所以对CF卡的访问采用8位的方式较为方便。通过把-CE2设为‘1’即可通过访问CF卡的D0--D7来存取数据。而- CEl可以作为CF卡的片选信号,通过设-CEl为‘0’来选通CF卡,即-CEl接AT89S52的P2.6来线选CF卡。当REG为‘0’时,访问 CF卡的属性寄存器;REG为‘1’时,CF卡在存储器模式下对数据进行读写操作。RDY/BSY为CF卡状态引脚,当为“0”时,CF卡忙,为“1”时可以对CF卡操作。原理图如图所示:

限于篇幅只将写一个扇区代码编写(读扇区代码基本与此相同)如下:

;写一个扇区

WRITE: MOV DPTR, #SECTR_CNT

MOV A, #1

MOVX @DPTR, A

MOV DPTR, #SECTR_NO

MOV A, SECTRNO

MOVX @DPTR, A

MOV DPTR, #CYLINDER_LOW

MOV A, CYLINDERL

MOVX @DPTR, A

MOV DPTR, #CYLINDER_HI

MOV A, CYLINDERH

MOVX @DPTR, A

MOV DPTR, #DRV_HEAD

MOV A, DRVHEAD

ANL A, #0FH

ORL A, #0E0H

MOVX @DPTR, A

MOV DPTR, #COMMAND

MOV A, 30H

MOVX @DPTR, A

WRITE512:MOV R6,#0

MOV R7,#2

WRITE: MOV DPTR,#DATA_REG

MOV A,#31H

MOVX @DPTR,A

DJNZ R6,WRITE

DJNZ R7,WRITE

RET

 


4.结束语

本设计的接口电路,阐述了CF卡的读写方法,并采用了通用的MCS-51系列单片机为系统控制器,可移植性好。根据此电路可应用于其他单片机对CF卡进行读写,采用CF卡作为存储介质,容量大,体积小,价格低廉,可应用于MP3播放器,数码相机,移动存储等各个领域,本试验在线路板上调试通过,并配合计算机串口对CF卡进行读写操作,并可对CF卡进行数据恢复。[!--empirenews.page--]

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

今年是5G元年,全球各个通讯公司都使出来毕生的经历,为了在未来5G市场上抢占一块好的地方,他们之间的竞争也催生了一大批新技术。工信部发放4张5G牌照,标志着中国正式进入

关键字: 5G mimo 总线与接口

在5G通讯领域,目前做的比较好的当属华为,但是其他几家公司也不甘示弱,就在最近,三星电子成功开发支持28GHz频段的“5G综合型基站”(Access Unit),是目前5G商

关键字: 5g通讯 三星 华为 总线与接口

广告商与受众之间必不可少的沟通媒介最核心的恐怕属于数字标牌,它已演变为交互式个性化通讯工具,为用户提供了更直观的的参与感与体验。研华基于云数字标牌解决方案一应俱

关键字: 总线与接口 数字标牌 研华

通常情况下在工业现场经常需要用两个隔离DC-DC搭配单独的信号隔离电路的方法去隔离RS-232与RS-485,但隔离的性能存在差异性,并且占板面积较大。本文将为你介绍一种稳定可靠、应用简便的全隔离解决方案。

关键字: rs-232 rs-485 多协议接口模块 总线与接口

近年来,第五代移动通信系统5G已经成为通信业和学术界探讨的热点。5G的发展主要有两个驱动力。一方面以长期演进技术为代表的第四代移动通信系统4G已全面商用,对下一代技术

关键字: 5G 总线与接口 数据分析

在工业实现当中,需要降低总线接口的宽度,这里专门有一种设备叫工业用串行/解串器(SerDes),它可以降低高带宽数据接口总线宽度。使用一个串行器就可以把数据从一个宽并行数

关键字: serdes 总线与接口 高带宽数据接口总线

在当前虽然在嵌入式系统中有许多连接元件的方法,但最主要的还是以太网、PCI Express和RapidIO这三种高速串行标准。所有这三种标准都使用相似的串行解串器(SerDes)技术,它

关键字: 串行总线 差分走线 总线与接口

对于现在的嵌入式工程师,一般都知道CAN总线广泛应用到汽车中,但是CAN总线不仅运用到汽车上,在船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求

关键字: can总线 总线与接口 接口

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线...

关键字: can 总线与接口 自动化 位流检测

UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

关键字: CPU uart 总线与接口 rs-232c接口
关闭
关闭