完整說明MCU+韌體設計 ARM Cortex單晶片微控制實戰課程
獨家講座免費送隨身碟,立即行動
實驗引領快速學會I/O及通訊模組韌體開發

完整說明MCU+韌體設計 ARM Cortex單晶片微控制實戰課程

本課程讓您快速學會各種感測模組應用,熟悉底層Timer/GPIO/I2C/SPI等,完成CNY70及HMI人機介面設計等韌體開發

讓您初步了解[MCU ARM Cortex應用技術]及[未來應用]

充分理解[課程規劃]看擁有16年以上產品開發經驗之講師如何完整傳授功力

從中看見[職場需求]一展長才之處

進而了解[學習目標]懂得如何完整規劃 最後只差跨出的那一步了!

還再為工作的事而煩惱嗎? 來參加免費講座 我們將回答您的提問,解決您的疑問!

將由專人與您聯絡確認是否報名成功!

洽詢電話:02-23167736

地址:台北市中正區重慶南路一段143號4樓

服務時間:9:00~21:00 | 週三、週六、週日9:00~18:00

課程詳細介紹

課程目標:

  1. 能熟悉微控制器一般常用I/O控制與電路設計,如Timer、PWM、ADC、LCD、RTC等。
  2. 能熟悉微控制器常用通訊模組,如RS232、I2C、SPI。
  3. 能讓學員依照原廠Datasheet 的說明,從波形與時序關係,逐行引領學員完成驅動。
  4. 能熟悉USB運作原理與設計USB HID class、USB Audio Class、USB CDC class、USB MSC class。
  5. 能了解如何利用USB分析儀進行USB Debug工作。
  6. 針對物聯網及穿戴式裝置上常見的感測器, 教你如何驅動與了解如何應用這些感測器。
  7. 能從課程中學習一個完整專案開發的建立方法,例如:該如何選擇晶片滿足您的產品需求。

課程特色:
1.專為學習者設計,獨家研發ARM Cortex M教學開發板

ARM Cortex M教學開發板均由艾鍗科技研發團隊針對課程內容而獨家研發設計,從IC晶片開始,拉線、layout、洗板子到寫code,從無到有,不同於其他坊間單位,更能讓您在學習中直接了解在讀取訊號時的各種狀況,並快速知道需要除錯的地方在哪。

2.學中做!讓您自己動手寫code

教會你看懂DataSheet,讓您自己寫出每一行 code,並使用除錯模式單步除錯來控制晶片,而不是拿別人現成的 code 去改而已,這才是真正學會控制晶片並驅動周邊的精髓!

3.教你如何整合與活用MCU各式應用

從了解電路,看DataSheet到LA分析儀,完成MCU韌體,實際run一次完整的MCU流程,從點到面的實際了解,讓您在工作上更能學以致用,實作範例:IOT 裝置通訊實務、2.4G RF無線通訊、BLE 藍芽4.0通訊進行韌體實作…等

4.深入了解USB控制與USB韌體實作

了解USB控制原理與USB協定,教你最常用到的USB設計,包含USB HID、USB CDC 、 USB Audio及USB MSC類別,能和PC端能進行USB雙向通訊。

5.擁有最完整的教學儀器設備

堅持實戰教學,讓您的學習能夠更加完整,艾鍗是業界唯一課堂中使用LA邏輯分析儀及立肯科技USB 3.0 協定分析儀(USB Protocol Analyzer)來搭配學習的教育訓練中心。

課程大綱

第一階段 ARM Cortex-M 韌體開發設計

了解ARM Cortex-M 架構,並透過各種模組,熟悉底層Timer、GPIO、UART、I2C、 SPI、ADC、DAC、PWM、各種IP驅動

▪ ARM Cortex-M 韌體開發設計

▪ ARM Cortex-M 韌體開發環境安裝及設定
▪ MDK-ARM建立專案、韌體燒錄、線上除錯
▪ ARM 微控制器軟體介面準標(CMSIS)
▪ ARM Cortex-M 中斷控制器(NVIC)
▪ ARM Cortex-M SysTick 系統定時器
▪ GIPO控制與LCD時序圖
▪ 邏輯分析儀之數位訊號擷取設定與分析
▪ 數位訊號之輸出調變(PWM)控制全彩LED
▪ 數位訊號輸入於紅外線遙控器之訊號解碼
▪ 類比訊號轉換器(ADC)於熱敏電阻換算溫度應用
▪ Bluetooth 通訊
▪ WiFi 通訊
▪ I2C感測器操作(照度感測器或六軸加速計)
▪ SPI通訊操作2.4G無線通訊模組

第二階段 ARM Cortex-M 應用設計

教你如何整合與活用MCU各式應用

▪ 心律感測器設計
▪ CNY70 心律感測電路設計
▪ 心律訊號處理 ADC取樣處理與演算法說明
▪ HMI 人機介面設計-心跳波型繪製、資訊顯示(使用Python)
▪ MCU RTOS 即時作業系統
▪ CMSIS-RTOS RTX
▪ Timer Tick: task delay、software timer
▪ CMSIS RTOS 中斷處理
▪ CMSIS RTOS API - 多執行緒 (MultiTask)、Task訊息交換、 Task同步處理
▪ RS485/Modbus 工業控制與通訊
▪ RS485 工作原理與配線
▪ Modbus RTU 通訊協定與Memory Map I/O空間之系統設計
▪ MCU實戰-Modbus over RS485
▪ 2.4G RF無線通訊
▪ 2.4RF 通訊模組(nRF24L01) 功能介紹
▪ MCU 如何進行RF TX/RX? nRF24L01狀態機說明
▪ 雙向通訊實驗
▪ 建構一個星狀網路(含Windows視窗主控台) (可提供Visual Studio (C#) 視窗程式原始碼)
▪ BLE 藍芽4.0通訊
▪ Nordic BLE 晶片功能介紹
▪ Nordic SDK & Development Tools 安裝與使用
▪ BLE 裝置與Android APP 進行藍芽雙向通訊 (可提供APP原始碼修改)
▪ NFC 近場通訊
▪ NFC 工作模式
▪ TI RF430CL330H 晶片介紹
▪ MCU 如何讀取NFC 卡片資訊 (NDEF 格式)
▪ NFC應用實戰-Medical Wireless Sensor (人體溫度無線感測器)
▪ IOT 裝置通訊實務
▪ IOT圖控介面產生器:使用Node-Red
▪ IOT儀表板之折線圖、顯示器、控制器設計
▪ ESP8266 Wi-Fi溫度節點 (數據產生)
▪ ESP8266 Wi-Fi遠端控制RGB LED燈狀態 (控制命令)

*本單元所列之MCU應用主題,每梯次選用可能不同

第三階段 USB控制原理 & USB韌體實作

了解USB控制原理與USB協定,如HID、CDC、MSC,進行韌體實作,並能和PC端能 進行SPI、USB雙向通訊

※業界唯一使用立肯科技USB3.0協定分析儀(USB Protocol Analyzer)來搭配上課學習使用

Part I USB 規格
▪ Introduction to USB Architecture
▪ Other related USB Terms(ULPI,HSIC,OTG … )
▪ USB Data Flow Type and Communication protocol
▪ USB Device Enumeration
▪ Windows INF Files
▪ USB Classes
(1) USB Audio (USB Speaker)
(2) USB CDC-ACM (USB-UART)
(3) USB CDC-ECM (USB Ethernet Adapter)
(4) USB HID (Mouse , Keyboard , Consumer device)
(5) USB Mass Storage
(6) USB Bluetooth
Part II USB韌體實作(點我看Lab實作)
▪ Windows INF 實作練習
▪ USB Device Enumeration練習
▪ USB Audio練習
(1) USB Audio 封包說明
(2) 如何控制USB Audio (Mute , Volume Up/Down)
▪ USB HID class 實作
(1) HID Class 封包說明
(2) 實作Mouse相關功能
(3) 實作Keyboard相關功能
(4) 實作HID Data Transfer功能
(5) 實作HID Consumer Device功能
(6) 實作如何wakeup PC功能
▪ USB CDC class 實作
(1) CDC Class 封包說明
(2) 實作USB轉UART相關功能
▪ USB MSC class 實作
(1) Mass Storage Class 封包說明
(2) 了解MSC SCSI command , 存取MSC device
▪ Bluetooth over USB
(1) Bluetooth HCI (Host Controller Interface) 控制說明
(2) 透過HCI來控制Bluetooth Module

課程難度

入門

課程適合對象

職涯方向
電子工程師 │ FAE硬體工程師 │ 硬體研發工程師 │ 單晶片程式設計工程師 │
單晶片韌體工程師 │ 無線通訊單晶片應用工程師 │ MCU產品應用工程師

課程時數

84 小時

上課注意事項

Q&A
Q1.什麼是MCU晶片?
基本上,一顆MCU晶片就是一個CPU core並整合多個I/O週邊。CPU core 可能是IC廠自行開發(如TI、Microchip)或是License來自別人的CPU Core (如ARM Cortex-Mx)。

Q2.寫韌體和寫軟體在工作上有什麼不同?
韌體是一段程式碼介於硬體與軟體之間,其主要目的就是用來控制硬體並且設計一個友善程式介面供上層軟體來呼叫使用,因此之所以稱”韌”就代表不太”硬”但也不太”軟”。因此MCU的系統架構上,若存在韌體這一層角色,就可以讓上層應用程式透過韌體所提供的API介面來操控或讀取硬體資料,而不必知道底層的細節,諸如控制暫存器讀寫、電路、訊號波形與時序控制等等。這樣的系統架構設計,可以讓軟體開發人員,專注於產品應用與使用者界面上,而完全與MCU晶片無關。即使將來更換MCU或週邊IC時,只須修改韌體程式而非軟體程式。

Q3.韌體工程師的職能為何?
能對訊號處理、IP元件的驅動、界面電路、IC間通訊、中斷系統、時序控制等主題有所掌握。要能看懂DataSheet與波形時序圖,接著能跟著撰寫相對應的code。

Q4. 那麼多的MCU晶片,如何選擇?
不同廠商對於不同的市場應用,會推出符合該市場應用的MCU晶片。如針對工業控制、車用電子,可能會有CAN Bus; 針對生醫電子可能會有解析度較高的ADC。因此主要還是依據產品應用來選擇,即便是同廠商同款IC也會有RAM,Flash大小的差別,仍視應用而定。

Q5.MCU韌體工程師的開發重點為何?
開發的重點主要是熟悉MCU本身及週邊元件的驅動方法、建立良好的軟硬體系統架構與了解產品的應用面。對於底層Timer、GPIO、UART、I2C、SPI、ADC等各種IP驅動到更為複雜的USB HID、USB-CDC、USB Audio及USB MSC是韌體工程師應該熟悉的部份。雖然各家廠商推出的MCU晶片,對這些IP控制方式可能不同(暫存器的操作不同),但因為原理原則都是相同的,因此對於一個訓練有素的韌體工程師,只要有能力讀懂MCU廠商Datasheet或IC Manual,其實並不難上手新的MCU。

Q6. 使用ARM Cortex M0或ARM Cortex M4,在開發上有什麼差別?使用不同廠牌的晶片在開發上有什麼差異?
由於現在MCU幾乎都是以C語言來開發,不像早期都是寫組合語言,因此CPU Core是那一家的,其實對開發者而言完全沒有差別。
此外,ARM針對Cortex-M 提供CMSIS 介面(Cortex-M Software Interface Standard),使得韌體工師使用ARM Cortex-M based的MCU根本不必知道ARM架構、ARM內部暫存器及指令集。正是因為CMSIS函式庫的存在,開發者對於使用ARM Cortex M的任何版本,是沒有差異性的。雖然最新的ARM Cortex 7的CPU效能較高,但就如同如果你是會開車的,不論是駕駛BMW或Toyota你都還是會開,並不用去考兩張駕照。 市面上有許多不同廠牌的晶片可供選擇,撇開其各自特性(適合的應用)不談,其實差別僅在各家晶片商的 API 不一樣。ARM + 晶片商的電路 = 各家的MCU。所以,ARM 是一樣的。1. ARM Cortex -M0 的核心程式 一樣 2. Keil C 的開發環境一樣。來參加艾鍗的單晶片課程,老師會明確指出,如何讓共通性的東西更相容。

Q7. 韌體和軟體學習上最大的差別?
最大的差別就是軟體著重應用而韌體著重硬體訊號控制,並且軟體都是先假設底層韌體/硬體一切正常。韌體設計最根本的技術是”訊號處理”而不是程式。訊號處理意謂著你要先能理解兩個IC間的溝通方法,是否有依照IC DataSheet中的訊號時序圖來傳遞。”時序”表示訊號交握是有Timing的關係,這通常是軟體背景者最難入手的地方,如果你已經拿著會動的Code去改,那只有學到軟體的功夫而不是韌體的真本事。艾鍗課程講師會教授每一位學員LA邏輯分儀如何使用並搭配艾鍗在Windows上開發的訊號產生工具,讓學員可以用一目了然的方法去看見波形時序是怎麼一回事。

Q8. 會Arduino是否等於會MCU?
Arduino是MCU,但多數人是用Arduino開發”軟體”而非”韌體”。因為底層的晶片及週邊Driver均被包成現成的硬體函式庫(Hardware Peripheral Library), 所以並不需要使用者研讀微控制晶片及DataSheet,所以就工程技術角度來看,這僅僅是純軟體上的學習。若是專注於Arduino硬體函式庫的開發,這才是韌體設計。

Q9. 艾鍗的MCU單晶片設計課程有什麼不一樣?
如果說在外面要學3個月,在這裡只要1個月!由講師帶你一步一步自己親手寫出每一行Code,搭配講師親自編寫的完整範例程式碼輔助。並帶你學會自己使用儀器抓訊號、自己解讀訊號,我們相信學習要實際操作才會有感覺,所以每一步都帶你透過實踐去感受。

立即報名

免費說明會 0 元 2017/11/23 00:00 ~ 2018/12/29 20:00 立即報名

本課程由 艾鍗學院 發佈

課程問答

我要提問

對課程有任何問題,都歡迎在這裡向開課單位提問

開課單位

艾鍗學院

艾鍗科技有限公司成立於99年3月,以電子、資訊產業之研發人員所需的專業培訓機構稱著。艾鍗科技致力於研發並推廣嵌入式系統、MCU設計開發、FPGA IC設計及ICT資通訊科技等各種技術,並舉辦各式培訓課程、技術研討會與訓練成果發表會。本公司長期持續以業界的角度進行人才培訓規劃,使得我們的訓練品質,一直都深受學員及業界肯定。目前,我們的訓練合作夥伴,包含德州儀器(Texas Instruments)、新唐科技(Nuvoton)、艾睿電子(Arrow Electronics)、RS Components ,共同簽訂培訓基地合作計劃,辦理工程師培訓課程與技術講座。除了在職人士的培訓外,艾鍗科技也辦理「勞動部勞動力發展署」(前行政院勞工委員會委會職業訓練中心)的職業訓練課程,針對待業人士,執行中長期訓練,培訓 ICT專業人才以彌補產業人才的缺口。

【FPGA數位IC設計】 *百萬年薪的第一步!強調業界實戰,絕非紙上談兵
http://bit.ly/2NWlwHJ

【嵌入式Linux開發實務】 *從系統建置、嵌入式產品開發、程式設計到DRIVER實戰,一步步教學,帶你解決Embedded開發問題
http://bit.ly/2NS2d2u

【感測電路應用設計】 *模組化教學讓你練就終身自行研發的能力
http://bit.ly/2O4l3mP

AI深度學習與影像辨識實戰
http://bit.ly/2O7AxXz

【MCU單晶片韌體設計】 *教會你快速看懂Datasheet、掌握韌體設計精髓
http://bit.ly/2O6UTQD

【OpenCV電腦視覺與影像辨識實務】 *手把手帶你實戰人臉偵測、車牌影像辨識演算法 http://bit.ly/2O4kNEv

【AI機器學習與深度學習】*用AI重建產業優勢的最佳途徑
http://bit.ly/2NTsIVb

【嵌入式Linux開發與AI影像辨識實戰】
http://bit.ly/2NU33vC

【PCB Layout設計】Allegro電路板佈局設計實戰班
http://bit.ly/2QrPxvI

【硬體設計系列】全能電路設計實戰班
http://bit.ly/2O4OvcE

【物聯網整合應用實作班】 *政府補助假日班
http://bit.ly/2Qunkoh

【政府補助】AI人工智慧應用系列就業班

AIoT智能物聯網開發人才就業班
http://bit.ly/2N0vlEd

生醫訊號處理工程師就業班
http://bit.ly/2QoWn5g

AI影像辨識與邊緣運算實戰
http://bit.ly/2Qs86jC