国产第页,国产精品视频一区二区三区,国产精品网站夜色,久久艹影院,精品国产第一页,欧美影视一区二区三区,国产在线欧美日韩精品一区二区

Compact。疲欤幔螅璐鎯(chǔ)卡的8051系統(tǒng)接口方案_8051輸入輸出接口有哪些

發(fā)布時(shí)間:2020-02-16 來(lái)源: 美文摘抄 點(diǎn)擊:

  收稿日期:2006-09-27?   作者簡(jiǎn)介:劉佑祥(1946-),男,湖北武漢人,武漢科技大學(xué)中南分校信息工程學(xué)院副教授。?  。ㄎ錆h科技大學(xué)中南分校 信息工程學(xué)院,湖北 武漢 430223)?
  摘要:本文介紹了SST公司Compact Flash存儲(chǔ)卡(CF卡)的電氣特性與接口指令集,提出了一個(gè)基于8051單片機(jī)系統(tǒng)的完整CF卡接口解決方案,并給出了詳細(xì)硬件電路設(shè)計(jì)和軟件設(shè)計(jì)要點(diǎn)。?
  關(guān)鍵詞:8051單片機(jī)系統(tǒng);CF卡;計(jì)算機(jī)接口設(shè)計(jì)?
  中圖分類號(hào):TP305 文獻(xiàn)標(biāo)識(shí)碼:A??
  
  前 言?
  隨著電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)的功能變得越來(lái)越強(qiáng)大,設(shè)計(jì)中對(duì)其存儲(chǔ)容量的要求也隨之提高,所以原有的EEPROM等存儲(chǔ)容量為KB級(jí)的存儲(chǔ)器件已經(jīng)無(wú)法滿足設(shè)計(jì)要求。在這一背景下,Compact Flash Card(CF卡,見圖1)作為一類存儲(chǔ)速度快,存儲(chǔ)容量大(容量可達(dá)數(shù)百M(fèi)B至數(shù)GB)的新型存儲(chǔ)器件就應(yīng)運(yùn)而生。但是由于CF卡的接口方式是為PC機(jī)接口設(shè)計(jì)的IDE方式,如果要在單片機(jī)系統(tǒng)中使用CF卡,需要在單片機(jī)系統(tǒng)中模擬IDE控制器的功能。因此,本文將討論在8051系統(tǒng)中實(shí)現(xiàn)CF卡接口的解決方案。?
  
  圖1 Compact Flash Card外觀示意圖?
  
  一、CF卡接口的電氣特性?
  
  SST公司的CF的封裝為25×2的雙列插座,行列之間的間距均為25mil。由于封裝的特殊性,在應(yīng)用時(shí)需要自行設(shè)計(jì)SCH和PCB封裝。設(shè)計(jì)PCB封裝時(shí)需注意選擇合適孔徑和焊盤大小,因?yàn)榕裴樀尼樐_為正方形不是圓形,所以焊盤的直徑應(yīng)選擇為針腳截面正方形的對(duì)角線長(zhǎng)。如果直接使用標(biāo)準(zhǔn)CF卡接插件,則PCB上應(yīng)相應(yīng)設(shè)計(jì)成適合的貼片封裝。?
  
  二、主要功能引腳及說明?
  
  CF卡的主要功能引腳為數(shù)據(jù)線D0~D15,地址線A0~A9,片選及數(shù)據(jù)選擇CE1,CE2,讀寫控制端OE、WR,寄存器選擇REG,卡讀寫忙判斷RDY/BSY,RESET等。?
  數(shù)據(jù)線D0~D15用于數(shù)據(jù)的讀寫。CF可以工作于16位數(shù)據(jù)總線方式也可以工作于8位總線方式。在讀寫速度上的要求不是很嚴(yán)格的情況下,為了方便和8位MCU的接口,一般選擇為8位數(shù)據(jù)總線工作方式。?
  CE1和CE2的功能如表1所示:?
  
  若選擇8位工作方式,CE2應(yīng)接固定電平1,CE1低有效。在不同工作方式的說明中,可能把CE1和CE2分別改稱CS0,CS1。?
  地址線A0~A9。CF卡在Memory工作方式下,僅地址線A0~A3起作用,用于選擇讀寫端口,其余地址線可以接固定電平。?
  REG用于選擇是對(duì)CF卡進(jìn)行命令、狀態(tài)讀寫還是讀寫CF卡的屬性寄存器。REG=1時(shí)讀寫命令。如表2所示:?
  
  在Memory方式下,對(duì)CF的控制和數(shù)據(jù)讀寫均是通過對(duì)這幾個(gè)端口的讀寫來(lái)實(shí)現(xiàn)的。?
  RDY/BSY用于判斷CF卡是否處于讀寫忙狀態(tài)。出于嚴(yán)謹(jǐn)性可以在對(duì)CF卡進(jìn)行讀寫之前利用此引腳判斷CF卡是否空閑。在數(shù)據(jù)讀寫量比較小的情況下,使用一定的延時(shí)即可。?
  
  三、實(shí)際應(yīng)用電路設(shè)計(jì)?
  
  圖2給出了CF卡的實(shí)際應(yīng)用電路。圖中96MB的CF卡工作于Memory方式,8位數(shù)據(jù)總線,接口的主控MCU是89C52。?
  
  圖2 CF實(shí)際應(yīng)用電路?
  單片機(jī)按標(biāo)準(zhǔn)的P2、P0口復(fù)用方式與CF卡接口。CS0,CS1,REG分別接單片機(jī)的P2?6,P2?5,P2?7,端口選擇A3~A0接到經(jīng)74LS373鎖存的低4位地址,CF卡的讀寫引腳分別與單片機(jī)的讀寫信號(hào)相接。若把閑置地址引腳接固定電平,則系統(tǒng)分配給CF卡的端口地址為【B000】~【B007】。?
  INTRQ(即BSY/RDY)腳接到單片機(jī)的P1.7。?
  
  四、CF卡的存儲(chǔ)特性?
  
  CF卡采取的是類似硬盤的分塊存儲(chǔ)方式,分為柱面Cylinder、頭Head和扇區(qū)Sector管理。對(duì)96MB的CF卡而言,共有733個(gè)柱面,每個(gè)柱面8個(gè)頭,每個(gè)頭32個(gè)扇區(qū),每個(gè)扇區(qū)512字節(jié)(8位)。CF卡的讀寫是以一個(gè)扇區(qū)為基本單位的,在讀寫一個(gè)扇區(qū)之前先送出當(dāng)前需要讀寫的柱面、頭和扇區(qū),然后發(fā)送讀寫命令,一個(gè)扇區(qū)的512個(gè)字節(jié)需要一次性連續(xù)寫入或者讀出。?
  下面給出一段對(duì)CF卡讀寫的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卡端口?
  
  CardHead=0xA0+head;置當(dāng)前頭?
  SecCount=0x01;一次讀寫一個(gè)扇區(qū)?
  SecNo=sector;置當(dāng)前扇區(qū)?
  CylLow=cylinder%255;置柱面高位?
  CylHigh=cylinder/255;置柱面低位?
  Command=0x30;寫扇區(qū)命令?
  delay(1);延時(shí)1ms?
  for(i=1;i

相關(guān)熱詞搜索:存儲(chǔ)卡 接口 方案 Compact Flash存儲(chǔ)卡的8051系統(tǒng)接口方案 compactflash存儲(chǔ)卡 compactflash讀卡器

版權(quán)所有 蒲公英文摘 www.huhawan.com