高速PCI總線(xiàn)接口卡的開(kāi)發(fā)
摘要:從系統的角度介紹高速PCI總線(xiàn)接口卡開(kāi)發(fā)的整個(gè)過(guò)程,其中包括硬件電路的設計制作和軟件驅動(dòng)的開(kāi)發(fā)。介紹一些從實(shí)際設計過(guò)程中得出的應該注意的細節等。
本文引用地址:http://dyxdggzs.com/article/155969.htmPCI總線(xiàn)技術(shù)已經(jīng)應用于形形色色的微機接口中。同在聲卡、網(wǎng)卡甚至有些顯示都是基于PCI總線(xiàn)技術(shù)的,一些高速數據傳輸系統中也需要用到PCI總線(xiàn)技術(shù)。PCI總線(xiàn)技術(shù)的出現是為了解決由于微機總線(xiàn)的低速度和微處理器的高速度而造成的數據傳輸瓶勁問(wèn)題,PCI局部總線(xiàn)是在ISA總線(xiàn)和CPU總線(xiàn)之間增加的一級總線(xiàn)。由于獨立于CPU的結構,該總線(xiàn)增加了一種獨特的中間緩沖器的設計,從而與CPU及時(shí)鐘頻率無(wú)關(guān),用戶(hù)可以將一些高速外設直接掛到CPU總線(xiàn)上,使之與其相匹配。PCI局部總線(xiàn)使得PC系列微機結構也隨之升級為現在的基于PCI總線(xiàn)的三級總線(xiàn)結構。PC機的三級總線(xiàn)結構如圖1所示。
1 PCI總線(xiàn)接口卡的開(kāi)發(fā)
PCI局部總線(xiàn)最顯著(zhù)的特征是速度快。ISA總線(xiàn)的傳輸速率為5MB/s,EISA總線(xiàn)的傳輸速率為33MB/s,PCI1.0標準定義的總線(xiàn)傳輸速率為132MB/s,PCI2.0標準定義的總線(xiàn)傳輸速率為264MB/s,PCI2.1和PCI2.2標準定義的總線(xiàn)傳輸速率為512MB/s。而新一代PCI-X技術(shù)則在原有PCI總線(xiàn)技術(shù)的基礎上增加了許多新的技術(shù)特征,利用PCI-X技術(shù)可以為千兆以太網(wǎng)卡、基于Ultra SCSI320的磁盤(pán)陣列控制器等高數據吞吐量的設備提供足夠的寬帶。1999年P(guān)CISIG(PCI特別興趣小組發(fā)布的PCI-X1.0標準最高可提供1GB/s的傳輸速率,而2003年推出的PCI-X2.0標準則最高可提供4.3GB/s的傳輸速率。
目前,PCI總線(xiàn)接口電路的選擇主要有兩種方案。一種是選用可編輯邏輯器件(PLD)。使用PLD,用戶(hù)可以靈活地開(kāi)發(fā)出適合自己需要的具有特定功能的芯片,但PCI總線(xiàn)協(xié)議比較復雜,設計PCI控制接口難度較大,對于一般的工程項目來(lái)說(shuō),成本較大?,F在有許多生產(chǎn)可編程邏輯器件的廠(chǎng)商都提供經(jīng)過(guò)嚴格測試的PCI接口功能模塊,用戶(hù)只需進(jìn)行組合即可。另一種是選用PCI專(zhuān)用芯片組(又稱(chēng)橋接電路),通過(guò)專(zhuān)用芯片來(lái)實(shí)現完整的PCI主控模塊和目標模塊的功能,將復雜的PCI總線(xiàn)接口轉換為相對簡(jiǎn)單的用戶(hù)接口,用戶(hù)只需設計轉換后的總線(xiàn)接口。本設計中選用PCI總線(xiàn)專(zhuān)用接口芯片來(lái)開(kāi)發(fā)接口卡。
1.1 接口芯片介紹
PCI總線(xiàn)接口電路又分為主控設備和目標設備。主控設備可以控制總線(xiàn),驅動(dòng)地址、數據和控制信號;目標設備不能啟動(dòng)總線(xiàn)操作,只能依賴(lài)于主控設備從其中讀取數據或向其傳送數據。主控設備芯片價(jià)格比較高,目標設備芯片價(jià)格則比較便宜,而且目標設備芯片比較簡(jiǎn)單、易于操作。
目前兩大PCI專(zhuān)用接口芯片生產(chǎn)商是AMCC公司和PLX公司。AMCC公司的PCI接口芯片有S5920、S5933、S5935等。S5920是目標設備芯片;S5933既可以設置為主控設備芯片,又可以設置為目標設備芯片;S5935是S5933的改進(jìn)版,同樣既可以設置為主控設備芯片,也可以設置為目標設備芯片。PLX公司在PCI接口芯片的設置生產(chǎn)中首屈一指,其目標設備芯片產(chǎn)品主要有PCI9030、PCI9052和PCI9050,PCI9050和PCI9052可以運用于ISA卡轉接PCI的設計中,PCI9030是專(zhuān)門(mén)為嵌入式系統設計的;主控設備芯片產(chǎn)品主要有PCI9054、PCI9080和PCI9060,PCI9060是最早的32位主控設備芯片,PCI9080是PCI9060的后繼產(chǎn)品,而PCI9054則是一種性?xún)r(jià)比很高的芯片,其性能比PCI9080、PCI9052更優(yōu)越。
由于主控設備芯片比較復雜,而且價(jià)格昂貴,所以對處理速度和傳輸速度要求不是特別高的場(chǎng)合應盡量選用目標設備芯片。本設計中選用PLX公司的PCI9052目標設備芯片來(lái)設計PCI接口電路。
1.2 PCI9052介紹
PCI9052是PLX公司繼PCI9050之后推出的低成本、低功耗、32位PCI總線(xiàn)接口芯片,利用它可以使局部總線(xiàn)快速轉換到PCI總線(xiàn)上。
PCI9052芯片的設計符合PCI2.1規范。它支持低成本從屬適配器,其局部總線(xiàn)可根據需要配置成復用或非復用模式的8、16或32位的局部總線(xiàn)。PCI總線(xiàn)側的時(shí)鐘頻率范圍為0~33MHz,局部總線(xiàn)與PCI總線(xiàn)的時(shí)鐘相互獨立,局部總線(xiàn)的時(shí)鐘頻率范圍為0~40MHz,兩種總線(xiàn)的異步運行方便了高低速設備的相互兼容。PCI9052芯片內部有一個(gè)64字節的寫(xiě)FIFO和一個(gè)32字節的讀FIFO,通過(guò)讀寫(xiě)FIFO,可實(shí)現高性能的突發(fā)式數據傳輸,也可以進(jìn)行連續的單周期操作。
1.3 硬件設計
由于PCI9052屬于目標設備芯片,只能依賴(lài)于主控設備從其中讀取數據或向其傳送數據,所以需要一個(gè)微處理器對通過(guò)PCI9052從PCI總線(xiàn)發(fā)送到局部總線(xiàn)的命令作出處理響應,或者把用戶(hù)想要傳送的數據以中斷的方式通知PCI總線(xiàn)來(lái)讀取。本設計中微處理器選用TI公司的C2000系列的16位DSP芯片TMS320LF2407。
TMS320LF2407是TI公司推出的定點(diǎn)DSP處理器,是一款性?xún)r(jià)比較高的芯片。它采用高性能靜態(tài)CMOS技術(shù),供電電壓為3.3V,指令周期可達25ns,片內有高達32K字的FLASH程序存儲器、1.5K字的數據/程序 RAM、544字雙口RAM(DARAM)和2K字的單口RAM(SARAM),可以分別擴展64K字外部程序存儲器、64K字外部數據存儲器和64K字I/O尋址空間;片內還集成了包括CAN控制器在內的多個(gè)外圍模塊及存儲器,可以運用于電機及逆變電路的控制中;10位16通道的A/D轉換器最小轉換時(shí)間為500ns;內部自帶看門(mén)狗定時(shí)器模塊(WDT)和16位的串行外設接口模塊(SPI)。另外,該芯片有高達40個(gè)可單獨編程或復用的通用輸入/輸出引腳、一個(gè)串行通信接口(SCI)、一個(gè)并口和5個(gè)外部中斷。目前投入市場(chǎng)試用的C2000系列的32位DSP芯片TMS320LF2812采用的是150MHz的時(shí)鐘速率,其指令周期只為6.7ns,存儲器可以擴展到1M,速度更快,功能更強大。
PCI接口卡硬件總體設計如圖2所示。圖中,DB代表數據總線(xiàn),AB代表地址總線(xiàn),CB代表控制總線(xiàn)。
評論