<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PCI總線(xiàn)的1553B總線(xiàn)接口卡設計

基于PCI總線(xiàn)的1553B總線(xiàn)接口卡設計

作者: 時(shí)間:2014-01-11 來(lái)源:網(wǎng)絡(luò ) 收藏

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

  2.2 系統軟件設計

  2.2.1 驅動(dòng)程序設計

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

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

  2.2.2 應用程序設計

  Windows系統為用戶(hù)提供了一些API函數,用于向WDM結構的驅動(dòng)程序發(fā)命令以及進(jìn)行數據交換,在內核區存在各種與之相對應的處理例程,見(jiàn)表1。

  b.JPG

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

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

  c.JPG

  3 結語(yǔ)

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>