首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   CF卡在手机测试系统中的应用      ★★★ 【字体: 】  
CF卡在手机测试系统中的应用
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:49:16   点击数:[]    

写的柱面、头和扇区,然后发送读写命令,一个扇区的512字节需要一次性连续写入或者读出。下面给出对CF卡进行读和写C51程序段:

#define DataPort XBYTE[0xB800]

#define Feature XBYTE[0xB801]

#define SecCount XBYTE[0xB802]

#define Secomo XBYTE[0xB803]

#define CylLow XBYTE[0xB804]

#define CylHigh XBYTE[0xB805]

#define CardHead XBYTE[0xB806]

#define Command XBYTE[0xB807] //定义CF卡端口

void NextSector(){ //读写下一个扇区

sector++;

if(sector= =32){//一个头的扇区是否全部读写完毕

sector=0;

head++;

if(head= =16){//一个柱面的所有头是否全部读写完毕

head=0;

cylinder++;

if(cylinder= =733){//所有柱面是否全部读写完毕

cylinder--;

DiskFull=1;{//标志位置1,表示CF卡容易已满读写过程结束

}

}

}

}

CardHead=0xA0+head; //置当前头

SecCount=0x01; /*一次读写一个扇区

Secomo=sector; //置当前扇区

CylLow=cylinder%255; //置柱面高位

CylHigh=cylinder/255; //置柱面低位

Command=????; //读/写扇区命令,读为0X20,写为0x30

Delay(1); //延时1ms

//写操作为:

for(i=1;i<=512;i++){

DataPort=mem[0xE800+i]; //写512字节

}

NextSector(); //为写下一个扇区作准备读操作为:

for(i=1;i<=512;i++){

mem[0xE800+i]=DataPort; //读512字节

}

NextSector(); //为读下一个扇区作准备

2.2.2 缓冲区的操作

由于CF卡必须以扇区(512字节)为基本单位来进行读写操作,因此,系统需要扩展一片6116作为写缓冲区(地址口为0xE800开始)。系统在平时将收到的测试数据暂存于写缓冲区中。当接收到的数据累计超过一个扇区之后,再传送至CE卡。在实际系统中,开辟了1K的缓冲区,通过一个标志位low和缓冲区指针count来联合确定传送数据的范围。

①low=0,count=0。

 

 

②low=0,count<=512、开始写缓冲区的有512字节,每写入一个字节,缓冲区指针自动加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//串行口中断服务子程序,中断号为4

{

if(RI= =1){ //判断是否为单行口输入引起的中断

mem[0xe800+count]=SBUF; //将串行数据缓冲器中的数据送至数据缓冲区

count++; //缓冲区指针自动加1

if(count= =1024){ //如果缓冲区指针指向1024,则清0,重新计数

count=0;

}

RI=0; //串行口接收中断请求标志位清0

}

else if(TI= =1){ //判断是否为串行口输出引起中断

TI=0; //串行口发送中断请求标志位清0

}

}

本文以移动通信的手机测试系统的背景,介绍了CF卡在手机测试系统中的具体应用,包括其硬件开发和软件实现。由于CF卡具高传输速率,大容量非易失性固态盘,掉电数据不丢失,良好的震性能,宽温工作范围与所有数码相机、便携式PC、数字式音频播放器及其它具有Compact Flash插槽的设备兼容等特点,它的应用范围也将越来越广泛。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:基于Linux的嵌入式网络存储器设计

  • 下一篇文章:RTLinux构建的磁悬浮轴承控制器实验平台
  • 返回上一页】【打 印】【关闭窗口
    中查找“CF卡在手机测试系统中的应用”更多相关内容 5VAR论文频道
    中查找“CF卡在手机测试系统中的应用”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››CF卡在手机测试系统中的应用
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .