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