新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于USB總線的實時數據采集系統設計

        基于USB總線的實時數據采集系統設計

        作者: 時間:2013-02-05 來源:網絡 收藏

        2 系統軟件設計

        系統軟件包括USB設備驅動程序、設備固件、應用程序。

        2.1 USB設備驅動程序開發

        即插即用管理模塊實現USB設備的熱插拔及動態配置。當硬件檢測到USB設備接入時,Winodws98查找響應的驅動程序,并調用它的DriverEntry例程,PnP管理器調用驅動程序的AddDevice例程,告訴它添加了一個設備;然后,驅動程序為USB設備建立一個FDO(功能設備對象),在此處理過程中,驅動程序收到一個IRP_MN_START_DEVICE的IRP,包括設備分配的資源信息。至此,設備被正確配置,驅動程序開始與硬件進行對話。當然,在設備運行過程中,如果設備的狀態發生變化(拔除、暫停等),PnP管理器也同樣發出相應的IRP,由驅動程序進行相應的處理。

        電源管理模塊負責設備的掛起與喚醒。

        I/O功能實現模塊完成I/O請求的大部工作。當應用程序提出I/O請求時,它調用Win32 API函數DeviceIoControl來向設備發出命令。然后,由I/O管理器構成一個IRP并設置其MajorFunction域為IRP_MJ_DEVICE_CONTROL。USB設備驅動程序收到該IRP后,取出其中的控制碼,并利用一個開關語句來找到對應的例程入口。

        2.2 設備固件(firmware)設計

        設備固件是設備運行的核心,采用匯編語言設計。其主要功能是控制芯片USB9602接受并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等供10種USB1.1標準請求);控制芯片USB962接受應用程序的控制指令;控制A/D模塊的數據采集;通過USB9602存儲數據并實時上傳PC。其程序主框圖如圖5所示。

        在圖5中,ALT事件表示硬件檢測到USBN96902處于下列狀態:Reset、Resume、Suspend,由ALTEV寄存器匯報并產生中斷。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 慈利县| 灵武市| 库车县| 和平区| 枣庄市| 曲阳县| 广汉市| 翼城县| 宜宾市| 航空| 当阳市| 夹江县| 涿州市| 全椒县| 剑川县| 中西区| 恭城| 天气| 礼泉县| 平利县| 阿克陶县| 闽清县| 海盐县| 铁岭县| 静安区| 滦南县| 临沧市| 许昌县| 虎林市| 永平县| 岳西县| 巧家县| 常熟市| 勐海县| 准格尔旗| 建水县| 汉沽区| 芦溪县| 蓝山县| 西吉县| 本溪|