每個工程項目在開發實施的過程中都可能會受到諸多因素的制約,其中最主要的三大因素是性能、功耗和價格,人們通常需要對這些因素做出權衡和折衷。以這三個因素為頂點構成三角形,每個項目都有其“側重點”,但根據產品、市場和時間會有不同的相對權重。
物聯網(IoT)相關應用的潛在增長為供應商及其設計團隊提供了新的機遇,但也進一步增大了軟硬件工程方面的挑戰。硬件和軟件密切相關, 共同組成了平臺,需要采取多種策略來最大程度地降低跨平臺設計的復雜性。這些策略包括:
限制傳感器和換能器輸入/輸出
首先決定輸入/輸出需求是否采用固定或有限的數量和類型,或者是否需要擴展數量和提高類型的靈活性。這一決定會影響到MCU和外部設備的選擇。如果輸入/輸出不僅包含簡單的低壓數字點,還包括溫度傳感器、電機甚至串行和并行格式的通信線路, 這一點就尤為關鍵。
使用外部認證射頻模塊
很多情況下,獨立于核心應用處理器的模塊都具有重要意義。雖然高度集成的單片解決方案在電路板空間、功率和成本方面頗具吸引力,但倘若無線協議、要求范圍甚至監管要求有任何變化或擴展,都需要對設計進行重大改變,或者需要采用新的MCU和射頻鏈路相關固件。即便編碼部分很簡單(可能性不大),但MCU可能無法滿足新的要求而需要進行升級,因此增加了開發時間和風險。
以功率換取性能
弄清所選的MCU在功率與性能矩陣中的正確位置。沿著所需性能的曲線上移,會遇到閾值點,此時不得不使用體積和功耗更大的MCU。沿著曲線下移時,所需資源減少,可考慮使用體積小、功率低、價格便宜的MCU。
請確保所選的特定MCU支持各種復雜的速度、功能和功率模式,這樣才能優化操作順序,最大程度降低總能耗,應對需要大功耗的操作。
簡化安全性
一些處理器具有專用的硬件嵌入特性,提供自動安全功能,并且不依賴于任何應用軟件甚至所選RTOS。這種方式可能會簡化所面對的安全挑戰。如果選擇的所有MCU都具有相同的嵌入式安全功能就更好了,因為無論使用哪一種處理器,都可以跳過物聯網挑戰中的這個重要部分。
系統標準化
隨著對大小/性能要求的變化,需要對低功耗8/16位MCU進行標準化,然后采用不同的內存大小(片上或外部內存);也可采用一個較大的32位MCU,雖然在低端應用時會浪費一些容量, 但它具有代碼和驅動器一致的優勢, 同時還能簡化BOM和測試過程。
操作系統選擇
在某些情況下,一臺簡單、低成本的單線程操作系統(OS)便已足夠, 但也有很多項目需要實時操作系統(RTOS)。無論哪一種操作系統,都需要對小型、中型和大型OS版本的可擴展性和可用性做出評估。必須了解清楚最小版本的大小及相應的功能——您肯定不希望當項目完成80% 時,在OS能力上“遭遇瓶頸”。
硬件升級VS軟件升級
在軟件資源曲線上的一些關鍵點需要完成一些額外任務(開發時間,處理器資源),此時必須做出以下選擇,要么增加外圍IC幫助滿負荷運行的MCU進行分流,要么選擇一臺運行速度更快的MCU。決策時,要分析何時需要一臺功能更強大的MCU將硬件任務交回軟件,從而減少組件成本、電路板尺寸和功耗( 原則上), 但為此可能要延長開發和調試時間。
慎選擇連接協議
使用“較輕的”物聯網優化協議,不要選擇基于客戶端/服務器HTTP的互聯網瀏覽器模型,這樣可以將堆棧和處理要求減少二倍或以上,便于應對多臺物聯網設備及其外圍設備。隨著市場要求日趨嚴苛,還需考慮當連接要求( 協議、速度和完整性) 提高時會發生什么情況。
在設計階段盡早制定測試計劃 這一點非常重要而且復雜,特別是當設計中包含無線應用時。使用何種方法非正式然后正式地驗證最終產品是否符合市場、技術、行業標準和監管要求,會影響“修復”周期和上市時間。如果在產品中增加針對不同應用的功能,就需對原型測試程序或生產測試設置做出改變,這會加大工作量,同時增加不確定性和風險。采用經過許可的預認證軟硬件模塊,可確保最終設計在許多方面( 但不是全部) 的一致性和順應性。如果有任何關于設計和驗證的高級監管準則(如關于醫療產品可靠性的準則)影響到軟件, 都應該明了于心。如果這些準則不適用于所有產品,要弄清它們適用于哪些產品。
安全問題是重中之重
所采用的軟件技術和策略應能跨產品,滿足應用要求,并與物聯網用戶接口(如果有的話)匹配,例如防火墻、身份驗證和密碼。從分級列表中找出所需的安全資源,包括安全啟動、身份驗證、安全通信、防火墻、篡改檢測、事件報告、遠程命令審查和策略管理,根據現有的軟件資源,確保每一項的實際執行正確且可行。評估要提高各種產品的安全性是否必須采用更大或更快的MCU,制定計劃驗證實施的安全步驟是否可靠。
結論
隨著新產品的開發,“重心”無疑也需要相應地進行改變,以滿足不斷變化的要求。設計人員應縱觀當前及未來的產品,選擇適合的平臺,盡量減少返工并提高重復利用率,確保上述變化不會對成本、進度或工作負荷造成不必要的影響。