關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 面向無線傳感網絡的構件化開發方法

        面向無線傳感網絡的構件化開發方法

        作者: 時間:2012-10-22 來源:網絡 收藏

        由圖2 可以看出,系統集成起到一個橋梁作用,使者簡化了工作。但是,系統集成在調用硬件抽象實現自身功能的時候出現重復調用問題。并且構件CC2420SpiC 在不同的層(系統集成層和硬件抽象層)都有使用,這本身使得系統集成層和物

        理抽象層關系變得模糊和復雜,加大者開發難度。

        根據構件化系統編程可知,調用構件的接口需要實現提供接口構件中的event 事件。如果多個構件重復使用同一個構件的同一個接口,每個使用該接口的構件都需要將該接口中的event 事件執行一次。系統集成構件同時調用相同的硬件抽象層構件中的接口命令時,完成命令的signal 事件會通知每個使用該接口的構件。這就導致了構件化系統下編程常見問題:扇出(fan-out)。系統為了解決這一問題不得不將構件性質改為generic 類型。而這會引入新的構件調用模式。所有這些使得系統集成構件對硬件抽象層構件的調用變得比實際要復雜,代碼的執行效率大大降低。

        2 直接調用底層構件描述

        對系統集成構件的研究發現,應用層構件在調用系統集成構件時最終調用了硬件抽象層構件,只是系統集成構件將硬件抽象層構件重新整合到某個大的集成構件中,方便用戶查找接口。實際上,由于嵌入式軟件和硬件結合性高、硬件資源有限等特點,為了使得軟件系統性能達到最高,嵌入式軟件開發者在開發之前對硬件已經非常熟悉。在這種情況下沒有必要在硬件抽象層之上硬性加上系統抽象層。對開發者而言,直接調用底層硬件抽象層構件會更直觀、簡單。

        具體實現如圖3 所示,在構件操作上對沒有引入新功能的構件在配線構件配線時候可以跨過整個系統集成構件,而不會影響系統功能,并可以簡化開發過程,提高運行效率。以下將這一簡稱為直接調用法。

        圖3 構件簡化過程

        圖3 中構件1 和構件2 不是提供最底層功能的構件,它們將底層構件3、構件4 和構件5 進行重新整合,最終使用的是構件3、構件4 和構件5 的功能。所以,通過改進后的方案中,讓應用構件直接調用構件3、構件4 和構件5,讓構件1 和構件2 的功能交給應用構件去完成,這樣提高了代碼的執行效率和開發效率。實際上,結合構件化系統可知,圖3 的簡化過程解決了扇出問題,應用構件只要調用了一個硬件抽象層構件,就可以在應用構件內任何需要的地方去調用硬件抽象構件所提供的接口中命令。配線構件在配線時也變的簡單,沒有系統集成構件中多個硬件抽象層構件的重復配線操作。

        對構件化系統以及底層硬件抽象構件和各具體芯片研究分析可知,系統集成構件都是起到上述作用,同時又引入新的問題。若開發人員對硬件抽象構件熟悉,就完全可以跨過系統集成構件而直接使用硬件抽象層提供的構件。這樣就簡化了原方案中系統集成構件之間繁雜的調用關系,更重要的是可以大大提高系統的運行效率,還以CC2420 系統集成構件為例,其改進后的構件調用方案如圖4 所示:

        圖4 改進方案中構件間關系



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临桂县| 施甸县| 盐津县| 陕西省| 刚察县| 吴川市| 隆尧县| 广元市| 合川市| 北票市| 辽阳市| 靖安县| 孟连| 毕节市| 镇平县| 方城县| 潞城市| 商城县| 灵宝市| 新平| 裕民县| 剑川县| 宽城| 凤山县| 洪泽县| 呼和浩特市| 漾濞| 湖口县| 堆龙德庆县| 开封市| 屏边| 临汾市| 鲁山县| 象州县| 仁怀市| 峨眉山市| 福海县| 甘泉县| 呼图壁县| 八宿县| 津市市|