美章網 資料文庫 控制板卡接口軟件設計研究范文

控制板卡接口軟件設計研究范文

本站小編為你精心準備了控制板卡接口軟件設計研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

控制板卡接口軟件設計研究

摘要:在嵌入式計算機系統中,一般包含上位機與下位機控制板卡;這種系統一般是一種型號的控制板卡對應一款上位機軟件,優點是功能簡潔明了,缺點是用戶需要針對不同板卡安裝不同的軟件,對用戶要求較高或增加額外的軟件成本。本文提出一種通用的統一抽象板卡概念,通過抽象API,可以支持多種型號的控制板卡,實現軟件使用一致性,方便應用軟件工程師的編程。

關鍵詞:嵌入式;計算機系統;多型號;統一抽象板卡;API

一般控制板卡的上位機軟件最初總是對應初始版本的硬件板卡,當板卡成系列、多型號發展時,原先各自的獨立上位機軟件不便于管理與使用,就需要設計統一的程序,以便管理多種型號的設備,如在文獻[1]中設計了一種同時支持PCI與USB板卡的控制軟件。本文也是工作需要,根據需求設計了一種通用的統一抽象板卡API,以支持多型號的控制板卡。

1軟件需求

隨著公司業務的發展,研發的板卡需要定制化、多樣化與系列化,因此迫切需要設計一種接口來隱藏這種硬件多樣性,提出開發需求如下:(1)從應用程序角度看,能夠隱藏硬件特定信息;(2)支持多型號的控制板卡;(3)支持每種型號的多個數目的控制板卡。應用開發人員可以用這個抽象板卡的API,編制程序而無需考慮實際板卡類型。單個應用程序可以控制多個板卡,而且當有新的板卡加入時,無需大的改動,就能支持。抽象板卡的API,設計上不能直接操控硬件板卡,必須借助原先控制板卡的提供的API。因此,軟件工程的角度看,統一抽象控制板卡API,只有兩個外部接口,一邊是上層的主機程序,另一邊是下層具體的激光控制板卡API。統一建模語言(UnifiedModelingLanguage,UML)[2-3]是軟件工程中一種為面向對象系統的產品進行說明、可視化和編制文檔的一種標準語言,UML是面向對象設計的建模工具。抽象板卡API的UML用例圖如圖1所示。

2抽象接口組成分解

抽象接口的功能分解圖如圖2所示。抽象接口由三個層級的動態庫成分組成,從上至下依次為:(1)LC.HWInterface.dll。(2)LC.HWMgr.dll。(3)LC.B1Mgr.dll,LC.B2Mgr.dll。2.1LC.HWInterface.dllLC.HWInterface.dll包含了直接由上位機軟件調用的API函數,在該DLL中會引用下層的LC.HWMgr.dll。LC.HWInterface.dll包含三個類:Job、DeviceStatus與HWController。Job類提供了上層應用軟件訪問特定激光控制器的便利途徑,從而隱藏了多種激光器控制板卡的復雜性。每個打標任務必須對應一個Job對象,而每個Job對象又綁定了一個控制板卡。Job對象還包含當前任務的完成情況、錯誤狀態等。DeviceStatus對象提供了上層軟件對特定激光器狀態的單點訪問。在DeviceStatus對象的整個生命周期內可以對激光器的狀態隨時查詢。HWController則對連接的設備進行各種控制管理提供方法。比如,初始化硬件、創建Job對象與DeviceStatus對象、關閉硬件等。2.2LC.HWMgr.dllLC.HWMgr.dll包含了公共接口,這些接口從LC.B1Mgr.dll,LC.B2Mgr.dll或其他新的板卡支持Dll里實現的函數抽象出來的。所以,如果需要整合新的控制板卡,就需要實現LC.HWMgr.dll中定義的接口。LC.HWMgr.dll就是為了隱藏控制卡的類型而引入的,LC.HWInterface.dll并不需要知道控制卡的信息,僅僅有接口的引用信息。LC.HWMgr.dll包含了一個類:HWCreator.和三個接口:ILaserHW、IHWMgr、和IStatusUpdate。具體實現參考第4節抽象接口類圖。2.3LC.B1Mgr.dllLC.B1Mgr.dll中實現了LC.HWMgr.dll中定義的各個接口,且調用特定的控制板卡API。如果需要整合新的控制板卡,同樣的需要實現上面定義的接口。LC.B1Mgr.dll在編譯時候并不需要鏈接到API中,而是在LC.HWMgr.dll中根據配置文件動態的加載進。所以,對于新的控制板卡,同樣需要新寫一個動態庫,且在配置文件中給出必要的信息,根據需要動態加載。包含三個類:B1HWMgr、B1Controller、和NetDeviceMgr。具體實現參照第4節抽象接口類圖。

3抽象接口類圖

上位機應用程序需要創建一個HWController實例,一個或多個打標Job實例,對應每個打標激光設備的DeviceStatus實例。HWCreator會根據配置文件來創建B1HWMgr或B2HWMgr的實例。在配置文件中需要指定控制板卡的類型。抽象接口類圖,如圖3所示。

4重要的公共方法整理

(表1)其他類略。

5結論

該設計成功整合了目前公司的兩種型號的控制板卡,并實現了統一管理與使用接口。雖然本文僅以某激光公司的軟件開發為例,設計了支持多種類型控制板卡的接口函數庫,但是該設計方法,適用于各類用途的支持多控制板卡的接口設計,具有很強的借鑒意義。

參考文獻

[1]趙文路.多模式多接口激光標記控制軟件的設計與實現[D].華中科技大學,2011.

[2]宋雨,趙文清.軟件工程[M].中國電力出版社,2007.

[3]GradyBooch,等著.UML用戶指南(第2版)[M].人民郵電出版社,2012.

作者:蘇亞娟 榮音 單位:無錫南洋職業技術學院

主站蜘蛛池模板: 日韩污视频在线观看| 一级黄色片大全| 毛片女女女女女女女女女| 又大又黄又粗又爽的免费视频| 成人在线手机视频| 国产精品香港三级国产电影| swag在线播放| 成人黄色电影在线观看 | 久久久久国产精品免费免费搜索| 欧美亚洲国产日韩| 亚洲熟妇丰满多毛XXXX| 精品一区二区三区在线视频观看| 国产一级做a爱免费视频| 成人免费观看一区二区| 国产精品亚洲片夜色在线| 99re在线精品视频| 日韩精品久久无码中文字幕| 亚洲成人免费在线观看| 波多野结衣痴女系列73| 免费污污视频在线观看| 美国式禁忌矿桥矿网第11集| 国产乱人伦真实精品视频| 麻豆69堂免费视频| 国产欧美日韩在线观看精品| 3d动漫精品一区视频在线观看 | 日本高清护士xxxxx| 亚洲av日韩精品久久久久久久 | 国产喷水在线观看| 国产亚洲欧美在在线人成| 国产精品久久一区二区三区| 91精品久久久久久久久中文字幕 | 亚洲一区二区三区国产精华液| 欧美日韩精品一区二区三区高清视频 | 成人a毛片视频免费看| 中文字幕无码不卡在线| 日本不卡高字幕在线2019| 久久国产一区二区三区| 日韩精品武藤兰视频在线| 亚欧洲精品在线视频免费观看| 欧美人与zoxxxx另类| 亚洲国产精品成人综合久久久 |