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