<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 利用PCI1510實(shí)現PCI板卡的熱插拔測試

利用PCI1510實(shí)現PCI板卡的熱插拔測試

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

對于普通的,無(wú)論是總線(xiàn)的硬件結構還是操作系統(如Windows序列操作系統)都不支持。在批量生產(chǎn)時(shí),必須在關(guān)機的情況下插拔,然后開(kāi)機測試,因此測試工作十分費時(shí)費力。本文介紹利用TI公司的PCI制作一個(gè)PCI-to-PCI轉接卡,從硬件和軟件兩個(gè)方面實(shí)現PCI板卡的。

1 系統總體結構

利用PCI制作的PCI-to-PCI轉接卡的總體結構框圖如圖1所示。在電氣原理上類(lèi)似于一款PCI總線(xiàn)到CardBus總線(xiàn)的接口電路板,但在物理形式上,CardBus總線(xiàn)并沒(méi)有使用PCMCIA插座,而是使用PCI插座。由于PCI板卡的電源要求同PCMCIA板卡的電源要求相差很大,這款PCI-to-PCI板卡的電源處理方法同一般PCMCIA接口板的電源處理方法有較大的差別。

需要說(shuō)明的是,一般PCMCIA接口板卡插入PCMCIA插槽后,系統能自動(dòng)識別板卡是否插入,但本文所設計的PCI-to-PCI轉接板卡,由于PCI總線(xiàn)沒(méi)有板卡插入識別信號,所以在設計時(shí)增加了一個(gè)控制開(kāi)關(guān)。當控制開(kāi)關(guān)斷開(kāi)時(shí),表示沒(méi)有待測PCI板卡插入;當有待測PCI板卡插入時(shí),操作者合上控制開(kāi)關(guān),通知系統已有待測PCI板卡插入,此時(shí)控制邏輯電路接收此信號并按PCI所要求的方式給出板卡插入識別信號。

圖1中的PCI-to-PCI轉接卡主要由以下幾個(gè)部分組成:總線(xiàn)轉換電路,主要由PCI1510及其配置電路24C02組成;控制邏輯電路,由ATF16V8C實(shí)現,其作用是根據操作者手動(dòng)給出的開(kāi)關(guān)信號向PCI1510給出相應的板卡插入和拔出信號,同時(shí)給出電源開(kāi)關(guān)電路的控制信號;電源開(kāi)關(guān)電路,由兩片IRF7404組成,根據控制邏輯電路給出的電源控制信號,分別接通或斷開(kāi)PCI插槽的+5V和3.3V電源(如果需要+12V電源,還要增加一片IRF7404)。


2 PCI板卡測試的硬件實(shí)現

從硬件上講,對于圖1所示的PCI-to-PCI轉接卡,要實(shí)現外部PCI板卡的熱插拔,必須解決兩個(gè)問(wèn)題:一是CardBus總線(xiàn)到PCI總線(xiàn)的轉換,二是要處理好轉接卡上PCI插座的電源問(wèn)題。

2.1 從CardBus總線(xiàn)到PCI總線(xiàn)的轉換


根據PCMCIA的設計規范[1]可知,CardBus總線(xiàn)類(lèi)似于PCI總線(xiàn),但CardBus總線(xiàn)是一種點(diǎn)對點(diǎn)總線(xiàn),與PCI總線(xiàn)有較大差別。

關(guān)于二者引腳的定義可以參考PCI設計規范[2]和PC卡設計規范[1]。下面著(zhù)重敘述二者引腳定義的不同點(diǎn)并給出相應的解決辦法:

(1)CardBus總線(xiàn)沒(méi)有IDSEL信號,而PCI總線(xiàn)和PCI橋芯片必須有IDSEL信號,用來(lái)支持對PCI橋芯片配置空間的讀和寫(xiě)操作。由于CardBus總線(xiàn)是點(diǎn)對點(diǎn)操作,在它上面只有一個(gè)設備,因此可在本轉接卡PCI插座的IDSEL引腳通過(guò)一個(gè)電阻(阻值為4.7~33)接到3.3V電源;

(2)CardBus總線(xiàn)沒(méi)有SBO#和SDONE#信號,但一般的PCI板卡并不需要這兩個(gè)信號;

(3)CardBus總線(xiàn)不支持64位總線(xiàn)擴展,這對32位總線(xiàn)的PCI卡不產(chǎn)生影響。本文所述轉接卡也不支持64位總線(xiàn)的PCI板卡;

(4)CardBus總線(xiàn)沒(méi)有JTAG引腳,而通常的PCI板卡并沒(méi)有利用JTAG功能,因而這一點(diǎn)并不影響本文所述轉接卡的適應性;

(5)CardBus總線(xiàn)有CSTSCHG引腳,這是CardBus總線(xiàn)的獨有功能,PCI總線(xiàn)并不需要,因而在設計時(shí)將它懸空;

(6)CardBus總線(xiàn)有CAUDIO引腳,這也是CardBus總線(xiàn)的獨有功能,PCI總線(xiàn)也不需要它,因而在設計時(shí)將它懸空;

(7)CardBus總線(xiàn)有CCLKRUN#引腳,PCI總線(xiàn)中沒(méi)有該引腳,本文在設計中按CardBus接口設計要求將其通過(guò)330?贅電阻接地;

(8)CardBus總線(xiàn)只有一個(gè)INT#引腳,但對于常見(jiàn)的PCI板卡而言,通常只使用(或不用)一個(gè)PCI中斷信號INTA#,因而這個(gè)限制對大多數PCI板卡不構成限制。

2.2 外部板卡插入的檢測和控制邏輯電路的設計


PCI1510有四個(gè)控制信號:CCD1#、CCD2#、CVS1和CVS2,用來(lái)檢測是否有外部板卡的插入,并判別插入板卡的類(lèi)型。PCI1510是一款PCMCIA接口的接口芯片,對于PCMCIA接口而言,可以在PCMCIA插座上插入三種類(lèi)型的板卡[1]:16位數據/地址總線(xiàn)的存儲卡,32位數據/地址總線(xiàn)的CardBus卡和CardBay卡。由于將CardBus總線(xiàn)當作PCI總線(xiàn)使用,因而當本文所述轉接卡的PCI插座上有待測PCI板卡插入時(shí),控制邏輯電路必須給PCI1510提供一個(gè)與CardBus板卡插入相似的板卡識別信號。

根據PCI1510的數據手冊[3]和PCMCIA卡設計規范[1],當PCI1510檢測到CCD2#為低電平且CCD1#接CVS1、CVS2懸空時(shí),PCI1510認為外部總線(xiàn)接口已經(jīng)插入一個(gè)CardBus板卡;而當CCD1#、CCD2#有一個(gè)為高電平時(shí),PCI1510認為外部總線(xiàn)上沒(méi)有板卡插入。因而本文按如下方式設計電路:CCD1#與CVS1短接,CVS2懸空,CCD2#通過(guò)上拉電阻接至可編程邏輯芯片ATF16V8C。PCI-to-PCI轉換卡邏輯電路和電源控制電路如圖2所示。


在圖2所示的電路中,U300和U301為電源開(kāi)關(guān)芯片IRF7404,實(shí)際上它們是P溝道場(chǎng)效應管,其輸入電源引腳分別接轉接卡上的+5V和+3.3V電源,輸出引腳則分別接至轉接卡PCI插座上的+5V和+3.3V電源引腳。U300和U301的控制信號由可編程邏輯芯片U302(ATF16V8C)的POWER_EN#提供。

U302的輸入信號為:CARD_IN、PCI1510提供的電源控制信號VCCD0和VCCD1,輸出信號為CCD2#和POWER_EN#。輸入輸出關(guān)系式為:
CCD2#=CARD_IN;
POWER_EN#= !VCCD0+VCCD1;

在轉接卡的PCI插座上沒(méi)有插入PCI板卡時(shí),CON300斷開(kāi),CARD_IN為高電平,此時(shí),CCD2#也為高電平;PCI1510給出的VCCD0、VCCD1均為高電平,POWER_EN#也為高電平,U300和U301沒(méi)有電源輸出,轉接卡的PCI插座上也沒(méi)有電源,同時(shí)插座上的信號線(xiàn)均處于高阻狀態(tài);在待測PCI板卡插入后,當操作者合上CON300時(shí),CARD_IN為低電平,CCD2#也變?yōu)榈碗娖?,PCI1510檢測到有板卡插入,給出VCCD0為高電平,VCCD1為低電平,在邏輯電路中,POWER_EN#為低電平,電源電路給PCI插座提供+5V和+3.3V(也可以增加電路提供+12V電源)電源,同時(shí)PCI1510激活板卡插座上的信號線(xiàn),此時(shí),待測PCI板卡開(kāi)始正常工作。

當測試完畢時(shí),操作者首先斷開(kāi)CON300。此時(shí)根據前面的分析可知,轉接卡的PCI插座上的電源被切斷,信號線(xiàn)處于高阻狀態(tài),這時(shí),操作者可以在不關(guān)機的情況下拔下PCI板卡。

3 PCI板卡熱插拔測試的軟件實(shí)現


圖1所示的 PCI-to-PCI轉接卡在電氣原理上類(lèi)似于一款PCI-to-PCMCIA轉接卡,常見(jiàn)的操作系統(如Windows XP, Windows 2000, Windows 98等)都支持PCMCIA板卡的熱插拔,而且這些常見(jiàn)的操作系統都帶有PCI1510的驅動(dòng)程序。當本文所述PCI-to-PCI轉接卡插入桌面計算機后,操作系統能自動(dòng)裝好轉接卡的驅動(dòng)程序。另外,待測PCI板卡插入轉接卡的PCI插槽后,操作者合上控制開(kāi)關(guān),操作系統將檢測到外部板卡的插入,并將待測PCI板卡識別成CardBus板卡,這樣就可以像測試CardBus板卡一樣測試PCI板卡,從而實(shí)現了PCI板卡的熱插拔測試。

要使本文所述轉接卡正常工作,還必須正確配置圖1中E2PROM芯片,本文所述轉接卡的配置如表1所示。


盡管本文所述PCI-to-PCI轉接卡對待測PCI板卡存在著(zhù)一些限制,即要求待測PCI板卡是32位數據/地址總線(xiàn),只使用(或不用)一個(gè)PCI中斷(即INTA#),并且不使用SDO#和SDONE#信號線(xiàn),不使用PCI總線(xiàn)上的JTAG接口, 但這對于一些常見(jiàn)的PCI板卡而言并不是一個(gè)問(wèn)題,本文所述轉接卡仍然具有廣泛的適應性和較高的使用價(jià)值。

參考文獻

[1] PC Card Standard release 8.0,www.PCMCIA.org.2001,4.
[2] 劉顯慶,劉仁普.微機總線(xiàn)規范.北京:機械工業(yè)出版社,1995.
[3] PCI1510 Data Manual.www.ti.com.2004,12.



關(guān)鍵詞: PCI 1510 板卡 熱插拔

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>