基于CH372芯片的USB通信系統(tǒng)軟硬件設計
3 軟件設計
CH372在計算機應用層與本地端單片機之間提供了端對端的連接,在這個基礎上,USB接口可以選用單向數(shù)據(jù)流和請求加應答兩種通訊方式。采用請求加應答的方式實現(xiàn)通信,都是由計算機主動請求,單片機被動應答完成數(shù)據(jù)傳輸。在程序編制過程中約定3種數(shù)據(jù)傳輸模式,通過計算機傳輸數(shù)據(jù)進行確定,分別是:
1)計算機下傳數(shù)據(jù)01H,單片機上傳存放數(shù)據(jù)的文件的參數(shù);
2)計算機下傳數(shù)據(jù)02H及8字節(jié)參數(shù),8字節(jié)參數(shù)包括存放數(shù)據(jù)的地址、數(shù)據(jù)的數(shù)量,單片機通過調(diào)用相關子程序分析參數(shù),并將相應的數(shù)據(jù)上傳;
3)計算機下傳數(shù)據(jù)03H,單片機執(zhí)行關閉CH372的操作命令。
3.1 單片機端程序
在單片機端采用匯編語言編寫程序,在程序設計過程中,考慮到系統(tǒng)的可靠性、穩(wěn)定性以及調(diào)試過程直觀性的需要,故采用匯編語言編寫程序,程序流程如圖2所示。
3.2 計算機端程序
CH372在計算機端提供了應用層接口,應用層接口是由CH372動態(tài)鏈接庫DLL提供的面向功能應用的API,所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應答數(shù)據(jù)。CH372動態(tài)鏈接庫提供的API包括:設備管理API、數(shù)據(jù)傳輸API、中斷處理API。
在計算機端采用Visual Basic(VB)編寫程序,利用VisualBasic的該特性,調(diào)用CH372動態(tài)鏈接庫DLL提供的面向功能的應用API函數(shù)編寫計算機端的應用程序,其工作流程如圖3所示。
評論