PCI總線接口設(shè)計(jì)及專用接口芯片的應(yīng)用
4.4 pci9054與local bus接口
硬件電路第三部分是pci 9054與local端連接。plx9054芯片local端用到的部分引腳信號(hào)描述如下。
lhold:申請(qǐng)使用本地總線,輸出信號(hào);lholda:對(duì)lhold應(yīng)答,輸入信號(hào);ads:新的總線訪問有效地址的開始,在總線訪問 first clock設(shè)置時(shí),輸出信號(hào): blast:表示為總線訪問的last transfer,輸出信號(hào); lw/r:高電平表示讀操作,低電平表示寫操作,輸出信號(hào)。la:地址線。ld:數(shù)據(jù)線。ready:表示總線上讀數(shù)據(jù)有效或?qū)憯?shù)據(jù)完成,用以連接 plx9054等待狀態(tài)產(chǎn)生器,輸入信號(hào)。
4.5 寄存器配置
設(shè)計(jì)好接口電路后,硬件設(shè)計(jì)工作還只完成了一半。由于pci 9054是通用pci接口功能芯片,它的功能還不一定能夠滿足用戶的需求,所以還要進(jìn)行功能寄存器設(shè)置以使接口電路具有特定的功能。寄存器的配置包括 eeprom初始化、local功能寄存器和pci配置寄存器的配置。
(1) eeprom初始化
在計(jì)算機(jī)的加電自檢期間,pci總線的rst#信號(hào)復(fù)位,plx9054內(nèi)部寄存器的默認(rèn)值作為回應(yīng)。plx9054輸出本地lreset#信號(hào)并檢測(cè)串 行eeprom。如果串行eeprom中的前33個(gè)比特不全為1,那么plx9054確定串行eeprom非空,用戶可通過向9054的寄存器cntrl 的29位寫1來加載eeprom的內(nèi)容到plx9054的內(nèi)部寄存器;配置的信息(設(shè)備識(shí)別號(hào)、供應(yīng)商代碼號(hào)、local總線三個(gè)空間的大小以及三個(gè)空間的基址等)事先要利用編程器寫入配置存儲(chǔ)器中,也可以在p1xsdk中的plxmon下對(duì)eeprom進(jìn)行配置。
(2) pci配置寄存器的配置
配置pci配置寄存器比較簡(jiǎn)單。主要是填寫生產(chǎn)商id號(hào)、器件id號(hào)、類碼子系統(tǒng)id號(hào)和子系統(tǒng)生產(chǎn)商id號(hào)。對(duì)于pci 9054,其生廠商id號(hào)為10b5,器件id號(hào)為9054,子系統(tǒng)號(hào)為9054,子系統(tǒng)id號(hào)為10b5,類碼號(hào)為0680,表示其為橋設(shè)備中的其它橋 設(shè)備類。
(3) 本地配置寄存器的配置
對(duì)于本地配置寄存器的配置就是對(duì)本地地址空間及其本地總線屬性的配置。這些配置要根據(jù)實(shí)際開發(fā)的硬件板卡的硬件資源進(jìn)行配置。設(shè)備人員配置寄存器的任務(wù)就是要把某一段本地地址映射為pci地址,也就是當(dāng)主機(jī)cpu要訪問本地地址空間時(shí),要知道其對(duì)應(yīng)的pci總線地址。
4.6 驅(qū)動(dòng)程序的開發(fā)
設(shè)備驅(qū)動(dòng)程序提供鏈接到pci板卡的軟件接口,文件擴(kuò)展名為.sys的動(dòng)態(tài)鏈接庫(kù)。在windows98和windows2000中,設(shè)備驅(qū)動(dòng)程序必須根 據(jù)windows驅(qū)動(dòng)程序模型(wdm)設(shè)計(jì)。設(shè)備驅(qū)動(dòng)程序的關(guān)鍵是如何完成硬件操作,基本功能是完成設(shè)備的初始化、對(duì)端口的讀寫操作、中斷的設(shè)置和響應(yīng) 及中斷的調(diào)用,以及對(duì)內(nèi)存的直接讀寫。本設(shè)計(jì)應(yīng)用基于vc++的driverworks軟件,只要在它的向?qū)С绦?driverwizard)指引下,根據(jù)硬件的具體情況設(shè)置必要參數(shù)就可以很方便地完成驅(qū)動(dòng)程序的框架,最后根據(jù)具體的要求添加新的類對(duì)象和所需代碼即可。
5 結(jié)束語
隨著數(shù)字技術(shù)的發(fā)展,要求的數(shù)據(jù)傳輸速率將會(huì)越來越高。pci9054以其強(qiáng)大的功能,簡(jiǎn)單的用戶接口,為pci總線接口的開發(fā)提供了一種簡(jiǎn)潔的方法,設(shè)計(jì)者只要設(shè)計(jì)本地總線接口控制電路,即可實(shí)現(xiàn)與pci總線的高速數(shù)據(jù)傳輸。
評(píng)論