1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>基于單片機的MicroDrive接口設計

    基于單片機的MicroDrive接口設計

    時間:2023-02-20 23:35:10 電子通信論文 我要投稿
    • 相關推薦

    基于單片機的MicroDrive接口設計

    摘要:介紹了IBM的MicroDrive的基本結構和工作原理,詳細說明了MicroDrive接口設計的關鍵技術;以AT89C52型單片機為基礎,設計完成了MicroDrive的接口電路,正確實現了對MicroDriver的讀寫及數據管理等功能。

        關鍵詞:MicroDrive 單片機

    近幾年,各種大容量的小型存儲器不斷涌現,在便攜式設備中獲得了廣泛的應用。目前常見的存儲卡類型有:?1?Smart Media Card??2?MemoryStick??3?MultiMedia Card??4?CompactFlash Type I Card??5?IBM的MicroDrive等。各存儲卡在容量、功耗、體積上各有特色,但IBM的MicroDrive尤為出色。

    MicroDrive是由IBM日本分公司研發生產出來的產品,其接口符合CFA(CompactFlash Association)協會制定的CF+ Type II 規范,具有容量大(170MB~3GB)、體積小(42.8mm×36.4mm×5.0mm)、性價比高、耗電量小等特點,已在數碼相機、筆記本電腦、掌上電腦、便攜式音樂播放器等設備的存儲中獲得了較廣泛的應用。

    目前市面上已有多家國內外公司生產出操作MicroDrive的接口(如IBM公司),但其價格較高。為降低成本,實現對MicroDrive的數據訪問和管理功能,本文給出了一種基于單片機的MicroDrive接口設計。
    (范文先生網www.baimashangsha.com收集整理)
    1 MicroDrive介紹

    MicroDrive各性能參數如下:

    ·容量(MB):1000/512/340;

    ·緩沖區大小:128字節;

    ·扇區大小(字節):512;

    ·盤片數量:1;

    ·平均尋道時間:12ms;

    ·平均等待時間:8.33ms;

    ·最大內部數據傳輸速率:59.9MB/s;

    ·最大外部數據傳輸速率:13.3MB/s;

    接口:CF+?兼容ATA和PCMCIA?

    數據密度?GB/平方英寸?:15.2;

    大小:5mm×43mm×35mm;

    重量:17克;

    磁盤旋轉速度:3600RPM。

    主要特點有:

    ·體積小、重量輕、容量大;

    ·可靠性高,有效的數據保護及數據編碼技術,使得其出錯率極低;

    ·讀寫速度快,連續讀寫速率最高可達4.2MB/s,抗沖擊(1500G),耐震動(5G);

    ·兼容性好,支持3.3V或5V工作電壓,具有廣闊的使用范圍。

    2 MicroDrive硬件接口設計

    2.1 MicroDrive接口簡介及訪問模式的選擇

    MicroDrive的接口符合CF+ Type II標準,支持3.3V或5V直流工作電壓,提供了完整的PCMCIA-ATA功能且通過ATA/ATAPI-4兼容TrueIDE。但與68針接口的PCMCIA卡不同的是,同樣遵從ATA協議的MicroDrive 接口只有50針,采用50腳雙列0.05英寸間距標準接口(管腳排列如表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,數據都是以512字節的扇區單元進行操作,能夠通過IDE、Memory等模式對其進行訪問。

    雖然IDE模式被廣泛應用于計算機硬盤的接口中,同時也被經常應用于嵌入式系統中,得到絕大多數的BIOS和工業單板機的支持;但是IDE模式涉及復雜的文件管理,使得控制操作相對復雜,不符合簡單可行的設計要求。

    本系統由單片機實現嵌入式設計。而Memory模式是MicroDrive的默認模式,可以避免繁瑣的寄存器設置,同時支持8位數據帶寬,控制操作相對簡單,可以極大地簡化設計,節省系統的資源。故本系統采用Memory模式。

    2.2 硬件接口

    本系統電路連接框圖如圖1所示,主要包含以下五部分:

    (1)AT89C52

    AT89C52擁有比8051多一倍的數據存儲器(256字節的RAM),擁有8K字節內部只讀存儲器(ROM),操作命令以及各引腳與8051基本一致。在本系統中,AT89C52的作用至關重要,它擔負著與外部的通信及實現對MicroDrive的各種操作。

    (2)外部數據存儲器

    外部數據存儲器主要用作硬盤數據讀寫的緩存,因而必須具有非易失性、簡便的操作及合適的容量。62HC64容量為8KB?具有非易失性、功耗低等特點。

    (3)通信電平轉換芯片

    RS232C是目前異步串行通信中應用最廣泛的標準總線,適用于數據中斷設備(DTE)和數據通信設備(DCE)之間的接口;而單片機使用TTL電平,兩者互不兼容。因而使用了MAX232電平轉換芯片對它們的通信電平進行轉換,作為對外的通信接口。

    (4)CF+適配口

    使用了標準50針CF+適配口。

    (5)地址鎖存器74LS373和地址譯碼器74LS138

    其中Address/Data(0~7)為復用的8位數據或低8位地址總線,Address(8~12)為用于尋址62HC64的高5位地址線,Address(13~15)接至74HC138,用作外部數據存儲器62HC64及MicroDrive 的片選信號;Reset(RESET)信號與AT89C52的RESET腳連接,以達到同步復位的目的,上電復位后,MicroDrive自動進入默認的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 的閑忙狀態信號,當MicroDrive忙時,該腳為低電平,不能對MicroDrive做任何操作,與AT89C52的P3.2相連,以便可通過軟件檢測此位,判定MicroDrive的閑忙狀態;WAIT(Wait)信號的有效意味著一個操作進程正在完成過程中,把它與P1.7相連,以便檢測;CD1、CD2(Card Detect)用于MicroDrive的存在檢測,與AT89C52的P3.2、P3.3相連;AT89C52的P3.0(RXD)用作串行通信輸入,接MAX232的12腳(R1OUT),用于接收通過MAX232送來的數據,P3.1(TXD)用作串行通信輸出,接MAX232的11腳(T1IN),通過MAX232送出數據。

    3 軟件設計

    3.1 主要寄存器簡介

    MicroDrive內幾個涉及到的操作寄存器,如表2所示。

    表2 MicroDrive主要寄存器

    偏移地址 名  稱 說  明 000H DATA REG 數據寄存器 001H ERROR REG 出錯狀態寄存器 002H SECTOR COUNT REG 扇區數目寄存器 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 讀取時為狀態寄存器 007H COMMAND REG 寫入時為命令寄存器

    3.2 軟件設計簡述

    硬件設計好后,可以通過軟件驅動接口電路讀寫MicroDrive。軟件流程如圖2所示。首先進行測試以確定所有端口及信號的極性正確。由于Memory模式是缺省模式,其使用前的檢測就變得相當簡單。主要把軟件分成以下幾部分:

    (1)檢測MicroDrive

    首先,確定MicroDrive是否已正確插入插槽。這需要檢測Card Detect引腳,即將P3.2、P3.3的狀態讀入。如果兩個都為0,就表示MicroDrive已正確插入適配口;否則表明未正確插入,需要重新插入。

    其次,在確定MicroDrive已正確插入后,開始檢測其狀態。從Common Memory的偏移地址為007H的狀態寄存器中讀取MicroDrive的狀態信號,如果MicroDrive被正確Reset了,讀到的數據應該是50H,意味著MicroDrive已能使用并準備接收命令;否則證明有錯誤,應重新Reset。

    最后,當MicroDrive的狀態證實無誤并處于Memory模式時,就可以發送診斷命令字(Execute Diagnostics:90H)到命令寄存器(偏移地址為007H)中。這一命令將會根據MicroDrive的當前情況重置狀態寄存器007H(與命令寄存器的地址相同),當出錯時,出錯位將會被置1,此時檢查錯誤狀態寄存器(偏移地址為001H)將會得到詳盡的出錯信息;而一旦無錯誤,便可對MicroDrive進行操作了。

    (2)數據的讀取

    為了達到此目的,首先,將要操作的扇區地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,再將要操作的扇區數目寫入偏移地址為002H的扇區數目寄存器中,接著就發送讀命令字(20H)到命令寄存器中,當寫入命令后,MicroDrive會將BUSY狀態置1作為響應。

    然后,MicroDrive從存儲扇區中讀出數據放入其緩存單元中,并將DRQ狀態位置1,清BUSY以表示數據已準備好。因此只需檢查DRQ狀態即可。當DRQ為1時,便可從MicroDrive的緩存中讀出數據;當所有數據讀完后,DRQ將會清0,MicroDrive又轉回準備狀態,可進行下一步操作。

    (3)數據的寫入

    與讀數據的操作類似,首先,將數據準備在數據緩存區(外部RAM62HC64)中,將要操作的扇區地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,將要操作的扇區數目寫入偏移地址為002H的扇區數目寄存器中,接著發送寫命令字(30H)到命令寄存器中。

    圖2 單片機軟件流程圖

        然后,檢測DRQ的狀態(此時MicroDrive置BUSY狀態為1,接著置DRQ為1,清BUSY)。當檢測到DRQ為1時,便可將數據緩存區(外部RAM62HC64)中的數據寫入MicroDrive的緩存單元。當MicroDrive檢測到數據寫入其緩存中,置BUSY為1,清DRQ并根據地址將數據寫入;當數據寫完后,清BUSY狀態位,重新回到準備狀態,準備執行下一次操作。

    在讀寫操作中,對進程起控制作用的是DRQ這一狀態位,其檢測程序如下:

    void wait_drq?void?

    ? unsigned int a?

    a=XBYTE?0xE007??

    //讀取狀態寄存器的值

    if??a&0x01?==1? error???

    //若出錯位為1?轉出錯處理

    while??a&0xf8??=0x58?

    a=XBYTE?0xE007??

    //查詢DRQ位?不為1則循環等待

    ?

    (4)數據的擦除

    為達到此目的,首先將要操作的扇區地址寫入偏移地址為003H~006H的邏輯塊尋址寄存器中,再將要操作的扇區數目寫入偏移地址為002H的扇區數目寄存器中,接著發送擦除命令字(0C0H)到命令寄存器當中,執行完擦除命令后,讀出的值全為0。

    本文介紹的基于單片機的MicroDrive接口設計,成功地實現了操作MicroDrive的常用命令和對MicroDrive的8位格式的操作。經過測試,此接口也可以對CF Type I卡(如SanDisk公司的CompactFlash卡)進行正確操作,從而提高了應用系統的兼容性,具有較廣泛的應用價值,目前已準備在便攜式的動態腦電、動態心電上使用,同時可用于MicroDrive或CompactFlash卡作為存儲器使用的便攜式電子設備中。


    【基于單片機的MicroDrive接口設計】相關文章:

    基于DSP平臺的USB接口設計08-06

    基于USB接口的數據采集系統設計08-06

    基于CH371的實用USB接口設計08-06

    基于單片機的等效采樣示波器設計08-06

    基于CH371的USB接口虛擬示波器設計08-06

    基于PCI接口的高速數字信號處理板卡的設計08-06

    基于串行外設接口(SPI)的CAN總線隔離擴展設計08-06

    MultiMediacard及其與單片機接口08-06

    基于RTX51的單片機軟件設計08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      久久免费精品视频14 | 免费v片在线a | 亚洲国内精品自在自线国产精品 | 欧美性爱A免费在线观看 | 最新国产免费AV片在线观看 | 在线免费观看人成视频色九 |