電機控制和Linux驅(qū)動開發(fā)哪個方向更好呢?
先說結論:任何一個領域,就像世間的五行,陰陽結合,虛實結合,利弊結合。對于哪個更好,不能一概而論,最重要的是要搞清楚,你更適合哪個?
1、共鳴
當我看到這個問題,也確實是我早些年時所面臨的抉擇,不由得過來回答一下,一來表達自己的看法,二來想以此在互聯(lián)網(wǎng)上發(fā)光發(fā)熱,影響和幫助更多的人!
2、洞悉
要知道電機控制和Linux驅(qū)動開發(fā),哪個方向更好,首先要知道這兩個方向主要是做什么的!
我相信,大多對這個問題有疑問的,都是站在了岔路口,兩個方向都不清楚具體的情況。
2.1 電機控制主要做什么?
電機控制,就是控制電機了唄!那控制電機都需要用到什么技術呢?
電機種類與特性:電機有五花八門,什么直流電機、交流電機;又分為有刷、無刷、單相、三相等等各種類電機的基礎知識得熟悉吧
控制算法:想要控制電機,最重要的是控制算法吧,PID你得會吧,三環(huán)控制理論你得搞明白吧,一大堆的理論推導你得熟悉吧,數(shù)學基礎你得有吧!
控制策略:各種各樣的控制策略得了解吧,什么矢量變換控制、直接轉(zhuǎn)矩控制、直接功率控制、無傳感器控制、自適應控制等等,這里面又牽涉到需要物理知識,信號處理知識等等。
驅(qū)動代碼實現(xiàn):這一部分反倒在整個電機控制中不那么重要了,基本就是根據(jù)算法實現(xiàn)C控制代碼,常用DSP開發(fā)。
從事電機控制方向,一般來說對理論知識、控制算法等方面要求較高,學習不易,但是相對來說,門檻高的競爭反倒會小一些。
上面大致列舉一下,如有紕漏,請包含.
2.2 Linux驅(qū)動開發(fā)主要做什么?
Linux驅(qū)動開發(fā)主要也分為兩個方面:Linux總線驅(qū)動開發(fā)和Linux外設驅(qū)動開發(fā)。
2.2.1 Linux總線驅(qū)動
這一部分主要是芯片原廠需要做的,芯片Tapeout后,需要支持Linux系統(tǒng)就需要去實現(xiàn)Kernel總線驅(qū)動。這部分主要包括
各類子系統(tǒng)的開發(fā):IIC子系統(tǒng)、SPI子系統(tǒng)、MMC子系統(tǒng)、CLK子系統(tǒng)、GPIO子系統(tǒng)、Pinctrl子系統(tǒng)、中斷子系統(tǒng)等等。
BringUp工作:這部分就是實現(xiàn)芯片從上電->uboot->kernel->rootfs等整套啟動方案,供客戶使用。
文檔撰寫:芯片要提供給客戶使用,需要些SPEC以及開發(fā)指南等文章。
從事Linux總線驅(qū)動開發(fā),由于技術的迭代,底層驅(qū)動的實現(xiàn)一般不會有較大變化,很大程度上是維護工作,支持工作。
2.2.2 Linux外設驅(qū)動
這一部分,就跟我們經(jīng)常使用STM32做的開發(fā)工作差不多了,更偏向于開發(fā)Sensor開發(fā),外設開發(fā)。
各類傳感器開發(fā):比如MPU6050、激光傳感器、攝像頭傳感器等等
各類外設的開發(fā):比如PWM控制,WiFi與BT開發(fā)、顯示屏開發(fā)、音頻開發(fā)等等
從事Linux外設驅(qū)動開發(fā),主要是面向產(chǎn)品的,公司每迭代一次產(chǎn)品,都需要去維護外設功能的穩(wěn)定性,可能會比較卷。
3、總結
以上僅僅大概列舉了一下,肯定會有所紕漏。
就拿我來說
我是做過電機控制的,當時在世界500強企業(yè),整體加班強度也不高,整體也不錯。
但是我覺得對于電機控制,大學專業(yè)畢竟不是學的這方面,并且牽涉到物理、信號處理、電機控制理論等知識,自己消化起來較為緩慢,于是才果斷轉(zhuǎn)到了Linux驅(qū)動開發(fā)方向,目前也挺不錯。
我只想說明一點:每個方向的好與不好,不是非黑即白的,重要的是看你自己適合什么!
編輯:黃飛
-
電機控制
+關注
關注
3539文章
1896瀏覽量
269151 -
Linux
+關注
關注
87文章
11342瀏覽量
210152 -
驅(qū)動開發(fā)
+關注
關注
0文章
130瀏覽量
12092 -
總線驅(qū)動
+關注
關注
0文章
8瀏覽量
3713
原文標題:電機控制和Linux驅(qū)動開發(fā)哪個方向更好呢?
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論