999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2011-01-25 07:52:12楊福寶
制造業(yè)自動化 2011年13期
關(guān)鍵詞:單片機設(shè)備系統(tǒng)

楊福寶,陳 欣

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

1 方案介紹

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

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

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

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

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

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

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

2.1 USB接口設(shè)計

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)置了電源上電復(fù)位電路,并可以產(chǎn)生復(fù)位信號。為確保上電復(fù)位次序,本系統(tǒng)設(shè)計中,單片機的復(fù)位信號是通過CH375產(chǎn)生的。

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

2.2 片選譯碼電路設(shè)計

單片機[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)的功能,不僅簡化了電路設(shè)計過程,減小體積并降低成本,而且可靠性也得到了極大的改善。同時GAL器件采用電可擦除的CMOS工藝,可以用電壓信號擦除并可重復(fù)編程。

圖1 GAL16V8譯碼電路

2.3 A/D接口設(shè)計

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

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

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

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

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

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

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

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

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

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

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

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

3.2 動態(tài)鏈接庫

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

3.2.1 設(shè)備管理API

打開設(shè)備:CH375OpenDevice

關(guān)閉設(shè)備:CH375CloseDevice

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

獲取USB設(shè)備描述符:CH375GetDeviceDescr

獲取USB配置描述符:CH375GetConfigDescr

復(fù)位USB設(shè)備:CH375ResetDevice

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

設(shè)置獨占使用當前C H 3 7 5設(shè)備: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

設(shè)定中斷服務(wù)程序:CH375SetIntRoutine

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

3.3 客戶應(yīng)用程序與設(shè)備間通訊

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

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

3.4 固件程序設(shè)計

單片機端程序設(shè)計包括I2C器件數(shù)據(jù)讀寫、LCD信息顯示、按鍵掃描相應(yīng)、A/D數(shù)據(jù)采集及USB接口處理等部分。CH375與單片機之間設(shè)計成完全的中斷驅(qū)動:當單片機處理前臺任務(wù)時,USB的傳輸可在后臺進行,這樣不僅確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),也簡化了編程和調(diào)試。后臺ISR(中斷服務(wù)程序)和前臺主程序循環(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)的設(shè)計[J].電子技術(shù)應(yīng)用,2002.

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

猜你喜歡
單片機設(shè)備系統(tǒng)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設(shè)備運行維護探討
主站蜘蛛池模板: 特级毛片免费视频| 啪啪免费视频一区二区| 欧美日韩中文国产va另类| 毛片最新网址| 日韩欧美国产精品| 98精品全国免费观看视频| 久久青青草原亚洲av无码| 欧美一区二区三区国产精品| 国产午夜精品一区二区三| 久久香蕉欧美精品| 国产无遮挡猛进猛出免费软件| 亚洲视频二| 国产免费自拍视频| 成人福利在线免费观看| 亚洲第一国产综合| 波多野结衣一区二区三区AV| 成年A级毛片| 永久天堂网Av| 美女被狂躁www在线观看| 99在线观看视频免费| 天堂网亚洲综合在线| 色婷婷成人网| 一本色道久久88亚洲综合| a级毛片免费网站| 国产黄色片在线看| 国产主播福利在线观看| 欧美a在线看| 免费aa毛片| 亚洲swag精品自拍一区| 日韩 欧美 小说 综合网 另类 | 精品人妻系列无码专区久久| 欧美日韩国产在线播放| 国产真实乱人视频| 国产精品毛片一区| 色九九视频| 毛片视频网址| 国产高颜值露脸在线观看| 高清亚洲欧美在线看| 国产无码在线调教| 老色鬼欧美精品| 久久久久免费看成人影片| 伊人无码视屏| 日韩精品欧美国产在线| 白浆视频在线观看| 精品久久高清| 国产对白刺激真实精品91| 日本黄色a视频| 日本成人在线不卡视频| 久久影院一区二区h| 国产精品第一区在线观看| 国产在线麻豆波多野结衣| 亚洲中文字幕无码爆乳| 免费高清自慰一区二区三区| 日本欧美视频在线观看| 国产69精品久久| 亚洲天堂成人| 强乱中文字幕在线播放不卡| 国产亚洲视频免费播放| 99这里只有精品免费视频| 国产成人福利在线视老湿机| 国产精品嫩草影院av| 丁香五月激情图片| 国产成人综合亚洲网址| a毛片基地免费大全| 香蕉视频国产精品人| 日韩黄色大片免费看| 精品国产91爱| 不卡无码网| 久综合日韩| 精品无码国产自产野外拍在线| 国模粉嫩小泬视频在线观看| 永久免费无码日韩视频| 巨熟乳波霸若妻中文观看免费| 亚洲国产成人超福利久久精品| 特级aaaaaaaaa毛片免费视频| 亚洲色欲色欲www网| 国产极品美女在线| 欧美在线观看不卡| 精品视频在线一区| 欧美一级高清片欧美国产欧美| 国产精品30p| 午夜天堂视频|