新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > USB總線在便攜式數控測井系統中的應用

        USB總線在便攜式數控測井系統中的應用

        作者: 時間:2016-12-20 來源:網絡 收藏

        4 軟件設計

        4.1 固件程序的設計

        固件程序是指被固化到AT89S52中FLASH中的程序,它是設備運行的核心,其主要功能是控制USB接口芯片接收并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等USB標準請求);控制USB接口芯片接收應用程序的控制指令;將存儲在雙口RAM中的數據通過USB控制器實時上傳至PC。

        USB控制器的工作原理是:當USB控制器從USB總線檢測到主機啟動的某一傳輸請求時,USB控制器通過中斷方式將此請求通知USB接口系統,接口系統通過訪問USB控制器的狀態寄存器獲得與此傳輸有關的各種參數,并根據具體傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作,以完成主機的傳輸請求。

        4.2 設備驅動程序的設計

        USB驅動程序是支持即插即用功能的標準WDM驅動程序,結構如圖3所示。Windows對構成一個USB總線主機的不同軟件部分進行了十分清楚的劃分,其中USB總線客戶軟件包含了用來控制不同USB總線外設的設備驅動程序,它通過Windows所定義的軟件接口與根集線器驅動程序進行通信,而USB根集線器驅動程序則要通過包含在USBD中的USBDI(通用串行總線驅動程序接口)實現與通用串行總線驅動程序(USBD)的通信。然后,USBD會選擇兩種主控制器驅動程序(HCD)之一同其下方的主控制器進行通信。最后,主控制器驅動程序會贏接實現對USB物理總線的訪問(通過PCI枚舉器軟件)。

        USB驅動程序體系結構
        圖3 USB驅動程序體系結構

        開發設備驅動程序需要專門的開發工具,目前常用的開發工具有Windows DI)K和Driver—Studio。NuMega公司開發的DriverStudio是一個強大的開發工具包,它包括VtoolsD、Driver—Works、DriverNetworks和調試工具SoftlCE等等。用DriverWorks開發基于WDM的USB設備驅動程序時,將自動生成WDM的工程文件,通常包括5個*.h和2個*.cpp文件,此外還自動生成*.inf文件,開發者只要根據自己的需要稍做修改即可。

        ·USBLOG.cpp:包括DriverEntry()、LoadRegisrtyParameters()、AddI)evice()例程,主要實現初始化設備的功能。

        ·USBLOGDevice.cpp:主要實現電源管理、系統控制、設備的移除、設備的開始等功能。

        ·USBLOG.inf:設備的安裝文件,說明設備的安裝信息。

        4.3 應用程序的設計

        應用軟件由兩部分組成:動態鏈接庫和應用程序。動態鏈接庫負責與內核態的USB功能驅

        動程序通信并接收應用程序的各種操作請求,而應用程序負責對地面系統采集、處理的各種數據進行實時繪圖顯示、分析、打印和存盤等。軟件設計可以采用Visual C++等。

        5 結束語

        將USB技術應用到便攜式數控測井系統中,可以使上、下位機之間的數據傳輸速率和誤碼率得到明顯的改善,傳輸速率能達到8Mbps以上,誤碼率能降至10-7以下。應用USB技術,可以大大降低數據的丟失率,使采集的數據得到實時顯示,同時,為便攜式數控測井系統接口的簡便化、高速化和可靠性打下堅實的基礎。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 本溪| 广灵县| 郴州市| 长沙县| 长沙市| 新建县| 吉安县| 甘肃省| 宁阳县| 娄烦县| 乡城县| 专栏| 汉川市| 吐鲁番市| 珠海市| 疏勒县| 资溪县| 林州市| 阳信县| 万安县| 广德县| 长葛市| 莱芜市| 安国市| 沙田区| 乌鲁木齐市| 镇江市| 大同市| 黄骅市| 晋中市| 黄平县| 蕲春县| 大丰市| 大城县| 雷波县| 清新县| 唐海县| 宁都县| 那坡县| 米泉市| 舟山市|