《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的Microdrive接口設計
基于單片機的Microdrive接口設計
趙 巍
廣州暨南大學電子工程系(510632)
摘要: 介紹了IBM的Microdrive的基本結構和工作原理,詳細說明了Microdrive接口設計的軟硬件關鍵技術。同時以AT89C52型單片機為基礎,設計完成了Microdrive的接口電路,實現了對Microdriver的數據訪問及管理功能。
關鍵詞: PowerPC Microdrive AT89C52
Abstract:
Key words :

摘 要: 介紹了IBM的Microdrive的基本結構和工作原理,詳細說明了Microdrive接口設計的軟硬件關鍵技術。同時以AT89C52型單片機為基礎,設計完成了Microdrive的接口電路,實現了對Microdriver的數據訪問及管理功能。
關鍵詞: Microdrive  AT89C52

  隨著科學技術的不斷發展,存儲技術正向著大容量、低功耗、小型化的方向發展。尤其是近年來,各種大容量的小型存儲器不斷涌現,在便攜式設備中得到了廣泛的應用。目前常見的存儲卡類型有:Smart Media Card、MemoryStick、MultiMedia Card、CompactFlash Type I Card、IBM 的Microdrive等,各存儲卡在容量、功耗、體積上各有特色,但IBM的Microdrive尤為出色。
  Microdrive 是由IBM日本分公司研發生產的產品。它的接口符合CFA(CompactFlash Association)協會所制定的CF+TypeⅡ規范,具有容量大(170MB~3GB)、體積小(42.8 mm×36.4mm×5.0mm)、耗電量小等特點,已在數碼相機、筆記本電腦、掌上電腦、便攜式音樂播放器等設備的存儲領域中得到了較廣泛的應用??梢灶A見,在各種智能設備小型化的趨勢中,在大容量便攜式數據存儲和傳輸的過程中,Microdrive 有著非常廣泛的應用前景,將會為各種便攜式產品帶來高容量、高品質且價格合理的數據存儲能力。
  雖然目前市面上已有多家國內外公司(其中有IBM公司)生產出操作Microdrive的接口,但其價格居高不下,這對于需要將此類便攜式大容量存儲器直接嵌入到其便攜設備的廠商來說,將會大大提高產品的成本。為降低生產廠商的成本,實現對Microdrive的數據訪問和管理功能。本文給出了一種基于單片機的Microdrive接口設計。
1  Microdrive簡介
   Microdrive性能參數如下:
      容量:1 000MB/512MB/340MB;緩沖區大小:128B;扇區大?。?12B;盤片數量:1;平均尋道時間:12ms;平均等待時間:8.33ms;最大內部數據傳輸速率:59.9MBps;最大外部數據傳輸速率:13.3MBps;接口:CF+(兼容ATA和PCMCIA);數據密度:15.2GB/英寸;大小:5mm×43mm×35mm;重量:17g;磁盤旋轉速度:3 600rpm。
  Microdrive的主要特點:
  體積小,總量輕,容量大;可靠性高,有效的數據保護及數據編碼技術,使得其出錯率極低;讀寫速度快,連續讀寫速率最高可達到4.2MBps,抗沖擊(1 500g),耐振動(5g);兼容性好,支持3.3V或5V工作電壓,具有廣闊的使用范圍。
2  Microdrive硬件接口設計
2.1 Microdrive接口簡介及訪問模式的選擇
  Microdrive接口符合CF+TypeⅡ標準,支持3.3V或5V直流工作電壓,提供了完整的PCMCIA-ATA功能且通過ATA/ATAPI-4兼容TrueIDE。但與68針接口的PCMCIA卡不同的是,Microdrive接口只有50針,采用50腳雙列0.05英寸間距標準接口。其管腳排列如表1所示。

  Microdrive的數據都是以512B的扇區單元進行操作,能夠通過IDE和Memory等模式對其進行訪問。
雖然IDE模式被廣泛地應用在計算機硬盤接口,但也經常被應用于內嵌式的系統中,得到絕大多數的BIOS和工業單板機的支持。然而,IDE模式需要涉及到復雜的文件管理,使得控制操作相對復雜,不符合簡單可行的設計要求。
  由于本系統由單片機實現嵌入式設計,且Memory模式是Microdrive的默認模式,該模式可以避免繁瑣的寄存器設置,同時支持8位的數據帶寬,控制操作也相對簡單,可以極大地簡化設計和節省系統的資源,故本系統采用Memory模式。
2.2 硬件接口
  系統的電路連接框圖如圖1所示,主要包含以下5個部分。

  (1)AT89C52。AT89C52擁有比8051多1倍的數據存儲器(256 B的RAM),有8KB的內部ROM,操作命令以及各引腳都與8051基本一致。在本系統中,AT89C52的作用是至關重要的,它擔負著與外部的通信及實現對Microdrive的各種操作。
  (2)外部數據存儲器。該存儲器主要用作硬盤數據讀寫的緩存,因而必須具有非易失性、簡便的操作及合適的容量。62HC64容量為8K×8位,具有非易失性及功耗低等特點。
  (3)通信電平轉換芯片。RS-232C是目前異步串行通信中應用最廣泛的標準總線,適用于數據中斷設備(DTE)和數據通信設備(DCE)之間的接口,而單片機使用TTL電平,二者互不兼容,因而使用了MAX-232電平轉換芯片對它們之間的通信電平進行轉換,作為對外的通信接口。
  (4)CF+適配口。使用了標準的50針CF+適配口。
  (5)地址鎖存器74LS373和地址譯碼器74LS138。
  系統的主要連線(見圖1和表1)敘述如下。
  其中:Address/Data(0~7)為復用的8位數據或低8位地址總線。Address(8~12)為用于尋址62HC64的高5位地址線,Address(13~15)接至74LS138,用作外部數據存儲器62HC64及Microdrive的片選信號; RESET信號則和AT89C52的RESET腳連接,以達到同步復位的目的。上電復位后,Microdrive自動進入默認的Memory模式;-REG (Register)信號用于選擇訪問,判斷是Microdrive的Attiribute Memory(低電平)還是Common Memory(高電平);對于-CE1和-CE2(Card Enable),因為只有1塊Microdrive,故將-CE2接高電平,-CE1接74LS138的Y7腳;-OE、-WE為讀寫有效信號,與AT89C52的P3.7(-RD)和P3.6(-WR)相連;RDY/-BSY(Ready/Busy)是Microdrive的閑忙狀態信號,當Microdrive忙時,該腳為低電平,不能對Microdrive做任何的操作,若與AT89C52的P3.2相連,可通過軟件檢測此位,判定Microdrive的閑忙狀態;WAIT信號的有效意味著一個操作進程正在完成過程中,把它與P1.7相連,以便檢測;CD1、CD2(Card Detect)用于Microdrive的存在檢測,與AT89C52的P3.2、P3.3相連;AT89C52的P3.0(RXD)用作串行通信輸入,若接MAX232的12腳(R1OUT),則用于接收通過MAX232送來的數據;AT89C52的P3.1(TXD)用作串行通信輸出,接MAX232的11腳(T1IN),通過MAX232送出數據。
3  軟件設計
3.1 主要寄存器簡介
  Microdrive內的幾個涉及到操作的寄存器如表2所示。

  以下介紹如表3所示的狀態寄存器其中幾個狀態標志位,這些標志位在讀寫等操作中極為重要。

  bit 7(BUSY):當Microdrive處于忙狀態時(如正在讀寫寄存器或存儲扇區),則置該位為1。
  bit 6(RDY):當Microdrive準備好,可以執行各種操作時,置該位為1。
  bit 3(DRQ):當Microdrive需要將數據讀出或寫入數據存儲器時,置該位為1。
  bit 0(ERR):當在執行各種操作過程中出現錯誤時,置該位為1。
3.2 軟件設計
  硬件設計好后,就可以通過軟件來驅動接口電路,去讀寫Microdrive。首先進行測試以確定所有的端口及信號極性的正確性。由于Memory模式是缺省的模式,故使用前的檢測很簡單,主要把軟件分成以下部分進行檢測。
  (1)檢測Microdrive。首先,確定Microdrive是否已正確插入插槽。這需要檢測Card Detect引腳,即將P3.2、P3.3的狀態讀入,如果2個都為0,就表示Microdrive已正確插入適配口;否則表明未正確插入,需要重新插入。其次,在確定Microdrive已正確插入后,開始檢測其狀態。從Common Memory的偏移地址為007H的狀態寄存器中讀取Microdrive的狀態信號,如果Microdrive被正確地復位,則讀得的數據應該是50H,這意味著Microdrive已能使用并準備接收命令;否則有錯誤,應重新復位。最后,當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)到命令寄存器;最后,檢測DRQ的狀態(此時Microdrive置BUSY狀態為1,接著置DRQ為1,清BUSY)。當檢測到DRQ為1時,便可將數據緩存區(外部RAM62HC64)中的數據寫入Microdrive的數據寄存器(偏移地址為000H)。當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。
3.3 單片機軟件設計流程
  單片機軟件設計的主要流程如圖2所示。

  本文所介紹的基于單片機的Microdrive接口設計,成功實現了操作Microdrive的常用命令,正確實現了對Microdrive的8位格式的操作。經測試,此接口也可以對CF Type I卡(如SanDisk公司的CompactFlash卡)進行正確的操作,從而提高了應用系統的兼容性。該接口電路具有較廣泛的應用價值,可應用于各種需要使用Microdrive或CompactFlash卡作為存儲器的便攜式電子設備中,目前正準備將其應用于便攜式的動態腦電及動態心電儀器中。
參考文獻
1   CompactFlash Association.CF+ and CompactFlash Specification Revision 1.4.1999
2   International Business Machines Corporation.Using the IBM Microdrive For the First Time.2001
3   International Business Machines Corporation.Need More Storage Embed an IBM 170MB or 340MB Microdrive.2001
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久不射2019中文字幕| 一区二区三区高清不卡| 日韩视频一区二区三区在线播放免费观看| 国产日韩精品久久久| 国产精品视频999| 国产精品高潮粉嫩av| 欧美日韩一区二区三区四区在线观看| 免费在线欧美黄色| 裸体丰满少妇做受久久99精品| 久久精品九九| 欧美一区二区三区免费视频| 午夜欧美理论片| 午夜在线成人av| 欧美伊久线香蕉线新在线| 亚洲欧美日本视频在线观看| 亚洲在线观看| 亚洲欧美文学| 欧美亚洲三区| 久久久国际精品| 老鸭窝91久久精品色噜噜导演| 毛片精品免费在线观看| 免费看成人av| 欧美精品色综合| 欧美视频在线免费| 国产精品午夜国产小视频| 国产欧美一区二区精品秋霞影院 | 亚洲欧美国产不卡| 亚洲免费一在线| 欧美在线电影| 久久久青草婷婷精品综合日韩| 久久女同互慰一区二区三区| 免费试看一区| 欧美日韩精品一本二本三本| 国产精品对白刺激久久久| 国产精品日韩在线| 国产一区二区在线免费观看| 韩曰欧美视频免费观看| 亚洲激情自拍| 在线亚洲高清视频| 欧美一区二区三区在线观看| 亚洲激情在线视频| 亚洲一级片在线看| 久久久精品五月天| 欧美精品啪啪| 国产欧美精品一区| 亚洲成人在线免费| 亚洲少妇诱惑| 亚洲国产欧美在线人成| 在线亚洲一区二区| 久久成人亚洲| 欧美伦理视频网站| 国产日韩视频| 亚洲理论电影网| 午夜一区不卡| 日韩亚洲精品电影| 久久成人国产精品| 欧美日本不卡| 国产日韩在线播放| 最新国产乱人伦偷精品免费网站 | 欧美一区二区三区免费看| 亚洲精品一区在线| 亚洲欧美一区二区激情| 免费在线日韩av| 国产精品久久久久一区二区三区| 黑丝一区二区三区| 一区二区三区三区在线| 久久精品视频99| 亚洲男人第一av网站| 狂野欧美一区| 国产精品你懂得| 亚洲国产精品一区二区www| 亚洲专区一区| 一区二区三区高清在线观看| 久久男人资源视频| 国产精品视频不卡| 亚洲国产三级在线| 欧美一级一区| 亚洲一区在线看| 欧美xxxx在线观看| 国产三区精品| 在线视频一区二区| 日韩亚洲欧美中文三级| 久久久在线视频| 国产精品高清在线| 亚洲精品乱码| 亚洲高清精品中出| 欧美在线首页| 国产精品成人一区二区网站软件 | 欧美午夜一区二区| 亚洲福利视频网站| 欧美一区二区三区精品电影| 亚洲一二三四久久| 欧美精品一二三| 亚洲成色999久久网站| 欧美有码在线观看视频| 午夜精品在线看| 欧美日韩亚洲综合| 亚洲国产婷婷| 亚洲黄色片网站| 久久久久女教师免费一区| 国产精品尤物| 亚洲一区二区三区视频播放| 一区二区三区成人精品| 欧美激情久久久| 亚洲国产日韩一区| 亚洲精品久久在线| 欧美va日韩va| 在线看片日韩| 亚洲欧洲精品一区二区三区| 久久一区欧美| 激情久久影院| 亚洲国产另类久久久精品极度| 欧美影院成年免费版| 国产精品久久久久久久app| 99国产精品99久久久久久粉嫩| 日韩视频精品| 欧美精品一区二区三区在线播放| 亚洲国产精品第一区二区| 亚洲国产乱码最新视频| 美女免费视频一区| 亚洲高清在线观看一区| 亚洲精品在线一区二区| 欧美高清在线视频| 91久久久一线二线三线品牌| 99热免费精品| 欧美色大人视频| 国产精品99久久久久久久久久久久| 亚洲一区三区视频在线观看 | 亚洲午夜久久久久久久久电影网| 亚洲自拍偷拍网址| 国产精品人人做人人爽| 亚洲中午字幕| 久久久久久久97| 激情欧美一区二区三区在线观看 | 久久国产精品久久国产精品| 国产精品推荐精品| 欧美一区二区在线看| 久久久噜噜噜| 亚洲第一视频| 一本色道久久综合狠狠躁篇怎么玩 | 国产欧美三级| 久久精品欧美日韩| 欧美高清视频一区二区三区在线观看| 亚洲电影免费在线观看| 99精品欧美一区二区三区 | 激情综合激情| 亚洲每日在线| 国产精品高清在线| 欧美一区二区播放| 欧美成人亚洲成人| 在线中文字幕不卡| 欧美一区二区大片| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲伦理一区| 国产精品欧美在线| 久久精品一区二区三区四区| 欧美福利视频在线| 亚洲视频网站在线观看| 久久久久久久久蜜桃| 亚洲国产视频一区| 午夜精品区一区二区三| 狠狠色丁香婷婷综合| 一本色道久久加勒比精品| 国产精品一区久久| 亚洲级视频在线观看免费1级| 欧美日韩亚洲高清| 欧美永久精品| 欧美日韩一区二区三区四区在线观看| 亚洲男女自偷自拍| 欧美成人精品在线观看| 亚洲小少妇裸体bbw| 另类综合日韩欧美亚洲| 日韩一级在线观看| 久久午夜国产精品| 亚洲免费观看在线观看| 久久精品99无色码中文字幕 | 亚洲一区二区在线视频| 国内成+人亚洲| 亚洲视频在线观看三级| 狠狠色丁香婷综合久久| 亚洲天堂av高清| 黄色精品免费| 亚洲欧美日韩一区在线观看| 在线 亚洲欧美在线综合一区| 亚洲男人天堂2024| 亚洲高清电影| 久久国产精品色婷婷| 亚洲麻豆av| 老司机一区二区| 亚洲影院在线观看| 欧美另类99xxxxx| 午夜激情久久久| 欧美日韩国产首页在线观看| 久久国产天堂福利天堂| 国产精品久久国产精品99gif| 亚洲国产精品久久久久秋霞不卡| 国产精品豆花视频| 日韩图片一区| 亚洲电影毛片| 久久久噜噜噜久久人人看|