2018年11月24日 星期六

USB DIY--自學計畫_USB新平台(四)

話說外面選舉炒得沸沸揚揚的,但對我來說:還真的不如坐下來整理一下部落格。

政治這個東西,只要你歷史讀得多,你自然就會懂一些來龍去脈或是背後隱含的意義。

只謂是:世事紛紛一局棋,輸贏未定兩爭持;須臾局罷棋收去,畢竟誰贏誰是輸?

所以對我們這一種信仰技術為終身志業的工程師來說:倒不如真的謂之:

細推物理需行樂,何用浮名絆此身?(唐,杜甫,曲江二首之一)。

對於我們搞系統來說:到底是要從事硬體好呢?還是專注軟體工作就好?

有人說;我們東方人還是喜歡從硬體去秤斤兩賣,老闆只看到硬體的東西才會報價。

至於軟體呢?那就聽聽就好。但是又有人說:未來的世界是著重看不到的軟體系統整合。

硬體也只不過就是一種供應鏈中的一個製造業而已。那你自己覺得如何呢?

坦白講啦。自從我約十年前看到 Arduino 的興起時,我是比較有感覺到硬體的不歸路。

尤其我自己本身也搞過引擎控制器,說真的:硬體電路的東西,說穿了,還真的可以

論斤論兩的賣。那至於軟體,尤其是有牽涉到許多各領域專業知識時,這還真的不只是

寫程式軟體的東西而已。之前我有說明過引擎控制器的核心軟體部分。現在我再舉

另一種車用電子部分:ABS 煞車防鎖死(大陸用語是防抱死)系統。

上圖是一般ABS 的基本架構,原則上就跟汽車的基本觀念是一樣的。

這是作用原理。基本上大家都差不多有同樣的認知的。這就跟我們寫一般程式觀念是

一樣的。反正寫程式嘛 ! 就是大家用十根手指頭寫的。至於要如寫出好程式?

不好意思,有很多機電整合的東西跟你我寫手機APP 是不太一樣的。


上圖是理論,但實際呢?(其實機車的ABS 跟汽車的ABS 真的差很多的啦,汽車行駛中

的剎車,就只有一個(腳上踩下去那個),但機車的剎車卻分成前後分開各一個的。

而且以你自己開車的經驗來說,除非真的很緊急或特殊路況,否則你真的開車開幾年,

也未必會碰到一次ABS 啟動情形,但機車呢?實際上,真的不用一兩公里,碰到幾個

紅綠燈或巷口岔路口,你機車的ABS 可能會啟動個N 次絕對不為過的。) 當然啊~

不管是引擎控制器或是ABS 系統,其實在你開始動手寫程式之前,還有很多基礎科學

或是工程工作要做,譬如說:噴射系統的每一隻噴嘴的線圈與電磁閥都可能都要仔細的

探討其動態特性,還包括了耐久或老化問題。ABS 中的液壓閥也是,那就更不用說:

最後系統整合過程中與引擎燃燒特性或與車身穩定、剎車制動系統,乃至於輪胎特性等,

許多基本系統搭配的基礎研究與資料收集分析工作。
否則當測試結果一出來,發現還是有點不太一樣的。但要如何能趨近於理論呢?

呵~呵~呵~ 我上一篇有提到了:就是錢的問題。做甚麼研究都是要砸錢的。

這花錢還算是小事,但如何把花的錢再變成可以賺回來的錢?那可是不容易的啦。

產品開發賺錢的基本公式就是 == Gross Profit(Margin)/Cost == 毛利/成本。

但很不幸的是,分子的 Gross Profit(Margin) 往往常被市場價格所制,尤其是去搞那個 Me too

的產品,也就是世界上已經有人開發銷售中的產品。中國最喜歡這一種,而且還很會從

看得到的硬體架構去拆成本。然後呢?就會從分母的 Cost 去擠出賺錢的毛利率。

而最好的成本控管就是拼命的縮減開發研究、人員薪資、零組件成本等等。

這些賺錢的理論,不用去上花錢貴森森的EMBA 高階經理人課程,你一聽就懂。

所以呢?就以拿 USB 系統產品來說:光如何掌控軟硬體與系統整合成本呢?

你覺得應該要找多少人來搞?外包時,你認為是花多少錢才可以呢?所以我才常常說:

如果可以找五個人做得到事,老闆絕對不會想找十個人來做事。這是理想情形。

但如果對於很不確定的產品、市場或客人的話,那就最好可以找到一個人可以搞定的。

也就更不願意找兩個人來做事了。所以這一個人就最好是十八般武藝樣樣皆精通是最好的。

所以這也就是為什麼我十年前看到 Arduino 所創造的 Home Maker 市場的興起。

為什麼人家會朝向所謂Open Source (開放源)的市場趨勢發展?很簡單,這就是一種市場

供需問題的趨勢。但很不幸的是:在這個趨勢過程中,讓我第一個感受到的市場產品

就是硬體的東西。所以就出現了許多 Arduino 擴展版的應用市場。硬體也要慢慢地朝向

簡單上手的第一印象。

所以這一次我決定再搞個USB DIY 的東西,我就真的不太喜歡太複雜的東西了。



這個原廠的東西真的太複雜,太大了。現在人家年輕人願意搞系統都已經不容易了啊。

現在主流媒體總喜歡炒作年輕人搞甚麼文創、搞烘培、搞咖啡、調酒等等出國比賽就

風風光光的,搞得現在哪有多少年輕人還願意躲在實驗室裡搞軟體寫程式的?靠~

你還要人家也順便會看電路圖,還幫你搞硬體 Debug ?有沒有搞錯啊?

所以我是決定也來簡單的 DIY 的搞個最小USB 開發平台版。(現在網路中一大堆標榜著

甚麼最小 32 bit ARM 開發版的~)。


這應該算是我所看過最小、最簡單的 USB 的開發平台板子吧。


再看看背面,還真的很少零件就可以做到可以直接與PC 對接的系統平台,

你說:如果以前要跟PC 對接,還要以UART 再轉個USB,再早一點的RS232 也都還要

搞個 RS232 的 Transceiver 呢。最重要的是:這棵USB MCU 還是 QFN(3mmx3mm) 20 pin

包裝的而已。所以真的很容易地做到 USB Bridge 功能。這樣子要拿來做USB 相關

測試或檢測治具。就連 一顆 Power Regulator 或震盪晶體也沒有,因為UBS 本身就帶著

 5V 電源供應,也真的蠻方便的。也可以真的做到真正精簡硬體電路方式。

或許這也就是所謂的市場趨勢吧。否則啊~像我這一種 LKK 的老工程師怎麼還有辦法

再搞這一種跳線的洞洞板呢?再回頭看看二十幾年前DIY 做的 8051 學習板子:



嚇死人了,這個還沒有任何直接與PC 連結介面功能耶。

或許對於往後的USB 系統開發或玩玩USB 工具也蠻不錯的嘛!

小小的一個DIY 分享給各位。

補註 PS:如果你要問我說:有沒有機會用 STM32 這一種 ARM Based 的架構平台?

其實這個問題也一直在我內心糾結,當然以學習應用成長機會來說,我當然是希望

用STM32 這個東西,但真的不好意思,我也真的有點年紀了。

有時候也真的心有餘而力不足了。想一想:我再搞這些東西還有幾年歲月機會啊?

而且人生可以做的事情還有很多啊,我真的需要還要把自己搞得像小伙子一般嗎?

當然在工程上還有一個很重要的觀念與想法:如果能用 8 bits 做到的事,我為什麼還

非得要用 32 bits 的呢?或許當你過了五十歲時,你大概就會懂了吧。另外,

坦白的說:當這樣子的MCU 也都降價到兩者相差不多時,為什麼你還要糾結這種事呢?

不是嗎?

28 則留言:

  1. http://m5stack.com/
    在大陸強力支援下,Arduino看來已是無法避免的。

    回覆刪除
    回覆
    1. 我覺得這一塊市場的主要影響因素還是在於軟體開發平台的友善程度。

      畢竟會從這一塊市場切入的,還是都以較偏軟體的角度來參與的。

      但不可否認的是 Arduino 這個名字的名氣實在是太大了,往後的市場新進者雖然在硬體規格上

      都開出漂亮的效能。但還是沒辦法跳脫 Arduino 所帶出的市場印象。

      所以啦。市場開創者,不是在於硬體或軟體優劣,而是在於所開創的一個簡單創意想法。

      不管是Arduino 、Raspberry、Linkit 或ESP32 等。所有只要是非MCU 或Processor半導體業者

      都還是會以模組形式來推廣其產品概念。

      至於對MCU 或 Processor 廠來說:多一個MCU 或多一家廠商,真的有那麼重要嗎?

      在我看來,我的反應大概也只不過是:喔~又有這麼一家了喔?

      畢竟整個終端市場來說:標準化、大量市場走的還是傳統系統整合設計方案。

      至於這一種市場,要 Home Maker 來玩玩的,在半導體設計與製造業者眼中還是屬於小眾市場的。

      所以像Intel 、Broadcom 乃至於 MTK 可能還是不會把他當主力產品的。

      就連 Arduino 的 Atmel 都已經賣給 Microchip 了, Arduino 團隊除了一個低階 UNO R3 外,

      其他的產品線看來也沒有多大的市場吸引人的。這個市場喔~對半導體廠來說就是一個雞肋市場。

      我的看法是如此。你認為呢?

      刪除
    2. LinkIt 7697比拼ESP 32,誰能勝出?

      https://makerpro.cc/2017/05/linkit7697-vs-esp32/

      ----

      補充一點:不過這樣子的產品與市場,的確會對一些喜好電子科技的人或新創公司帶來一些契機吧。

      畢竟對於新創公司一開始的開發成本來說:畢竟可以先撇開硬體成本,而可以專注軟體開發。

      我想這也是這些公司在推廣自己MCU 或 Processor 的想法吧。其實這也會改變傳統IC 代理銷售

      的生態。

      刪除
    3. M5Stack主要是結合樂高,同時合併到機構設計,不是純的軟體+電子。目前列為觀察對象。

      刪除
    4. 嗯~那就列入觀察對象。

      以 32 位元MCU 的類似產品好像也沒聽說誰的模組賣得比較好喔?

      我剛剛也查了一下這個相關 M5Stack 價格。其實也不便宜耶。

      現在 Arduino 的板子已經低到便當價格了:NT 65~80 不等。

      https://find.ruten.com.tw/s/?q=arduino+pro+mini

      這一種市場價格,還真的不知道說甚麼了。其實以賣MCU 的來說,還是蠻好賺的。

      只不過,這一種市場又不能只看MCU ,但又偏偏人家又已經賣這麼低了。真是討厭。

      這個從Arduino 以降,也算是一個很成熟的產品概念了,所以價格就成了市場一個重要指標了。

      刪除
  2. 全伯先生:
    我觉得还是要花点时间学习一下STM32,不要用什么STM32CUBEMX了,就直接用固件库就可以,里面也有很多例子,修修改改就可以了。另外找到一本好书,把例子实现一下,真的很简单的!建议您一定试试,我愿意给您一些小小的帮助,包括有用的书籍和芯片介绍。
    一旦突破了这个ARM 32位的领域,选择面立马宽阔很多,调试什么的使用JLINK的JSCOPE功能,可以动态观察波形,如果使用UCPROBE,也可以做成很好看的调试监控界面。10年前看您的帖子,对我影响很大。但8051真的很有限,当然因为很简单,可以把精力都花在算法的设计上,所以我这段时间还有用EFM8BB10F8G做玩具机器人的舵机控制,效果也很不错。但现在随着国内芯片厂家的兴起,有很多不错的ARM的芯片出来,所以学习ARM也是很有用的,而且也并不意味着学了ARM后还要学很多芯片,这个并没有这个假设呀,学了ARM后,包括我的有生之年估计都不想学什么更新的东西了。
    我现在搞电机控制,如果没有像STM32之类的好用廉价的芯片去做FOC,那么用C8051是没有很好的方式去生成3相互补PWM的,而电机控制有点接近您的引擎控制的感觉,所以受您影响,我就比较喜欢玩机电一体化的东西。
    使用STM32CUBEMX可以分分钟生成基于STM32F103的USB控制例子,就是控制LED灯的亮灭,还是蛮高效的。当然,我是看了YouTube的例子照做的,在您这边没有网络的限制,看YouTube是很方便的,真的建议您学习STM32,一定没有您想的那么难。一切困难都是源于内心的恐惧,您说是吗?等您越过了这个障碍,您一定会相信我说的。

    回覆刪除
    回覆
    1. 個人是覺得您也太小看版主了。人家不用不是不能,只是沒有合適的機會。另一個問題是沒有時間,人家的層次已提高到市場技術,而不是MCU技術。
      這個和個人的認知域有關,您是技術人員,會以為版主在技術上不努力。
      但我看到的是,超越技術後,市場須要的/需求的是什麼? 如何用技術做出來。

      刪除
    2. 嗯~謝謝你協助回答。

      以前我也搞過電動機車。我當然知道 FOC 非得要用 32 bit MCU。

      今年四月我也有寫過一篇這方面的文章:

      http://chamberplus.blogspot.com/2018/04/blog-post.html

      我手上也一堆 STM32 的板子與書籍啊。都是從對岸來的。

      我說過了,"當然以學習應用成長機會來說,我當然是希望用STM32 這個東西"

      但是呢?對~我學會之後呢?多一項技能?可以多一份找工作的機會?

      你覺得像我這個年紀,人家找我去上班,就只是希望我能用 STM32 寫程式領薪水?

      我當然知道以前我們年輕時,多一項技能可以多一份工作機會。尤其是在人才濟濟的就業市場。

      尤其像在中國大陸,人多要出頭真的不容易,所以努力的多一份機會總是一個希望。

      以前在台灣也是,但我是覺得台灣工業有點開始轉型了,有很多東西的確是俯拾即是了。

      所以如果還要玩 STM32 就真的只是純粹好玩,消磨時間吧。

      其實不要說 STM32 啦,就連簡單的 8Bits MCU(像 Arduino),都已經都是用 C++ 觀念在

      整合程式觀念了。這真的是許多搞軟體出身的專業,我們還是只是玩玩一些小玩意的可以。

      (我說的意思是:人家這一種寫程式的基本訓練與寫程式的技巧都不是我們的專長,

      人家寫程式一下手就是定義 CLASS、STRUCT等。那是長時間在單一領域磨練出來的本能。)

      我不行,因為我還得畫電路圖,搞PCB 外加一些有的沒有的。那更不用說:還得看規格,

      討論產品市場定位及競爭優勢在哪?尤其有很多東西,也都不是從技術這一個簡單的想法這麼單純。

      否則,講難聽一點:找人搞PCB 板子,寫程式這檔子的事,肯定是搞不過對岸的人才濟濟啊。

      但是就算是對岸人才濟濟來說:就真的比較有優勢嗎?看看世上每每令人驚豔的產品缺都還是

      來自與歐美日啊。就算DJI 大疆的四旋翼空拍機來說:沒錯,他是世上最大供應者,

      但一開始的產品概念或是程式架構也是來自與西方國家啊。(這一開始也還是 OPEN SOURCE的耶!)

      到了我這個年紀,想的已經不是技術,尤其是還要看那個 Me too 的東西。

      我在想的是:有沒有甚麼東西,可以用很簡單的方式可以做到一樣令人驚豔的東西或產品?

      那諷刺地來說:還真的得在越低階的平台找還比較有機會,否則,你用 ARM ,人家也用ARM。

      那要比甚麼?我就跟你買就好了啊。不是嗎?

      刪除
  3. 網誌管理員已經移除這則留言。

    回覆刪除
    回覆
    1. CHAMBER先生:
      上面的人不知道是有意还是无意,完全凭他的主观武断,把我的意思搞偏了!我当然知道您是全栈式高手,也搞过公司,何须他来告知,我看您的BLOG接近10年,难道我还不知道?!
      我的意思是说,您不要太在意什么年龄的问题,使用更好一点的单片机,而且是生命周期很长的这种,完全值得使用,没有必要被8051给束缚住,哪敢有任何小看您的意思,我可是您的老粉丝喔。
      超越技术,大家都知道呀!拿着个锤子,当然希望满世界都是钉子,就看不到其它了。市场和技术难道又不是鸡和蛋的故事?哪有什么先后关系。技术人员都觉得自己有点本事,都会想法去单干,一般来说都不成功。原因何在?我以为创业和工程设计是两回事,因为创业是面向未知,得摸着石头过河,而工程设计则是先要全盘想好,再逐步实现,当然也有摸索的过程,而这个也正说明就算是工程设计尚且要有曲折的过程,何况创业。而越是优秀的工程师,就越是会受其专业训练的束缚。这是思想上的束缚,很难自知,除非有了主动的反思才有可能。记得有个小说说过一个人受到法西斯的迫害,被关在一个小屋子里,等到重获自由后,与人对弈思考时来回踱步的距离正好是小屋子的距离!这就是茨威格的《象棋的故事》。

      刪除
    2. 喔~你也不用太在意上述的說法。我想您也說了重點了,大家都是搞工程,一板一眼的工程師出身的。

      自然也難免會文人相輕。(這也是我自己的感覺啦。你也不要在意。)

      今年我也有花時間研究了一下:PowerPC 的SPC50 這一款MCU 。其實他也蠻好用的,

      功能也不小,只是他是車用認證過的MCU,真的有點冷門,所有的技術文件或相關資料,

      在網路上還真的只有原廠官方網站才有。但還是真的有點難搞得出一些名堂,因為許多MCU 應用

      產品,真的不只是自己一顆MCU 就可以搞定的,有些東西是系統產品本身的東西,而有些卻是

      系統發展所需要輔助的東西。尤其是越複雜的東西就越需要周邊工具或儀器協助。

      這些都是有個目標市場,就自然會引導你不得不去切入。話說有些系統觀念是一樣的,

      但還是有些東西還是不是很容易體會的到,就誠如我稍早回答的那些非常軟體的東西。

      不過,我是覺得工程的東西也都算還蠻容易處理解決的。畢竟他只有一個真理。

      但除此之外,像你說的創業,那還真的存在著許多並不像搞工程那麼單純的明白世界。

      沒錯,它就如你所說的:會不斷的刺激你不斷的去反思,反省自己是否有過度的防禦心?

      創業過程中需要許多非工程人員的協助,那是一種非常全面的思考與學習交流。

      如果沒有真正適度的卸下工程師那份堅持,有時還真的會讓自己不斷地遭到工程師那份堅持的反噬。

      或許這個就是我剛剛提到的:有時候就會想到,這會不會有點文人相輕?有點不太相信人家啊?

      (但有時還真的得防著人家)。就像我們在這裡所講的這些事。不是嗎?

      所以啦。大家還是心情放輕鬆一點,搞技術嘛! 何必這麼嚴肅呢?

      哪一種MCU 好?"得之我幸;失之我命"。 看開一點啦。

      刪除
    3. 這樣說,有幾點不認同,所以先回答。

      1. CubeMX是趨勢,在STM32F7及STM32H7已廢除標準固件庫,改用HAL庫。我看到反其道而行的,有點受不了。新手用了固件庫,反而斷絕使用好MCU的機會。

      2. 技術多以推展ARM詞語為主,好像學了ARM都不用再學新CPU。但你有注意到新的RISC-V要起來了?
      個人是認為技術更新是必然,8位元用了,遲早會用32位元。32位元用了,遲早會再上去。上不去,就從單核心轉多核心。我才會覺得你在強推。

      也敨你想的沒有說出來,那就多討論。所以有反應才是好事。

      刪除
    4. 1. 這回我重新了解另一顆USB MCU,我也覺得不太習慣新的IDE 環境。我也想回到傳統像

      Keil C 的環境,但我說我之前有摸過那一顆SPC50 MCU,不好意思,他也是類似 CubeMX

      的環境,沒辦法,你說的是一種趨勢,但這也是國外創造的。國內這麼多家MCU 廠,就是生不出

      這種東西。對啊~國內就是到處破解版啊。誰笨啊?去搞這個。寧願花很多時間去研究破解版,

      也不會做下討論研究一下,市場趨勢該如何進行,就是這樣子,我們也沒甚麼立場了。

      對啊~那到底是誰在主導這類產品的發展趨勢?人家改變不了我們這些老人家,那又怎樣?

      年輕人,新一代工程師能接受就好了啊。誰會理我們這些老工程師呢?再幾年後就沒聲音了。

      2. 以前我一開始學 8051 之後,我也發現 6502 也蠻多人用的,一度也想摸摸看,

      後來有一位曾在盛X(他在的時候稱為合X)用這個寫一大堆玩具IC,他說他現在看到 6502 就想吐。

      結果後來我也進了另一家也是搞玩具IC 大廠,也真實體會到這一種感覺。所以呢?

      沒關係,就像你跟我推薦的 ESP32 ,對啊~人家就是不用ARM 啊。也可能現在開始有一堆人

      看到 ARM 也想吐的人啊。所以啦~再漂亮的老婆,看久了也不稀奇了。 想換口味的自然就會

      想辦法去找新樂趣。(喔~這句話跟老婆比喻無關,不要誤會了)。只不過,人的習慣就是從大家

      比較熟悉的觀點來看新事物,來讓大家比較沒有違和感。而你也會如此想的啊。

      往往也有可能失焦了(喔~這句話也跟老婆比喻無關,不要誤會了~哈)。

      所以呢?就看工程師自己如何自我定位了,我說了:江山備有才人出。年輕一代當然就會用他們

      自己的方式來創造自己的價值,你說還叫我用 6502、8051?你想賣?不好意思。人家不玩耶。

      所有的開發工具也不精進了,人家也不再更新升級了。玩甚麼?也就像你之前提的:人家微軟

      年輕一代的CEO 也不想把公司資源再投入 Windows 了。那也可想而知未來的市場趨勢了。

      這些搞軟體的不鳥你了,你還要搞甚麼硬體?這也是國內許多IT 產業的人一時搞不清楚的地方。

      就等那一天來再說吧。不是這樣子嗎?

      刪除
    5. 更正一下: 是SPC560。而不是SPC50 。

      不管哪一種MCU ,而真正厲害的是 Eclipse 。

      https://zh.wikipedia.org/wiki/Eclipse

      再回頭看看他的歷史,早在我搞那個八核心之前就有了。

      如果當初也能採用這樣子的軟體開發概念,想必也會有不同的局面,但老中喜歡搞硬體的老闆們

      來說:誰真的料得到呢?我是不是也有一點事後諸葛,放馬後炮?哈~哈~

      刪除
    6. 6502沒有死啊! 只改進化到沒人認出來。
      STM8就是6502進化型,暫存器延伸長度,定址空間也變大了。因為和STM32共用IP,所以函式庫也有點像。

      也就是: STM32的函式改一下可能可以在STM8上用。
      原先的6502指令基本上好像都相容,但因為部分定址不太一樣,所以二進制檔燒進去應該也是不會動。還是要回去原始碼重編。

      刪除
    7. 同理:8051 或PIC 也不會死。但 Atmel 的我就不敢說了,因為他已經被PIC 收購了。

      前幾天我有碰到一位 Microchip 台灣主管,他說: Atmel 在 Microchip 裡面只會

      留住品牌,他的許多產品就不會有延伸產品了,就算要推新的,也只會打上 Microchip 而已。

      只是這些東西也未必是市場主流產品,也只有一些懂門路的小眾市場們會找一些人幫忙開發。

      就你說的:只改進化到沒人認出來。...如果你能找得到這種產品或市場機會也不錯的。

      真的。

      刪除
  4. 對了,最嚴重的是不具名。
    讓我以為你不知是那裏來的不清楚狀況的新人。

    回覆刪除
    回覆
    1. 不好意思,這位不具名的先生,是對岸靠近香港地區的人士,他能夠常來此地看貼文,

      已經誠屬不易了。那就更不用說,他還可以申請個 Google 帳號了。

      大家有緣在此發表自己的觀點,很好啊。珍惜包容一下,不是很好嗎?

      大家都是很單純的工程師,大家也都有其堅持的地方,那也沒辦法說一出口還會修飾一下用詞。

      這也是我們工程師們在辦公室裡,讓老闆、業務或其他行政人員覺得比較難溝通的地方。

      這也往往是自己也不自覺得有甚麼不妥的地方,總覺得:我就是這樣子,有甚麼問題嗎?

      對啊~有甚麼問題嗎?這也就是另一個別人覺得很無力的地方。

      哈~ 哈~ 是不是有一種似曾相識的感覺? 放輕鬆一點,出去喝杯咖啡,呼吸一下新鮮空氣就好。

      不夠要留意一下空氣比質狀況再出門。哈~哈~哈!

      刪除
    2. 我建議文後加筆名。
      因為這是網路上發言一定會有的問題。

      刪除
  5. 我大概10年前開始學ARM,中間一度中斷,現在又開始慢慢把中斷的地方補回來(ARM7,ARM9,現在也學一點STM32)

    我也不覺得用ARM有什麼了不起,用ARM做產品能賺錢是產品做對市場,跟CPU本身沒太大關係,就像很多 router 用的是 MIPS,那是當初 SoC 廠商在推這塊市場時推得很成功,大家都用他的 solution,說是 MIPS 做得到,ARM 做不到也沒這種事吧?

    軟體的部份其實就是要不要學而已,我到覺得一般軟體是好學的,反而是物理、數學方面的訓練反而是後天很難補回來的,這也是我做 RD 做這麼久,做到撞牆的感覺,但這剛好是板主厲害的地方,很快就能看出root cause,至於8051 or STM32 都只是浮雲。

    Arduino 我不清楚,但Raspberry Pi是真的有人拿來接案,其實仔細一想也沒什麼不可能啊,以前大家用 x86 SBC + Windows 接案,憑什麼 ARM SBC(Raspberry Pi)+Linux就不行,這時候用什麼 CPU 是次要問題,重要的是怎麼規劃整個系統,如何讓系統scalable,如何做到failover

    回覆刪除
    回覆
    1. 果然都是學有專精,也搞過不少產品的老師傅了。

      我之前接觸 SPC560 時,就發現一件很好笑的是:就是有"聽說"(就是聽說的啦)那個賣ARM IP

      的英國人,跑去求德國的Infineon 及法國的 ST、乃至於日本的 Renesas ,看能不能把他們

      ARM 給導進車用應用市場,我講的車用應用市場指的是像動力控制系統、車身安全控制系統等等。

      結果:到目前為止,這三家全球最主要的車用控制器大廠的 32 bits MCU 都沒有ARM 的影子,

      你說ARM 的產品不成功嗎?乃至於行動裝置有多少是ARM 的啊?甚至工業產品啊。

      甚至國內也有人拿ARM Cortex-M4 來搞電動機車的馬達控制器啊。那又怎樣?來過認證啊。

      這還是我講的:有多不只是系統觀點而已,還有很多晶片製造與認證機制與專業標準,都是躲在

      大樹底下你看不到的地方啊。這三家半導體廠都是屬於IDM 廠。你咬我啊。

      我跟你說:就連大陸人搞這方面所得到的經驗,也是如此,他們也很明白的跟你說:

      搞車用系統選用MCU ,還是不要想太多了啦,也不要給自己添麻煩。我之所以接觸 SPC560

      就是大陸人給我強力推薦的。 所以啊~有些比較特殊的市場,也不是你說了算。

      那又何必要把哪一種 MCU 說得怎樣,又如何呢?

      但話又說回來:除了這些真的很特殊的市場外,還都不是百家齊鳴,ARM 可能也是貪心吧,

      已經在許多方面很成功了,他還想包山包海的,但工程界永遠都有反骨的工程師,

      明知山有虎,偏要往虎山行,尤其是老外工程師。我想這就是另一種創新與成功的因素之一吧。

      或許未來在搞高階AI 或智慧學習裝置,搞不好還會出不同架構的MCU 也說不定吧?

      只是不要把自己太侷限在既有刻板的傳統觀念裡就好了。不是嗎?

      刪除
  6. 小弟從8051開始做起,一路經過各式各樣不同等級的MCU做出產品之後,發現甚麼MCU其實都差不多,而是甚麼應用吸引人比較重要,USB問世這麼久,真正能搞出不同應用的有多少(脫離公版的範圍)

    STM32好像最早打通DRIVER平台的BASE,讓想進入的人相對容易(8051相比)

    AVR剛開始設計應用在馬達控制上真的很好用,可惜將8051當對手又很貴,後來在arduino找到出路,用純軟思維解決其他人進入障礙,不用面對硬體上的問題,人家寫好好的,純軟思維做C++繼承、樣板函數什麼的很平常啦,C語言也有這些東西,只是表達方式不同而已

    到了A9的程度我們還硬搞RTOS上去,人家linux寫好好的東西都不能用,但從底層建立起來的東西卻可以做到效能最大化

    潮流已經漸漸在各平台切出一個HAL層,原廠將HAL以下的作好好,其他想應用的人就在純軟方面起手,至於沒跟上這股潮流的人呢? 還是有各自的生存方法阿,實現應用本來就不只一種方法,誰說同花打不過full house呢

    回覆刪除
    回覆
    1. 嗯~說得很好。

      USB 他本來的出發點就是要取代傳統 Serial/Parallel 硬體介面的,他本來就是一種

      介面 Bridge 而已。他能玩出甚麼咚咚?這都也不是要靠PC 端的應用軟體嗎?

      但人家微軟也都未必想繼續發展 Windows 了啊。以每年能投入搞軟體的畢業生有多少人?

      一下子要搞 iOS ,一下子還要 Andriod ,甚至老闆看到甚麼FB 或是甚麼平台系統、誇張的是

      連網頁(現在這個還分很多語法或架構的東西),還都要算你軟體工程師的事。

      哪來那麼多心力與精力搞這麼多啊。尤其現在許多系統輔助工具生成,發展一個新語言,

      新語法,也不是甚麼太難的事。如果搞越來越強大的MCU ,你們原廠不幫忙搞個HAL,

      怎麼玩啊?你們碰到 A9 不弄個 RTOS 或是 Linux ?可以嗎?

      只是我說過了:人家老外搞軟體,寫程式,程式語法還真的越來越像打英文打字一樣簡單。

      寫個程式就像用英文打字機打一篇報告似的。反正現在硬體資源只會越來越強大,只要有人

      把底層與基本HAL 以下做好,甚麼人隨隨便便就可以上手了啊。

      我在想啊~以後可能就連甚麼ICE 、燒錄器等這些東西也會消失不見,我所知道:

      像你們在玩RTOS 或 Linux 的人都是透過 Ethernet Port 在更新下載程式的。

      這也是我這一篇文章未來想說的:我這一塊 USB 板子,就不會再看到甚麼下載燒錄器接口了。

      全部都是單一 USB port(也不是甚麼USB 轉UART),就跟一般系統應用的程式綁在一起的。

      這也是我們這些LKK 工程師想努力跟上時代所能做的一點點事而已。 唉~ 可憐喔~

      刪除
    2. A9如果指得是Cortex A9,A9這種有MMU,I-Cache,D-Cache,多核心的SoC在功能取向上偏向SBC而不是拿來當MCU, MCU user 跟 SBC user 對話當然是雞同鴨講

      容易上手也只是剛開始爽那麼一下,除非篤定做個純軟體RD,別人不幫我弄好板子+OS我就不幹活

      不然換個IC就哇哇叫搞個3個月還沒結果這種事我看得多了,很多時候還是需要LKK的知識(就是課本上那些又難又無聊的東西)才能搞定

      刪除
    3. 所以可以請教一下大師嗎?依你來看:那未來像我們這一種想玩系統小玩意的。

      市場是該往 SOC 的MCU走呢?還是往SBC 走呢? Arduino 及 Rapberry 等是算SBC ?

      搞IC 設計的應該是希望往SOC 走,我是沒差啦。反正有很多應用客戶也搞不清楚啊。

      至於"容易上手也只是剛開始爽那麼一下...",講得很貼切啊。我剛把一兩個基本引擎控制概念

      的東西,及CAN bus 在 SPC560 上打通時,就是有這一種感覺,但後來想一想?然後呢?

      套一句清朝文人紀曉嵐的笑話:"下面呢?","下面沒有了啊!"

      後面這一段講得更貼切了,尤其是在大公司裡,分工細膩,PM 主管儼然又是一位滿嘴大話,

      又是半桶水的人,那結果就是這樣子。等你有機會創業之後,你就根本受不了這樣子的做事行為。

      沒辦法,大公司嘛! 沒這樣子搞哪像有大企業的"風範"呢。所以你也不要以為就像 Apple 這一種

      國際大企業,甚麼東西都是他們工程師搞的,有些技術亮點可以是來自於名不經傳的車庫小企業。

      大公司每周開會寫週報時間就讓你受不了了啦。

      刪除
    4. 小弟在您面前哪敢自稱大師~

      不過講個實際的案例好了,之前碰過Linux 2.6 kernel在某SoC只能用USB Host or Slave 2選1,沒辦法同時運作,我拿給一個很厲害的朋友看(人家也是大公司主管,還差點唸到博士),也是兩手一攤說沒辦法,除非原廠願意改。那除非說這時候有人同時精通Linux kernel + USB,這種人好找嗎?所以小弟才敢說...就是剛開始爽那麼一下,這些複雜的32bits Soc往往需要原廠的奧援,還要一整個團隊來run

      所以那種分工分很細的,您的系統開發價值也隨之被稀釋,或是還沒到您那一段就被前期作業給拖死了

      不敢說市場趨勢在哪,應該說我的定位在哪?老大您對這個的見解比我們這些小老弟深刻多了,如果在8bits MCU上能夠發揮我100%的價值,32bits被稀釋到20%,那怎麼看也應該選前者,個人淺見

      刪除
    5. "只能用USB Host or Slave 2選1"... 這兩個東西不管是在硬體或軟體上都差很多耶。

      要在SOC 上搞這個?我的直覺也是覺得很難。

      你沒看到人家PC 這麼大一台,也只是做USB Host 而已,在小平台上大部分就是 USB OTG 。

      據我所知:以前好像是 Cypress 有做過USB HOST IC,也沒聽說過大鳴大放的。

      以現在 Bridge 來說:除了PC 的USB Host 我覺得還有一點意思(主要還是在於作業系統軟體支援)

      除此之外,現在可以通訊傳輸的 Bridge 的太多了,像Bluetooth, Wifi 等等,很多了。

      不一定就非得搞USB HOST 這一種非常強調"主從觀念"的東西。

      所以如果自己玩玩爽一下,那倒還好,就怕有些公司、有些老闆或是有些主管等想太多了。

      那就不是一個爽一下而已,有可能會把一票人操了一圈,然後才悻悻然說:喔~好像很難搞喔?
      ----
      "如果在8bits MCU上能夠發揮我100%的價值,32bits被稀釋到20%,..."

      這句話的確讓我聽了也是爽了一下,不過呢?想想:以前的我也是從不懂 8bits MCU 搞到今日啊。

      所以對年輕人來說:他們可能在選擇MCU 方面,可能還是會以 32bits 為主,然後一路努力的讓

      自己能夠發揮到 100% 的價值。只不過的是:畢竟 32bits 的效能比較強大,就可不能像我們

      這樣子可以少少幾個人,甚至一個人就可以隨便搞個東西玩玩了。所以人家會走向Open Source

      也不是沒有道理的,然後以架構眾多人的基礎上,再想辦法在這些Open Source 的基礎架構上

      再"貢獻"出屬於自己的專業領域吧。我想這也是世界技術領域的潮流因素之一吧。

      只是對我們老中這一種喜歡單打獨鬥,而不太願意分享的心態來說:可以會越來越辛苦吧。




      刪除