<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Intel Xscale PXA255嵌入式處理器與CF卡的

          Intel Xscale PXA255嵌入式處理器與CF卡的

          作者: 時(shí)間:2011-04-09 來(lái)源:網(wǎng)絡(luò) 收藏

          本設(shè)計(jì)僅采用一個(gè)卡插槽,使用Socket0的I/O地址空間,而且卡采用True IDE模式。則訪問(wèn)地址空間為0x20000000-0x24000000時(shí),PC Card/卡控制器將同時(shí)驅(qū)動(dòng)信號(hào)SA_A25:0、nPREG和nPSKTSEL,并使用nPIOW和nPIOR信號(hào)作為讀寫控制信號(hào)。True IDE模式支持8位存取,也支持16位存取。

          在True IDE模式下,某些信號(hào)有特殊的含義,必須采用True IDE模式下特有的設(shè)置方法。如表1所示,nCE1是任務(wù)文件寄存器片選信號(hào),低電平有效;nCE2是交替狀態(tài)(Alternate Status)寄存器和設(shè)備控制(Device Control)寄存器片選信號(hào),也是低電平有效。因?yàn)閷?shí)際操作中,極少使用交替狀態(tài)寄存器和設(shè)備控制寄存器,所以對(duì)CF卡的操作實(shí)際就是對(duì)任務(wù)文件寄存器的操作。因此,一般設(shè)置nCE1=0,nCE2=1。實(shí)現(xiàn)方法:在CPLD中設(shè)置nCE1=SA_A4,nCE2=not SA_A4。這樣設(shè)置是有根據(jù)的。表1是True IDE模式下I/O編碼表。主機(jī)操作CF卡時(shí),系統(tǒng)僅使用地址總線A2:0,用于選擇組成任務(wù)文件寄存器的8個(gè)寄存器之一。而地址總線A10:3由主機(jī)接地。因此,nCE1=SA_A4即nCE1=0;nCE2=not SA_A4即nCE2=1。表1中,-CE1=0時(shí),對(duì)應(yīng)的8個(gè)寄存器統(tǒng)稱為任務(wù)文件寄存器。

          需要注意的是,在True IDE模式下,nOE不是讀使能信號(hào),而是CF卡True IED模式的使能信號(hào)。CF卡上電時(shí),若nOE(PIN9)為0,則CF卡自動(dòng)進(jìn)入True IDE模式;若nOE=1則進(jìn)入PC Card 模式。當(dāng)電源一直接通時(shí),熱拔插CF卡將會(huì)使其從原來(lái)的True IDE模式重新配置成PC Card模式。因此,熱插拔過(guò)程中,為了使CF卡工作在True IDE模式,需要在CF卡加電啟動(dòng)的時(shí)侯,同時(shí)將nOE信號(hào)接地。實(shí)現(xiàn)的方法:在CPLD中將nOE置0。True IDE模式下,nWE也不用作寫使能信號(hào),而應(yīng)該由主機(jī)將之接地。處理方法:在CPLD中將其只置為1。

          還有一點(diǎn)需要注意的是: Reset信號(hào)在True IDE 模式下低電平有效,而在其它模式下高電平有效。將Reset信號(hào)接到的系統(tǒng)復(fù)位信號(hào)Reset_SYS。

          True IDE模式下,與CF卡的硬件接口電路如圖3所示。

          在圖3中,D15:0為數(shù)據(jù)總線。RDnWR信號(hào)用來(lái)控制數(shù)據(jù)總線的方向(系統(tǒng)處于讀狀態(tài)時(shí),RDnWR=1;系統(tǒng)處于寫狀態(tài)時(shí),RDnWR=0)。nPSKTSEL信號(hào)用作數(shù)據(jù)總線的傳輸使能。SA_A10:0(CF_A10:0)為地址總線。在True IDE 模式下,CF卡的PSKTSEL引腳是主從(Master/Slave)選擇信號(hào):當(dāng)PSKTSEL懸空時(shí),CF卡是Slave設(shè)備;當(dāng)PSKTSEL=0時(shí),CF卡是Master設(shè)備。設(shè)計(jì)僅采用一個(gè)CF卡插槽,所以將PSKTSEL接地。在TRUE IDE模式下,REG信號(hào)沒(méi)有用處,應(yīng)該接電源VCC。IREQ是中斷請(qǐng)求信號(hào)。利用IREQ信號(hào),可以判斷CF卡是否處于讀寫忙狀態(tài),對(duì)CF卡進(jìn)行讀寫之前利用此引腳判斷CF卡是否空閑。nWAIT信號(hào)用于指示讀寫操作正在進(jìn)行,請(qǐng)求等待。

          3. CF卡熱插拔、即插即用功能的實(shí)現(xiàn)

          在自身設(shè)計(jì)上,CF卡注重軟硬件兩方面的配合。軟硬件的協(xié)同設(shè)計(jì)可以實(shí)現(xiàn)CF卡熱插拔、即插即用的功能。

          一是硬件提供判斷條件。CF卡硬件電路提供了兩個(gè)用來(lái)檢測(cè)CF卡是否存在的引腳(nCD1和nCD2)。nCD1和nCD2的有效電平均為低電平,當(dāng)主機(jī)檢測(cè)到與其相連的nCD1和nCD2引腳同時(shí)為低電平時(shí),可判斷出CF卡與主機(jī)相連;當(dāng)主機(jī)檢測(cè)到與其相連的nCD1和nCD2兩個(gè)引腳不同時(shí)為低電平,則可判斷出CF卡未與主機(jī)相連。

          表1:True IDE模式I/O編碼

          二是軟件。首先定義全局變量(如:Cf_IsInsert),用于記錄CF卡是否與主機(jī)相連:當(dāng)Cf_IsInsert為0時(shí)表示CF卡未與主機(jī)相連;當(dāng)Cf_IsInsert為1時(shí)表示CF卡與主機(jī)相連。然后,在每次操作CF卡之前都先檢測(cè)CF卡的nCD1和nCD2引腳。當(dāng)檢測(cè)到nCD1和nCD2引腳同時(shí)為低電平(有卡插入)且Cf_IsInsert為0時(shí),復(fù)位CF卡,重新檢測(cè)CF卡的FAT表,統(tǒng)計(jì)還有多少剩余空間可以分配。檢測(cè)完畢后,置變量Cf_IsInsert為1,然后設(shè)置MECR寄存器CIT比特位。當(dāng)檢測(cè)到nCD1和nCD2引腳同時(shí)為低電平,且Cf_IsInsert為1時(shí),設(shè)置MECR寄存器CIT比特位,繼續(xù)CF卡的正常操作。當(dāng)檢測(cè)到nCD1和nCD2引腳為高時(shí)(無(wú)卡插入),停止CF卡操作,清除MECR寄存器CIT比特位,置變量Cf_IsInsert為0。

          讀/寫CF卡扇區(qū)程序的編寫方法

          CF卡的讀寫是以一個(gè)扇區(qū)為基本單位的。在讀寫一個(gè)扇區(qū)之前必須先指明當(dāng)前需要讀寫的柱面、頭和扇區(qū)或LBA地址,然后發(fā)送讀寫命令。一個(gè)扇區(qū)的512字節(jié)需要一次性連續(xù)讀出或者寫入。主機(jī)讀/寫CF卡上一個(gè)文件的過(guò)程是這樣的:
          1.CF卡初始化。CF卡上電復(fù)位和統(tǒng)計(jì)剩余空間的大小。
          2.CF卡內(nèi)部控制器向CF卡某些寄存器填寫必要的信息。如向扇區(qū)號(hào)寄存器填寫讀寫數(shù)據(jù)的起始扇區(qū)號(hào)或LBA地址、向扇區(qū)數(shù)寄存器填寫讀寫數(shù)據(jù)所占的扇區(qū)個(gè)數(shù)、設(shè)置CF卡的扇區(qū)尋址方式等。
          3.向CF卡的命令寄存器寫入操作CF卡的命令。如寫操作向CF卡的命令寄存器寫入30H,讀操作向CF卡的命令寄存器寫入20H。
          4.CF卡有數(shù)據(jù)傳輸請(qǐng)求之后,主機(jī)讀寫CF卡的數(shù)據(jù)寄存器,從而實(shí)現(xiàn)從CF卡數(shù)據(jù)緩沖讀出數(shù)據(jù)或向CF卡數(shù)據(jù)緩沖寫入數(shù)據(jù)。
          5.在執(zhí)行以上操作的過(guò)程中,每執(zhí)行一步,都應(yīng)該檢測(cè)狀態(tài)寄存器,確定CF卡的當(dāng)前狀態(tài),從而確定下一步應(yīng)該執(zhí)行什么操作(參考狀態(tài)寄存器的BIT位的意義,編寫檢測(cè)代碼)。

          本文小結(jié)

          前面詳細(xì)介紹了CF卡的工作原理、PXA255處理器的PC Card/CF卡控制器的特性,給出了基于PXA255處理器的導(dǎo)航設(shè)備存儲(chǔ)系統(tǒng)的一種實(shí)現(xiàn)方案。目前,該設(shè)計(jì)已經(jīng)在印刷電路板上實(shí)現(xiàn),運(yùn)行穩(wěn)定可靠。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 處理器 CF 嵌入式 PXA255 Xscale Intel

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();