世界上充滿了創新和有用產品的明亮和創造性的想法。杰出的工程師和營銷人員渴望為這些產品帶來客戶,他們將購買它們并欣賞它們改善生活的方式。如今,這些產品越來越多地基于微處理器或微控制器(MCU),具有外設和獨特軟件的創造性組合。
那么,為什么這么多的創新概念無法從一個令人興奮的會議室變成一個實際的盈利產品呢?事實證明,有一些原因可以確定并避免以取得成功。
首先,根據市場研究和用戶輸入來決定“構建什么”似乎很簡單,特別是對于與客戶有密切關系并熟悉專業領域的小型公司。
但是,當涉及到與現實世界交互并花費實際美元的實際設備時,“什么”(做x的小玩意兒)通常是一個過于籠統的概念。要了解“什么”確實需要市場研究和投入,但它也依賴于一個工程團隊,他們知道技術上涉及什么以及硬性的財務分析,以了解這種可能性的路徑將花費什么。由于所有項目都包含某些未知因素,管理層必須靈活地應對計劃中的變化和“陷阱”,并有能力通過實現設備所必需的功能和組件的迷宮來找到最佳方法,但這些功能和組件不是其應用的核心。
較小的公司可能會受到其資源和承擔風險的意愿的限制,并且在擴展產品時堅持他們所知道的領域 - 他們可以利用較少的直接競爭來支持其產品的開發和增量改進。然而,較大的公司經常選擇原型設計,以便他們可以讓團隊查看工作的早期模型來分析它并理解它以進行更改并解決錯誤。這兩種方法都可以成功,但由于對某些障礙的忽視和對實施的錯誤假設,兩種方法都可能會失敗。
首先,通過對一系列想法進行過濾,方法是將它們置于一個稱為階段門的過程中,以考慮市場研究,開發和財務限制,以提出最佳競爭者(圖1)。雖然它不經常使用,但對于可能難以采用更嚴格方法的小型公司來說,階段門控可能非常有用。
一旦選擇了這樣的想法,就該開始真正的開發并避免在此過程中存在的陷阱了。
虛構的智能設備及其開發要求
為了證明許多公司在產品開發過程中遇到的問題,請考慮一家假設的公司,該公司在他們已經有一些經驗的領域工作。
在進入產品規格階段(根據針對一組特定最終用戶的產品規格選擇了“什么”),“什么”有兩個方面。這些可以被描述為它應該做什么和“什么”它實際上將作為物理設備的規范 - 或者換句話說,做什么以及如何到達那里。
該公司最終選擇了一種小型可穿戴設備,該設備包括一組傳感器,用于監控身體和環境條件,向用戶提供信息和/或警報,并將數據存儲在云中。它被標榜為首款批量銷售的同類設備,并將使用藍牙5收音機連接到包含一個或多個相關應用程序的智能手機。反過來,智能手機與基于云的AI或數據管理應用程序進行通信,使可穿戴設備成為物聯網設備。
可穿戴設備花費大量時間與云斷開連接,感知,預處理,存儲數據并提供即時響應。其本地處理性能受到功耗限制以及對安全性和數據存儲的需求的限制。
目前為止,一切都好。從該規范中產生了許多要求,包括:
一套久經考驗的可靠傳感器
能夠將多個傳感器輸出組合成單個結果的傳感器融合算法
足夠的程序存儲器用于設備軟件和固件,以及用于在本地存儲數據直到可以傳輸的附加存儲器
USB 接口和固件無線 (FOTA) 更新功能,用于診斷、維護和服務
在最終設計可以容納的尺寸和重量范圍內提供足夠的容量和足夠的充電能力的電池
滿足這些要求需要仔細考慮,而失敗往往就是從這里開始的。
成功道路上的坑洼
繼續我們假設的例子,開發人員可能會認為Wi-Fi是比USB服務接口更好的選擇 - 除了Wi-Fi消耗如此多的功率,以至于設備需要更大的電池和更多的硬件支持,從而導致更大的尺寸,重量和更高的總體成本。完全避免這種錯誤的成本和時間要低得多,而不是開始沿著這條路走下去,不得不回頭。
在選擇其他硬件(尤其是處理器)時也需要謹慎。能夠處理器件有限編程和復雜性的低功耗微控制器比在尺寸和功耗方面可能過于小用的微處理器更可取。尋找具有集成功能的器件還可以大大有助于降低成本、縮短上市時間,并在開發過程中縮短死胡同,因為與使用分立式藍牙芯片相比,集成了藍牙 5 的 MCU 可節省空間和功耗。
而且,無論如何,選擇已知、預認證的部件,并在適當時附帶可靠的驅動程序軟件(如傳感器)。
雖然原型設計當然是開發過程的重要組成部分,但請嘗試選擇具有所選處理器的評估板,而不是一些嵌入式Linux板。前者可以讓您更輕松地獲得工作,靈活的設計,還可以讓您更好地了解組件如何在最終包裝中組合在一起。
是否有可用的MCU版本可以放入非常小的封裝中?電池和接口將位于可穿戴設備上的什么位置?在流程的早期考慮這些問題有助于避免阻礙上市時間、增加巨大成本并最終扼殺產品的障礙。
尋找軟件的安全之路
設計中很少被預先理解的一個方面是所需軟件的范圍和數量。當然,還有將在設備上運行的軟件(這本身就是一個主題),還有將在智能手機上運行的應用程序(是的,Android和iOS版本),以及提高設備可用性所需的云軟件。需要對開發方法,外觀和感覺做出決定,以使所有這些軟件盡可能可靠和一致。
超級循環、意大利面條代碼和實時操作系統
如果不仔細繪制,為嵌入式處理器開發軟件可能是一條危險的道路。從頭開始編寫所有代碼的誘惑可能是致命的。首先,這需要對外設、安全性、文件系統、實時時鐘等的所有支持進行編碼。僅此一項就花費了大量的時間,并且意味著不可避免的錯誤和調試。即便如此,該軟件也可能存在部署后仍未檢測到的錯誤。
“從頭開始編寫所有內容”的常見推論是“超級循環”方法。在超級循環中,從頭開始寫入以單個控制循環的形式繼續進行,該控制循環連續輪詢數據和進程的不同外設。這樣的循環以最簡單的形式很容易理解,但很快就會變成一堆意大利面條,并且隨著功能的增長而變得無法理解或維護。從這條路開始只會讓你走得更遠,并導致發展和財務災難。
雖然基于平臺的開發對于邊緣設備(即智能手機)和云來說幾乎是給定的,但必須積極地尋找,評估和選擇嵌入式設備。從一開始,這意味著使用專門針對項目中使用的MCU架構的實時操作系統(RTOS)。使用RTOS提供了一個即時平臺,該平臺在MCU上運行,并根據需要從外設中斷服務,提供現成的I / O和其他基本功能。僅此一項就提供了大量現成的、經過測試的、通常經過認證的代碼,您可以在其中添加獨特的功能(增值)。它還縮短了上市時間,并確保了該級別的代碼正確性,可以認為該級別是安全的,經過測試的,已經集成,完整且高效,克服了超級循環方法的所有限制。
實時操作系統還可以實現更輕松的原型設計。在前面提到的傳感器融合示例中,原型設計將幫助開發人員了解需要哪些傳感器,哪些算法最有效地將傳感器輸出組合成單個數量,以及所選處理器(可能具有快速乘法/累加(MAC)操作性能)能夠很好地過濾來自傳感器的噪聲?;谝幌盗刑幚砥鞯耐庠O和原型開發板的RTOS為全面原型設計和開發提供了強大的平臺。精心挑選的RTOS可以提供預先測試的設備驅動程序;安全功能;文件系統;并支持各種傳感器、攝像頭和無線電。
手機框架
當涉及到邊緣設備(這里是智能手機,但在其他情況下可能是PC),還有眾所周知的操作系統,如Android和iOS,以及用于智能手機開發的強大編程語言和工具。一個可能的陷阱是兩種類型的手機的功能和用戶體驗(如用戶界面等)之間的差異。在這里,框架可用于幫助協調開發。
盡管如此,開發手機應用程序的成本很容易被低估。鑒于大多數產品都針對Android和iPhone,因此在手機上使用框架的決定可能是一個艱難的決定。如果單獨開發,可以實現幾乎相同的外觀和感覺,但開發成本和維護成本將更高。使用框架,兩個應用程序可以一起維護,這可能會降低成本,但創建不太靈活的用戶界面。
云平臺抽象挑戰,但并非全部挑戰
幸運的是,IBM 沃森物聯網和微軟Azure等平臺為開發云應用程序提供了堅實的環境。它們提供云/邊緣/設備連接選項、數據管理工具和人工智能 (AI) 框架,可以分析大量數據并優化在設備和邊緣系統上運行的應用程序。
開發云軟件和云平臺本身也可能很昂貴。豐富的環境和先進的云處理可能需要大量開發,尤其是在應用程序需要復雜的學習算法的情況下。
人工智能需要大量的原始真實世界數據,這些數據需要收集,預處理以消除噪聲并清理信號,由深度學習神經網絡再次處理,最后在后端運行或移動到邊緣。這種AI處理可以極大地改善您的產品,但是如果您缺乏算法開發經驗和/或不熟悉使用數字信號處理來清理信號,則比您想象的要困難得多。所有這些在時間、風險和總工作量方面往往被低估。從簡單的分析開始,并擴大您的成功。
節省時間就是賺到的錢
毫無疑問,產品開發最昂貴的方面是時間——重新設計設計所花費的時間,測試本來可以預先測試過的組件,以及修復錯誤和糟糕的決策。
市場份額的價值是總開發成本的10到1000倍,因此上市時間,質量和可靠性比您在內部工程組件節省的相對較少更重要。
盡快占領市場份額的一條途徑是選擇具有您所需的外設支持和靈活性的RTOS,以及可以使您的產品真正成功的處理器。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7551瀏覽量
151402 -
微處理器
+關注
關注
11文章
2262瀏覽量
82439
發布評論請先 登錄
相關推薦
評論