新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > VxWorks操作系統下ComPactPCI總線驅動程序設計

        VxWorks操作系統下ComPactPCI總線驅動程序設計

        作者: 時間:2009-07-30 來源:網絡 收藏

        引言
        是美國Wind River公司專門為嵌入式處理器設計的一種模塊化、高性能的實時多任務。嵌入式軟件多采用交叉開發的方式,即主機運行開發工具Tonado,通過某種連接方式連接目標機,硬件平臺為PC/104+架構。這里提出一種下CompactPCI程序的設計及實現。該設計使用德國Kontron DT-64,它是一款高性能嵌入式計算機。采用Dual PentiLim 3 CPU,工作頻率高達866 MHz,具有128 KB一級高速緩存和128 KB二級高速緩存。KontronDT-64與PC/AT標準完全,并遵從PC/104+標準。具有PC/104結構的優點,適用于各種復雜的工作環境。

        本文引用地址:http://www.104case.com/article/173660.htm


        2 BSP與的關系
        板級支持包BSP(board support packet)通常是針對具體的硬件平臺,是用戶所編寫的啟動代碼和部分設備程序的集合。在VxWorks中,BSP是介于底層硬件環境和VxWorks之間的一個軟件接口,它的主要功能是系統加電后初始化目標機硬件、初始化操作系統及提供部分硬件的程序。BSP與VxWorks之間的關系如圖1所示。從圖1發現,BSP不是一個設備驅動程序。它只能運行于指定設備的硬件環境中,對其進行控制和初始化。這里主要闡述在PCM發送,接收模塊的設計過程中,如何利用DT-64 BSP來實現PCI的驅動程序。

        3 及接口技術
        由于CompactPCI規范定義基于PCI總線方式的復印加堅固而耐用的PCI版本,并且適用于工業和嵌入式應用,本設計采用此規范。CompactPCI總線是3種技術的集成:通用PCI局部總線(Local Bus)的高性能,安裝牢固的歐卡結構,接觸可靠的針孔連接器(pin-antl-soeket connector)。
        PCI局部總線是一種地址和數據復用的高性能32,64位總線,它在高度集成的外圍控制器件、外圍插件板和處理器/存儲器之間起連接作用。PCI總線為CPU和板上外設提供了方便的高速通信連接,工作頻率為66 MHz或更高。PCI作為一種同步的、獨立于處理器的32 bit或64 bit局部總線,在工作頻率為33 MHz總線寬度為32 bit最低規格時其峰值吞吐速率可達到132 MB/s,適用于網絡適配器、硬盤驅動器、視頻卡、圖形卡等各類高速外設。連接到PCI總線上的設備分為主控和目標兩類,PCI支持多主系統。PCI總線的一個重要特點是存在配置空間,它提供一種配置關聯,適合于目前或將來的系統配置機制,實現參數自動配置。系統軟件通過讀取配置空間中相應參數,即可確定PCI總線上掛接了什么設備以及需要哪些資源,通過對地址空間的重定位分配資源避免競爭,實現PCI設備的即插即用。
        連接到PCI總線的用戶功能板卡需要使用PCI總線接口控制器和PCI總線進行交互,在應用系統設計時采用OL5064器件。QL5064是一款32 bit/33 MHz的通用PCI總線控制器,符合PCI規范2.2版,本突發傳輸速率達到132 MB/s。可作為PCI總線的主控設備控制總線,也可作為目標設備響應總線。Ql5064提供了PCI總線、E2ROM、LOCAL總線3個接口。LOCAL總線支持復用/非復用的32 bit地址/數據,有3種工作模式:M、C和J。在系統實際數據采集時,將LOCAl總線設置為C模式,這是一種目標設備模式。選用NM93CS56L型串行E2PROM作為QL5064的配置器件,該器件通過E2ROM接口和QL5064相連。QL5064的長配置方式要求68個字節的信息,主要包括:設備識別號、供應商代碼號、LO-CAL總線3個空間的性質、范圍以及基址等,這些配置信息內容一般要預先設計并用編程器事先寫入配置器件中。在計算機啟動時,系統將根據配置信息分配器件所申請的資源。Q155064作為一種橋接器件,在PCI總線和LOCAL總線之間有3種主要數據傳輸模式:
        (1)PCI Initiator數據傳輸模式 主控模式,LOCAL總線主設備通過QL5064訪問PCI總線存儲空間和I/O空間;
        (2)PCI Target數據傳輸模式PCI總線主設備通過QL5064訪問LOCAL總線存儲空問和I/O空間;
        (3)DMA數據傳輸模式QL5064作為兩總線的主設備,從PCI總線存儲空間讀數據到LOCAL總線存儲空間或者從LOCAL總線存儲空間讀數據到PCI總線存儲空間。在系統設計中,使用PCI Target數據傳輸模式讀寫控制模塊中的寄存器。


        4 設備的配置技術
        VxWorks是專門為實時嵌人式系統設計開發的操作系統軟件,提供高效的實時任務調度、中斷管理、實時的系統資源分配以及實時的任務間通信。程序員可將主要精力放在應用程序本身,而不用關心對系統資源的管理。
        為闡明在VxWorks操作系統下如何實現CompaetPCI總線設備的驅動,需了解PCI設備的配置寄存器空間。PCI設備有3種物理存儲空間:配置寄存器空間、存儲器空間和I/O空間。PCI局部總線設備中配置寄存器空間是一容量為256 KB并具有特定記錄結構的地址空間,該空間分為頭標區和設備有關區兩部分,空間頭標區的定義如圖2所示。

        在配置空間中,只讀空間有設備標識、供應商代碼、修改版本、分類代碼以及頭標類型。其中供應商代碼用來標識設備供應商;設備標識用來標識某一特殊的設備;修改版本標識設備的版本號;分類代碼用來標識設備的種類;而頭標類型用來標識頭類型以及是否為多功能設備。除供應商代碼之外,其他字段的值由供應商分配。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 来宾市| 永福县| 临猗县| 鄂伦春自治旗| 渭源县| 丹巴县| 台安县| 晴隆县| 武夷山市| 镇坪县| 突泉县| 明溪县| 广东省| 资源县| 宜城市| 郴州市| 信丰县| 宜黄县| 通化市| 屯门区| 温泉县| 淅川县| 巴彦淖尔市| 华安县| 尚义县| 金阳县| 宁海县| 台东县| 青州市| 疏勒县| 海盐县| 德格县| 沿河| 濮阳市| 六枝特区| 通州区| 穆棱市| 鄄城县| 蕉岭县| 城固县| 昌江|