網(wǎng)絡(luò)測(cè)試儀E1數(shù)據(jù)采集卡的驅(qū)動(dòng)設(shè)計(jì)
3.2 物理層
物理層通過(guò)地址總線映射配置成幀器,其中PCI橋設(shè)備和成幀器之間經(jīng)過(guò)CPLD控制選通。物理層驅(qū)動(dòng)完成配置成幀器、復(fù)位控制等。成幀器是將E1上的比特流整合成符合規(guī)范的HDLC幀,其中一個(gè)標(biāo)準(zhǔn)HDLC幀包括32個(gè)時(shí)隙,這些時(shí)隙可配置映射到HDLC控制器的端口信道,實(shí)現(xiàn)2 M、N×64 K、N×8 K高速模式。其配置流程如圖4所示。
4 E1接口卡應(yīng)用程序設(shè)計(jì)
數(shù)據(jù)采集卡通過(guò)成幀器首先從E1線上取得七號(hào)信令的數(shù)據(jù),并將接收到的數(shù)據(jù)放至共享體中;上層應(yīng)用程序發(fā)送IRP到共享體中讀取采集數(shù)據(jù)。應(yīng)用程序接口(API)是驅(qū)動(dòng)程序?yàn)樯蠈討?yīng)用預(yù)留的接口,上層軟件可通過(guò)調(diào)用該程序?qū)崿F(xiàn)驅(qū)動(dòng)以及對(duì)板卡的控制。雖然驅(qū)動(dòng)程序是為設(shè)備的硬件層編程服務(wù)的,但是同樣需要具有與應(yīng)用程序交互的能力,從而最終達(dá)到應(yīng)用程序控制設(shè)備的目的。
在Windows中,應(yīng)用程序與WDM通信的實(shí)現(xiàn)過(guò)程:應(yīng)用程序應(yīng)先獲得設(shè)備句柄GUID碼,然后利用CreateFile函數(shù)打開(kāi)設(shè)備,通過(guò)DeviceIoControl函數(shù)傳遞控制代碼參數(shù)和WDM進(jìn)行通信,包括從WDM中讀取數(shù)據(jù)和寫(xiě)數(shù)據(jù)給WDM兩種情況,也可利用ReadFile從WDM中讀取數(shù)據(jù)或用WriteFile寫(xiě)數(shù)據(jù)給WDM:當(dāng)下層驅(qū)動(dòng)有觸發(fā)事件時(shí),就需要Event事件通知上層軟件。當(dāng)應(yīng)用程序退出時(shí),
CloseHandle則關(guān)閉設(shè)備,這將產(chǎn)生對(duì)應(yīng)于此設(shè)備對(duì)象的相應(yīng)IRP消息。這種關(guān)系如表1所列。
由于E1數(shù)據(jù)采集卡的MUSYCC控制器是PCI多功能設(shè)備,所以應(yīng)用程序應(yīng)當(dāng)合理調(diào)整兩個(gè)功能驅(qū)動(dòng)程序的控制順序,實(shí)現(xiàn)E1數(shù)據(jù)的正常采集。其E1卡應(yīng)用程序(API)的配置流程如圖5所示。
5 結(jié)束語(yǔ)
將E1數(shù)據(jù)線的發(fā)送線與接收線對(duì)接進(jìn)行測(cè)試可得:接收數(shù)據(jù)即為發(fā)送數(shù)據(jù),從而證明了E1板卡可實(shí)現(xiàn)收、發(fā)數(shù)據(jù)。E1接口卡為滿足用戶對(duì)信令消息的特定要求,驅(qū)動(dòng)設(shè)計(jì)提供控制消息長(zhǎng)度的接口函數(shù)
評(píng)論