<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CF卡在手機測試系統中的應用

CF卡在手機測試系統中的應用

作者: 時(shí)間:2004-12-10 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹閃存的中的,提出具體的硬件開(kāi)發(fā)和軟件實(shí)現方案。包括卡的讀寫(xiě)操作、緩沖區操作的具體源程序。

關(guān)鍵詞:閃存

引言

目前,作為日常生活中一種重要的通信工具,越來(lái)越受到人們的關(guān)注。它的最大特性就是方便易攜帶。那么,如何保證手機在不同地理位置的條件下仍然具有優(yōu)質(zhì)的網(wǎng)絡(luò )服務(wù),進(jìn)而保證其通話(huà)質(zhì)量,成為移動(dòng)通信部門(mén)的一種研究課題。為此,需要一種設備能夠測試出手機處于不同地理位置,不同時(shí)間的各種網(wǎng)絡(luò )參數來(lái)加以分析,即“便攜式手機測試記錄儀”。它能夠將手機的各種網(wǎng)絡(luò )數據從手機串口傳送到存儲設備;存儲設備將數據存儲下來(lái),達到一定數目,再通過(guò)串行上載到PC機;在PC機上利用分析軟件來(lái)進(jìn)行數據分析,從而達到測試的目的。在此測試過(guò)程中,由于系統要求處理大量的數據,一般的存儲器如EEPROM等很難達到要求,同時(shí),系統要求數據在舊電時(shí)不丟失,即要求數據存儲的非易失性,因此不能使用易失性的存儲器如SRAM、SDRAM等。為此,在系統中采用了一種新型存儲裝置,即CF卡(Compact Flash Card)。

1 CF卡簡(jiǎn)介

Flash存儲器是近年來(lái)發(fā)展迅速的一種存儲器,屬于非揮發(fā)性?xún)却妫∟on-Volatile,即斷電數據也能保存)。它具有EEPROM電擦除的特點(diǎn),還具有低功耗、密度高、體積小、可靠性高、可擦除、可重寫(xiě)、可重復編程等優(yōu)點(diǎn)。單片機的Flash Memory芯片容量有限,同時(shí)接口邏輯比較特殊,在大數據量場(chǎng)合使用會(huì )使得控制邏輯較為繁瑣。集成了多片Flash存儲器和外部接口、控制機構和協(xié)議的CF卡,可以提供相當可觀(guān)的存儲容量和標準的電氣接口協(xié)議,可以滿(mǎn)足本系統對于數據處理的要求。其內部結構如圖1所示。

CF卡的在很小的體積內集成了控制裝置、Flash Memory陣列和讀寫(xiě)緩沖區。實(shí)際上,控制裝置起到了種協(xié)議轉換的作用,將對Flash Memory的讀寫(xiě)轉化成對ATA協(xié)議控制器的訪(fǎng)問(wèn)。CF卡對于緩沖區的設計使用了一種比緩沖結構,使得外部設備和CF卡通信的同時(shí),CF卡的片內MCU可以對Flash Memory陣列進(jìn)行讀寫(xiě)。這種設計可以增加CF卡數據讀寫(xiě)的可靠性,同時(shí)提高數據通訊的速率。在實(shí)際系統中,CF卡選用了SST公司的SST48CF096,容量達到了96MB,封裝為252的雙列插座,其工作電壓為+5V/+3.3V,傳輸速率最大可達20MB/s,低功耗30mA/50mA(3.3V/5V)。其典型 電路如圖2所示。

CF卡的主要功能引腳為數據線(xiàn)D0~D15,地址線(xiàn)A0~A9,片選及數據選擇CS1、CS0,讀寫(xiě)控制端ATA SEL、WE,寄存器選擇REG,卡讀寫(xiě)忙判斷INTRQ、RESET等。數據線(xiàn)D0~D15用于數據的讀寫(xiě)。CF可以工作于16位數據總線(xiàn)方式也可以工作于8位總線(xiàn)方式。讀寫(xiě)速度上的要求不是很?chē)栏竦那闆r下,為了方便和8位MCU的接口,一般選擇為8位數據總線(xiàn)工作方式。若選擇8位工作方式,CS1應接固定高電平,CS0低電平有效。CFMemory工作方式下,僅地址線(xiàn)A0~A3起作用,用于選擇讀寫(xiě)端口,其余地址線(xiàn)可以接固定電平。REG用于選擇是對CF卡進(jìn)行命令、狀態(tài)讀寫(xiě)還是讀寫(xiě)CF卡的屬性寄存器。REG=1時(shí)讀寫(xiě)命令。在Memory方式下,對CF的控制和數據讀寫(xiě)均是通過(guò)對這幾個(gè)端口的讀寫(xiě)來(lái)實(shí)現的。INIRQ用于判斷CF卡是否處于讀寫(xiě)忙狀態(tài)。出于嚴謹性可以在對CF卡進(jìn)行讀寫(xiě)之前利用此引腳判斷CF卡是否空閑。在數據讀寫(xiě)量較小的情況下,使用一定的延時(shí)即可。

圖2中96MB的CF卡工作于Memory方式,8位數據總線(xiàn),接口的主控MCU的89C52。單片機按標準的P2、P0口復用方式與CF卡接口。CS0~CS1、REG分別接單片機的P2.6、P2.5、P2.7,端口選擇A3~A0接收經(jīng)373鎖存的低4位地址,CF卡的讀寫(xiě)引腳分別與單片機的讀寫(xiě)信號相接。若把閑置地址引腳接固定電平,則系統分配給CF卡的端口地址為[B000]~[B007]。INTRQ(即BSY/RDY)腳接到單片機的P1.7。

2 系統方案

2.1 硬件實(shí)現

系統采用模塊化設計,由電源控制單元(PU)、單片機控制單元、地址鎖存單元、數據緩沖單元以及存儲單元(CF卡)構成,如圖3所示。測試過(guò)程中,首先由單片機發(fā)送相關(guān)命令參數給手機,手機接收到命令后,經(jīng)由串口輸出網(wǎng)絡(luò )數據。單片機將收到的數據通過(guò)緩沖器再送至CF卡。數據采集完畢后,將CF卡中的數據上傳至PC機,利用上位機分析軟件來(lái)進(jìn)行網(wǎng)絡(luò )分析。在實(shí)際系統中,MCU選用的是AT89C52、由于單片機的P0口和P2口采用了引腳復用,所以需要一片地址鎖存,地址鎖存器選用的是74HC373、CF卡的一次讀寫(xiě)操作必須是512字節,而89C52只有256字節的內部RAM,需要在外部擴展一片緩沖器,緩沖器選用的是6116、由于系統是由手機電池統一供電,手機電池輸出電壓為+3.6V,而上述芯片的正常工作電壓為+5V,因此,需要升壓芯片作為電源模塊,選用的是MAX756。

2.2 軟件實(shí)現

2.2.1 CF卡的讀寫(xiě)操作

CF卡采取的是類(lèi)似硬盤(pán)的分塊存儲方式,分為柱面Cylinder、頭Head和扇區Sector管理。對96MB的CF卡而言,共有733個(gè)柱面,每個(gè)柱面8個(gè)頭,每個(gè)頭32個(gè)扇區,每個(gè)扇區512字節(8位)。CF卡的讀寫(xiě)是以一個(gè)扇區為基本單位的,在讀寫(xiě)一個(gè)扇區之前先送出當前需要讀寫(xiě)的柱面、頭和扇區,然后發(fā)送讀寫(xiě)命令,一個(gè)扇區的512字節需要一次性連續寫(xiě)入或者讀出。下面給出對CF卡進(jìn)行讀和寫(xiě)C51程序段:

#define DataPort XBYTE[0xB800]

#define Feature XBYTE[0xB801]

#define SecCount XBYTE[0xB802]

#define SecNo XBYTE[0xB803]

#define CylLow XBYTE[0xB804]

#define CylHigh XBYTE[0xB805]

#define CardHead XBYTE[0xB806]

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

void NextSector(){ //讀寫(xiě)下一個(gè)扇區

sector++;

if(sector= =32){//一個(gè)頭的扇區是否全部讀寫(xiě)完畢

sector=0;

head++;

if(head= =16){//一個(gè)柱面的所有頭是否全部讀寫(xiě)完畢

head=0;

cylinder++;

if(cylinder= =733){//所有柱面是否全部讀寫(xiě)完畢

cylinder--;

DiskFull=1;{//標志位置1,表示CF卡容易已滿(mǎn)讀寫(xiě)過(guò)程結束

}

}

}

}

CardHead=0xA0+head; //置當前頭

SecCount=0x01; /*一次讀寫(xiě)一個(gè)扇區

SecNo=sector; //置當前扇區

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

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

Command=????; //讀/寫(xiě)扇區命令,讀為0X20,寫(xiě)為0x30

Delay(1); //延時(shí)1ms

//寫(xiě)操作為:

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

DataPort=mem[0xE800+i]; //寫(xiě)512字節

}

NextSector(); //為寫(xiě)下一個(gè)扇區作準備讀操作為:

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

mem[0xE800+i]=DataPort; //讀512字節

}

NextSector(); //為讀下一個(gè)扇區作準備

2.2.2 緩沖區的操作

由于CF卡必須以扇區(512字節)為基本單位來(lái)進(jìn)行讀寫(xiě)操作,因此,系統需要擴展一片6116作為寫(xiě)緩沖區(地址口為0xE800開(kāi)始)。系統在平時(shí)將收到的測試數據暫存于寫(xiě)緩沖區中。當接收到的數據累計超過(guò)一個(gè)扇區之后,再傳送至CE卡。在實(shí)際系統中,開(kāi)辟了1K的緩沖區,通過(guò)一個(gè)標志位low和緩沖區指針count來(lái)聯(lián)合確定傳送數據的范圍。

①low=0,count=0。

 

 

②low=0,count=512、開(kāi)始寫(xiě)緩沖區的有512字節,每寫(xiě)入一個(gè)字節,緩沖區指針自動(dòng)加1。

③low=1,count>=512、當緩沖區指針大于512,表示前512字節已被填滿(mǎn),此時(shí)將low置為1,開(kāi)將緩沖區前512個(gè)字節的內容送入CF卡,標志位由0變?yōu)?。

④low=1,count=512。當緩沖區指針指到1024時(shí),緩沖區指針清0,重新開(kāi)始計數。此時(shí)將后512字節的內容送入CF卡,標志位由1變?yōu)?。

⑤low=0,count=512。下一次循環(huán)過(guò)程開(kāi)始。

由于向CF卡寫(xiě)入數據的同時(shí),手機端仍然有數據輸出。為了防止在寫(xiě)CF卡的過(guò)程中出現數據丟失現象,單片機手同端的通信采用串行口中斷方式。程序如下:

void single() interrupt 4 using 2//串行口中斷服務(wù)子程序,中斷號為4

{

if(RI= =1){ //判斷是否為單行口輸入引起的中斷

mem[0xe800+count]=SBUF; //將串行數據緩沖器中的數據送至數據緩沖區

count++; //緩沖區指針自動(dòng)加1

if(count= =1024){ //如果緩沖區指針指向1024,則清0,重新計數

count=0;

}

RI=0; //串行口接收中斷請求標志位清0

}

else if(TI= =1){ //判斷是否為串行口輸出引起中斷

TI=0; //串行口發(fā)送中斷請求標志位清0

}

}

本文以移動(dòng)通信的手機的背景,介紹了CF手機測試系統中的具體,包括其硬件開(kāi)發(fā)和軟件實(shí)現。由于CF卡具高傳輸速率,大容量非易失性固態(tài)盤(pán),掉電數據不丟失,良好的震性能,寬溫工作范圍與所有數碼相機、便攜式PC、數字式音頻播放器及其它具有Compact Flash插槽的設備兼容等特點(diǎn),它的應用范圍也將越來(lái)越廣泛。



關(guān)鍵詞: 應用 測試系統 手機 卡在 CF

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>