總網頁瀏覽量

顯示具有 Open drain 標籤的文章。 顯示所有文章
顯示具有 Open drain 標籤的文章。 顯示所有文章

2021年11月26日 星期五

軟韌體工程師,可以完全沒有任何硬體電路基礎背景嗎?

負責電腦系統底層系統的軟韌體工程師,可以完全沒有任何硬體電路基礎背景嗎?

舉個例子,

如果軟韌體工程師沒有一點硬體背景,碰到MCU/SoC晶片外部沒有或漏掉被上料(接上pull up resistor), I/O又沒有enable internal pull-up resistor,那I/O狀態如果又是open-drain output,許多週邊裝置根本連動都不會動,因為根本無法輸出digital high level voltage,例如I2C。

而對於應用功能開發而言,軟韌體工程師又是首當其衝。

就算去查軟韌體程式碼查到天荒地老都沒用,因為根本不是軟韌體程式碼的問題。

這是很基本的問題,但確實也是台灣業界常發生的問題,足以讓純軟體背景的工程師不知所措、浪費一堆時間。說真的這些是很浪費時間的事,但問題就出在基礎不紮實。

純軟體背景的主管們,如果只考應徵者一些關於資料結構、排序演算法之類的東西,對於上述這類問題來說,能有幫助嗎?還是只能期望每位硬體工程師每次都很給力?

2021年9月4日 星期六

適合初學者的【嵌入式系統基礎原理與實務課程】

‼ 在此推廣一下 適合初學者的【嵌入式系統基礎原理與實務課程】‼

👉 本po文的影片內容為一個簡易的小範例,由8051 MCU GPIO之Output(輸出)驅動LED完成簡易跑馬燈功能。

影片內容包含從操作KEIL C51 IDE的免費評估版對程式碼進行編譯,並且藉由 ISP (In System Programming) 燒錄方式(便宜又好用) 對8051 MCU進行燒錄並觀察執行結果。


.

❓ 看完這篇po文的demo影片,或許有些學員會感到疑惑,這影片的跑馬燈功能,豈不是在學校課程裡面就看過/做過了? 這不是都很簡單嗎? 

 

不用擔心 🥸,其實這些表面上簡單的demo功能的背後,其實有著許多深入的學問和需要學習的基礎觀念,在業界做深入的技術問題時很可能會需要這些觀念,而許多大學學校課程不一定會詳細教背後詳細原理,也可能是學員過去從來沒有仔細思考過的較深入的基礎內容。

.

以這個po文的demo影片內容來舉例背後涵蓋的基礎內容,例如: 

👉 以8051實際實作範例說明低階語言 (組合語言,Assembly Language)與C語言(高階語言)的實際差異介紹

👉 介紹8051 指令集 (組合語言 其實即為對應指令集 的 助憶符號)

👉 MCU的原廠官方Datasheet技術手冊的基本閱讀能力

👉 MCU內部架構、GPIO架構原理(例如Port0的open drain是指什麼)、暫存器存取、記憶體組織架構

👉 MCU外部介面電子電路原理(與基礎,包含數位電路和類比電路及訊號的基本觀念)

👉 C語言的各種技巧與重點(包含8051基礎應用以外的平台的韌體開發常見內容和觀念),韌體程式流程追蹤與撰寫

👉 整合開發環境(IDE)操作

👉 ISP燒錄韌體之方式,以及燒錄器所對應軟體之操作 


上述內容在本學習區所開設的課程內容中都會詳細講述,

.

許多學校課程會講的內容,本課程當然會涵蓋到;而就連許多學校課程裡面沒講到的(詳細細節原理與實務開發經驗),在本課程內還是會學到。

.

註: 這門課的核心並不只是教你8051 Microcontroller,而是關於嵌入式系統(Embedded System)的軟硬體入門理論觀念與技術基礎,

同時也會補充許多「真正的計算機概論」的重要內容,不要懷疑,多數人不一定真的有理解過,包含: 

👉 何謂電腦?

👉 何謂嵌入式系統? 

👉 何謂跑non-OS及何謂有跑OS的電腦(計算機)系統

👉 何謂CPU? 何謂MCU(微控制器)? 何謂微處理機? 何謂SoC(系統晶片)? 

👉 產業相關職缺類別與實際可能的工作內容情況(講師分享自身的產業工作經驗與曾經輔導多位學員的經驗)

👉 以8051 MCU作為範例實作的目標教材,目標是希望學員能打下紮實的嵌入式系統基礎,課程內容中會有一系列的基礎實作教學

.


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

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

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

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

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


2021年3月18日 星期四

【課程內容介紹】本學習區之嵌入式系統SoC/MCU晶片內部IO Port結構、Open-drain(開汲極)、Push-Pull output(推挽式輸出)等相關課程內容介紹

歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)

近期在對擔任韌體開發工程師的學員進行授課的過程中,以8051 MCU作為實驗目標教材,介紹到了8051 MCU四組I/O Port的內部硬體結構和運作原理,


尤其是Port0的部分,因為其兼顧作為8051存取外部記憶體所使用的Address/Data bus的IO Port,當談到如何將其作為一般用途的IO Port(GPIO)時,也會介紹到Open-drain(開汲極)與外加Pull-up resister的相關原理,也會藉由ST官方的STM32 MCU AN4899這份AP note資料手冊的GPIO內部結構圖來額外補充Push-Pull output(推挽式輸出)的概念。


ST官方 STM32 MCU AN4899 AP note

並且會說明在軟韌體層面(以組合語言/指令集說明),是如何與上述的IO Port硬體運作進行相互作用/搭配而共同完成開發者肉眼可視的這些IO功能。

此外,關於8051 MCU之Port0搭配Port2作為存取外部記憶體所使用的Address/Data bus的相關原理的部分,雖然現在的MCU很少直接這樣做了,但是仍為學習底層相關原理的一個重要概念,故仍然會在課程內對學員進行說明。


相關文章:

1.【課程介紹】本學習區已開設 & 未來即將開設之嵌入式系統軟韌體技術課程 & 課程特色!

2. 許多人對於8051 MCU常有的錯誤觀念討論與闢除 (2020/10/12更新) 


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

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

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