
| 學程簡介 | 課程大綱 | 課程預覽 | 專題實績 | 會員優惠 |
📌 本課程可申請補助:大人提、小人提、退輔會補助適用
1.專為學習者設計,獨家研發ARM Cortex M教學開發板
2.學中做!讓您自己動手寫code
3.教你如何整合與活用MCU各式應用
4.深入了解USB控制與USB韌體實作
5.擁有最完整的教學儀器設備
企業都選擇艾鍗不只是學技術,還有縮短自學摸索的時間
艾鍗學院為了隨時掌握產業的變化並跟上技術需求,設有教學研發團隊,以提供新技術、高品質的課程服務,訓練出業界需要的人才!感謝台達電子、廣達、Intel、協益電子、華城電機、高通、創威光電、德立斯、國防部、光環等80多家企業選擇艾鍗培訓。


2. 能熟悉微控制器常用通訊模組,如RS232、I2C、SPI、UART。
3. 能讓學員依照原廠Datasheet 的說明,從波形與時序關係,逐行引領學員完成驅動。
4. 掌握MCU微控制器韌體程式撰寫,使具備韌體開發之測試/debug/維護能力。
5. 熟悉USB運作原理與設計USB HID class、USB Audio Class、USB CDC class、USB MSC class,並使用HID Class 讓USB和PC端能雙向通訊。
6. 能了解如何利用USB分析儀進行USB Debug工作。
7. 針對物聯網及穿戴式裝置上常見的感測器,教你如何驅動與了解如何應用這些感測器。
8. 能從課程中學習一個完整專案開發的建立方法,例如:如何選擇合適的晶片來滿足產品需求。
基本上,一顆MCU單晶片就是一個CPU core並整合多個I/O週邊。CPU core 可能是IC廠自行開發(如TI、Microchip)或是License來自別人的CPU Core (如ARM Cortex-Mx)。

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

能對訊號處理、IP元件的驅動、界面電路、IC間通訊、中斷系統、時序控制等主題有所掌握。要能看懂DataSheet與波形時序圖,接著能跟著撰寫相對應的code。
不同廠商對於不同的市場應用,會推出符合該市場應用的MCU晶片。如針對工業控制、車用電子,可能會有CAN Bus; 針對生醫電子可能會有解析度較高的ADC。因此主要還是依據產品應用來選擇,即便是同廠商同款IC也會有RAM,Flash大小的差別,仍視應用而定。
開發的重點主要是熟悉MCU本身及週邊元件的驅動方法、建立良好的軟硬體系統架構與了解產品的應用面。對於底層Timer、GPIO、UART、I2C、SPI、ADC等各種IP驅動到更為複雜的USB HID、USB-CDC、USB Audio及USB MSC是韌體工程師應該熟悉的部份。雖然各家廠商推出的MCU晶片,對這些IP控制方式可能不同(暫存器的操作不同),但因為原理原則都是相同的,因此對於一個訓練有素的韌體工程師,只要有能力讀懂MCU廠商Datasheet或IC Manual,其實並不難上手新的MCU。
由於現在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 -M 的核心程式 一樣 2. Keil C 的開發環境一樣。來參加艾鍗的MCU單晶片課程,老師會明確指出,如何讓共通性的東西更相容 。
最大的差別就是軟體著重應用而韌體著重硬體訊號控制,並且軟體都是先假設底層韌體/硬體一切正常。韌體設計最根本的技術是”訊號處理”而不是程式。訊號處理意謂著你要先能理解兩個IC間的溝通方法,是否有依照IC DataSheet中的訊號時序圖來傳遞。”時序”表示訊號交握是有Timing的關係,這通常是軟體背景者最難入手的地方,如果你已經拿著會動的Code去改,那只有學到軟體的功夫而不是韌體的真本事。艾鍗課程講師會教授每一位學員LA邏輯分儀如何使用並搭配艾鍗在Windows上開發的訊號產生工具,讓學員可以用一目了然的方法去看見波形時序是怎麼一回事。
Arduino是MCU,但多數人是用Arduino開發”軟體”而非”韌體”。因為底層的晶片及週邊Driver均被包成現成的硬體函式庫(Hardware Peripheral Library), 所以並不需要使用者研讀微控制晶片及DataSheet,所以就工程技術角度來看,這僅僅是純軟體上的學習。若是專注於Arduino硬體函式庫的開發,這才是韌體設計。
韌體並不好學,但有專家引導,差別會很大!艾鍗MCU課程由業界講師帶你用圖像式思考的方式,有邏輯架構地一步步開發出所需的功能。而這樣寫出的Code是簡單明瞭,易於除錯和維護的,搭配講師親自編寫的完整範例程式碼輔助,絕對省下你在學習和工作上摸索、走冤枉路所耗費的時間。講師還會帶你學會自己使用儀器抓訊號、自己解讀訊號;一步步精要步驟解析,不用擔心跟不上,回家還能自主複習。正確架構觀念指導外,充分的實務演練安排,是因為我們相信學習要實際操作才會有感覺,所以每一步都帶你透過實踐去感受。
獨家研發ARM Cortex M開發套件組
【用心教學 值得您的肯定,專業技術 值得您的信賴】
專為學習者設計的教學開發板,讓您在學習的路上更能事半功倍!
艾鍗為了傳達正確的韌體設計學習觀念與學習重點,我們從無到有,從一顆MCU晶片、電路設計到PCB板的完成,接著為我們的板子撰寫每一行code。由於這是韌體教學實驗板,所以我們特地預留了很多訊號量測腳位,方便學員在學習中能快速量測訊號。



何老師 ※講師具16年韌體開發與電路設計經驗!韌體真功夫讓您自己寫出每一行 code,而不是拿別人現成的 code 去改而已!
▪ 電子工程碩士 ▪ TQC+ 電路設計領域委員 ▪ 全國技能競賽工業電子培訓教師
▪ 電路設計 ▪ OrCAD PCB Layout 設計 ▪ Microchip PIC18/ TI MSP430
▪ Nuvton Nano130 ▪ RFID無線射頻 ▪工業控制 ▪ RF無線通訊韌體設計

Kangta ※講師具15年USB Divice開發經驗,在國內一線PC/NB ODM廠擔任主任級資深工程師!
▪ 輔仁大學電子工程所
▪ 國內一線電子大廠/資深工程師
▪ 8051單晶片 ▪ USB韌體設計 ▪ Linux驅動程式設計







| 學程簡介 | 課程大綱 | 課程預覽 | 專題實績 | 會員優惠 |
📌 本課程可申請補助:大人提、小人提、退輔會補助適用

♦ 了解ARM-Cortex M4 的開發流程
♦ 熟悉MCU的GPIO、TIMER、PWM、UART、I2C、SPI單元控制與應用
♦ 引導學員如何設計I2C裝置、SPI裝置的驅動程式
▪ ARM Cortex-M 韌體開發設計
- ARM Cortex-M 開發環境
- ARM Keil MDK、新唐ARM Cortex M4 PACK 安裝
- ARM Keil MDK 專案建立及編譯
- 實驗板除錯、燒錄設定
- 實作第一個專案
- 晶片特殊目的記憶體(操作體驗)
- C語言如何定義、操作,晶片特殊目的記憶體
- GPIO單元(LCD 並列通訊)
- HD44780 LCD 控制晶片(規格書閱讀指導)
- 依照規格書的範例,驗證功能的方法(除錯模式)
- 整理並實作LCD驅動程式
- HD44780 LCD 控制晶片(規格書閱讀指導)
- ARM Cortex-M4 架構
- 系統時鐘(Systick)使用技巧)
- 原廠驅動程式API參數的指派技巧
- 可視化的程序設計技巧(狀態機)
- 訊號分析與事件的定義
- 事件觸發與狀態移轉的定義
- 使用C語言實作狀態機
- 追加功能
- 模組化設計與原廠範例程式整理
- 單元模組化的5個區塊
- 控制單元的時鐘規劃
- 指派控制單元的PIN腳
- 控制單元的開啟與參數設定
- 中斷事件的規劃
- 中斷服務程序
- 單元模組化的5個區塊
- Timer 單元
- 定時器的使用規劃(時脈產生器)
- PWM 脈波寬度調整(LED 亮度調整)
- 紅外線遙控器(訊號分析與解碼)
- A/D、 D/A轉換器
- ADC 轉換器使用與參數設定
- 熱敏電阻溫度轉換
- ADC 讀取系統電壓(電池)
- DAC 輸出
- UART通訊
- WiFi TCP 通訊
- I2C通訊
- I2C通訊協定講解
- I2C底層驅動程式設計
- BH1750 照度計驅動程式設計
- SPI通訊訊
- SPI通訊模式設定
- nRF2401+ SPI底層通訊程序
- nRF2401+ 2.4G無線通訊實作
♦ 教你如何整合與活用MCU各式應用
- MCU RTOS 即時作業系統
- 建立RTOS專案
- RTOS多執行緒
- Signal執行緒間的訊號傳遞
- Mutex 機制
- Semaphore 機制
- Timer 機制
- Message Queue 訊息的傳遞
- Mail Queue 訊息的傳遞
- MAX30102應用專題
- 建立專案基本程序
- 感測器 I2C 通訊(逆向工程)
- 感測器驅動程序
- 規劃暫存器
- Python圖形介面 jupyter Lab
- 數據錄製、波形繪製
- 數據分析、演算法
- 進階感測器調校
- 心律計算
- 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 Classes如HID、CDC、MSC,進行韌體實作,並使用HID Class 讓USB和PC端能雙向通訊。
♦了解如何利用USB分析儀進行USB Debug工作※業界唯一使用立肯科技USB3.0協定分析儀(USB Protocol Analyzer)來搭配上課學習使用
▪ Other related USB Terms(ULPI, HSIC, OTG, TypeC, PD …)
▪ 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
▪ USB Device Enumeration(USB Descriptor)練習
▪ 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
◆ 張同學:講解詳細
◆ 黃同學:內容實用完整
◆ 游同學:師資專業。實用的課程,可以提升自己的技能
◆ 徐同學:老師熱心回答問題
◆ 陳同學:入門真的需靠老師,教得很好很實用易懂
◆ 方同學:MCU課程內容豐富,基本的MCU通訊firmware都有教學與介紹,對於沒有韌體開發經驗的人而言,老師的教學,有教材、有可以成功執行的CODE,幫助了學生節省自學MCU的研究時間應該是最大的收穫。USB老師在USB方面真的很專業,各個USB方面應用的實作都有教學
◆ 陳同學:老師專業能力強,顧及全學員學習狀況,針對初學內容非常完整
◆ 黃同學:課程非常充實。我的工作與HID有關,其他項目也收穫很多
◆ 陳同學:整體不錯
◆ 李同學:課程內容豐富,涵蓋工作上大部分MCU開發需求。可了解USB Protocol
◆ 鄭同學:老師教學專業清楚,願意舉平常生活用語來說明,讓大家能了解原理。
◆ 李同學:剛好對Wifi、無線通訊部分很感興趣,收穫很多
◆ 蔡同學:何老師很強 Kangta老師很專業
◆ 莊同學:問的問題都能得到解決方法
◆ 李同學:非常實用
◆ 林同學:有實體操作容易了解問題細節
◆ 呂同學:推薦此課程 老師專業 教材豐富
◆ 陳同學:可選擇此課程入門該領域。老師的教學講解圖文述敘非常符合我想瞭解想理解的問題,針對文件及實際運用有很大的意義。
◆ 劉同學:對於入門解惑很有幫助
◆ 賴同學:老師教的超棒謝謝老師
◆ 黃同學:good. nice teacher for these topics
◆ 黃同學:老師很棒!重實務,有別於學校的理論教學
◆ 王同學:課程規劃完善
◆ 劉同學:醍醐灌頂
◆ 林同學:此課程也適合,沒有[MCU單晶片韌體設計]基礎的學員,課程內容讓我收獲很多,讓我重原本看不懂廠商的源碼,到課程上完,可我快速找到需要的程式源碼,以及如何除錯。
◆ 謝同學:給予同學系統框架與學習能力
◆ 蔡同學:入門USB控制還不錯
◆ 陳同學:可以學習到USB的協定跟設計
◆ 許同學:USB教學內容廣泛,講師專業
◆ 張同學:對於熟悉其它協定的學生來說,課程內容能滿足入門指引,同時也有提供課後諮詢管道
◆ 吳同學:Kangta老師會將之前講過的,搭配課程主題,適時總結讓學員更清楚知道其應用。這點很實用能承先啟後讓學習過程知道其原理。
◆ 張同學:老師專業
◆ 黃同學:專業實用
◆ 游同學:何老師專業,很有經驗,會教很多獨門的方法。usb可以學習usb實務上重要的部分
◆ 鄧同學:本人非常推薦何老師的課程,身為遠距學員一樣能收穫滿滿,在課堂中的提問,能獲得即時的解答。老師十分用心且有耐心,講義與操作細節非常清楚且詳細,還會適時分享業界經驗,真的收益良多!感謝艾鍗學院,讓我有這個榮幸,可以成為何老師的學員,誠心感謝。USB單元:在USB韌體設計領域中,這是一門非常值得學習的必修課程,課程中,您將會學到深入的USB設計概念與理論,讓自身能透過此課程提升專業領域知識。課程中的所遇問題,老師都會用心且耐心的向學員們解答,是一門值得推薦的好課程。
◆ 張同學:感謝艾鍗學院提供專業課程供學習!
◆ 邱同學:課程不錯
◆ 蔡同學:讚
◆ 黃同學:我覺得很有收穫
◆ 黃同學:韌體課程的最佳解
◆ 陳同學:能短時間兼顧USB重要類別的課程
◆ 黃同學:謝謝學院的課程,讓沒資訊背景的人也能有入門機會


| 學程簡介 | 課程大綱 | 課程預覽 | 專題實績 | 會員優惠 |

| 學程簡介 | 課程大綱 | 課程預覽 | 專題實績 | 會員優惠 |























