大數據從小數據開始
物聯網,大數據時代,傳感器和前端控制的數量倍增。如何快速地開發出前端設備是影響系統開發的關鍵瓶頸。
物聯網設備大多數是基於小型SOC 實現,現在比較流行的是Cortex-M系列SOC。軟件基於嵌入式程序設計。
長期以來,嵌入式系統的研發都是非常吃力和低效率的,一個成熟的嵌入式系統程序員需要多年工作經驗。
我們發現身邊的人(也包括我們自己)依然在使用Keil 編寫STM32 的LwIP,SD卡文件系統這樣低端,費勁的工作。如何降低嵌入式系統研發的研發門檻,提高生產效率,對物聯網發展非常重要。
Arduino 的缺陷
Arduino以編程簡單,硬件廉價迅速成為創客,教育領域廣受歡迎的產品,一些工程師也使用它來搭建產品原型。但是arduino低端的MCU和硬件結構不適合專業產品和系統的開發。
主要是由於:
1.不能方便地連接擴展板。兩邊插針,加上擴展板後,擴展板無法安排I/O接線端子。
2. 8bit MCU的處理能力不夠
3. 網絡接口比較弱,特別是沒有工業控制中常用的以太網。如果自行添加網絡接口板,其它I/O模塊又難以連接。
4. I/O接口不夠豐富。
比如高速PWM,脈沖計數,電機控制,SPI,UART,硬件ADC等等。
5. 不支持SD 卡。
Ardunio的原始發明人也嘗試讓arduino走向高端專業應用,比如開發了基於Cortex-M系列的產品,最近的產品是基於STM32F469的 star offo。明顯向Cortex-M靠攏。
Intel,ST等大公司也嘗試開發高端的arduino,也沒有成功,Intel的edison 也宣告失敗了。
一個產品越成功,它背負的包袱也越大。Arduino先天就是低端Prototype的命,加上arduino的研發力量單薄,轉向專業應用舉步維艱。
我們的工作基礎
我們一直在研究如何提高嵌入式軟件的研發效率,過去的2年,我們開發了嵌入式模塊-Biscuit Control的相關技術。但是並沒有完成產品化。
我們項目的問題是走了一條封閉式的技術路線,期望像PLC,倍福工業電腦那樣,為所有的應用開發模塊,並且自行編寫軟件。通過API來調用這些模塊的功能。這樣造成了工作量非常大。
嵌入式系統開發平臺一定要將I/O 硬件的設計留給用戶,或者是第三方開發者,這樣才能具有硬件設計的靈活性。也是arduino大獲成功的關鍵。
早先我們也嘗試過使用NodeJS,將javascript作為系統的編程工具。但是後來發現,對於一個嵌入式硬件工程師來講,學習javascript也是一個困難的事情。
於是我們調整餅幹控制項目的方向,走一條開放的路線。
1. 我們只實現軟件工具和核心板開發。
2. 方便用戶開發產品為目標。
3. 網絡連接,以太網菊花瓣連接方式。
4. 更豐富的I/O接口
5. 更強大的MCU
Cortex-M系列CPU,目前包括了M0,M0+,M1, M3,M4,M23,M33,M7八個處理器。
M4 增加了DSP擴展,和浮點運算單元。M7 的DSP能力比M4提高了2倍。
Biscuit 模塊采用Cortex-M系列 SOC。
本文出自 “11252193” 博客,謝絕轉載!
大數據從小數據開始