基于單片機(jī)的MicroDrive接口設(shè)計
出處:blueskyhjc 發(fā)布于:2007-04-20 14:13:34
摘要:介紹了IBM的MicroDrive的基本結(jié)構(gòu)和工作原理,詳細(xì)說明了MicroDrive接口設(shè)計的關(guān)鍵技術(shù);以AT89C52型單片機(jī)為基礎(chǔ),設(shè)計完成了MicroDrive的接口電路,正確實現(xiàn)了對MicroDriver的讀寫及數(shù)據(jù)管理等功能。
關(guān)鍵詞:MicroDrive 單片機(jī)
近幾年,各種大容量的小型存儲器不斷涌現(xiàn),在便攜式設(shè)備中獲得了廣泛的應(yīng)用。目前常見的存儲卡類型有:1Smart Media Card2MemoryStick3MultiMedia Card4CompactFlash Type I Card5IBM的MicroDrive等。各存儲卡在容量、功耗、體積上各有特色,但IBM的MicroDrive尤為出色。
MicroDrive是由IBM日本分公司研發(fā)生產(chǎn)出來的產(chǎn)品,其接口符合CFA(CompactFlash Association)協(xié)會制定的CF+ Type II 規(guī)范,具有容量大(170MB~3GB)、體積?。ǎ矗玻福恚怼粒常叮矗恚怼粒担埃恚恚⑿詢r比高、耗電量小等特點,已在數(shù)碼相機(jī)、筆記本電腦、掌上電腦、便攜式音樂播放器等設(shè)備的存儲中獲得了較廣泛的應(yīng)用。
目前市面上已有多家國內(nèi)外公司生產(chǎn)出操作MicroDrive的接口(如IBM公司),但其價格較高。為降低成本,實現(xiàn)對MicroDrive的數(shù)據(jù)訪問和管理功能,本文給出了一種基于單片機(jī)的MicroDrive接口設(shè)計。
1 MicroDrive介紹
MicroDrive各性能參數(shù)如下:
·容量(MB):1000/512/340;
·緩沖區(qū)大?。海保玻缸止?jié);
·扇區(qū)大小(字節(jié)):512;
·盤片數(shù)量:1;
·平均尋道時間:12ms;
·平均等待時間:8.33ms;
·內(nèi)部數(shù)據(jù)傳輸速率:59.9MB/s;
·外部數(shù)據(jù)傳輸速率:13.3MB/s;
接口:CF+兼容ATA和PCMCIA
數(shù)據(jù)密度GB/平方英寸:15.2;
大?。海担恚怼粒矗常恚怼粒常担恚?;
重量:17克;
磁盤旋轉(zhuǎn)速度:3600RPM。
主要特點有:
·體積小、重量輕、容量大;
·可靠性高,有效的數(shù)據(jù)保護(hù)及數(shù)據(jù)編碼技術(shù),使得其出錯率極低;
·讀寫速度快,連續(xù)讀寫速率可達(dá)4.2MB/s,抗沖擊(1500G),耐震動(5G);
·兼容性好,支持3.3V或5V工作電壓,具有廣闊的使用范圍。
2 MicroDrive硬件接口設(shè)計
2.1 MicroDrive接口簡介及訪問模式的選擇
MicroDrive的接口符合CF+ Type II標(biāo)準(zhǔn),支持3.3V或5V直流工作電壓,提供了完整的PCMCIA-ATA功能且通過ATA/ATAPI-4兼容TrueIDE。但與68針接口的PCMCIA卡不同的是,同樣遵從ATA協(xié)議的MicroDrive 接口只有50針,采用50腳雙列0.05英寸間距標(biāo)準(zhǔn)接口(管腳排列如表1所示)。
表1 MicroDrive管腳排列
| 管腳號 | 名 稱 | 管腳號 | 名 稱 | 管腳號 | 名 稱 |
| Pin1 | GND | Pin18 | A02 | Pin35 | IOWR |
| Pin2 | D03 | Pin19 | A01 | Pin36 | WE |
| Pin3 | D04 | Pin20 | A00 | Pin37 | RDY/BSY |
| Pin4 | D05 | Pin21 | D00 | Pin38 | VCC |
| Pin5 | D06 | Pin22 | D01 | Pin39 | CSEL |
| Pin6 | D07 | Pin23 | D02 | Pin40 | VS2 |
| Pin7 | CE1 | Pin24 | WP | Pin41 | RESET |
| Pin8 | A10 | Pin25 | CD2 | Pin42 | WAIT |
| Pin9 | OE | Pin26 | CD1 | Pin43 | INPACK |
| Pin10 | A09 | Pin27 | D11 | Pin44 | REG |
| Pin11 | A08 | Pin28 | D12 | Pin45 | BVD2 |
| Pin12 | A07 | Pin29 | D13 | Pin46 | BVD1 |
| Pin13 | VCC | Pin30 | D14 | Pin47 | D08 |
| Pin14 | A06 | Pin31 | D15 | Pin48 | D09 |
| Pin15 | A05 | Pin32 | CE2 | Pin49 | D10 |
| Pin16 | A03 | Pin33 | VS1 | Pin50 | GND |
| Pin17 | A04 | Pin34 | IORD |
對MicroDrive,數(shù)據(jù)都是以512字節(jié)的扇區(qū)單元進(jìn)行操作,能夠通過IDE、Memory等模式對其進(jìn)行訪問。
雖然IDE模式被廣泛應(yīng)用于計算機(jī)硬盤的接口中,同時也被經(jīng)常應(yīng)用于嵌入式系統(tǒng)中,得到絕大多數(shù)的BIOS和工業(yè)單板機(jī)的支持;但是IDE模式涉及復(fù)雜的文件管理,使得控制操作相對復(fù)雜,不符合簡單可行的設(shè)計要求。
本系統(tǒng)由單片機(jī)實現(xiàn)嵌入式設(shè)計。而Memory模式是MicroDrive的默認(rèn)模式,可以避免繁瑣的寄存器設(shè)置,同時支持8位數(shù)據(jù)帶寬,控制操作相對簡單,可以極大地簡化設(shè)計,節(jié)省系統(tǒng)的資源。故本系統(tǒng)采用Memory模式。
2.2 硬件接口
本系統(tǒng)電路連接框圖如所示,主要包含以下五部分:
(1)AT89C52
AT89C52擁有比8051多一倍的數(shù)據(jù)存儲器(256字節(jié)的RAM),擁有8K字節(jié)內(nèi)部只讀存儲器(ROM),操作命令以及各引腳與8051基本一致。在本系統(tǒng)中,AT89C52的作用至關(guān)重要,它擔(dān)負(fù)著與外部的通信及實現(xiàn)對MicroDrive的各種操作。
(2)外部數(shù)據(jù)存儲器
外部數(shù)據(jù)存儲器主要用作硬盤數(shù)據(jù)讀寫的緩存,因而必須具有非易失性、簡便的操作及合適的容量。62HC64容量為8KB具有非易失性、功耗低等特點。
(3)通信電平轉(zhuǎn)換芯片
RS232C是目前異步串行通信中應(yīng)用廣泛的標(biāo)準(zhǔn)總線,適用于數(shù)據(jù)中斷設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的接口;而單片機(jī)使用TTL電平,兩者互不兼容。因而使用了MAX232電平轉(zhuǎn)換芯片對它們的通信電平進(jìn)行轉(zhuǎn)換,作為對外的通信接口。
(4)CF+適配口
使用了標(biāo)準(zhǔn)50針CF+適配口。
(5)地址鎖存器74LS373和地址譯碼器74LS138
其中Address/Data(0~7)為復(fù)用的8位數(shù)據(jù)或低8位地址總線,Address(8~12)為用于尋址62HC64的高5位地址線,Address(13~15)接至74HC138,用作外部數(shù)據(jù)存儲器62HC64及MicroDrive 的片選信號;Reset(RESET)信號與AT89C52的RESET腳連接,以達(dá)到同步復(fù)位的目的,上電復(fù)位后,MicroDrive自動進(jìn)入默認(rèn)的Memory 模式;REG Register信號用于選擇訪問MicroDrive的Attiribute Memory(低電平)或Common Memory(高電平);對于CE1與CE2(Card Enable),因為只有一塊MicroDrive,故將CE2接高電平,CE1接74LS138的Y7腳;OE、為讀寫有效信號,與AT89C52的P3.7(RD)、P3.6(WR)相連;RDY/BSY(Ready/Busy)MicroDrive 的閑忙狀態(tài)信號,當(dāng)MicroDrive忙時,該腳為低電平,不能對MicroDrive做任何操作,與AT89C52的P3.2相連,以便可通過軟件檢測此位,判定MicroDrive的閑忙狀態(tài);WAIT(Wait)信號的有效意味著一個操作進(jìn)程正在完成過程中,把它與P1.7相連,以便檢測;CD1、CD2(Card Detect)用于MicroDrive的存在檢測,與AT89C52的P3.2、P3.3相連;AT89C52的P3.0(RXD)用作串行通信輸入,接MAX232的12腳(R1OUT),用于接收通過MAX232送來的數(shù)據(jù),P3.1(TXD)用作串行通信輸出,接MAX232的11腳(T1IN),通過MAX232送出數(shù)據(jù)。
3 軟件設(shè)計
3.1 主要寄存器簡介
MicroDrive內(nèi)幾個涉及到的操作寄存器,如表2所示。
表2 MicroDrive主要寄存器
| 偏移地址 | 名 稱 | 說 明 |
| 000H | DATA REG | 數(shù)據(jù)寄存器 |
| 001H | ERROR REG | 出錯狀態(tài)寄存器 |
| 002H | SECTOR COUNT REG | 扇區(qū)數(shù)目寄存器 |
| 003H | LBA 0~7 | 邏輯塊尋址地址0~7位 |
| 004H | LBA 8~15 | 邏輯塊尋址地址8~15位 |
| 005H | LBA 16~23 | 邏輯塊尋址地址16~23位 |
| 006H | LBA 24~27 | 邏輯塊尋址地址24~27位 |
| 007H | STATUS REG | 讀取時為狀態(tài)寄存器 |
| 007H | COMMAND REG | 寫入時為命令寄存器 |
3.2 軟件設(shè)計簡述
硬件設(shè)計好后,可以通過軟件驅(qū)動接口電路讀寫MicroDrive。軟件流程如所示。首先進(jìn)行測試以確定所有端口及信號的極性正確。由于Memory模式是缺省模式,其使用前的檢測就變得相當(dāng)簡單。主要把軟件分成以下幾部分:
(1)檢測MicroDrive
首先,確定MicroDrive是否已正確插入插槽。這需要檢測Card Detect引腳,即將P3.2、P3.3的狀態(tài)讀入。如果兩個都為0,就表示MicroDrive已正確插入適配口;否則表明未正確插入,需要重新插入。
其次,在確定MicroDrive已正確插入后,開始檢測其狀態(tài)。從Common Memory的偏移地址為007H的狀態(tài)寄存器中讀?。停椋悖颍铮模颍椋觯宓臓顟B(tài)信號,如果MicroDrive被正確Reset了,讀到的數(shù)據(jù)應(yīng)該是50H,意味著MicroDrive已能使用并準(zhǔn)備接收命令;否則證明有錯誤,應(yīng)重新Reset。
,當(dāng)MicroDrive的狀態(tài)證實無誤并處于Memory模式時,就可以發(fā)送診斷命令字(Execute Diagnostics:90H)到命令寄存器(偏移地址為007H)中。這一命令將會根據(jù)MicroDrive的當(dāng)前情況重置狀態(tài)寄存器007H(與命令寄存器的地址相同),當(dāng)出錯時,出錯位將會被置1,此時檢查錯誤狀態(tài)寄存器(偏移地址為001H)將會得到詳盡的出錯信息;而一旦無錯誤,便可對MicroDrive進(jìn)行操作了。
(2)數(shù)據(jù)的讀取
為了達(dá)到此目的,首先,將要操作的扇區(qū)地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,再將要操作的扇區(qū)數(shù)目寫入偏移地址為002H的扇區(qū)數(shù)目寄存器中,接著就發(fā)送讀命令字(20H)到命令寄存器中,當(dāng)寫入命令后,MicroDrive會將BUSY狀態(tài)置1作為響應(yīng)。
然后,MicroDrive從存儲扇區(qū)中讀出數(shù)據(jù)放入其緩存單元中,并將DRQ狀態(tài)位置1,清BUSY以表示數(shù)據(jù)已準(zhǔn)備好。因此只需檢查DRQ狀態(tài)即可。當(dāng)DRQ為1時,便可從MicroDrive的緩存中讀出數(shù)據(jù);當(dāng)所有數(shù)據(jù)讀完后,DRQ將會清0,MicroDrive又轉(zhuǎn)回準(zhǔn)備狀態(tài),可進(jìn)行下一步操作。
(3)數(shù)據(jù)的寫入
與讀數(shù)據(jù)的操作類似,首先,將數(shù)據(jù)準(zhǔn)備在數(shù)據(jù)緩存區(qū)(外部RAM62HC64)中,將要操作的扇區(qū)地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,將要操作的扇區(qū)數(shù)目寫入偏移地址為002H的扇區(qū)數(shù)目寄存器中,接著發(fā)送寫命令字(30H)到命令寄存器中。
單片機(jī)軟件流程圖
然后,檢測DRQ的狀態(tài)(此時MicroDrive置BUSY狀態(tài)為1,接著置DRQ為1,清BUSY)。當(dāng)檢測到DRQ為1時,便可將數(shù)據(jù)緩存區(qū)(外部RAM62HC64)中的數(shù)據(jù)寫入MicroDrive的緩存單元。當(dāng)MicroDrive檢測到數(shù)據(jù)寫入其緩存中,置BUSY為1,清DRQ并根據(jù)地址將數(shù)據(jù)寫入;當(dāng)數(shù)據(jù)寫完后,清BUSY狀態(tài)位,重新回到準(zhǔn)備狀態(tài),準(zhǔn)備執(zhí)行下操作。
在讀寫操作中,對進(jìn)程起控制作用的是DRQ這一狀態(tài)位,其檢測程序如下:
void wait_drqvoid
unsigned int a
a=XBYTE0xE007
//讀取狀態(tài)寄存器的值
ifa&0x01==1 error
//若出錯位為1轉(zhuǎn)出錯處理
whilea&0xf8=0x58
a=XBYTE0xE007
//查詢DRQ位不為1則循環(huán)等待
(4)數(shù)據(jù)的擦除
為達(dá)到此目的,首先將要操作的扇區(qū)地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,再將要操作的扇區(qū)數(shù)目寫入偏移地址為002H的扇區(qū)數(shù)目寄存器中,接著發(fā)送擦除命令字(0C0H)到命令寄存器當(dāng)中,執(zhí)行完擦除命令后,讀出的值全為0。
本文介紹的基于單片機(jī)的MicroDrive接口設(shè)計,成功地實現(xiàn)了操作MicroDrive的常用命令和對MicroDrive的8位格式的操作。經(jīng)過測試,此接口也可以對CF Type I卡(如SanDisk公司的CompactFlash卡)進(jìn)行正確操作,從而提高了應(yīng)用系統(tǒng)的兼容性,具有較廣泛的應(yīng)用價值,目前已準(zhǔn)備在便攜式的動態(tài)腦電、動態(tài)心電上使用,同時可用于MicroDrive或CompactFlash卡作為存儲器使用的便攜式電子設(shè)備中。
參考文獻(xiàn):
[1]. A01 datasheet http://www.hbjingang.com/datasheet/A01_1818273.html.
[2]. A10 datasheet http://www.hbjingang.com/datasheet/A10_1817627.html.
[3]. A09 datasheet http://www.hbjingang.com/datasheet/A09_1244805.html.
[4]. A08 datasheet http://www.hbjingang.com/datasheet/A08_1244831.html.
[5]. A07 datasheet http://www.hbjingang.com/datasheet/A07_1817618.html.
[6]. A06 datasheet http://www.hbjingang.com/datasheet/A06_1817617.html.
[7]. D15 datasheet http://www.hbjingang.com/datasheet/D15_1092218.html.
[8]. A05 datasheet http://www.hbjingang.com/datasheet/A05_1818439.html.
[9]. D10 datasheet http://www.hbjingang.com/datasheet/D10_1092217.html.
[10]. A03 datasheet http://www.hbjingang.com/datasheet/A03_1818437.html.
[11]. A04 datasheet http://www.hbjingang.com/datasheet/A04_1818438.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









