基于PCI局部總線的1553B總線接口卡設(shè)計(jì)
驅(qū)動(dòng)程序的基本功能是完成設(shè)備的初始化、對(duì)端口的讀寫(xiě)操作、中斷的設(shè)備和響應(yīng)及中斷的調(diào)用,以及對(duì)寄存器和內(nèi)存的直接讀寫(xiě)。在Driver Studio生成的程序框架上,根據(jù)具體的要求添加新的類(lèi)對(duì)象和代碼,結(jié)合接口卡的特點(diǎn),編寫(xiě)一些特殊的驅(qū)動(dòng),在VC下編譯后即可得到所需的驅(qū)動(dòng)程序。
2.2.2 應(yīng)用程序設(shè)計(jì)
Windows系統(tǒng)為用戶(hù)提供了一些API函數(shù),用于向WDM結(jié)構(gòu)的驅(qū)動(dòng)程序發(fā)命令以及進(jìn)行數(shù)據(jù)交換,在內(nèi)核區(qū)存在各種與之相對(duì)應(yīng)的處理例程,見(jiàn)表1。
CreateFile用于獲得驅(qū)動(dòng)程序句柄,CloseHandle關(guān)閉驅(qū)動(dòng)程序,而其余函數(shù)用于應(yīng)用程序控制驅(qū)動(dòng)程序或者與驅(qū)動(dòng)程序交換數(shù)據(jù),其中Device Control函數(shù)完成讀取PCI配置空間內(nèi)容的功能。在WDM中實(shí)現(xiàn)輸入輸出處理可以通過(guò)KIoRange類(lèi)實(shí)現(xiàn)。應(yīng)用層通過(guò)DeviceloControl函數(shù)向設(shè)備句柄調(diào)用KIoRange類(lèi)的成員函數(shù),實(shí)現(xiàn)應(yīng)用層對(duì)I/O空間的處理。
應(yīng)用程序的流程如圖2所示。
3 結(jié)語(yǔ)
1553B作為一種高可靠性和穩(wěn)定性的數(shù)據(jù)總線已在軍事和工業(yè)領(lǐng)域得到越來(lái)越廣泛的應(yīng)用。本文設(shè)計(jì)了一種基于PCI總線的1553B總線接口卡,分別使用PCI9052和BU-61580作為PCI總線和1553B總線的協(xié)議芯片,使用FPGA進(jìn)行總線邏輯控制,提高了系統(tǒng)的集成度,驅(qū)動(dòng)程序方面,利用Driver Studio向?qū)沈?qū)動(dòng)程序的框架,極大簡(jiǎn)化了驅(qū)動(dòng)程序的編制。實(shí)驗(yàn)證明,本文設(shè)計(jì)的接口卡可以為電子設(shè)備提供符合1553B標(biāo)準(zhǔn)的接口,完成可靠的數(shù)據(jù)交換,工作穩(wěn)定,功能完善,多個(gè)板卡可組成一個(gè)1553B總線仿真測(cè)試系統(tǒng),通過(guò)仿真設(shè)備可用于模擬航電設(shè)備進(jìn)行仿真測(cè)試,對(duì)開(kāi)發(fā)1553B總線通信系統(tǒng)具有重要的現(xiàn)實(shí)意義和應(yīng)用前景。
評(píng)論