新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PCI總線的1553B總線接口卡設計

        基于PCI總線的1553B總線接口卡設計

        作者: 時間:2014-01-11 來源:網絡 收藏

          在進行驅動編寫前,需要根據功能需求對9052芯片進行相應的配置操作。9052芯片有2類寄存器:配置寄存器和配置寄存器。PCI配置寄存器的內容反映配置空間的情況,它的配置空間的內容包括PCI設備號DID,制造商號VID、中斷號、設備類型號、局部空問基地址、局部空間描述符、片選響應以及局部響應控制CNTRL等信號,這些配置信息在芯片復位時通過串行E2PROM加載。PCI9052會自動根據該E2PROM的狀態決定其內部寄存器值。E2PROM中的配置信息的正確與否關系著整個板卡是否能夠正常工作。當系統配置成功后,接口卡可被PC機識別,即可進行驅動程序的開發。

          2.2 系統軟件設計

          2.2.1 驅動程序設計

          設備驅動程序提供連接到計算機的硬件的軟件接口,所要完成的任務是鏈接應用層和硬件層,使操作系統識別具體硬件,并使用硬件資源。微軟公司提供了專門的驅動程序開發工具包Windows XP DDK,但是DDK開發難度較大,周期長,不容易掌握,Numga公司的開發工具Driv er Studio可以大大簡化驅動程序的開發過程,它制作的類庫封裝了DDK的函數,完全兼容所有的DDK函數,它封裝了比較底層的繁復操作,減少了對簡單接口的復雜操作,專門提供了的開發向導Wizard與微軟的Visual C++緊密地集成,驅動程序代碼框架只需要在DrivetWorks工具向導程序的指引下,根據硬件的具體參數填寫必要步驟即可完成。另外,Driver Wizard還能生成專為特殊設備定制的代碼,比如PCI設備,ISA設備等。

          驅動程序的基本功能是完成設備的初始化、對端口的讀寫操作、中斷的設備和響應及中斷的調用,以及對寄存器和內存的直接讀寫。在Driver Studio生成的程序框架上,根據具體的要求添加新的類對象和代碼,結合接口卡的特點,編寫一些特殊的驅動,在VC下編譯后即可得到所需的驅動程序。

          2.2.2 應用程序設計

          Windows系統為用戶提供了一些API函數,用于向WDM結構的驅動程序發命令以及進行數據交換,在內核區存在各種與之相對應的處理例程,見表1。

          b.JPG

          CreateFile用于獲得驅動程序句柄,CloseHandle關閉驅動程序,而其余函數用于應用程序控制驅動程序或者與驅動程序交換數據,其中Device Control函數完成讀取PCI配置空間內容的功能。在WDM中實現輸入輸出處理可以通過KIoRange類實現。應用層通過DeviceloControl函數向設備句柄調用KIoRange類的成員函數,實現應用層對I/O空間的處理。

          應用程序的流程如圖2所示。

          c.JPG

          3 結語

          1553B作為一種高可靠性和穩定性的數據總線已在軍事和工業領域得到越來越廣泛的應用。本文設計了一種基于PCI總線的,分別使用PCI9052和BU-61580作為PCI總線和1553B總線的協議芯片,使用FPGA進行總線邏輯控制,提高了系統的集成度,驅動程序方面,利用Driver Studio向導生成驅動程序的框架,極大簡化了驅動程序的編制。實驗證明,本文設計的接口卡可以為電子設備提供符合1553B標準的接口,完成可靠的數據交換,工作穩定,功能完善,多個板卡可組成一個1553B總線仿真測試系統,通過仿真設備可用于模擬航電設備進行仿真測試,對開發1553B總線通信系統具有重要的現實意義和應用前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吴桥县| 岑巩县| 正安县| 资源县| 磐安县| 康平县| 宝应县| 英吉沙县| 万宁市| 神农架林区| 前郭尔| 高州市| 霞浦县| 民和| 桃园市| 太康县| 通渭县| 库车县| 西盟| 九寨沟县| 宣武区| 五峰| 思南县| 湖北省| 颍上县| 海淀区| 汉沽区| 新田县| 奉化市| 都匀市| 许昌县| 庆安县| 尼玛县| 平湖市| 彭阳县| 石城县| 海安县| 新兴县| 于田县| 秀山| 乌兰浩特市|