基于CAN總線的USB功能設(shè)備驅(qū)動程序設(shè)計與實現(xiàn)
發(fā)布時間:2020-03-27 01:17
【摘要】: 具有實時性、可靠性的CAN總線是目前應(yīng)用最為廣泛的現(xiàn)場總線之一,節(jié)點設(shè)備CAN板卡被用于構(gòu)建船舶上的傳輸控制網(wǎng)絡(luò),其與主機(jī)的通信接口采用USB接口。通常操作系統(tǒng)所能提供的USB通用驅(qū)動程序,僅負(fù)責(zé)USB設(shè)備的枚舉,但無法實現(xiàn)對特定設(shè)備的讀寫和控制。為了實現(xiàn)對特定設(shè)備的讀寫和控制,并為應(yīng)用程序提供接口,需要在USB通用驅(qū)動程序的上層開發(fā)設(shè)備功能驅(qū)動程序。本文作者利用DDK在Windows2000環(huán)境下,根據(jù)USB控制芯片PDIUSBD12的特點,完成CAN板卡USB功能設(shè)備驅(qū)動程序的軟件開發(fā)。 首先作者介紹了CAN總線體系結(jié)構(gòu),分析了CAN總線物理層和數(shù)據(jù)鏈路層工作原理。然后對USB的通信協(xié)議及特點進(jìn)行了論述,其中包括總線特征、協(xié)議定義、傳輸方式和電源管理等等,并對USB與其它常用接口的優(yōu)缺點進(jìn)行了比較。其次對Windows 2000操作系統(tǒng)的總體結(jié)構(gòu)進(jìn)行了簡要的描述,其中包括對用戶模式和內(nèi)核模式的討論。然后針對WDM驅(qū)動模型及設(shè)計方法進(jìn)行了詳細(xì)的討論,其中包括對I/O請求、IRP處理及取消、電源管理、即插即用等技術(shù)細(xì)節(jié)的詳細(xì)說明。 接下來作者結(jié)合源程序論述如何利用DDK開發(fā)CAN板卡USB功能設(shè)備驅(qū)動程序,其中詳細(xì)說明了設(shè)備初始化、讀寫設(shè)備、即插即用等重要例程。最后論文簡要說明了驅(qū)動程序調(diào)試技術(shù)及安裝。 作者開發(fā)的USB功能設(shè)備驅(qū)動程序不僅能穩(wěn)定的運行于windows 2k,而且還能移植到基于NT技術(shù)的其它操作系統(tǒng),占用非分頁內(nèi)存較少,整個開發(fā)過程具有較強(qiáng)的代表性,對從事類似設(shè)備驅(qū)動程序開發(fā)的技術(shù)人員有較高的參考價值。
【圖文】:
短幀結(jié)構(gòu)(8 字節(jié)),實時性好;即可任意掛接或拆除節(jié)點,增強(qiáng)了系統(tǒng)的靈和規(guī)范,使各設(shè)備之間具有較好的互操作采用雙絞線,,無特殊要求;現(xiàn)場布線和安裝SI標(biāo)準(zhǔn)模型,CAN分為應(yīng)用層、數(shù)據(jù)鏈路層層和數(shù)據(jù)鏈路層。號在何種媒體中發(fā)送和接收,涉及位定時、動可以采用單線上拉、單線下拉或雙線驅(qū)動線末端均應(yīng)接有抑制反射的終端負(fù)載電阻。inant)或隱性(Recessive)。圖 2-1 說明 CAN 總邏輯“1”表示)狀態(tài)。顯性狀態(tài)以大于最小 h
目前調(diào)試WDM 驅(qū)動程序通常使用Numega公司功能強(qiáng)大的調(diào)試軟件SoftICE。它有兩個大的版本,一個用于Windows 9x操作系統(tǒng),另一個用于Windows NT和Win2K OS。各版本之間的差別主要是對Bug的修正和對新技術(shù)的支持。SoftICE結(jié)合了硬件調(diào)試器的強(qiáng)大功能和符號調(diào)試程序的易用性,能夠顯示程序的源代碼,允許通過符號訪問局部和全局的數(shù)據(jù)。SoftICE對硬件設(shè)備,尤其是顯卡、鼠標(biāo)的正確設(shè)置要求較高。在配置顯卡的時候如果用戶的顯卡沒有在表中列出,建議選擇“Standerd VGA”,即標(biāo)準(zhǔn)適配器(VGA)。此外,推薦選擇“Universal Video Driver”,因為這樣的配置使SoftICE在激活狀態(tài)下類似Windows應(yīng)用程序的一個窗口,可避免顯示器在圖形和字符模式下之間不停轉(zhuǎn)換。SoftICE支持的鼠標(biāo)類型有串行口、PS/2口和USB接口。否則在SoftICE調(diào)試畫面中會出現(xiàn)鼠標(biāo)無法定位甚至死機(jī)的現(xiàn)象。SoftICE調(diào)試技術(shù):要使用SoftICE調(diào)試WDM驅(qū)動程序,首先要啟動Symbol Loader,加載特定路徑下所要調(diào)試的驅(qū)動程序nms文件,如圖4-4所示。按下Ctrl+D,可進(jìn)入SoftICE調(diào)試環(huán)境中,如圖4-5所示。
【學(xué)位授予單位】:天津大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2006
【分類號】:TP334.7;TP311.11
本文編號:2602236
【圖文】:
短幀結(jié)構(gòu)(8 字節(jié)),實時性好;即可任意掛接或拆除節(jié)點,增強(qiáng)了系統(tǒng)的靈和規(guī)范,使各設(shè)備之間具有較好的互操作采用雙絞線,,無特殊要求;現(xiàn)場布線和安裝SI標(biāo)準(zhǔn)模型,CAN分為應(yīng)用層、數(shù)據(jù)鏈路層層和數(shù)據(jù)鏈路層。號在何種媒體中發(fā)送和接收,涉及位定時、動可以采用單線上拉、單線下拉或雙線驅(qū)動線末端均應(yīng)接有抑制反射的終端負(fù)載電阻。inant)或隱性(Recessive)。圖 2-1 說明 CAN 總邏輯“1”表示)狀態(tài)。顯性狀態(tài)以大于最小 h
目前調(diào)試WDM 驅(qū)動程序通常使用Numega公司功能強(qiáng)大的調(diào)試軟件SoftICE。它有兩個大的版本,一個用于Windows 9x操作系統(tǒng),另一個用于Windows NT和Win2K OS。各版本之間的差別主要是對Bug的修正和對新技術(shù)的支持。SoftICE結(jié)合了硬件調(diào)試器的強(qiáng)大功能和符號調(diào)試程序的易用性,能夠顯示程序的源代碼,允許通過符號訪問局部和全局的數(shù)據(jù)。SoftICE對硬件設(shè)備,尤其是顯卡、鼠標(biāo)的正確設(shè)置要求較高。在配置顯卡的時候如果用戶的顯卡沒有在表中列出,建議選擇“Standerd VGA”,即標(biāo)準(zhǔn)適配器(VGA)。此外,推薦選擇“Universal Video Driver”,因為這樣的配置使SoftICE在激活狀態(tài)下類似Windows應(yīng)用程序的一個窗口,可避免顯示器在圖形和字符模式下之間不停轉(zhuǎn)換。SoftICE支持的鼠標(biāo)類型有串行口、PS/2口和USB接口。否則在SoftICE調(diào)試畫面中會出現(xiàn)鼠標(biāo)無法定位甚至死機(jī)的現(xiàn)象。SoftICE調(diào)試技術(shù):要使用SoftICE調(diào)試WDM驅(qū)動程序,首先要啟動Symbol Loader,加載特定路徑下所要調(diào)試的驅(qū)動程序nms文件,如圖4-4所示。按下Ctrl+D,可進(jìn)入SoftICE調(diào)試環(huán)境中,如圖4-5所示。
【學(xué)位授予單位】:天津大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2006
【分類號】:TP334.7;TP311.11
【引證文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前2條
1 王明霞;汽車CAN總線通信網(wǎng)絡(luò)可視化仿真和監(jiān)控系統(tǒng)設(shè)計[D];南京理工大學(xué);2009年
2 李見敏;基于CAN總線的電池管理系統(tǒng)的設(shè)計[D];天津大學(xué);2009年
本文編號:2602236
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2602236.html
最近更新
教材專著