【TOSHIBA MCU】M3H 開發板之 GPIO 與 UART 實作

一、 序言

東芝 M3H TXZ3系列 MCU 是基於 ARM® Cortex®-M3 的核心,具有 real time 應用所需的低功耗、高速、高代碼密度和快速中斷響應時間等特性。

 

TXZ3 應用領域:
• 馬達控制
• 工業設備
• 影音設備
• 家用電器
• 空氣調節系統 (HVAC)

 

TXZ3 系列 MCU 區分為兩個 Group,一個是最高工作時脈 40 MHz 的M3H Group(1),另外一個是最高工作時脈 80 MHz 的M3H Group(2);

這篇文件的內容主要討論 M3H Group(2),為了方便講述,以下內容,會簡稱為 M3H。

 

M3H 採用 40nm 製程製造 ARM®32 位 Cortex®-M3 CPU,特點如下

最大操作頻率                  :80 MHz

工作電壓                         :2.7 to 5.5V

RAM                               :64KB

Code Flash Memory     :256KB ~ 512KB  (由包裝及型號決定)

Data Flash Memory      :32 KB, rewritable up to 100,000 times

 

時脈

‒ External High-speed Oscillator                 :    6 MHz to 12 MHz(Ceramic, Crystal)

‒ External High-speed clock input               :    6 to 20 MHz

‒ Internal High-speed Oscillator (IHOSC1)  :    10 MHz

‒ PLL                                                                  :     80 MHz output

‒ External Low-speed Oscillator                  :    32.768kHz

 

本篇博文將先介紹 GPIO 與 UART 的實作,之後再陸續介紹其他的應用實作。

 

二、 編譯軟體

 

編譯軟體 :  M3H 支援 IAR 與 Keil IDE,本篇內容採用IAR 做為編譯環境;

 

Keil 可在以下網址下載到 Development Tools 開發工具,此外,還需下載並且安裝 TXZ3 系列的 Device Family Pack 芯片支援包

https://www.keil.com/dd2/toshiba/tmpm3hpfzfg/#!#eula-container

Keil C



IAR可在以下網址下載

https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/iar-embedded-workbench-for-arm---free-trial-version/

 

PS:IAR 的環境搭建,請參考此篇博文: TOSHIBA MCU 環境搭建與實作 GPIO 


 

三、 M3H 的 Sample Software

 
Sample Software : TMPM3Hy_v1.2.0 , 由東芝所提供

可在以下連結下載

https://toshiba.semicon-storage.com/content/dam/toshiba-ss-v2/master/en/semiconductor/product/microcontrollers/software-library/TMPM3Hy_v1.2.0.zip

 

這包軟體可用在 M3H Group(2) 的 TMPM3HQ / 3HP / 3HN / 3HL 這幾個系列 MCU 上

 

 

下載 TMPM3HQ.zip 檔並且解壓縮後,裡面有 TMPM3Hy_v1.2.0 這個資料夾,使用者可以將這個資料夾解壓到準備開發 M3H 程式碼的資料夾中(建議路徑不要使用中文或過長的檔案夾名稱)

 

 

以下是 BSP 資料夾 “TMPM3Hy_v1.2.0” 中的資料夾結構及內容



 

“/TMPM3Hy_v1.2.0/Libraries” 這個資料夾中有 CMSIS, Doc, Periph_driver 三個資料夾;

 

“/TMPM3Hy_v1.2.0/Libraries/Doc” 中的 index.html 檔案,是使用驅動程式的使用手冊。

      


以上我們統稱為 “BSP” 開發板支援套裝軟體 ( board support package,以下簡稱BSP ),因此使用者也會在 BSP 中發現多個以 “bsp” 開頭所命名的原始碼檔案,如 “bsp.c”、“bsp_led.c”、“bsp_sw.c”等。

 

使用者可以查詢或閱讀這份文件以了解進一步 M3H 驅動程式的使用方式。

 
 

四、 開發板介紹

 

AdBun-M3HQ 為 M3H 的 EVM,主要提供客戶熟悉 M3H MCU 的使用與功能驗證。

 

AdBun-M3HQ (EVB) :

♦ 適用於東芝 TMPM3HQFDFG MCU

♦ 2.54mm 間距 3 pin 跳線連接器 (CN18) 用於電源 3.3V 或 5V 選擇

♦ 4 個綠色按鈕開關 (S4、S5、S6、S7)

♦ 4個LED (D10、D9、D8、D7)

♦ 2 可變電阻

♦ 內置 USB 拖放 FLASH 編程器

♦ RAM 大小 (64Kbytes) 和 BACKUP RAM (2Kbytes)。

 

M3H Group(2) EVM – AdBum-M3HQ

 

 

五、 Sample Project 實作

 

1. GPIO 實作

 

這個 project 的目的是演示

♦ 當您按下開關按鍵時,通過反轉中斷處理程序中的輸出信號來點亮和關閉 LED。

♦ 將 PortV0 至 PortV3 (S4 ~ S7 綠色按鍵) 設置為輸入端口,檢測按鍵開關是否有按下。

♦ 將 PortK4 至 PortK7 (D10 ~ D7 LED)設置為輸出端口,當按下開關按鍵時,中斷處理程序

   設定GPIO“高”電平輸出信號來點亮對應的 LED。

 

AdBun-M3HQ 的 push SW 除了 RESET 按鍵外,還有 SW0 ~ SW5 五個按鍵;但因為 SW0 另有用途,所以這個範例 只有使用到 S4 ~ S7 做為 demo。

 

S4 = PV0

LED D10 = PK4

S5 = PV1

LED D9 = PK5

S6 = PV2

LED D8 = PK6

S7 = PV3

LED D7 = PK7

 

 LED 及按鍵線路如下:


       

因為 CN5 沒有上件,所以下圖藍色框線 CN5 的紅色線段部分需連接起來,SW1~4 與 LED0~3 才會接到對應的 GPIO 引腳


GPIO_LED

開啟 TMPM3Hy_v1.2.0 Sample Software 的"TMPM3Hy_v1.2.0\Project\Examples\GPIO\GPIO_LED\LED_GPIO.eww”IAR project file,

 

開啟 “LED_GPIO” project 的 IAR 畫面後,滑鼠移到在 LED_GPIO project 名稱上按右鍵,點選 “Options...”

 

在 Options 的 “Debugger”選項中把“Driver”設置為“CMSIS-DAP”




設置好後之後對“LED_GPIO”專案進行編譯“Rebuild All”

 


下載及除錯

 

[執行程式]

程序執行後LED1~LED4 (D10、D9、D8、D7) 都處於熄燈狀態;

按下 S4 按鍵,LED D10點亮,松開 S4 按鍵,LED1 D10熄滅;

按下 S5 按鍵,LED D9 點亮, 松開 S5 按鍵,LED2 D9熄滅;

按下 S6 按鍵,LED D8 點亮, 松開 S6 按鍵,LED3 D8熄滅;

按下 S7 按鍵,LED D7 點亮, 松開 S7 按鍵,LED4 D7熄滅;

 

2. UART 實作

以下的實作,我們把編譯環境改成在 Keil 的編譯環境介紹,可讓讀者也了解兩者兩種編譯軟體使用的差別。

 

這個 project 的目的是演示

♦ 使用 Terminal 工具程式 “Tera Team”

♦ 將Baudrate 設成 115200,測試UART Tx 及 Rx 的功能

 

開發板線路圖與 Jump 設定:
1. 這裡使用 UART0 : TX ( PA1 ),RX ( PA2 )。
2. 連接 CN12 Pin 53-54 與 Pin 55-56

   (評估板的UART TX 及 RX 及 MCU PA1 與 PA2未接通,因此需手動連接起來)

 



 

UART_Echo
開啟 TMPM3Hy_v1.2.0 Sample Software 的"TMPM3Hy_v1.2.0\Project\Examples\UART\UART_Echo.uvprojx”Keil project file,



開啟 “UART_Echo” project 的 Keil 畫面後,滑鼠移到在 下面視窗中紅色框線的 “Options”,點擊左鍵,會出現 “ Options for Target ‘UART_Echo’ ” 的視窗





接著 Rebuild 專案                  



編譯完成後,點擊 Download 或者按下“F8”功能鍵將 FW 下載到評估板的 MCU 中



在 Terminal 工具“Tera Term”中 Serial Port 設定Baud rate 設定為“115200”

 

Terminal setup 中 Receive 及 Transmi 都設成“CR+LR”,並且勾選“Local echo”

  

[執行結果]

載入完成並且 reset 之後,會自動印出 “Input = “ 的字串,按下任何字元並且按下 “Enter”。之後,會在下一行印出 “Echo = ” 及剛才所輸入的字元。


 

參考資料文檔

1. TMPM3Hy_v1.2.0軟件開發包:TMPM3Hy_v1.2.0.zip
(https://toshiba-semicon-storage.com/cn/product/microcomputer/ev1.html)

2. Keil MDK的M3HQ芯片支持包:Keil.TXZ3_DFP.1.2.0.rar
(https://www.keil.com/dd2/toshiba/tmpm3hqfdfg/#/eula-container)

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能