app-ess16-2 使用說明書 - microchip taiwan - 您設計產品 … board/app-ess16-2/app... ·...

24
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 以及 ATmega328PBPIC32MM0064 實驗區 ATmega328PB 實驗區

Upload: vonga

Post on 12-Jun-2018

274 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

實驗區

Page 2: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

Page 3: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

1-2-1 : PIC32MM 實驗區線路 ( CPU )

Page 4: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

1-2-2 : PIC32MM 實驗區線路 ( Power & Peripherals )

Page 5: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

1-2-3 : PIC32MM 實驗區線路 ( Interface & Connectors)

Page 6: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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 相關課程” 區塊下載到此一手冊。

Page 7: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

Page 8: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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)

Page 9: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

2-2-1 : Atmega328PB 實驗區線路 ( mEDBG )

Page 10: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

2-2-2 : Atmega328PB 實驗區線路 ( ATmega328PB CPU )

Page 11: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

Page 12: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

您可以使用 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. 接下來選擇要

存放的目的地以及專案名稱

Page 13: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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 來進行

Page 14: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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 的設定。

Page 15: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

2-5 : 未解除 Atmega328PB debugWIRE (WDEN=Enable) 功能時又企圖以 ISP

燒錄可能遇到的錯誤狀況。

Page 16: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

3. 使用 mEDBG 來作為 ATmega328PB 的 ISP 燒錄器

使用 mEDBG,可以燒錄程式至 Atmega328PB 或是對它進行 Configuration

bits (Fuses) 的修改。要進行此一功能,請使用功能表中的 Tools -> Device

Programming

Page 17: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

的外部時脈 )

Page 18: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

3-2 : 以 mEDBG 來燒錄外部程式至 ATmega328PB

點選左邊選單中的 “Memories”,可以進入 Memory 燒錄的頁面,然後

下載 Program 以及 EEPROM 的 image file 來做為燒錄的資料。

Page 19: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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)

內容如下 :

Page 20: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置
Page 21: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

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

Page 22: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

4-3 執行 Arduino 軟體

執行程式,並且選擇 Atmel atmega328pb Xplained mini 為要開發的板子

然後將序列 port 選擇為 Atmel mega328pb Xplained mini 所支援的

COM port (在此例中為 COM18)

Page 23: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

4-3-1 執行 Arduino 軟體 (選擇範例)

選擇範例中的 01.Basic -> Blink 做為測試 Arduino 功能的第一個程式

此程式只使用到 13 號 digital I/O 來點亮 LED

13 號 Digital I/O 在 APP-ESS16-2 上接到的是 LED10

Page 24: APP-ESS16-2 使用說明書 - Microchip Taiwan - 您設計產品 … Board/APP-ESS16-2/APP... · 2016-11-23 · J8 (UART_SEL) : 透過 J8 將 Jumper 位置調整至 PIC 的位置

4-3-1 執行 Arduino 軟體 (載入程式並執行)

選擇功能表中的上傳功能,Arduino 會對 Sketch 中的程式做 Compile

以及上傳的作業。若程式無誤,則會自動執行。這個範例的功能是讓 13

號 I/O 作時間各為一秒的 HIGH/LOW 動作。