亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        USB接口在數(shù)據(jù)采集系統(tǒng)中的應用

        2011-01-25 07:52:12楊福寶
        制造業(yè)自動化 2011年13期
        關鍵詞:驅(qū)動程序中斷應用程序

        楊福寶,陳 欣

        (武漢理工大學 信息工程學院,武漢 430070)

        1 方案介紹

        目前市面上的USB設備接口芯片種類繁多,可選擇的范圍也很廣泛。CH375是一款具有USB主控和設備功能的(Host/Device)雙角色芯片。CH375的設備方式下, CH375芯片功能特點如下:

        1)產(chǎn)品制造商可以自定義廠商標識(Vendor ID)和設備標識(Device ID);

        2)通用的本地8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入、中斷輸出;

        3)它符合USB1.1版本規(guī)范,具備全速設備接口;

        4)主端點上傳下傳緩沖區(qū)各64字節(jié),輔助端點上傳下傳緩沖區(qū)各8字節(jié);

        5)支持5V電源電壓和3.3V電源電壓,CH375A芯片還支持低功耗模式。

        2 系統(tǒng)硬件設計

        2.1 USB接口設計

        CH375芯片提供了通用的被動并行接口,CH375以總線方式掛接在單片機數(shù)據(jù)總線上,與多個外圍器件共存。單片機可以與CH375進行通訊操作,當CS375(即CS#)為低電平時;D7~D0上的數(shù)據(jù)會被寫入CH375芯片中,當RD#為高電平并且CS#和WR#及A8都為低電平時;D7~D0上的數(shù)據(jù)會被作為命令碼寫入CH375芯片中,當RD#為高電平并且CS#和WR#都為低電平而A0為高電平時。

        CH375芯片的UD+和UD-引腳直接連接到USB總線上。CH375芯片內(nèi)置了電源上電復位電路,并可以產(chǎn)生復位信號。為確保上電復位次序,本系統(tǒng)設計中,單片機的復位信號是通過CH375產(chǎn)生的。

        CH375芯片正常工作時需要提供12MHz的外部時鐘信號,在XI和XO引腳之間連接一個標稱頻率為12MHz的晶體,分別為XI和XO引腳對地連接一個容量為30pF的高頻振蕩電容。CH375芯片支持5V電源電壓或者3.3V電源電壓。本系統(tǒng)使用5V工作電壓,并且V3引腳處外接容量為0.01uF的電源退耦電容。

        2.2 片選譯碼電路設計

        單片機[2]是通過片選信號/CS、讀寫信號線/WR、/RD和地址線A0的聯(lián)合控制實現(xiàn)對CH375的訪問。因為外圍總線上擴展了多個器件,需要多個譯碼邏輯實現(xiàn)總線分配,因此采用了如圖1所示的譯碼電路連接。

        此處選用的GAL是可編程陣列邏輯,主要用于通過地址譯碼給各個芯片產(chǎn)生片選信號。GAL器件在電路結(jié)構(gòu)上采用了可編程輸出邏輯宏單元,可由用戶定義每個輸出管腳的邏輯組合方式。因此,一片GAL可通過不同的編程從而實現(xiàn)多種標準邏輯芯片組合才能實現(xiàn)的功能,不僅簡化了電路設計過程,減小體積并降低成本,而且可靠性也得到了極大的改善。同時GAL器件采用電可擦除的CMOS工藝,可以用電壓信號擦除并可重復編程。

        圖1 GAL16V8譯碼電路

        2.3 A/D接口設計

        A/D轉(zhuǎn)換部分采用的器件是TLC2543,電路設計如圖2所示。TLC2543是德州儀器公司生產(chǎn)的12位開關電容型逐次逼近模數(shù)轉(zhuǎn)換器,采用簡單的3線SPI串行接口可方便地與控制器進行連接,是12位數(shù)據(jù)采集系統(tǒng)的最佳選擇器件之一。

        圖2 A/D轉(zhuǎn)換電路

        3 系統(tǒng)軟件設計

        在USB系統(tǒng)中,其軟件包括以下幾個部分:主機應用程序、設備驅(qū)動程序和設備固件程序。根據(jù)USB協(xié)議,在一個USB系統(tǒng)中,任何一次通訊都是由USB主機發(fā)起的,USB設備根據(jù)主機發(fā)來的命令給予響應,執(zhí)行相應的操作。

        3.1 設備驅(qū)動程序設計

        Windows提供了一些標準設備如:大容量存儲設備、人機接口設備等的驅(qū)動程序,但對于用戶自行開發(fā)的非標準類的應用設備,還需要自行編寫、加載驅(qū)動程序。驅(qū)動程序是保證應用程序正確訪問設備的軟件組件,使得應用程序無須知道物理連接、信號和與設備通訊所需協(xié)議等細節(jié),僅需通過外設名字訪問外設或目的端口。

        驅(qū)動程序通過在應用層和硬件專用代碼之間的轉(zhuǎn)化來完成它的任務。編寫驅(qū)動程序,必須遵循微軟在WIN98及其更新版本中為用戶定義的WIN32驅(qū)動模式。這些驅(qū)動程序就是WDM(Win 32Driver Model——設備驅(qū)動程序模型),它的擴展名為.sys。USB驅(qū)動程序的編寫與硬件相關,屬于核心模式。另外, Windriver是一款專業(yè)的設備驅(qū)動程序開發(fā)工具,相比DDK開發(fā)要簡單些,利用它開發(fā)設備驅(qū)動程序,開發(fā)者不需要深入了解操作系統(tǒng)內(nèi)核。WinDriver for USB也已發(fā)布,WinDriver USB使程序員可以開發(fā)基于USB接口的高性能設備驅(qū)動程序。

        3.1.1 使用Windows DDK開發(fā)驅(qū)動程序

        Windows DDK(Device Driver Developer's Kit)是微軟公司提供的一個開發(fā)Windows驅(qū)動程序的工具。使用DDK開發(fā)驅(qū)動是一個比較傳統(tǒng)的方法,其過程如下:

        1)根據(jù)要變異的驅(qū)動程序類型,選擇編譯環(huán)境。注意,這里的環(huán)境和運行的操作系統(tǒng)沒有關系,例如,在Windows XP環(huán)境下,可以編譯Windows2000環(huán)境下的驅(qū)動程序。

        2)DDK提供編譯驅(qū)動程序的環(huán)境,在該環(huán)境下進入與編譯的驅(qū)動程序所在的目錄,輸入build即可開始編譯。

        3)build將會在這個目錄中尋找一個叫sources的文件,這個文件告訴編譯程序,應該怎么做。

        3.1.2 即插即用(PNP)處理例程的編寫(IRP_MJ_PNP)

        驅(qū)動程序初始化完成后,接著必須對設備進行初始化。PnP管理器調(diào)用驅(qū)動程序中AddDevice例程來初始化該驅(qū)動程序控制的每個設備。當一個驅(qū)動程序從PnP管理其中收到IRP_MN_START_DEVICE請求時,驅(qū)動程序使設備啟動并且準備好處理IO操作。

        對設備進行停止或者卸載時,需要等待其余IRP都操作完畢。為了在驅(qū)動程序中知道這一點,可以采用一個類似于信號量的計數(shù)器,在一個IRP開始的時候使此計數(shù)器增加1,結(jié)束時使其減少1。

        3.2 動態(tài)鏈接庫

        在本系統(tǒng)應用中,CH375的制造商提供了設備方式下的標準驅(qū)動CH375WDM.INF和動態(tài)鏈接庫:CH375DLL.DLL,通過加載驅(qū)動信息可以在應用程序中直接調(diào)用動態(tài)鏈接庫。CH375在計算機端提供了應用層接口,應用層接口是由CH375動態(tài)鏈接庫DLL提供的面向功能應用的API,所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應答數(shù)據(jù)。CH375動態(tài)鏈接庫提供的API包括:設備管理API、數(shù)據(jù)傳輸API、中斷處理API。(相關API參數(shù)的未列出。)

        3.2.1 設備管理API

        打開設備:CH375OpenDevice

        關閉設備:CH375CloseDevice

        獲得驅(qū)動程序版本號:CH375GetDrvVersion

        獲取USB設備描述符:CH375GetDeviceDescr

        獲取USB配置描述符:CH375GetConfigDescr

        復位USB設備:CH375ResetDevice

        設置USB數(shù)據(jù)讀寫的超時:CH375SetTimeout

        設置獨占使用當前C H 3 7 5設備:CH375SetExclusive

        3.2.2 數(shù)據(jù)傳輸API

        讀取數(shù)據(jù)塊(數(shù)據(jù)上傳):CH375ReadData寫出數(shù)據(jù)塊(數(shù)據(jù)下傳):CH375WriteData放棄數(shù)據(jù)塊讀操作:CH375AbortRead放棄數(shù)據(jù)塊寫操作:CH375AbortWrite

        寫出輔助數(shù)據(jù)(輔助數(shù)據(jù)下傳):CH375WriteAuxData24

        3.2.3 中斷處理API

        讀取中斷數(shù)據(jù):CH375ReadInter

        放棄中斷數(shù)據(jù)讀操作:CH375AbortInter

        設定中斷服務程序:CH375SetIntRoutine

        本設計采用VB6.0作為計算機端應用軟件的開發(fā)平臺,首先需要將CH375的動態(tài)鏈接庫、驅(qū)動程序復制到計算機中。在設備初次連入計算機USB口時,系統(tǒng)會自動提示設備連入,要求加載驅(qū)動。將路徑指向驅(qū)動所在目錄即可完成加載。在VB開發(fā)中,需要將動態(tài)鏈接庫的訪問入口添加至VB6.0的項目中。動態(tài)鏈接庫的使用,簡化了USB設備開發(fā)的步驟,降低了開發(fā)難度,為系統(tǒng)調(diào)試節(jié)省了時間。

        3.3 客戶應用程序與設備間通訊

        通過動態(tài)鏈接庫的數(shù)據(jù)傳輸函數(shù),CH375在計算機應用層與本地端單片機之間提供了端對端的連接。客戶應用程序與設備固件間的通訊采用請求加應答方式。此通訊方式具有較好的交互性和可控性。

        請求加應答方式使用一個下傳的主動請求和一個上傳的被動應答進行交互式的雙向數(shù)據(jù)通訊,下傳與上傳一一對應,相互關聯(lián)。所有的通訊都由客戶應用程序發(fā)起,然后以接收到單片機的應答結(jié)束。

        3.4 固件程序設計

        單片機端程序設計包括I2C器件數(shù)據(jù)讀寫、LCD信息顯示、按鍵掃描相應、A/D數(shù)據(jù)采集及USB接口處理等部分。CH375與單片機之間設計成完全的中斷驅(qū)動:當單片機處理前臺任務時,USB的傳輸可在后臺進行,這樣不僅確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),也簡化了編程和調(diào)試。后臺ISR(中斷服務程序)和前臺主程序循環(huán)之間的數(shù)據(jù)交換可以通過事件標志和數(shù)據(jù)緩沖區(qū)來完成。

        3.4.1 USB接口處理程序

        CH375芯片專門用于處理USB通訊,在從主機接收到數(shù)據(jù)后或者向主機發(fā)送完數(shù)據(jù)后,CH375以中斷方式通知單片機進行處理。

        3.4.2 數(shù)據(jù)采集程序

        對于A/D數(shù)據(jù)采集的程序處理,根據(jù)模擬量的不同特點和采用需求,可以采用不同的方式。對采樣周期要求嚴格的數(shù)據(jù)采樣,可以將事件處理放到定時器中斷里進行。

        4 結(jié)論

        與基于串口和基于板卡的數(shù)據(jù)采集系統(tǒng)相比,基于CH375的USB數(shù)據(jù)采集系統(tǒng)具有即插即用、數(shù)據(jù)傳輸速度快、易使用以及低成本的特點。該系統(tǒng)還可以與RS485總線結(jié)合起來,實現(xiàn)遠程多點數(shù)據(jù)的采集。

        [1]周振宇,谷海穎.基于USB總線的實時數(shù)據(jù)采集系統(tǒng)的設計[J].電子技術應用,2002.

        [2]周立功.增強型80C51單片機速成與實踐[M].北京:北京航空航天大學出版社,2003.

        猜你喜歡
        驅(qū)動程序中斷應用程序
        刪除Win10中自帶的應用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        AT89C51與中斷有關的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應分析
        微處理機(2012年4期)2012-06-13 11:32:24
        關閉應用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設應用程序下載商店
        微軟軟件商店開始接受應用程序
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        亚洲免费观看一区二区三区| 成人国成人国产suv| 亚洲午夜久久久久久久久电影网| 又大又长粗又爽又黄少妇视频| 人人妻人人澡人人爽超污| 中文字幕被公侵犯的漂亮人妻| 欧美金发尤物大战黑人| 比比资源先锋影音网| 一级片麻豆| 国产成人精品一区二区日出白浆 | 国产白嫩美女在线观看| 亚洲一区视频在线| 青青草视频在线你懂的| 亚洲熟女熟妇另类中文| 国产人妻熟女高跟丝袜| 久久综合亚洲色一区二区三区| 中文字幕人妻无码一夲道| 亚洲xxxx做受欧美| 国产成人久久精品77777综合| 日本黄色一区二区三区视频| 96中文字幕一区二区| 精品久久av一区二区| 波多野结衣的av一区二区三区| 亚洲国产另类精品| 中字无码av电影在线观看网站| 国产日韩欧美视频成人| 蜜桃精品国产一区二区三区| 在线天堂av一区二区| 蜜臀av在线播放一区二区三区| 亚洲日韩一区精品射精| 国产色诱视频在线观看| 午夜视频网址| 国产黄片一区二区三区| 末成年人av一区二区| 亚洲人成77777在线播放网站| 99精品国产99久久久久久97| 欧美精品中文字幕亚洲专区| 国产杨幂AV在线播放| 亚洲综合久久精品少妇av| 国产精品久久久久久久久久红粉| 和黑人邻居中文字幕在线|