2019年8月21日 星期三

日新月異的技術演進

雖然我還在用我所熟悉的MCU 或系統平台在開發系統。

但回頭再看看現在年輕一輩的工程師們。他們的確比我們以前幸福多了。

有很多東西:諸如EV 版或是甚麼學習版,只要在網路搜尋一下,不管是從國內或是

淘寶網乃至於原廠官方網站,都可以很快地取得既便宜又完整的所有軟硬體資料,

都可以在短短的幾天或幾周內,就很快地搞出一個非常棒的Demo Kit。

不管是哪一款MCU 或是哪一等級或應用領域的MCU,都是很容易的快速上手。

像以前我們剛開始要學的 8051 ,還得到處找看看有沒有賣開發平台版的。

甚至還要找人要組譯器或開發工具的。現在啊~只要你到淘寶網隨便買個開發平台,

不要說附上破解版的組譯器,甚至完整的應用領域的原始碼都給你。


你要說理論學理,也都幫你整理了。還附上解說影片,(以現在網路速度來說,

這些教學影片算甚麼?都已經雲端了,根本也不一定需要下載來看)



更不用說原始碼了,還都跟你保證已經幫你整理打包成開發平台的 project 檔,直接

import 進來,組譯在下載到EV 版上,保證可以讓你的無刷馬達轉動起來。

你還需要花錢出門去報名上甚麼技職課程嗎?只怕就是你懶而已。

所以啦~再加上現在許多網路資訊與資料完整。坦白講:許多單一領域的技術入門真的

不難了。像以前我們在搞電動機車時,我們部門或計劃經理主管,總覺得要培養一兩個

無刷馬達控制或找個會寫這方面程式的工程師很難,但現在以我自己所觀察到的現象是:

真的有那麼難嗎?那更不用說:現在甚麼USB 、SPI、I2C 或是PWM 應用領域。

就拿媒體或報章雜誌所講的甚麼AI 人工智慧或是甚麼雲端大數據的。

現在連我發現我小孩直接用FPGA ,外加寫個小程式,馬上就可以讓你看到一張

影像識別的找出人、狗或物品所在位置。他還跟我說:這還不是人工智慧的東西。

想一想:三十年前我大學畢業時,我會甚麼東西?這些東西對我來說:好像就像

天方夜譚一樣。但是看到他坐在電腦桌前,隨隨便便就可以馬上跑出結果給我看。

看得我連要怎麼發問都不知從何下手?

但話說回來:有些事情卻還是需要時間與歲月的累積。

就以我自己所從事的車用電子系統來說:這些系統整合的東西,還真的有點冷門

與經驗累積,雖然現在車用電子系統平台也隨著所謂開放式開發平台整合,

譬如像所謂的 AUTOSAR ,其實,就像這些網路上充斥的EV 版或 Open Source 東西

一樣,你可以很快地打通所有系統周邊環節:譬如SPI/I2C/UART 很快地對外連結,

AD與DA 乃至於PWM,也可以讓你的周邊零件動起來。但永遠不變的是:

你怎麼整合機械與電子系統的整合開發測試?

但我也跟你說的是:這些其實才是真正要花大錢,辛苦揮汗的時候,但有些老闆或客戶

不一定懂,當他們看到你把那個平台設定好,週邊零組件動起來時,他們以為事情已經

差不多可以了。錢也不用再投資、花下去了。而對工程師們來說:你痛苦的日子也才

開始而已。

所以啦~這些網路平台所提供的這些開發平台或是Open Source 對我們來說:到底是好事?

還是壞事呢?

不過可以確定的是:過去我們所熟悉的那些老生常談的單一基礎理論領域的工程技巧,

已經很難可以拿出來說嘴了。就像我十幾年前開始寫USB 相關文章時,就跟大家說過

了,這些東西已經不會是甚麼偉大的技術或產品了。也更不用說:你還想做個USB

ROM 模擬器或是搞個甚麼無刷馬達學習版啦。

如果你真的想聽聽我比較正向或比較有建設性的看法的話,以我自己在車用電子系統

應用領域的經驗來說,或許大家可以去研究一些公司:德國的ETAS 或是Vector 這一種

公司。(ETAS 已經被BOSCH 收購成為BOSCH 集團成員之一了)

看一看這一些公司在做甚麼技術或產品?再從這些產品與技術來看人家工業與國家

技術開發走向。

下回當你要從網路找個EV 板或是要下載一些Open Source 時,不妨也多花一點心思

想想:當我在做這些事情時,那別人是不是也可以做同樣的事?那我到底比人家

好在哪裡?強在哪裡?是不是一個很簡單的基本問題而已啊!

===================================================
四小時後的補述:雖然現在有很多EV 版或 Open Source。真的不是拿來為了甚麼,

而學甚麼。而是要真正能從這些平台中可以讓你去創造或找出能陪你在人生職場

上能夠長長久久走下去的動力。當然啊~有些時候環境是現實的,但也真正悟出

這箇中道理的,才能走下去的。


7 則留言:

  1. ..有些老闆或客戶不一定懂,當他們看到你把那個平台設定好,週邊零組件動起來時,他們以為事情已經
    差不多可以了。

    看您的文章常常會出現幾句很有感覺的...

    回覆刪除
  2. 當硬體思維套到軟體上就會這樣。硬體做完,就可以賣了。軟體不是這樣搞的,軟體可以升級,所以變成是一連串升級及維護動作。
    若是一個軟體太多沒有更新,反而人家會覺得沒有維護,結果下載率反而會降下去。硬體思維總是認為會越賣越好,軟體實際上就是相反。
    Firmware原本是夾在中間,因為IOT的關係,現在比較像軟體,也因為firmware的硬體跟上來了,所以可以做的動作也多了。

    MCU產品的思維,現在真的要換位重新思考。以前是硬體,現在是軟體。不能再用硬體的Rule再玩下去了,當大家都換成軟體方式去看待MCU,MCU的軟體工程就要跟上來。就是要像PC的功能一樣,雖然運作本質不同,但使用者就是如此想,那做產品的又還可以堅持說以硬體的方式來使用?

    思維要能跟上時代,不然就常常會掉入這一類現象中出不來。

    回覆刪除
    回覆
    1. 這的確是的!講得很好。

      "MCU產品的思維,現在真的要換位重新思考。" 這不僅影響現在所推陳出新的MCU:

      當然主要就是32bits, 但我想這也會回頭影響原來 8位元的MCU 市場觀念。

      就像當初我在搞八核心MCU 時,當初我覺得它的基本架構很好,可以在市場應用面去嘗試

      不同的產品與應用。但這一部分一定在讓市場的應用者可以在軟體(韌體)上去發揮。

      這個先決條件就是要 Flashed Based,讓使用者可以在這個平台上不斷的嘗試。

      當然那時候的 Arduino IDE 的出現,也是一個重要的機會與警訊。

      不過,台灣的產業還是有很嚴重的"硬體"製造思維,他們認為還是以硬體成本為主,

      軟體只不過"附屬的免費產品"。所以他們後來不惜從八核心再回到以硬體價格為導向的單核心。

      我離開沒多久,遠翔(現在已經被合併消失了!)的業務主管有找我去他們公司聊一聊。

      我就知道這樣子產品的市場觀念是完全偏了。所以已經過了十幾年,這個東西在市場上

      也無需要多加討論了,因為這個東西在市場上,就可以用一般非常稀疏平常的MCU ,

      不管是8 bits或 32 bits MCU ,都可以架起一個非常有效率的 uC-OS II ,

      也都很容易的達到當初八核心架構所呈現出來的效能。(這方面的範例在網路也非常多了!)

      所以啦~隨著 IOT 的應用,我也相信:在軟體應用方面會更有長足的發展空間,

      反而慢慢地硬體所扮演的角色,也會從主流成為附屬的價值而已...

      至少已經不會像以前那麼蓬勃發展的令人稱羨的~尤其這十幾年來已經是如此了。

      刪除
    2. 當初那個x核心的優勢是一般MCU+RTOS,task tick弄到1ms就已經算很小了,因為task switch本身是有成本的(save/restore context,如暫存器,stack pointer...),所以如果用RTOS+MCU+GPIO搞純軟體I2C就會有速度的瓶頸(更不用說SPI),但x核心可以搞到us等級,當初有沒有用到這個優勢做出成功的產品小弟就不知道了

      但到了現今,STM這種隨便就超過60MHz,裡面亂七八糟的週邊一大堆,很少需求需要用GPIO硬刻什麼出來,我用 RTOS 也不需要硬拼tick(1ms就很好用),而且用RTOS只要記憶體允許,20-30個tasks稀鬆平常,不像硬體核心有先天的限制

      而且不要說uC/OS-II(他是要付費的),FreeRTOS不但免費而且有Amazon背書,Amazon是現今雲端服務領導廠商(>60%市占率),哪種組合在IoT比較有未來大概不用我多說了

      刪除
    3. 以當初的程式記憶體空間來說:也大概只能作一些簡單的GPIO 的Realtime 控制而已。

      而又換個角度來說:如果只是做這個IO 的 Realtime 控制來說,

      那我把task tick 搞到 us 不行嗎?在使用上還是可以突破當初硬體架構的限制。

      但我記得老闆的理想是想把這個東西可以搞成讓User 去規劃一些類似FPGA (韌體based)

      的東西,譬如可以拿來做為類似USB SIE(serial Interface Engine)。

      這在理論上是可行的,但問題還是出在硬體資源的支持:包括以先進製程提升效能,

      外加比較大的開發空間(就是程式碼空間,就像FPGA 的Gate counts 數)。

      不過,這又回到硬體成本考量,所以還是回到大家習慣的"硬體製造思維"。

      對啊~我記得當初IC Designer 講一句話:"程式碼空間幹嘛要給這麼大?1KBytes 就好了啊。

      客戶沒多少程式空間可寫時,就可以很快完成產品,就可以馬上出貨了啊!"

      是啊~客戶沒多少程式碼空間可以發展系統時,當然你的產品可以搞的市場也是非常有限的啊。

      搞甚麼?就是一般玩具或簡單的IO 小玩意等而已啊。人家遠翔就不會嗎?幹嘛還要賣公司啊?

      道理是顯而易見的啦~以現在回頭看結果...

      刪除
    4. 還有一個問題,現在很多人把Linux上的code(不少是device driver)轉給RTOS用,那如果IC廠要搞自己的架構,又沒有像樣的C compiler就會流失一大堆客戶,園區的晶x科技(MxK投資的那間)就砸大錢養了一個compiler team,讓gcc有能力支援他們專有的指令集,據說...整個亞洲也才7個compiler team

      刪除
    5. 我個人常常開玩笑說:現在以投資技術觀點來說,是的。大家都講得非常有道理。

      當然要有自己的核心軟體技術啊。但是在從市場或客戶需求來說,真的投資了就會有績效或獲利嗎?

      那就未必了。那還得看你的業務或推廣能力了啊。否則那些大概就只能拿來純練兵用而已。

      那在以每個工程師的角度來看:當你從是這樣子研發工作多年之後,能帶給你甚麼啟發?

      一份薪水而已,還是可以帶給你不同的市場的技術開發視野或觀點?

      否則,回到最後,就還真的一份工作而已,以台灣的軟體就業環境來說,還是有很多老闆

      還是搞不懂這些軟體開發之間有甚麼不一樣的?還是把這些人當作MIS 在用呢?

      為什麼人家google 一樣把 linux 改寫之後,成為 Android ,那別人就不行?

      我講的步行,不是從技術觀點,而是從市場推廣的角度來說,這或許才是從技術以外的

      大家所必須去了解的一件事吧。

      刪除