2015年5月21日 星期四

用最少的錢做最多的事


否定的智慧比肯定的智慧更有用
-行為的藝術。



「用最少的錢做最多的事」是台灣人只差在沒刺青在身上,奉行不渝的金科玉律。

這句話不能說完全不對,但若任何事情都照這個準則去作,恐怕是大有問題。

就如同有一點數學基礎的人都知道,要駁倒一條數學定理,你只要舉出一個反例即可。

以下的案例是否可以作為反例?留給各位思考


步進馬達


n 年前曾經碰過一個 case,某個客人他已經有一個產品是一塊 ARM SoC 的板子搭載一具攝影機,他想再加一個步進馬達控制攝影機的轉向。當然照一般人的想法就是叫 ARM 去做這件事,開玩笑,ARM 耶,運算能力這麼強,推個步進馬達不過是小菜一碟。



最後的方案是外加一顆 MCU 來完成:




為什麼不叫 ARM 來做呢?原因很多

  • 板子上已經搭載 Linux,而 OS 提供的 delay 會彈跳,不適合拿來作為推動步進馬達的方波運算用。
  • 要精準的推動步進馬達只有靠 hardware timer,而使用 hardware timer 必須進入 Linux kernel mode,kernel mode program 當掉整個系統也隨之摧毀。
  • hardware timer 被用光了
  • 沒有多的 GPIO,只剩 I2C。
  • 影像處理本身就佔用大量 CPU 資源。

如果今天還硬叫 ARM 去推步進馬達,會發生什麼事?會不會馬達乎快乎慢?會不會永遠轉不到定點?如果硬要 cost down 全部叫 ARM 做,能得到一個堪用的產品嗎?

電池壽命

這是一個使用鋰電池的資料擷取設備,他只會在使用者設定的日期時間與 server 進行資料交換,理論上電池壽命應該能達到一年以上,很不幸的是,還遠遠不到規格上的時間就已經耗盡電量。





直到有一天,站長的同學跟提起,他們公司正在找熟 MSP430 的人。幾經追問之下才知道,很多開發電池供電設備的廠商,主 CPU 用 ARM 而進入睡眠或省電模式時會用 MSP430 維持起碼的運作,因為 MSP430 的功耗非常低,甚至在 TI demo 中,幾顆檸檬的電量就可以維持 MSP430 的運作。

在這個例子中,除了低估無線通訊與 ARM 的耗電量外,也沒有跟有經驗的專家諮詢正確的作法,一意孤行的結果造成更多金錢人力的損失。


未完待續...



沒有留言:

張貼留言