新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 實踐經驗分享嵌入式系統開發

        實踐經驗分享嵌入式系統開發

        作者: 時間:2018-08-07 來源:網絡 收藏

        隨著不斷普及,我們可以從積累的開發知識中獲得巨大優勢,構建更出色的系統。

        本文引用地址:http://www.104case.com/article/201808/385688.htm

        工程師一刻也沒忘記交付能同時滿足質量、時間安排和預算目標的項目的需求。一個事半功倍的方法 就是借鑒開發人員社區多年來累計的經驗教訓。下面我們就來了解一些為嵌入式開發帶來了最佳實踐的重要經驗。大家隨用隨取哈。

        系統地思考

        系統工程是一個廣泛的專業領域,覆蓋從航空母艦及衛星到實現其性能的的所有開發工作。我們可以運用系統工程方法管理從概念到使用周期結束處置的嵌入式系統工程生命周期。系統工程方案的第一階段不是確立系統需求,而是制定系統工程管理規劃。這一規劃不僅將為系統定義工程生命周期以及開發團隊將要開展的設計評審,而且還將定義這些評審的預期輸入輸出。該規劃可根據工程事件的次序和每個階段的先決條件,為項目管理、工程和客戶群體做出明確的定義。簡而言之,它可展示預期和可交付項。

        在清楚理解工程生命周期的情況下,系統思考的下一步是確立正在開發嵌入式系統的需求。良好的需求集應覆蓋三個方面:

        功能需求定義嵌入式系統如何開展工作。

        非功能需求定義法規遵從與可靠性等方面的問題。

        環境需求定義工作溫度和沖擊與振動以及電氣環境(例如 EMI 和 )等方面的需求。

        在較大規模的開發工作中,這些需求將從較高層次的規范向下延伸并且可跟蹤,比如系統或子系統規范(圖 1)。如果沒有較高層次的規范,我們必須在開發過程中接觸利益相關方,確立一套明確的利益相關方需求,然后將其用于確立嵌入式系統需求。


        圖 1:在開發工作中,需求從較高層次的規范向下延伸并且可跟蹤

        生成一個良好的需求集,需要我們充分思考每一個需求,才能確保其符合這些標準:

        它是必要的。沒有需求,我們的項目就不會取得成功。

        它是可驗證的。我們必須確保該需求能通過檢驗、測試、分析或演示實現。

        它是可實現的。在給定的約束條件下,該需求在技術層面上是可以實現的。

        它是可追蹤的。該需求能夠從較低層次的需求進行追蹤,而且可追蹤較高層次的需求。

        它是唯一的。這項標準可防止需求之間的界限不清。

        它是簡單清晰的。每條需求指定一項功能。

        為體現意圖,在定義需求時還常常使用特定語言。一般我們對強制性要求使用“必須”,對非強制性要求使用“應該”。非強制性要求可讓我們表達必要的系統屬性。

        在我們確立了我們的需求底線后,最佳實踐就是創建一個合規矩陣,說明符合每項需求。我們還可以通過為每項需求分配一種驗證方法開始確立我們的驗證策略。這些方法一般是測試、分析、檢驗、演示和交叉讀取。根據合規及驗證矩陣創建需求能讓我們:

        清晰地了解系統行為。

        向內部測試團隊和外部客戶都演示驗證方法。這不僅可在開發過程的早期階段發現任何困難的測試方法,而且還可幫助我們確定所需的資源。

        確定技術性能指標。這些指標來自合規矩陣,由存在無法合規的風險的各種需求構成。

        分配工程預算

        每個工程項目都涵蓋一定數量的預算,我們應將其分配給在架構中識別的解決方案。預算分配不僅可確保項目實現整體需求,而且還可確保每個模塊的設計牽頭人理解模塊的分配,以創建適當的解決方案。我們分配預算的典型領域有功能的總質量、功能的總功耗、用平均故障間隔時間或成功概率定義的可靠性以及設計中信號類型間的正當串擾(一般是一套適用于大量功能的通用規則集)。確立工程預算最重要的方面之一是確保我們有足夠的應急分配。但我們必須戰勝應急再加應急的想法,因為這會成為影響時間安排和成本的嚴重技術問題。

        為在我們架構中使用的每項技術分配一個技術就緒指數,再結合合規矩陣,可幫助我們確定技術風險的所在位置。

        管理技術風險

        從合規矩陣及工程預算的生成看,我們應該能夠識別在技術上有難度的需求。每一個這類有風險的需求都應該有明確的規避計劃,其將說明我們將如何實現這一需求。展示這一點的最佳途徑之一是使用技術就緒指數 (TRL)。TRL 有 9 級,從所觀察到的基本原理 (TRL1) 到完整功能與實地部署 (TRL9) 描述設計成熟度級數。把 TRL 分配給我們架構中使用的每一項技術,再結合合規矩陣,可幫助我們確定技術風險的所在位置。我們隨后可啟動一個 TRL 開發規劃,確保在項目不斷推進時,低 TRL 領域會提升到所需的 TRL 水平。該規劃涉及的內容可確保我們在項目推進時實現和測試正確的功能,或是在項目推進的過程中執行功能或環境/動態測試。


        圖 2:在本電源架構示例中,模塊的輸出軌需要二級穩壓。

        該架構不應僅限于硬件(電氣)解決方案,還應包含 FPGA/SoC 及相關軟件的架構。

        創建架構

        理解嵌入式系統要求的行為后,我們就需要為解決方案創建一個架構。該架構將由分組成功能塊的需求構成。例如,如果嵌入式系統必須處理或輸出,架構就將包含模擬 I/O 模塊。其它模塊可能會更加明顯,比如電源調節、時鐘和復位生成。

        該架構不應僅限于硬件(電氣)解決方案,還應包含 FPGA/SoC 及相關軟件的架構。當然,模塊化設計的關鍵是針對模塊及功能行為的良好接口文檔編制。

        該架構的一個關鍵方面是展現如何在高層次上創建系統,這樣工程團隊就能輕松理解其實現方式。該步驟也是在系統運行生命周期中為系統提供支持的關鍵。

        在確定我們的架構時,我們需要考慮模塊化方法,這樣不僅能在當前項目上進行復用,而且還能在未來的項目上進行復用。模塊化要求我們從第一天起就考慮可能的復用,并要求我們把每個模塊存檔為一個獨立的單元。就內部 FPGA/SoC 模塊而言,像 ARM? AMBA? 高級可擴展接口 (AXI) 這樣的通用接口標準有助于實現復用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 墨脱县| 时尚| 托克逊县| 尉氏县| 龙山县| 苍溪县| 宜昌市| 武夷山市| 星座| 永顺县| 育儿| 吉林市| 德惠市| 利辛县| 浦县| 中西区| 诏安县| 两当县| 德阳市| 浠水县| 北辰区| 内黄县| 威信县| 南华县| 邮箱| 盈江县| 宜阳县| 昌图县| 文山县| 阿克苏市| 平乐县| 滨州市| 东光县| 自治县| 普陀区| 莱阳市| 锦州市| 苍南县| 西畴县| 湄潭县| 晋中市|