前述兩種應用方式,綜合起來會有 燒錄ASA主電腦,間接燒錄ASA介面卡,監視ASA主電腦單筆變數,監視ASA主電腦矩陣內容,監視ASA主電腦資料結構內容,設控ASA主電腦單筆變數,設控ASA主電腦矩陣內容,設控ASA主電腦資料結構內容。共八種主要功能。若要監控介面卡內容,則由使用撰寫測試函式燒進ASA主電腦代轉來完成。本單元我們只使用其中 燒錄ASA主電腦, 監視ASA主電腦單筆變數,設控ASA主電腦單筆變數三種功能。
燒錄ASA主電腦
• 準備預備燒錄的hex檔案:以IDE製作ASA-主電腦用之燒錄檔。
• 用USB線連接ASA_M128與PC電腦
• 將ASA_M128 RUN/PROG 指撥開關撥到PROG
• 開啟ASADataAgent選擇 ProgM128 頁。
• 選擇通訊埠,並設定鮑率。
• 點選 可燒錄檔選擇檔案鍵展開列表並選擇HEX檔,按Load File。
• 點選Start開始燒錄
• 等待進度條顯示完成度到100%完成燒錄時即可執行其他工作。
監視ASA主電腦單筆變數
此項功能由ASA單板C4MLib函式Printf()配合開啟ASADataAgent HMI 單動完成。
1. 操作者:點選HMI頁。
ASADataAgent : 顯示HMI頁
ASA程式:執行前期程式碼
2. 操作者:看HMI文字對話區畫面
ASADataAgent : 顯示ASA Printf()送來字串內容。
ASA程式:執行Printf()送出字串內容。
此項功能由ASA單板C4MLib函式Scanf()配合開啟ASADataAgent HMI 完成。
1. 操作者:點選HMI頁。
ASADataAgent : 顯示HMI頁
ASA程式:執行前期程式碼
2. 操作者:參考HMI文字對話區提示畫面,並輸入回應字串。完成後按ENTER。
ASADataAgent : 顯示ASA scanf()送來提示字串以及操作者輸入直到操作者按ENTER時將操作者輸入字串送出給ASA。
ASA程式:執行Scanf()送出提示字串內容後,等ASADataAgent回應操作者輸入字串。
3. 操作者:等待。
ASADataAgent : 等待。
ASA程式:參考操作者回應輸入字串執行後續程式。
M128單板電腦
本課程所使用的ASA-M128微控制器開發板以Atmel公司的AVR Atmega128微控制器為核心,Atmega128與新近於2010年代開始竄紅的Arduino微控制器開發板使用同為AVR系列微控制器的Atmega32X,所以其組語精簡指令集碼及週邊硬體相容。但Atmega128為AVR系列微控制器中最高等級的一顆遠高於一般的Atmega32X。
(註:Atmega128有128K程式空間,Atmega32X(含Atmega328)系列的程式空間均只有32K。)
Atmel公司的AVR系列單板電腦之精簡指令集核心,原為歐洲Norwegian Institute of Technology大學 Alf-Egil Bogen 和 Vegard Wollan兩位教授所設計,並於其課程中授課,這一設計經歐洲電子計算機設計社群網站推廣開發出許多編譯器及編譯環境與應用軟體,而其微控制器的設計被Atmel公司開成實體IC。由於有社群網站上許多的開源資源,所以AVR在歐洲的市佔率很高,尤其是在電腦玩家圈中更是首選。Arduino的源起也來自同一社群,因此Arduino也標榜開源,不但是軟體,連電路板都開源。
如ASA M128單板電腦照片所示:
1. ASA通用匯流排:位於板左緣標示J1所示有20支接腳的腳座,可經由灰排接到介面卡。
2. USB通訊介面:位於板右緣micro USB接頭,打經由USB線與PC電腦連接以進行程式之燒錄與監測。
3. 40PIN GPIO介面:位於板下緣標示J3之40PIN一般用途輸出入(GPIO General Purpose Input/Output)腳座。各針腳可以接到週邊電路。
4. 重置按鍵RESET:如RESET標示的按鍵,按下後可讓程式重起頭程式碼開始執行。
5. 燒錄指撥開關:如上緣標示PROGRAM, RUN的指撥開關,撥到PROGRAM為燒錄程式,撥到RUN為執行己燒錄在內部的程式。
6. 狀態顯示LED:三個LED分別代表電源在正常時會亮,與PC通訊送收訊,當有訊號在送收時閃。