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