app-ess16-2 使用說明書 - microchip taiwan - 您設計產品 … board/app-ess16-2/app... ·...
TRANSCRIPT
APP-ESS16-2 使用說明書
APP-ESS16-2 為 Microchip Taiwan Office 為 2016 年秋季研討會
以及 2016 MASTERS 所設計之實驗版。主要的目的是要提供一個
便捷的平台,讓 Microchip 的 MCU 使用者,能夠對最新的 MCU
系列作出開發前的評估,甚至直接使用 APP-ESS16-2 就能夠直接
做 PCB 設計前的所有程式及功能的驗證。APP-ESS16-2 上面的
Target CPU 為 PIC32MM0064 以及 ATmega328PB。
PIC32MM0064
實驗區
ATmega328PB
實驗區
1. PIC32MM0064 實驗區塊說明
1-1 PIC32MM0064 實驗區的主要部分
PIC32MM0064GPL036 CPU – 40 Pin QFN
5V 轉 3.3 V 電路 – U4 (MCP1727-3302-E/SN)
Micro USB connector – CON1(USB1) 提供 PIC32MM 實驗區的 5V 電源
PIC32MM 實驗區的 5V 電源也可以使用 CON2 (USB2) 來供應
1 個 RESET 按鍵(SW3) 以及一個連接 PICkit 3 的 6-Pin 介面 (J3)
2 個按鍵開關 – SW1 & SW2
4 個 LED – LED1 ~ LED4
1 個 VR – VR1,用來做 ADC 的實驗
1 個 類比輸出的溫度感測器 (MCP9700A) 用來做 ADC 的實驗
1 個 2*16 的文字型 LCD
1 個與 mikrioBUS 相容的 socket – MICRO1 ,讓使用者可以插接各式
的 clicker board.
40-Pin 的接腳都已經用 2.54mm 排針接出,方便信號測量 – P1 ~ P4
1-2-1 : PIC32MM 實驗區線路 ( CPU )
1-2-2 : PIC32MM 實驗區線路 ( Power & Peripherals )
1-2-3 : PIC32MM 實驗區線路 ( Interface & Connectors)
1-3 : PIC32MM0064 程式開發
PIC32MM0064 為 Microchip 最新、性價比極高的 32-Bit MCU。程式的
開發與其他 Microchip MCU 一樣都透過 MPLAB X IDE 做為開發平台,
使用者所需的軟/硬體設備如下 :
MPLAB X IDE
MPLAB XC32
MPLAB Code Configurator (MCC) – Optional
MPLAB PICkit 3 or MPLAB ICD 3
MCC 則是 Microchip 為了簡化及統一 MCU 程式開發時對周邊的設
定與操作的工作。使用 MCC 可以利用圖形化的方式簡易地完成對周邊
的設定,並且產生被選用周邊的操作涵式以及巨集。
Microchip Taiwan CAE 團隊,使用 APP-ESS16-2 搭配上述的軟硬體,完
成了 “MCC 與 PIC32MM 實作指導手冊"。使用 APP-ESS16-2 的使用
者可於 Microchip 台灣網站 www.microchip.com/Data_CD 頁面中的
“32-Bit MCU 相關課程” 區塊下載到此一手冊。
1-3 : PIC32MM0064 UART 介面使用上的注意事項
PIC32MM0064 的 UART 可以使用 APP-ESS16-2 上面的兩個 connector
來展現其功能。
J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置,即可透
過 mEDBG 所支援的 Virtual COM port 將 UART 的資料傳至 PC 或由
PC 接收資料 (CON2 必須接上 PC 並安裝驅動程式成功)
安裝 Studio 7 即可連同驅動程式一起安裝
MIKRO1 connector : 透過 MIKRO1 connector,可以外接與 Mikro Bus
相容的各種 clicker board。如果該 clicker board 有用 UART,則可以使
用 PIC32MM 的 UART 來加以控制。
因為硬體連接的關係,PIC32MM0064 的 UART 接腳在使用不同
connector 表現功能時需要做不同的調整
PIC32MM0064 因為有 PPS ( Peripheral Pin Select) 所以可以很輕
易地以 MCC 做不同的調整
使用 J8 連接 Virtual COM port 時,Pin-36(RA0) 為 RXD,
Pin-37(RA1) 為 TXD
使用 MIKRO1 連接 clicker board 時,Pin-36(RA0) 為 TXD,
Pin-37(RA1) 為 RXD
2. Atmega328PB 實驗區塊說明
2-1 ATmega328PB 實驗區的主要部分
ATmega32U4 – 作為內建的 mEDBG,包含以下功能
一個 USB HID 的 programmerdebugger
一個支援最高速率達到 38400 bps 的 Virtual COM port
ATmega32U4 燒錄用的 JTAG Port (JTAG1)
ATmega328PB MCU – 32-Pin TQFP AVR MCU
ATmega328PB MCU 外接燒錄器用之 ISP 介面 (ISP1)
Micro USB connector – CON2(USB2) 提供 ATmega328PB 實驗區的 5V
CON2 的 5V 電源透過 D1 也可以是 PIC32MM 實驗區的 5V
來源
1 個電源指示 LED (LED6)
1 個 mEDBG 狀態 LED (LED7)
1 個 Target MCU Power 狀態 LED (LED8)
2 個按鍵開關 – SW4 & SW5
5 個 LED – LED10 ~ LED14
1 個 VR – VR1,用來做 ADC 的實驗
1 個 I2C 介面的溫度 sensor (U6-MCP9800A5)
Virtual COM Port 的來源選擇 ( J8,用來選將AVR or PIC32MM 的 UART
資料使用 Virtual COM port 上傳。
Arduino 相容介面 (J100, J101,J102,J103)
2-2-1 : Atmega328PB 實驗區線路 ( mEDBG )
2-2-2 : Atmega328PB 實驗區線路 ( ATmega328PB CPU )
2-3 : ATmega328PB 程式開發
安裝 Microchip Atmel 的 ATUDIO 7 開發環境,您就可以擁有
ATmega328PB 的開發環境與所需的 GCC Compiler
APP-ESS16-2 的線路基本上相容於 ATmega328PB Xplained Mini 實驗版,
所以如果 APP-ESS16-2 接上 PC, STUDIO 7 可以直接辨識到一片
ATmega328PB Xplained Mini 的存在。在專屬的工具頁中,您也可以連結
到各個與產品相關的網頁。
此時,在使用者的裝置管理員中可以看到一個 mEDBG Virtual COM
您可以使用 APP-ESS16-2 上的 mEDBG,在 STUDIO 7 中對
ATmega328PB 進行程式燒錄或除錯,以下就以一個簡短的 LED 控制程
式來作為例子。
2-3-1 : 選擇功能 File -> New -> Example Project 來開啟專案範例
2-3-2 : 選對 Device Family, Category 然後由列表中找到一個名為 megaAVR
led example-ATmega328PB Xplained MINI 的 application. 接下來選擇要
存放的目的地以及專案名稱
2-3-3 : mega_led_example.c 為此範例的主程式。此範例為讀取按鍵然後
依照按鍵狀態來驅動 LED 。在 APP-ESS16-2 中,對應的按鍵為 SW4 而
LED 為 LED10. 以滑鼠點擊功能表上方的綠色箭頭處
(Start Debugging(F5)),即可開始程式的 debug.
2-3-3 : 第一次使用 mEDBG 來對 ATmega328PB 進行 debug, 因為 ˇ
328PB 的 DWEN 位元 尚未 Enable, 所以 STUDIO 7 會提示並要求做
enable 的動作。請按 YES 來進行
2-3-3 : 執行結果如下圖所示,如果按下 SW4,則 LED10 ON,反之若放開
SW4,則 LED10 OFF。 另外可以看到在 debug mode 時,LED7 = ON 來
反映 mEDBG 的狀態,LED8 = ON 來反映 mEDBG 已將電源供應至
ATmega328PB。
2-4 : 解除 debugWIRE 的功能 **
mEDBG 可以使用 ISP 來對 ATmega328PB 做完整的程式燒錄,但是如
果 DWEN 位元還被設定時,是無法用 ISP 來燒錄的。所以若想要用
mEDBG 經由 ISP 來燒錄 ATmega328P 則必須在 debugging 時,使用
功能 Debug -> Disable debugWIRE and Close 來取消 DWEN 的設定。
2-5 : 未解除 Atmega328PB debugWIRE (WDEN=Enable) 功能時又企圖以 ISP
燒錄可能遇到的錯誤狀況。
3. 使用 mEDBG 來作為 ATmega328PB 的 ISP 燒錄器
使用 mEDBG,可以燒錄程式至 Atmega328PB 或是對它進行 Configuration
bits (Fuses) 的修改。要進行此一功能,請使用功能表中的 Tools -> Device
Programming
3-1 : mEDBG 作為 ISP programming 的選擇方式以及 ATmega328PB 的預設
組態 (Fuses 設定 )
若 APP-ESS16-2 接上 PC,在 STUDIO 7 可以看到 mEDBG 這個工具
檢查 Device 是否為 ATmega328PB
Interface 項目選擇 ISP
按下 Apply 按鍵來連上 mEDBG
按下 Read 按鍵來確定有讀到 Device Signature (每一個 MCU 都不
同)
選擇 Fuses 就可以看到 ATmega328PB 的組態設定了
SPIEN & BOOTRST 要設定為 “Enabled”
SUT_CKSEL 選擇使用外部 CLOCK ( ATmega32U4 會提供 16Mhz
的外部時脈 )
3-2 : 以 mEDBG 來燒錄外部程式至 ATmega328PB
點選左邊選單中的 “Memories”,可以進入 Memory 燒錄的頁面,然後
下載 Program 以及 EEPROM 的 image file 來做為燒錄的資料。
4. 使用 Arduino 來對 ATMega328PB 做程式開發
Arduino 對 Microchip Atmel 的 MCU 有非常好的支援,尤其 AVR 系列。
APP-ESS16-2 相容於 ATmega328PB Xplained Mini,所以自然也能夠被 Arduino
支援。但是在得到 Arduino 支援之前,必須將 Optiboot bootloader 的 image
透過 STUDIO 7 燒錄至 ATmega328PB
4-1 Optiboot bootloader 的燒錄方式 (APP-ESS16-2 出廠時已經包含)
參考以下網址的說明,燒錄 bootloader 至 ATmega328PB
https://github.com/AtmelUniversityFrance/atmel-avr-xmini-boardmanagerm
odule/wiki/01.-Preparing-atmega*-Xplained-mini-for-Arduino-IDE-use-(MS-W
indows)
內容如下 :
4-2 : Optiboot bootloader 的燒錄
Optiboot bootloader 的路徑很深,使用者要小心地選擇,檔名必須是
optiboot_xplained328pb.hex
燒錄若成功,您將可以看到 LED10 重複進行快閃兩下,然後停約 2 秒
鐘的動作。
** 因為 Arduino 使用 COM Port 來與 ATmega328PB 溝通,所以要借助
mEDBG 支援的 Virtual COM port,所以要確定 APP-ESS16-2 的 J8 (UART_SEL)
被設定在 AVR
4-3 執行 Arduino 軟體
執行程式,並且選擇 Atmel atmega328pb Xplained mini 為要開發的板子
然後將序列 port 選擇為 Atmel mega328pb Xplained mini 所支援的
COM port (在此例中為 COM18)
4-3-1 執行 Arduino 軟體 (選擇範例)
選擇範例中的 01.Basic -> Blink 做為測試 Arduino 功能的第一個程式
此程式只使用到 13 號 digital I/O 來點亮 LED
13 號 Digital I/O 在 APP-ESS16-2 上接到的是 LED10
4-3-1 執行 Arduino 軟體 (載入程式並執行)
選擇功能表中的上傳功能,Arduino 會對 Sketch 中的程式做 Compile
以及上傳的作業。若程式無誤,則會自動執行。這個範例的功能是讓 13
號 I/O 作時間各為一秒的 HIGH/LOW 動作。