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

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


圖3 USB接口連接示意圖
    2.4.2 驅(qū)動(dòng)程序設(shè)計(jì)

驅(qū)動(dòng)開發(fā)工具有DDK和第三方開發(fā)工具。其中DDK開發(fā)難度最大,第三方開發(fā)工具有DriverStudio和Windriver等。DriverStudio難度適中,而Windriver則屬于應(yīng)用層驅(qū)動(dòng)開發(fā),難度小,但效率低,并存在發(fā)布問(wèn)題。

DDK驅(qū)動(dòng)程序開發(fā)工作包括:開發(fā)環(huán)境設(shè)置(VC編譯環(huán)境)[5]、驅(qū)動(dòng)程序設(shè)計(jì)[6]、安裝文件(INF文件)設(shè)計(jì)。

驅(qū)動(dòng)程序設(shè)計(jì)采用WDM(Windows Drive Mode)。WDM設(shè)備驅(qū)動(dòng)程序提供了一個(gè)參考框架,大大降低了由DDK書寫驅(qū)動(dòng)程序帶來(lái)的難度。

D12驅(qū)動(dòng)使用的例程包括:DriverEntry、AddDevice、DispatchPnp、DispatchRead、DispatchWrite和DispatchDeviceControl例程, 以下是D12的WDM驅(qū)動(dòng)程序函數(shù):

DriverObject->MajorFunction[IRP_MJ_CREATE] = D12_Create;

DriverObject->MajorFunction[IRP_MJ_CLOSE] = D12_Close;

DriverObject->DriverUnload = D12_Unload;

DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL;

=D12_ProcessIOCTL;

DriverObject->MajorFunction[IRP_MJ_WRITE] = D12_Write;

DriverObject->MajorFunction[IRP_MJ_READ] = D12_Read;

DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL;

DriverObject->MajorFunction[IRP_MJ_PNP]=D12_Dispatch;

DriverObject->MajorFunction[IRP_MJ_POWER]=D12_Process-PowerIrp;

DriverObject->DriverExtension->AddDevice=D12_PnPAddDevice;

驅(qū)動(dòng)程序與應(yīng)用程序和硬件之間通信都是IRP(I/O請(qǐng)求包)完成的。IRP_MJ_PNP主要是實(shí)現(xiàn)USB即插即用,例如設(shè)備的添加、刪除和資源的分配;IRP_MJ_POWER實(shí)現(xiàn)電源管理,例如設(shè)備的掛起和喚醒;IRP_MJ_CREATE(創(chuàng)建)、IRP_MJ_CLOSE(關(guān)閉)、IRP_MJ_

DEVICE_CONTROL(設(shè)備控制)、IRP_MJ_WRITE(讀)和IRP_MJ_READ?穴寫?雪是主要完成數(shù)據(jù)通信的函數(shù),實(shí)現(xiàn)管道的創(chuàng)建、關(guān)閉和數(shù)據(jù)讀寫。其中設(shè)備控制具有輸入輸出緩沖區(qū),可實(shí)現(xiàn)讀和寫功能;AddDevice和DriverUnload實(shí)現(xiàn)設(shè)備管理,在設(shè)備添加和卸載時(shí),創(chuàng)建和刪除設(shè)備,以及管理資源分配。

驅(qū)動(dòng)程序通過(guò)安裝文件(.inf文件)中PID(產(chǎn)品識(shí)別號(hào))和VID(廠商識(shí)別號(hào))識(shí)別USB設(shè)備。

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

主機(jī)應(yīng)用程序的編寫使用VC編譯環(huán)境中的API函數(shù)實(shí)現(xiàn)。

應(yīng)用程序的編程方法與串口編程類似。首先必須查找設(shè)備,打開設(shè)備的句柄;然后進(jìn)行讀寫和控制操作;最后是關(guān)閉設(shè)備句柄。為了提高效率,可使用多線程技術(shù)實(shí)現(xiàn)讀寫。

應(yīng)用程序通過(guò)GUID(注冊(cè)表驅(qū)動(dòng)唯一識(shí)別號(hào))查找驅(qū)動(dòng)程序。

2.5 調(diào) 試

首先是固件調(diào)試,可用仿真機(jī)完成,驅(qū)動(dòng)開發(fā)工具Windriver也是很好的固件調(diào)試工具,例如測(cè)試標(biāo)準(zhǔn)請(qǐng)求、廠商請(qǐng)求和管道讀寫。其次是驅(qū)動(dòng)調(diào)試,這是USB接口開發(fā)最困難的部分,調(diào)試工具可用DriverStudio中Softice工具和文獻(xiàn)[6]中DebugPrint跟蹤工具,監(jiān)視工具Bus Hound可監(jiān)視USB的實(shí)際數(shù)據(jù)傳輸情況。需要注意的是,驅(qū)動(dòng)調(diào)試必須在應(yīng)用程序正確調(diào)用的前提下。

2.6 USB傳輸速度

主機(jī)每過(guò)1ms發(fā)出一個(gè)SOF(起始幀),四種USB傳輸類型都分布在1ms的幀內(nèi)。所以為了提高傳輸速度,可加大端點(diǎn)緩沖區(qū)的大小和使用雙緩沖(有些芯片還有四緩沖),在1ms內(nèi)盡量多傳輸數(shù)據(jù);采用DMA傳輸方式,USB設(shè)備不通過(guò)微控制器直接完成數(shù)據(jù)傳輸,當(dāng)然相應(yīng)硬件和軟件開發(fā)的難度增加;如果單片機(jī)數(shù)據(jù)加載速度較慢,則可考慮使用高速指令的單片機(jī);如果速度要求在1MB/s以上,則考慮采用USB2.0接口芯片。

本文以USB接口程序在16路溫度采集系統(tǒng)中的應(yīng)用為例,介紹了USB的接口標(biāo)準(zhǔn)和程序設(shè)計(jì)。該系統(tǒng)經(jīng)過(guò)一段時(shí)間運(yùn)行,穩(wěn)定可靠,目前已廣泛應(yīng)用于航空電子設(shè)備的測(cè)溫系統(tǒng)。



  • 上一篇: 使用μC/OS-II操作系統(tǒng)的短信息電話機(jī)
  • 下一篇: 基于模型和產(chǎn)品代碼生成的汽車嵌入式系統(tǒng)設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(pí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ī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(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ì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

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