第 1 頁,共 4 頁
學程簡介 | 課程大綱 | 課程預覽 | 專題實績 | 會員優惠 |
★ 課程採【實體遠距同步】全台開課並提供錄影補課,歡迎免費洽詢!
♦ 電子電路單元再獨家享有:
1 ) 加贈講師精心錄製之【感測電路數位課程】 →實體名師手把手,數位隨時停看聽!
2)獨家研發電子教學模組 →專為學習者設計,學習事半功倍!
3)感測電路專用書籍+講師自編講義 →教材最豐富、學習最完整!
※MCU單元亦包含獨家研發開發板與套件、講師自編講義+完整範例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驅動程式設計
課程目標
1. 養成其具備量測被動及主動電子元件的能力及了解其特性與規格
2. 使具備熟悉電學各種基本定理與定律的活用技巧
3. 能清楚掌握半導體的原理及其使用方法與技巧
4. 使具備獨立使用電子儀器進行線路量測與除錯檢修的能力
5. 能熟悉微控制器一般常用I/O控制與電路設計,如Timer、PWM、ADC、LCD、RTC等。
6. 能熟悉微控制器常用通訊模組,如RS232、I2C、SPI。
7. 能讓學員依照原廠Datasheet 的說明,從波形與時序關係,逐行引領學員完成驅動。
8. 能熟悉USB運作原理與設計 HID class、 Audio Class、 CDC class、 MSC class。
9. 能了解如何利用USB分析儀進行USB Debug工作。
10. 針對物聯網及穿戴式裝置上常見的感測器, 教你如何驅動與了解如何應用這些感測器。
11. 能從課程中學習一個完整專案開發的建立方法,例如:該如何選擇晶片滿足您的產品需求。
2. 使具備熟悉電學各種基本定理與定律的活用技巧
3. 能清楚掌握半導體的原理及其使用方法與技巧
4. 使具備獨立使用電子儀器進行線路量測與除錯檢修的能力
5. 能熟悉微控制器一般常用I/O控制與電路設計,如Timer、PWM、ADC、LCD、RTC等。
6. 能熟悉微控制器常用通訊模組,如RS232、I2C、SPI。
7. 能讓學員依照原廠Datasheet 的說明,從波形與時序關係,逐行引領學員完成驅動。
8. 能熟悉USB運作原理與設計 HID class、 Audio Class、 CDC class、 MSC class。
9. 能了解如何利用USB分析儀進行USB Debug工作。
10. 針對物聯網及穿戴式裝置上常見的感測器, 教你如何驅動與了解如何應用這些感測器。
11. 能從課程中學習一個完整專案開發的建立方法,例如:該如何選擇晶片滿足您的產品需求。
※ 課程完訓後將提供結業證書作為研習證明
課程Q&A
Q1.什麼是感測電路設計? ?
感應元件通常是利用半導體材料特性,對自然界的物理訊號,如光、聲音、壓力、溫度轉換成電氣訊號,而電氣訊號可能是電流、電阻、電壓的訊號。感應元件例如硫化鎘或光敏電阻器,其阻抗隨光落在它表面的總量而有不同焦電式紅外線感知器為因為吸收紅外線而產生電壓變化。能將位移、壓力、速度等機械量轉換成為電子訊號的元件稱為機電轉換器如陀螺儀與加速度計、E-compass、電子羅盤。感測電路設計即利用感應元件產生的電氣訊號變化來設計適當的電路,以輸出如電壓、頻率、脈衝等訊號,並滿足訊息傳輸、處理、記錄、顯示、控制的要求。其中由於感應元件所產生的電氣訊號會含有一定的雜訊,所以必須要設計過濾器以濾除不要的雜訊。另一方面,感應元件所產生的電氣訊號,不論是電壓或電流都很微弱如電壓只會有mV 毫伏,所以感測電路都會用到OP Amp,將訊號加以放大,使得所設計的感測電路模組可以進一步給微控器使用或微處理器使用。
Q2.為什麼要學電子電路 ?
電子電路為深入MCU領域的關鍵鑰匙﹐透過學習電子電路的基本定律與路線走向分析﹐繪製出簡易的電路輸出波形圖﹐用來建立後續的電子電路演算架構﹐延伸到類比電路的放大和數位電路的控制﹐使程式碼能夠控制硬體周邊﹐晶片控制感應器﹐貫通MCU的韌體開發設計。
Q3.什麼是MCU單晶片?應用有那些?
MCU (Micro Control Unit) 是一顆精巧但五臟俱全的IC,它把處理器、RAM、ROM、週邊I/O等整合在一顆 IC內,這也就是為什麼它稱為單晶片(Single Chip)的原因,對於一般須要不是太過複雜的資料轉換及計算或控制是相當好的Solution。MCU應用產品包含Touch Pad、LCD controller、Sensor 、Communication 、Converter。CPU core 可能是IC廠自行開發(如TI、Microchip)或是License來自別人的CPU Core (如ARM Cortex-Mx)。
Q4. 為什麼要用C語言開發 ?
因為不同廠商CPU架構與組合語言指令集都不一樣,若以高階C程式去開發,透過C編譯器就可以產生對應的CPU機器碼,如此可以讓你在開發時只關注在週邊元件的驅動與系統的應用面,而不必去管CPU內部設計的差異。例如你開發MSP430和ARM Cortex M4時,除了時脈速度、工作電壓有差別外,就C語言開發角度去看,CPU是沒有差別的。以MCU的韌體學習角度,除具備C語言基礎外,主要還是必須對IP元件的使用、界面電路、IC間通訊、中斷系統、時序控制等主題有所掌握,才是有學習到精髓。
Q5.寫韌體和寫軟體在工作上有什麼不同?
韌體是一段程式碼介於硬體與軟體之間,其主要目的就是用來控制硬體並且設計一個友善程式介面供上層軟體來呼叫使用,因此之所以稱”韌”就代表不太”硬”但也不太”軟”。因此MCU的系統架構上,若存在韌體這一層角色,就可以讓上層應用程式透過韌體所提供的API介面來操控或讀取硬體資料,而不必知道底層的細節,諸如控制暫存器讀寫、電路、訊號波形與時序控制等等。這樣的系統架構設計,可以讓軟體開發人員,專注於產品應用與使用者界面上,而完全與MCU晶片無關。即使將來更換MCU或週邊IC時,只須修改韌體程式而非軟體程式。
Q6.韌體工程師的職能為何?
能對訊號處理、IP元件的驅動、界面電路、IC間通訊、中斷系統、時序控制等主題有所掌握。要能看懂DataSheet與波形時序圖,接著能跟著撰寫相對應的code。基本上,一顆MCU單晶片就是一個CPU core並整合多個I/O週邊。CPU core 可能是IC廠自行開發(如TI、Microchip)或是License來自別人的CPU Core (如ARM Cortex-Mx)。
Q7.那麼多的MCU晶片,如何選擇?
不同廠商對於不同的市場應用,會推出符合該市場應用的MCU晶片。如針對工業控制、車用電子,可能會有CAN Bus; 針對生醫電子可能會有解析度較高的ADC。因此主要還是依據產品應用來選擇,即便是同廠商同款IC也會有RAM,Flash大小的差別,仍視應用而定。開發的重點主要是熟悉MCU本身及週邊元件的驅動方法、建立良好的軟硬體系統架構與了解產品的應用面。
Q8.MCU韌體工程師的開發重點為何
對於底層Timer、GPIO、UART、I2C、SPI、ADC等各種IP驅動到更為複雜的USB HID、USB-CDC、USB Audio及USB MSC是韌體工程師應該熟悉的部份。雖然各家廠商推出的MCU晶片,對這些IP控制方式可能不同(暫存器的操作不同),但因為原理原則都是相同的,因此對於一個訓練有素的韌體工程師,只要有能力讀懂MCU廠商Datasheet或IC Manual,其實並不難上手新的MCU。
Q9.使用ARM Cortex M0或ARM Cortex M4、ARM Cortex M7,在開發上有什麼差別?使用不同廠牌的晶片在開發上有什麼差異?
由於現在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 的開發環境一樣。來參加艾鍗的單晶片課程,老師會明確指出,如何讓共通性的東西更相容。
10.韌體和軟體學習上最大的差別?
最大的差別就是軟體著重應用而韌體著重硬體訊號控制,並且軟體都是先假設底層韌體/硬體一切正常。韌體設計最根本的技術是”訊號處理”而不是程式。訊號處理意謂著你要先能理解兩個IC間的溝通方法,是否有依照IC DataSheet中的訊號時序圖來傳遞。時序表示訊號交握是有Timing的關係,這通常是軟體背景者最難入手的地方,如果你已經拿著會動的Code去改,那只有學到軟體的功夫而不是韌體的真本事。
艾鍗課程講師會教授每一位學員LA邏輯分儀如何使用並搭配艾鍗在Windows上開發的訊號產生工具,讓學員可以用一目了然的方法去看見波形時序是怎麼一回事。
Q11.會Arduino是否等於會MCU?
Arduino是MCU,但多數人是用Arduino開發”軟體”而非”韌體”。因為底層的晶片及週邊Driver均被包成現成的硬體函式庫(Hardware Peripheral Library), 所以並不需要使用者研讀微控制晶片及DataSheet,所以就工程技術角度來看,這僅僅是純軟體上的學習。若是專注於Arduino硬體函式庫的開發,這才是韌體設計。
Q12. 買現成的和艾鍗自己設計的板子有差嗎 ?
艾鍗想談的是教你如何從無到有!從了解電路、看懂DataSheet與波形圖,到寫下每一行code,而這也是真正韌體設計的精髓,用資訊軟體的角度在談這門課程,對於韌體的學習可是完全抓錯了方向!為了傳達我們認為韌體設計該有的學習方式與學習重點,我們設計適合教學與實驗用的板子並描配相關的實驗模組,也因為這樣我們對於所有軟硬體控制原理的解說是相當透徹的。絶非一般坊間或學校購買現成品,跑跑現成或書上所附範例程式而已。
▼【MCU應用】採用艾鍗學院獨家研發ARM Cortex-M開發套件
113年全新改版登場MCU微控制器模組套件包
獨家研發電子教學模組
職涯方向
電子工程師 │ FAE硬體工程師 │ 硬體研發工程師 │ 單晶片程式設計工程師 │
單晶片韌體工程師 │ 無線通訊單晶片應用工程師 │ MCU產品應用工程師 │ USB韌體工程師
單晶片韌體工程師 │ 無線通訊單晶片應用工程師 │ MCU產品應用工程師 │ USB韌體工程師
上課花絮
▪ 從無到有的培訓過程,紮實前瞻且完善
▪ 艾鍗專注課程的設計與規劃,幫學員們找出最有效率的學習途徑,不僅能快速地進步,更能在途中找到成就感,與向前的動力。
▪ 講師關心每一位學員的學習狀況,並於空檔個別指導
▪ 遠距也不怕!艾鍗講師使用雲端學習進度表,及時掌握每一位學員的進度與需求,對症下藥,讓學員能快速進入學習狀況。
課程諮詢