欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Cf卡實現(xiàn)熱插拔的方法

文檔序號:6420070閱讀:1455來源:國知局
專利名稱:Cf卡實現(xiàn)熱插拔的方法
技術領域
本發(fā)明涉及一種CF卡實現(xiàn)熱插拔的方法。
背景技術
在現(xiàn)有的工業(yè)控制和工業(yè)設備領域中,越來越多的用到了智能處理器和CPU,這樣使這些設備的智能化大大提高,能處理更多了信息。同時,由于大量使用到了CPU,這些設備和軟件的結(jié)合也越來越緊密,數(shù)據(jù)量的增加,使設備管理也更加復雜,而且軟件本身的容量也越做越大,使用傳統(tǒng)的串口,或者網(wǎng)口升級軟件變得更加復雜,緩慢,而且不穩(wěn)定。特別是在大規(guī)模生產(chǎn)中,軟件下載的緩慢和不穩(wěn)定大大影響生產(chǎn)的效率,影響了生產(chǎn)線產(chǎn)出。外部的可移動便攜存儲設備,為工業(yè)設備提供了一個穩(wěn)定便捷的接口,可以和外部方便的進行數(shù)據(jù)交換,因此得到了廣泛地應用。
便攜式移動存儲系統(tǒng)中,通用并行總線是一種比較常見的CPU控制總線,其大致上分為Intel結(jié)構(gòu)和Motorola結(jié)構(gòu),以Intel結(jié)構(gòu)為例,它又分為地址總線(Address)、數(shù)據(jù)總線(Data)、片選(/CS)、讀(/OE)、寫(/WE)信號等,如果系統(tǒng)支持慢速設備的話,還就會有準備信號(Ready)。Motorola總線和Intel的原理類似,只是接口信號線的定義不一樣。通過簡單的邏輯轉(zhuǎn)換,Motorola總線也能轉(zhuǎn)化成Intel總線。
在便攜式移動存儲系統(tǒng)中,CPU通用并行總線通過片選信號(/CS)選擇需要操作的設備,用讀信號(/OE)做讀數(shù)據(jù)的操作,用寫信號(/WE)做寫數(shù)據(jù)的操作。CPU和外設分別在/OE和/WE的上升沿采樣數(shù)據(jù)。對于慢速外設,在外設忙的時候,它會拉低Ready信號,那么CPU會在操作中插入等待周期,直到Ready信號重新跳高。
便攜式移動存儲設備如今廣泛應用于各種消費類電子產(chǎn)品。存儲介質(zhì)主要采用的是Flash,存儲設備的接口主要有CF(Compact Flash)Card,另外一種是PC Card。得到廣泛應用的是CF Card,并且支持這種標準的廠家很多,主要有IBM,Hitachi,HP,Kodak等。
便攜式移動存儲設備可更方便于信息的導入和導出,以以太網(wǎng)交換機管理為例,現(xiàn)在的大型,高端交換設備,管理非常復雜,需要大量的配置信息,主要是一些路由表項;如果對每臺交換機分別配置,需要花費大量的時間和精力,但如果將配置信息燒入CF卡中,用一張卡就可以解決所有機器的配置,方便快捷;另外,對于使用過程中交換機出現(xiàn)的異常信息,也可以通過CF卡將其方便地導出,便于記錄。
便攜式移動存儲設備有著穩(wěn)定可靠的數(shù)據(jù)通道,以以太網(wǎng)交換機升級為例;通過CF讀卡器,可以將所用到的升級軟件,燒入CF卡,將CF卡插在設備中就可以方便的進行升級,速度比串口加載快,比網(wǎng)口加載稍慢,但是由于沒有物理連接,不用擔心掉線,這種方式更加穩(wěn)定可靠。
由于CF卡在使用上的種種優(yōu)勢,使之大面積的在工業(yè)設備上廣泛應用。但是一般的應用方式是采用CF卡接口適配芯片,這種接口芯片同時具備接口訪問控制和電源管理(支持熱插拔)兩種功能。但是接口芯片的造價比較高,無疑增加了設備的成本,不利于這種先進方式的大規(guī)模應用。

發(fā)明內(nèi)容
針對上述普通便攜式移動存儲設備所存在的問題和不足,本發(fā)明的目的是提供一種造價較低的CF卡實現(xiàn)熱插拔的方法。
本發(fā)明是這樣實現(xiàn)的一種CF卡實現(xiàn)熱插拔的方法,CF卡通過CPLD與CPU連接,即設置CPLD使CPU的地址線與CF卡的地址線及片選端連接;所述CF卡的socket槽中的CD0、CD1插針長度應該比電源插針短,兩者之間的長度差應保證CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,CF還保持供電狀態(tài);CF卡的中斷通過CPLD與CPU連接,如果CPU僅支持電平信號的中斷觸發(fā),則在CPLD中把CD0、CD1跳變轉(zhuǎn)換成電平中斷信號。
進一步地,所述CF卡使用的是True IDE Mode接口模式。
進一步地,所述CPU的地址線與CF卡的地址線及片選端連接具體為用CPU通用串行總線的五條地址線通過CPLD與CF卡的三條地址線和兩個片選端連接;CPU對CF卡發(fā)出讀寫命令,對CF卡進行讀寫操作。
本發(fā)明通過造價比較低的CPLD代替接口芯片,通過將CF卡的socket槽中的CD0、CD1插針長度設計得比電源插針短,兩者之間的長度差異,可保證CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,但是CF還保持供電狀態(tài);并且CPU必須支持邊緣中斷信號觸發(fā),如果CPU指支持電平信號的中斷觸發(fā),那么就必須在CPLD中把/CD0和/CD1跳變轉(zhuǎn)換成電平中斷信號,CF卡就可輕松實現(xiàn)熱插拔了;并選擇CF卡的True IDE Mode接口模式,設置CPLD,使其具備接口適配芯片功能,這樣,CPU就可完成對CF卡的讀寫功能,CF卡就實現(xiàn)了移動存儲功能,即使用CPLD就完全代替接口芯片,輕松實現(xiàn)CF卡的移動存儲功能。


下面結(jié)合附圖,對本發(fā)明作出詳細描述。
圖1為本發(fā)明的CPU和CF的連接結(jié)構(gòu)示意圖;圖2為本發(fā)明的原理結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明是這樣實現(xiàn)的熱插拔的CF卡通過CPLD與CPU連接,即設置CPLD使CPU的地址線與CF卡的地址線及片選端連接;CF卡的socket槽中的CD0、CD1插針長度應該比電源插針短,兩者之間的長度差應保證CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,CF還保持供電狀態(tài);
CF卡的中斷通過CPLD與CPU連接,如果CPU僅支持電平信號的中斷觸發(fā),則在CPLD中把CD0、CD1跳變轉(zhuǎn)換成電平中斷信號。
并且,選用CF的True IDE Mode接口模式,用CPU通用串行總線的五條地址線通過CPLD與CF卡的三條地址線和兩個片選端連接;CPU對CF卡發(fā)出讀寫命令,對CF卡進行讀寫操作。
在這里介紹一下CF卡CF卡支持三種接口模式,分別為PC Card MemoryMode,PC Card IO Mode,True IDE Mode,本發(fā)明選用True IDE mode,True IDEMode從硬件連接來看最簡單,而且在軟件上可以大量借用IDE接口的驅(qū)動程序,因此相對具有優(yōu)勢。
下表是CF卡設置成True IDE Mode時候的真值表

這樣,通過CF卡的三條地址線(A2~A0)和兩個片選信號(/CS1和/CS0),就能訪問表中的所有寄存器,通過這些寄存器,CPU就能實現(xiàn)對CF卡的讀寫操作,同時還可以監(jiān)控CF的狀態(tài)。
CF卡內(nèi)比較重要的幾個寄存器分別是Error Register監(jiān)控是否出現(xiàn)扇區(qū)錯誤或者不可根正的錯誤,以及是否出現(xiàn)扇區(qū)溢出;Sector Count,Sector No.Cylinder Low,Cylinder High這四個寄存器是用于定位需要進行讀寫操作的空間的寄存器,與IDE硬盤類似,如果CF卡處于True IDE Mode,那么它也是用柱面加扇區(qū)來定位需要讀寫的空間的。CylinderLow,Cylinder High這兩個寄存器都是8Bits,組成一個16bit Cylinder地址。SectorNo.寄存器指明了扇區(qū)開始的地址,Sector Count寄存器指明了扇區(qū)的偏移量;Status該寄存器的內(nèi)容表明了CF卡當前的狀態(tài),是否忙,是否出現(xiàn)可恢復性的錯誤,是否出現(xiàn)操作錯誤等;Control該寄存器主要是用來控制CF卡的復位和中斷。
如圖1所示,用CPU通用并行總線的AD0~AD4這5條地址線加片選信號譯碼得到用于訪問CF寄存器地址空間的A0~A2和/CS0,/CS1,當然,還包括CF的中斷連接,以下為CPLD中的邏輯代碼CF_ADD(0)<=IO_AD_REG(0);CF_ADD(1)<=IO_AD_REG(1);
CF_ADD(2)<=IO_AD_REG(2);CF_CS(0)<=IO_CS_L or IO_AD4 or(not IO_AD3);CF_CS(1)<=IO_CS_L or(not IO_AD4)or(not IO_AD3);CF_WR<=IO_CS_L or IO_WR_L;CF_RD<=IO_CS_L or IO_OE_L;IO_RDY<=IO_CS_L or CF_RDY;CPU_IRQ<=CF_IRQ。
這樣,就實現(xiàn)了CF與CPU的連接,CPU就可對CF進行讀寫訪問了。
CF卡是通過/CD0和/CD1來控制在位信息的。在CF卡內(nèi)部/CD0和/CD1是直接強下拉到地的,而在CF stocket中,/CD0和/CD1是弱上拉到3.3V。當CF卡插入的時候,CF stocket的/CD0和/CD1被CF拉低,以此觸發(fā)CPU_INT,表明此時CF已經(jīng)插入。此時CPU可以通過GPIO或者通用并行總線打開電子開關,給CF卡供電,可以開始對CF卡操作。在拔出CF卡之前,CPU通過GPIO或者通用并行總線關閉電子開關,停止給CF卡供電之后,CF卡就可以順利拔出。但以上的熱插拔操作在拔出的時候,還不是很智能,必須輸入一個關閉CF卡電源的命令,確保CF卡電源已經(jīng)關閉之后,才能拔出,不能做到即插即用。
CF卡的socket槽中的CD0、CD1插針長度設計得比電源插針短,兩者之間的長度差異,應該能保證CF卡在插入插槽的時候,CF已經(jīng)正常上電,而CD0、CD1還沒有和相應插針接觸,這樣,在CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,CF還保持供電狀態(tài),根據(jù)實際情況,設計的CF卡stocket槽中的CD0、CD1插針長度至少比電源插針短1.5mm,如圖2所示,在拔出CF的時候,/CD0和/CD1在CF卡斷電之前即電源針和CF卡分離之前就已經(jīng)跳高,即/CD0和/CD1比電源先和CF卡分離。此時會引發(fā)一個CPU_INT的上跳,CPU在監(jiān)控到這個上跳信號之后,就可以把CF卡的電源關閉,此時就可以順利拔出。如果要實現(xiàn)以上的熱插拔,那么CPU必須支持邊緣中斷信號觸發(fā),如果CPU只支持電平信號的中斷觸發(fā),那么就必須在CPLD中把/CD0和/CD1跳變轉(zhuǎn)換成電平中斷信號。以下為其邏輯代碼<pre listing-type="program-listing">process(GRESET,GCLK) beginif(GRESET=′0′)thenCD0_REG<=′0′;CD1_REG<=′0′;CD0_REG_CMP<=′0′;CD1_REG_CMP<=′0′; Elsif(GCLK′event and GCLK=′1′)then if(((CD0_REG_CMP=′0′)and(CD0_REG=′1′))and((CD1_REG_CMP=′0′)and(CD1_REG=′1′)))then CPU_INT<=′0′; end if; CD0_REG<=/CD0; CD1_REG<=/CD1; CD0_REG_CMP<=CD0_REG; CD1_REG_CMP<=CD1_REG;end if; end process.</pre>
權(quán)利要求
1.一種CF卡實現(xiàn)熱插拔的方法,其特征在于,CF卡通過CPLD與CPU連接,即設置CPLD使CPU的地址線與CF卡的地址線及片選端連接;所述CF卡的socket槽中的CD0、CD1插針長度應該比電源插針短,兩者之間的長度差應保證CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,CF還保持供電狀態(tài);CF卡的中斷通過CPLD與CPU連接,如果CPU僅支持電平信號的中斷觸發(fā),則在CPLD中把CD0、CD1跳變轉(zhuǎn)換成電平中斷信號。
2.如權(quán)利要求1所述的CF卡實現(xiàn)熱插拔的方法,其特征在于,所述CF卡使用的是True IDE Mode接口模式。
3.如權(quán)利要求2所述的CF卡實現(xiàn)熱插拔的方法,其特征在于,所述CPU的地址線與CF卡的地址線及片選端連接具體為用CPU通用串行總線的五條地址線通過CPLD與CF卡的三條地址線和兩個片選端連接;CPU對CF卡發(fā)出讀寫命令,對CF卡進行讀寫操作。
全文摘要
本發(fā)明公開了一種CF卡實現(xiàn)熱插拔的方法,該方法包括CF卡通過CPLD與CPU連接,即設置CPLD使CPU的地址線與CF卡的地址線及片選端連接;所述CF卡的socket槽中的CD0、CD1插針長度應該比電源插針短,兩者之間的長度差應保證CF卡在拔出時,CD0和CD1已經(jīng)和插槽脫離,CF還保持供電狀態(tài);CF卡的中斷通過CPLD與CPU連接,如果CPU僅支持電平信號的中斷觸發(fā),則在CPLD中把CD0、CD1跳變轉(zhuǎn)換成電平中斷信號。本發(fā)明通過CPLD代替接口芯片,可輕松實現(xiàn)CF卡的熱插拔,方便了CF卡的使用。
文檔編號G06F13/00GK1540530SQ20031010342
公開日2004年10月27日 申請日期2003年10月31日 優(yōu)先權(quán)日2003年10月31日
發(fā)明者周川, 周 川 申請人:港灣網(wǎng)絡有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永川市| 金昌市| 丽江市| 新郑市| 故城县| 桐柏县| 鹤壁市| 桐柏县| 莱芜市| 布尔津县| 济源市| 房山区| 奇台县| 长岭县| 金门县| 米易县| 和平区| 昌图县| 德格县| 渝中区| 泾源县| 扎兰屯市| 夏邑县| 灯塔市| 辉南县| 新蔡县| 延长县| 佳木斯市| 通化县| 滁州市| 长阳| 汾阳市| 获嘉县| 永修县| 五指山市| 光泽县| 即墨市| 磴口县| 浦江县| 屏山县| 嘉黎县|