總網頁瀏覽量

顯示具有 職訓 標籤的文章。 顯示所有文章
顯示具有 職訓 標籤的文章。 顯示所有文章

2022年12月14日 星期三

【 嵌入式系統(Embedded System) 到底是什麼? 】

【 嵌入式系統(Embedded System) 到底是什麼? 】

關於這方面,許多台灣的大學學術界資深老師(無論名校或者非名校)、產業界資深主管/工程師,常會誤以為嵌入式系統就是指有嵌入Linux的系統,其實這是個明顯的認知錯誤。個人應該已經不只十次在企業職缺或者大學校院內的論文看到這個問題,直到今年(2022)我還是有在國內的研討會論文中看到這個錯誤。

這情況類似之前提過的微處理機/微控制器的名詞常被混用的狀況,而許多歐美的相關技術書籍對此名詞有較嚴謹的說明。如果大家很重視「學術」,那就應該要對這些名詞的基本定義有一定的嚴謹程度。

同時讓我們看一下 Wikipedia英文版頁面內容(較詳細)對於嵌入式系統(Embedded system)的基本定義[1]:  「An embedded system is a computer system—a combination of a computer processorcomputer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system.  It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. 

簡單來說,嵌入式系統就是被嵌入到電子/機械/機電硬體系統內、具備特定/專用功能的 計算機(電腦)系統。 這個「嵌入」並不是 在指Linux OS軟體被嵌入到一個系統。

就算是跑non-OS類型的軟韌體的MCU為核心的系統產品,基本上也都是嵌入式系統。並不是只有那些有跑(執行)嵌入式Linux或Android的系統才叫做嵌入式系統。

對於專業名詞定義認知落差,有時候就是造成工程開發過程中的溝通問題的來源。

Ref: 

[1] Wikipedia, Embedded system, https://en.wikipedia.org/wiki/Embedded_system .


-----

個人簡歷: https://sites.google.com/view/wenliangsun/


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:
本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

2022年12月8日 星期四

【關於本園區之嵌入式系統韌體基礎課程導向】「建立紮實基礎的本質面,不是軍備競賽,也不是花拳繡腿的應用」

【關於嵌入式系統/韌體 基礎課程的導向】

「建立紮實基礎的本質面,而不是如同比規格的軍備競賽,也不主打花拳繡腿的應用」

這幾年開始嘗試用系統結構相對簡單的實驗平台、簡單的方式,來教學/說明背後相對較深層、較複雜的電腦軟硬體原理。其實有些內容隨著逐年教學經驗累積與思考,雖然可能使用著一樣或類似的平台,但又會有不同的、更深層的體會,一直還是有不同的收穫與視野。

在基礎課程內容的方面,回歸最重要的基礎紮根本質面向。不去追求表面花拳繡腿的應用功能、不去依賴現成library及高度現成花俏的硬體模組,也不好高騖遠,而是主打紮實的基礎原理及驗證,包含帶學員去了解 組合語言/C語言背後的一些電腦軟硬體基礎原理、MCU原理架構、Datasheet內容(電氣特性、訊號時序、周邊控制操作、描述內容的閱讀理解方式)、基本電路 等等。

輔導多位軟韌體工程師的經驗發現,發現這些基礎原理其實才是許多工程師真正缺乏的東西(很多人工作是使用較新規格強大的MCU/SoC,但對於原理方面基礎沒有掌握,不知其所以然,突然遇到問題時也沒有時間去慢慢從頭學習或複習,只能用粗淺概念搭配 try and error的方式去撞牆/debug)。如果是表面的功能,某些工程師學員在耗費時間嘗試之後,或許有能力讓功能勉強動起來 (但是動得如何、能動幾次、是否有bug,就很難說了),但是一旦情境條件複雜化,出現較複雜的bug時,卻是未必有能力去分析,其實許多關鍵就在於基礎是否足夠紮實,而這個基礎紮實度其實需要原理和實驗兩者緊密配合。而若要能讓學員快速掌握重點、著重於學員對於深層原理細節的理解吸收程度與視野,其實教學課程必須用心設計,不能蜻蜓點水,更不能用比較實驗教材規格高低的軍備競賽的觀念去看待。

下方是一些課程原理內容驗證實驗簡易展示,為MCS51 MCU外部中斷的幾個相關原理驗證教材中的影片,在簡單現象背後的詳細原理分析方面會花較多的時間在課程內說明。





課程內容中會帶學員閱讀了解IC/MCU Datasheet相關內容 :

圖片來源: [1]


圖片來源: [1]


圖片來源: [2]


圖片來源: [2]

8051到今年都還有IC design house公司在推出新款,例如 偉詮電子(WELTREND) 在 今年(2022年)還有持續推出數款8051系列MCU的新版本。但因應教學需求(不是針對應用)所以我選擇使用架構更簡易的較舊式的基本款來做教學。

圖片來源: [3]


再次強調,這個基礎課程的目標是: 「建立紮實基礎的本質面,而不是如同比規格的軍備競賽,也不主打花拳繡腿的應用」

----

此外,課程內容也可客製針對學員們在工作上遇到的相關內容諮詢,協助分析並給予明確方向/建議。


資料/規格技術手冊圖片來源:

[1] INTEL, MCS51 MICROCONTROLLER FAMILY USER’S MANUAL.

[2] Nuvoton(新唐科技), W78E516D/W78E058D Data Sheet.

[3] WELTREND(偉詮電子), 首頁 >產品資訊>微控制器>8-bit MCUs,  http://www.weltrend.com.tw/zh-tw/product/index/13

-----

個人簡歷: https://sites.google.com/view/wenliangsun/


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:
本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

2022年8月30日 星期二

又有產業公司來洽談MCU嵌入式系統韌體課程合作事宜,歡迎!

 


-----

個人簡歷: https://sites.google.com/view/wenliangsun/


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:
本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章


2022年7月3日 星期日

【感謝文】感謝給予肯定的各界朋友們

 【感謝文】

近期希望來上課的韌體工程師的學經歷背景越來越多元,

包含擁有頂尖大學工學博士學位的韌體工程師、大型知名網通設備系統廠的軟體工程師、美商BIOS工程師、網頁工程師、頂大工程系所研究生、資訊科教師等等,

幾乎都是看到部落格的課程介紹文章與技術文章而來。

很感謝這些朋友的捧場🙏,

讓小弟我有機會在教學的過程中能更了解除了IC設計公司(IC design house)以外的更多產業的工程師現況(因為小弟我過去除了擔任顧問的經驗之外,本身專職工程師的時期都是在IC設計公司任職)。

最大宗旨還是希望課程內容/諮詢內容都能直接對所有學員的產業工作有所幫助。

也很感謝許多正向表示欣賞與肯定的各方朋友們🙏,例如很榮幸在前陣子能受邀參與勞動部&工研院所舉辦的韌體職訓課綱專家會議,提供自己的經驗看法與建議,並且讓小弟我能有機會能舉薦後續審查委員的學界代表。以及所有曾經來洽談合作的所有科技新聞媒體與產業公司和工程師學員們 🙏

-------

個人簡歷: https://sites.google.com/view/wenliangsun/

‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:


本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章


2021年8月16日 星期一

【阿良的嵌入式系統技術學習區】STM32系列MCU韌體程式設計基礎實務 課程內容介紹

課程涵蓋內容如下:

  • 韌體程式常用程式語言
    • 組合語言指令集與MCU架構簡介
      • 以架構簡潔清晰的Intel MCS51指令集為教材範例
    • C語言基礎複習
    • 高階與低階語言(C語言 與 組合語言Assembly)差異介紹與實驗驗證

  • STM32 MCU常見開發環境操作教學
    • ARM KEILC 評估版 整合開發環境(IDE)操作教學
    • STM32CubeMX工具與STM32Cube IDE操作教學
    • 其它IDE簡介(如 IAR)

  • 中斷(Interrupt)機制
    • ARM Cortex-Mx系列搭配之NVIC (嵌套式向量中斷控制器)介紹
    • 中斷優先權實驗

  • 周邊裝置驅動原理與實作
    • GPIO(通用輸入/輸出介面)
      • GPIO架構與驅動原理
        • IO Port結構原理、Open-drain(開汲極)、Push-Pull output(推挽式輸出)、Pull-up、Pull-down等相關硬體電路原理
      • 外部簡易電路整合應用設計原理
      • 輸出驅動實驗(GPO, General Purpose Output)
      • 輸入驅動實驗(GPI, General Purpose Input)
    • Timer/Counter(計時器/計數器
      • 計時器
      • 計數器
      • 輪詢與中斷應用實驗
    • UART (通用非同步串列傳輸通訊介面
      • UART之協定原理
      • 輪詢與中斷應用實驗 (與其它具備UART介面之設備進行通訊實驗
      • RS232與RS485纜線介紹
        • 電氣位準轉換原理
        • 相關IC介紹
    • ADC(類比轉數位轉換器
      • 輪詢與中斷機制  搭配 亮度感測器 進行實驗
    • I²C串列通訊介面
    • SPI串列通訊介面
    • 其它各種周邊裝置、I/O介面或協定(PWM、1-wire、DAC、DMA...)

  • 基礎電子電路與元件應用
      • 類比電子電路 與 數位電子電路 基礎原理觀念
      • 基本電壓、電流量測
      • 二極體
      • 電晶體
        • 如: BJT開關應用、MOSFET (如level shift電路應用)
      • OPA(運算放大器)基本應用
      • 穩壓IC應用介紹
        • 光耦合IC
          • Relay繼電器驅動

        • 進階選修
          • GPIO進階應用之 矩陣多按鈕鍵盤 掃描輸入演算法
          • GPIO進階應用之 多合一七段顯示器 掃描輸出演算法
          • LCD顯示驅動
          • 各式無線通訊模組應用(藍牙、ZigBee、LoRa、Wifi等等)
          • 各式感測器應用(如: 溫度、溼度、三軸加速度感測器、陀螺儀、電流感測、pH酸鹼值、ORP氧化還原...等等)
          • 步進馬達驅動
          • 直流馬達驅動
          • 應用專題
            • 物聯網IoT (如 智慧家庭、智慧農業、自動化系統...)
            • 穿戴式裝置(慣性感測、生醫訊號處理應用...)


         


        【阿良的嵌入式系統技術學習區】 嵌入式Linux (Embedded Linux) 基礎實務 課程內容介紹

        課程涵蓋內容如下:


        • 說明:  雖然近年來已經有Yocto、Buildroot、OpenWrt等組件工具可以簡化許多在嵌入式Linux建置過程中的繁複流程(若未來有機會的話,可能會開這些工具的使用教學課程),但是,無論在許多有做SoC的IC design house(IC設計公司) 或者 系統廠 的嵌入式Linux軟韌體相關研發單位,嵌入式Linux各階段軟韌體的基礎建置(包含對應的編譯開發環境的各環節)能力,也就是本課程的教學主軸,仍是非常重要的,在過程中將會學習到許多在進行嵌入式Linux系統開發時所需的基礎觀念和經驗。
        • 在此課程內容中,有著許多細節,通常對於初學者自學而言將會消耗大量的時間在克服一些技術細節方面所帶來的困難,大多需要實際的經驗才能在較短的時間內克服,所以若讓有經驗的人指導,在學習上將會事半功倍。
        • 課程實驗內容將透過 純文字指令方式(command line) 進行,符合科技產業界對於此類系統的開發方式

        • 實驗硬體平台預計為ARM Cortex-A8 based SoC(系統晶片)為核心之開發板(Beaglebone Black)

        本園區之FB粉絲專頁如下:

        --------------------

        孫文良 (阿良的嵌入式系統技術學習區)

        個人簡介: https://sites.google.com/view/wenliangsun/

        【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,請先參考 課程招生網頁連結

        2020年10月10日 星期六

        【阿良的嵌入式系統技術學習區】嵌入式系統基礎原理與實務課程介紹連結

        課程內容涵蓋:

        本課程重點核心宗旨是讓學員掌握「嵌入式韌體開發相關共通的基礎觀念」 ,而不是教了A平台才會A平台、教了B平台才會B平台。此外,也會在課程之中和學員介紹產業界在這方面的相關工程師職缺與工作內容概況。

        實驗/實作教學平台以MCU(單晶片微電腦/微控制器)為主。

        課程主要涵蓋範圍如下 : 
        • 韌體程式常用程式語言
          • 組合語言指令集與MCU架構簡介
            • 以架構簡潔清晰的Intel MCS51指令集為教材範例
          • C語言基礎複習
          • 高階與低階語言(C語言 與 組合語言Assembly)差異介紹與實驗驗證

        • MCU韌體程式常見開發環境操作教學
          • KEILC (Keil uVision) 評估版 整合開發環境(IDE)安裝與操作教學
          • 其它IDE簡介(如 IAR)

        • 處理器系統核心機制原理與實驗
          • 記憶體之堆疊(Stack)資料結構
          • 呼叫副程式(於高階語言則為函數)於堆疊使用之關聯原理
          • 中斷(Interrupt)機制之原理與實驗:
            • 中斷觸發源
            • 中斷向量
            • 中斷優先權
            • 中斷服務程式
            • 堆疊於中斷機制之關聯原理

        • 周邊裝置驅動原理與實作
          • GPIO(通用輸入/輸出介面)
            • GPIO架構與驅動原理
              • IO Port結構原理、Open-drain(開汲極)、Push-Pull output(推挽式輸出)、Pull-up、Pull-down等相關硬體電路原理
            • 外部簡易電路整合應用設計原理
            • 輸出驅動實驗
            • 輸入驅動實驗
          • Timer/Counter(計時器/計數器
            • 計時器
            • 計數器
            • 輪詢與中斷應用實驗
          • UART ( 通用非同步串列傳輸通訊介面
            • UART之協定原理
            • 輪詢與中斷應用實驗 (與其它具備UART介面之設備進行通訊實驗
            • RS232與RS485纜線介紹
              • 電氣位準轉換原理
              • 相關IC介紹
          • ADC(類比轉數位轉換器
            • 輪詢與中斷機制  搭配 亮度感測器 進行實驗

        • 基礎電子電路與元件應用
            • 類比電子電路 與 數位電子電路 基礎原理觀念
            • 基本電壓、電流量測
            • 二極體
            • 電晶體
              • 如: BJT開關應用、MOSFET (如level shift電路應用)
            • OPA(運算放大器)基本應用
            • 穩壓IC應用介紹
              • 光耦合IC
                • Relay繼電器驅動

              • 進階選修課程內容
                • I²C串列通訊介面
                • SPI串列通訊介面
                • GPIO進階應用之 矩陣多按鈕鍵盤 掃描輸入演算法
                • GPIO進階應用之 多合一七段顯示器 掃描輸出演算法
                • 其它各種周邊裝置、I/O介面或協定(PWM、1-wire、DAC、DMA...)
                • LCD顯示驅動
                • 各式無線通訊模組應用(藍牙、ZigBee、LoRa、Wifi等等)
                • 各式感測器應用(如: 溫度、溼度、三軸加速度感測器、陀螺儀、電流感測、pH酸鹼值、ORP氧化還原...等等)
                • 步進馬達驅動
                • 直流馬達驅動
                • 應用專題
                  • 物聯網IoT (如 智慧家庭、智慧農業、自動化系統...)
                  • 穿戴式裝置(慣性感測、生醫訊號處理應用...)
              • Q&A
              Q: 實驗平台為何?
              A: 以架構適合初學者透徹掌握學習的8位元的MCU (8051、Atmega328等MCU為實驗教材,但如果學員因工作有其它款式的MCU平台系統需求,也可考慮與講師討論客製化課程)


              Q:課程會提供講義嗎?
              A:本課程會提供部分的電子檔講義。但主要以能讓學員帶得走的紮實專業基礎能力教學為主,希望讓學員擁有從網路上能找到的任何資料或datasheet都可以成為講義的能力,而不希望學員必須綁定某份講義才會做這類的系統應用設計,所以技術的部份不會提供講義,主要以傳授實際專業基礎與經驗為主,當然學員可自己作筆記記錄,將該記錄作為最適合自己與屬於自己的講義。


              Q: 每個單元的授課時數有固定嗎?
              A: 沒有固定時數。因為每位學員的相關背景、學習速度可能都有所不同,所以是依照學員學習狀況而定,希望學員能紮實的掌握到該學到的基礎,目前不希望像是一般補習班的制式化方式。相對的,不會綁定時數,學員希望上多少課就上多少課(時數由學員自己決定,如果覺得不滿意,可於該次上完課之後就停止課程)。

              --------------------

              孫文良 (阿良的嵌入式系統技術學習區)

              個人簡介: https://sites.google.com/view/wenliangsun/

              【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,請先參考 課程招生網頁連結