日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
帶USB接口的電子巡更系統(tǒng)的設(shè)計(jì)
帶USB接口的電子巡更系統(tǒng)的設(shè)計(jì)
 更新時(shí)間:2008-8-4 4:36:21  點(diǎn)擊數(shù):21
【字體: 字體顏色

本程序設(shè)計(jì)時(shí),使用PDIUSBD12的端點(diǎn)1和端點(diǎn)2進(jìn)行上位計(jì)算機(jī)與巡更機(jī)MCU之間的命令和數(shù)據(jù)的傳輸。端點(diǎn)1和端點(diǎn)2設(shè)置成模式0,其中端點(diǎn)1進(jìn)行命令的傳輸和應(yīng)答,端點(diǎn)2用于數(shù)據(jù)的傳輸。端點(diǎn)1接收上位計(jì)算機(jī)發(fā)送過來的8字節(jié)的讀指令,指令正確回應(yīng)后,使用端點(diǎn)2返回讀成功數(shù)據(jù)。通信中所使用的端點(diǎn)情況如圖4所示(括號內(nèi)為使用的端點(diǎn)號)。

PDIUSBD12收到上位計(jì)算機(jī)的數(shù)據(jù)包時(shí),就以中斷的方式通知巡更機(jī)的MCU。固件程序工作過程如下:當(dāng)PDIUSBD12從USB收到一個(gè)數(shù)據(jù)包時(shí),PDIUSBD12就會(huì)對MCU產(chǎn)生中斷請求,MCU立即響應(yīng)中斷。巡更機(jī)固件程序?qū)?shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到數(shù)據(jù)緩沖區(qū),并清零PDIUSBD12的內(nèi)部緩沖區(qū),以使之能接收新的數(shù)據(jù)包。在斷處理程序中,MCU判斷產(chǎn)生的中斷類型,并進(jìn)行相應(yīng)的處理。其中斷程序流程如圖5所示。

2.2 巡更機(jī)驅(qū)動(dòng)程序

Windows98和Windows2000已經(jīng)為一些USB標(biāo)準(zhǔn)設(shè)備提供了驅(qū)動(dòng)程序,巡更機(jī)目前還不是標(biāo)準(zhǔn)的計(jì)算機(jī)外設(shè),所以必須針對巡更機(jī)的特點(diǎn)來編寫驅(qū)動(dòng)程序。本設(shè)計(jì)中巡更機(jī)驅(qū)動(dòng)程序是通過Windows DDK來開發(fā)的,它是Microsoft公司提供的一個(gè)開發(fā)Windows驅(qū)動(dòng)程序的工具,DDK提供了編譯驅(qū)動(dòng)程序的環(huán)境。該巡更機(jī)的驅(qū)動(dòng)程序是WDM類型的,采用VC++編程。

驅(qū)動(dòng)程序中對USB進(jìn)行操作的請求都應(yīng)調(diào)用系統(tǒng)例程,將其轉(zhuǎn)化為一個(gè)URB結(jié)構(gòu),即USB請求塊(USB Request Block),然后使用系統(tǒng)級的IRP將其提交。該驅(qū)動(dòng)程序由四個(gè)模塊組成:初始化模塊、即插即用管理模塊、電源管理模塊和I/O控制模塊。

①初始化模塊。DriverEntry為驅(qū)動(dòng)程序的入口處,通過它來執(zhí)行大量的初始化函數(shù)。

②即插即用管理模塊實(shí)現(xiàn)設(shè)備的熱插拔和動(dòng)態(tài)配置。驅(qū)動(dòng)程序初始化完成后,接著對設(shè)備進(jìn)行初始化,這主要是通過即插即用(PnP)管理器調(diào)用驅(qū)動(dòng)程序中的AddDevice和IRP_MJ_PNP兩個(gè)例程來完成的。當(dāng)驅(qū)動(dòng)程序從PnP管理器中收到IRP_MN_START_DEVICE請求時(shí),驅(qū)動(dòng)程序啟動(dòng)設(shè)備,并且準(zhǔn)備好處理I/O操作。

③電源管理模塊負(fù)責(zé)設(shè)備的喚醒和掛起。電源管理器(powermanager)從整個(gè)系統(tǒng)的角度來管理電源,所有與電源相關(guān)的IRP都是由它發(fā)出的,它發(fā)出的請求包可以指定一種新的電源狀態(tài)以及查詢或更改一種狀態(tài)。支持電源管理的驅(qū)動(dòng)程序,在最大程序地幫助Windows合理地利用資源方面起著重要作用。值得注意的是,與電源相關(guān)的IRP必須在同步操作上有非常嚴(yán)格的要求。例如,任何時(shí)候在一個(gè)PDO(物理設(shè)備對象)中。只能有一個(gè)IRP_MN_QUERY_POWER或者IRP_MN_SET_POWER;電源IRP的處理要盡可能地快等。

④I/O控制模塊完成輸入輸出請求的大部分功能。設(shè)備的控制由設(shè)備控制例程(IRP_MJ_DEVICE_CONTROL)負(fù)責(zé),主要是對設(shè)備進(jìn)行一些操作命令的發(fā)送或者標(biāo)志的讀取。數(shù)據(jù)讀寫主要由IRP_MJ_READ和IRP_MJ_WRITE兩個(gè)例程完成,只需在AddDevice中申請一個(gè)符號鏈接,并且在StartDevice中將此符號鏈接激活即可。

    2.3 應(yīng)用程序設(shè)計(jì)

在Win32系統(tǒng)中,每一個(gè)設(shè)備對象都抽象為文件,此時(shí)的應(yīng)用程序只需通過幾條簡單的文件操作API函數(shù),就可以實(shí)現(xiàn)與驅(qū)動(dòng)程序中某個(gè)設(shè)備的通信。在本設(shè)計(jì)中,應(yīng)用程序是該電子巡更系統(tǒng)的中心,采用Visual C++編程。其主要功能有:啟動(dòng)或關(guān)閉USB設(shè)備、檢查USB設(shè)備、設(shè)置巡更參數(shù)、從巡更機(jī)中讀取數(shù)據(jù)以及顯示、比較、存儲(chǔ)數(shù)據(jù)等。

結(jié)語

USB接口因其具有諸多優(yōu)點(diǎn),近年來為計(jì)算機(jī)外設(shè)的開發(fā)熱點(diǎn),尤其是USB2.0標(biāo)準(zhǔn)的推出,其傳輸速率可達(dá)480Mb/s,使其真正意義上成為了一種通用串行總線。而根據(jù)筆者的實(shí)際開發(fā)經(jīng)驗(yàn),Philips公司的PDIUSBD12是一種性能優(yōu)良、經(jīng)濟(jì)、實(shí)用、高效的USB接口器件,很適合投資少、周期短的開發(fā)項(xiàng)目,而且可以根據(jù)自己的實(shí)際情況靈活地選擇組件,相信其在各領(lǐng)域必有廣闊的應(yīng)用前景。



  • 上一篇: 基于USB和多線程的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)
  • 下一篇: 通過SPI接口協(xié)議實(shí)現(xiàn)DSP與其它設(shè)備的通信
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1