下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CF卡在手机测试系统中的应用文章作者:罗 超 盛翊智摘要:介绍闪存的CF卡在手机测试系统中的应用,提出具体的硬件开发和软件实现方案。包括CF卡的读写操作、缓冲区操作的具体源程序。关键词:闪存 CF卡 手机测试系统引言目前,手机作为日常生活中一种重要的通信工具,越来越受到人们的关注。它的最大特性就是方便易携带。那么,如何保证手机在不同地理位置的条件下仍然具有优质的网络服务,进而保证其通话质量,成为移动通信部门的一种研究课题。为此,需要一种设备能够测试出手机处于不同地理位置,不同时间的各种网络参数来加以分析,即“便携式手机测试记录仪”。它能够将手机的各种网络数据从手机串口传送到存储设备;存储设备将
2、数据存储下来,达到一定数目,再通过串行上载到PC机;在PC机上利用分析软件来进行数据分析,从而达到测试的目的。在此测试过程中,由于系统要求处理大量的数据,一般的存储器如EEPROM等很难达到要求,同时,系统要求数据在旧电时不丢失,即要求数据存储的非易失性,因此不能使用易失性的存储器如SRAM、SDRAM等。为此,在系统中采用了一种新型存储装置,即CF卡(Compact Flash Card)。1 CF卡简介Flash存储器是近年来发展迅速的一种存储器,属于非挥发性内存(Non-Volatile,即断电数据也能保存)。它具有EEPROM电擦除的特点,还具有低功耗、密度高、体积小、可靠性高、可擦除
3、、可重写、可重复编程等优点。单片机的Flash Memory芯片容量有限,同时接口逻辑比较特殊,在大数据量场合使用会使得控制逻辑较为繁琐。集成了多片Flash存储器和外部接口、控制机构和协议的CF卡,可以提供相当可观的存储容量和标准的电气接口协议,可以满足本系统对于数据处理的要求。其内部结构如图1所示。CF卡的在很小的体积内集成了控制装置、Flash Memory阵列和读写缓冲区。实际上,控制装置起到了种协议转换的作用,将对Flash Memory的读写转化成对ATA协议控制器的访问。CF卡对于缓冲区的设计使用了一种比缓冲结构,使得外部设备和CF卡通信的同时,CF卡的片内MCU可以对Flash
4、 Memory阵列进行读写。这种设计可以增加CF卡数据读写的可靠性,同时提高数据通讯的速率。在实际系统中,CF卡选用了SST公司的SST48CF096,容量达到了96MB,封装为25×2的双列插座,其工作电压为+5V/+3.3V,传输速率最大可达20MB/s,低功耗30mA/50mA(3.3V/5V)。其典型 应用电路如图2所示。CF卡的主要功能引脚为数据线D0D15,地址线A0A9,片选及数据选择CS1、CS0,读写控制端ATA SEL、WE,寄存器选择REG,卡读写忙判断INTRQ、RESET等。数据线D0D15用于数据的读写。CF可以工作于16位数据总线方式也可以工作于8位总线
5、方式。读写速度上的要求不是很严格的情况下,为了方便和8位MCU的接口,一般选择为8位数据总线工作方式。若选择8位工作方式,CS1应接固定高电平,CS0低电平有效。CF卡在Memory工作方式下,仅地址线A0A3起作用,用于选择读写端口,其余地址线可以接固定电平。REG用于选择是对CF卡进行命令、状态读写还是读写CF卡的属性寄存器。REG=1时读写命令。在Memory方式下,对CF的控制和数据读写均是通过对这几个端口的读写来实现的。INIRQ用于判断CF卡是否处于读写忙状态。出于严谨性可以在对CF卡进行读写之前利用此引脚判断CF卡是否空闲。在数据读写量较小的情况下,使用一定的延时即可。图2中96
6、MB的CF卡工作于Memory方式,8位数据总线,接口的主控MCU的89C52。单片机按标准的P2、P0口复用方式与CF卡接口。CS0CS1、REG分别接单片机的P2.6、P2.5、P2.7,端口选择A3A0接收经373锁存的低4位地址,CF卡的读写引脚分别与单片机的读写信号相接。若把闲置地址引脚接固定电平,则系统分配给CF卡的端口地址为B000B007。INTRQ(即BSY/RDY)脚接到单片机的P1.7。2 系统方案2.1 硬件实现系统采用模块化设计,由电源控制单元(PU)、单片机控制单元、地址锁存单元、数据缓冲单元以及存储单元(CF卡)构成,如图3所示。测试过程中,首先由单片机发送相关命
7、令参数给手机,手机接收到命令后,经由串口输出网络数据。单片机将收到的数据通过缓冲器再送至CF卡。数据采集完毕后,将CF卡中的数据上传至PC机,利用上位机分析软件来进行网络分析。在实际系统中,MCU选用的是AT89C52、由于单片机的P0口和P2口采用了引脚复用,所以需要一片地址锁存,地址锁存器选用的是74HC373、CF卡的一次读写操作必须是512字节,而89C52只有256字节的内部RAM,需要在外部扩展一片缓冲器,缓冲器选用的是6116、由于系统是由手机电池统一供电,手机电池输出电压为+3.6V,而上述芯片的正常工作电压为+5V,因此,需要升压芯片作为电源模块,选用的是MAX756。2.2
8、 软件实现2.2.1 CF卡的读写操作CF卡采取的是类似硬盘的分块存储方式,分为柱面Cylinder、头Head和扇区Sector管理。对96MB的CF卡而言,共有733个柱面,每个柱面8个头,每个头32个扇区,每个扇区512字节(8位)。CF卡的读写是以一个扇区为基本单位的,在读写一个扇区之前先送出当前需要读写的柱面、头和扇区,然后发送读写命令,一个扇区的512字节需要一次性连续写入或者读出。下面给出对CF卡进行读和写C51程序段:#define DataPort XBYTE0xB800#define Feature XBYTE0xB801#define SecCount XBYTE0xB8
9、02#define SecNo XBYTE0xB803#define CylLow XBYTE0xB804#define CylHigh XBYTE0xB805#define CardHead XBYTE0xB806#define Command XBYTE0xB807 /定义CF卡端口void NextSector() /读写下一个扇区sector+;if(sector= =32)/一个头的扇区是否全部读写完毕sector=0;head+;if(head= =16)/一个柱面的所有头是否全部读写完毕head=0;cylinder+;if(cylinder= =733)/所有柱面是否全部读写完
10、毕cylinder-;DiskFull=1;/标志位置1,表示CF卡容易已满读写过程结束CardHead=0xA0+head; /置当前头SecCount=0x01; /*一次读写一个扇区SecNo=sector; /置当前扇区CylLow=cylinder%255; /置柱面高位CylHigh=cylinder/255; /置柱面低位Command=?; /读/写扇区命令,读为0X20,写为0x30Delay(1); /延时1ms/写操作为:for(i=1;i<=512;i+)DataPort=mem0xE800+i; /写512字节NextSector(); /为写下一个扇区作准备读
11、操作为:for(i=1;i<=512;i+)mem0xE800+i=DataPort; /读512字节NextSector(); /为读下一个扇区作准备2.2.2 缓冲区的操作由于CF卡必须以扇区(512字节)为基本单位来进行读写操作,因此,系统需要扩展一片6116作为写缓冲区(地址口为0xE800开始)。系统在平时将收到的测试数据暂存于写缓冲区中。当接收到的数据累计超过一个扇区之后,再传送至CE卡。在实际系统中,开辟了1K的缓冲区,通过一个标志位low和缓冲区指针count来联合确定传送数据的范围。low=0,count=0。low=0,count<=512、开始写缓冲区的有51
12、2字节,每写入一个字节,缓冲区指针自动加1。low=1,count>=512、当缓冲区指针大于512,表示前512字节已被填满,此时将low置为1,开将缓冲区前512个字节的内容送入CF卡,标志位由0变为1。low=1,count<=512。当缓冲区指针指到1024时,缓冲区指针清0,重新开始计数。此时将后512字节的内容送入CF卡,标志位由1变为0。low=0,count<=512。下一次循环过程开始。由于向CF卡写入数据的同时,手机端仍然有数据输出。为了防止在写CF卡的过程中出现数据丢失现象,单片机手同端的通信采用串行口中断方式。程序如下:void single() interrupt 4 using 2/串行口中断服务子程序,中断号为4if(RI= =1) /判断是否为单行口输入引起的中断mem0xe800+count=SBUF; /将串行数据缓冲器中的数据送至数据缓冲区count+; /缓冲区指针自动加1if(count= =1024) /如果缓冲区指针指向1024,则清0,重新计数count=0;RI=0; /串行口接收中断请求标志位清0else if(TI= =1) /判断是否为串行口输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版智能家居安防系统试用合同3篇
- 二零二五版办公家具租赁与办公空间智能化改造合同2篇
- 二零二五年度国际商务考察合同范本3篇
- 二零二五年度金融机构贷款合同风险评估与管理指南3篇
- 二零二五年度某零售商与第三方支付平台就支付服务合作合同2篇
- 敬老院二零二五年度土地承包及社区服务一体化合同3篇
- 二零二五年船舶通信设备维护船员聘用合同3篇
- 二零二五年智慧交通项目合作开发合同范本3篇
- 二零二五年度搬家搬运服务合同范本2篇
- 二零二五版导游人员旅游活动组织聘用合同3篇
- 深圳2024-2025学年度四年级第一学期期末数学试题
- 中考语文复习说话要得体
- 《工商业储能柜技术规范》
- 华中师范大学教育技术学硕士研究生培养方案
- 医院医学伦理委员会章程
- 初中班主任案例分析4篇
- 公司7s管理组织实施方案
- Q∕GDW 12147-2021 电网智能业务终端接入规范
- 仁爱英语单词默写本(全六册)英译汉
- 公园广场绿地文化设施维修改造工程施工部署及进度计划
- 塑料件缺陷汇总
评论
0/150
提交评论