基于USB總線和Aduc831單片機的數據采集系統的設計
當USB控制器從USB總線檢測到主機啟動的某一傳輸請求后,通過中斷方式將此請求通知Aduc831系統,Aduc831系統通過訪問USB控制器的狀態寄存器和數據寄存器獲得與此次傳輸有關的各種參數,并根據具體的傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作,以完成主機的傳輸請求。Aduc831與USBN9603接口電路如圖2所示。
系統軟件主要包括:控制程序和USB設備驅動程序。
3.1 控制程序
控制程序就是指在Aduc831中運行的程序,對USB控制器的操作是嚴格按照USB協議1.1進行的。在實際開發中使用了控制傳輸和塊傳輸兩種傳輸方式。控制傳輸主要用來完成主機 對設備的各種控制操作,也就是用來實現位于主機上的USB總線驅動程序 (USBD.SYS)以及編寫的功能驅動程序對設備的各種控制操作。塊傳輸主要用來完成主機和設備間的大批量數據傳輸以及對傳輸數據進行錯誤檢測(若發生錯誤,它支持“重傳”功能)。
控制程序主要功能有控制A/D采樣, 控制USBN9603接受并處理USB驅動程序的請求及應用程序的控制指令。因為Aduc831帶有串口下載功能,所以可以很方便的通過串口將程序下載到Aduc831中,不用仿真機,不用傳統的方法向EEPROM中燒制程序,所以調試起來非常方便。控制程序流程、中斷處理程序如圖3、4所示。
評論