基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)
2系統(tǒng)軟件設計與實現(xiàn)
系統(tǒng)軟件包括USB設備固件編程、驅(qū)動程序和應用程序。其中設備固件是整個系統(tǒng)的核心,它控制芯片D12采集數(shù)據(jù)、接收并處理USB驅(qū)動程序的請求和應用程序的控制指令。
2.1 USB設備固件程序設計與實現(xiàn)
設備固件是設備運行的核心,用C語言設計。其主要功能是控制A/D模塊的數(shù)據(jù)采集;接收并處理驅(qū)動程序的請求,如請求描述符、請求或設置設備狀態(tài)、請求設備設置、請求或設置設備接口等USBl.1標準請求;控制芯片D12接收應用程序的控制指令等。其程序主框圖如圖4所示。單片機檢測到D12后進入主循環(huán)。此時PC機先發(fā)令牌包給D12,D12接收到令牌包后給單片機發(fā)中斷,單片機據(jù)中斷類型設定標志位Status,最后執(zhí)行相應標志位的中斷服務程序。單片機通過A/D模塊的中斷入口控制A/D模塊的數(shù)據(jù)采集。
2.2驅(qū)動程序設計與實現(xiàn)
USB系統(tǒng)驅(qū)動程序采用分層結(jié)構(gòu)模型:較高級的USB設備驅(qū)動程序和較低級的USB函數(shù)層。其中USB函數(shù)層由通用串行總線驅(qū)動程序模塊(USBD)和主控制器驅(qū)動程序模塊(HCD)組成。
評論