国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種支持多型號(hào)控制板卡的接口軟件設(shè)計(jì)

2019-02-02 03:58:00蘇亞娟榮音
關(guān)鍵詞:計(jì)算機(jī)系統(tǒng)嵌入式

蘇亞娟 榮音

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

關(guān)鍵詞:嵌入式;計(jì)算機(jī)系統(tǒng);多型號(hào);統(tǒng)一抽象板卡;API

中圖分類號(hào):TP273.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)11-0132-02

0 簡(jiǎn)介

一般控制板卡的上位機(jī)軟件最初總是對(duì)應(yīng)初始版本的硬件板卡,當(dāng)板卡成系列、多型號(hào)發(fā)展時(shí),原先各自的獨(dú)立上位機(jī)軟件不便于管理與使用,就需要設(shè)計(jì)統(tǒng)一的程序,以便管理多種型號(hào)的設(shè)備,如在文獻(xiàn)[1]中設(shè)計(jì)了一種同時(shí)支持PCI與USB板卡的控制軟件。本文也是工作需要,根據(jù)需求設(shè)計(jì)了一種通用的統(tǒng)一抽象板卡API,以支持多型號(hào)的控制板卡。

1 軟件需求

隨著公司業(yè)務(wù)的發(fā)展,研發(fā)的板卡需要定制化、多樣化與系列化,因此迫切需要設(shè)計(jì)一種接口來(lái)隱藏這種硬件多樣性,提出開發(fā)需求如下:

(1)從應(yīng)用程序角度看,能夠隱藏硬件特定信息;(2)支持多型號(hào)的控制板卡;(3)支持每種型號(hào)的多個(gè)數(shù)目的控制板卡。

應(yīng)用開發(fā)人員可以用這個(gè)抽象板卡的API,編制程序而無(wú)需考慮實(shí)際板卡類型。單個(gè)應(yīng)用程序可以控制多個(gè)板卡,而且當(dāng)有新的板卡加入時(shí),無(wú)需大的改動(dòng),就能支持。

抽象板卡的API,設(shè)計(jì)上不能直接操控硬件板卡,必須借助原先控制板卡的提供的API。因此,軟件工程的角度看,統(tǒng)一抽象控制板卡API,只有兩個(gè)外部接口,一邊是上層的主機(jī)程序,另一邊是下層具體的激光控制板卡API。統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)[2-3]是軟件工程中一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言,UML是面向?qū)ο笤O(shè)計(jì)的建模工具。抽象板卡API的UML用例圖如圖1所示。

2 抽象接口組成分解

抽象接口的功能分解圖如圖2所示。

抽象接口由三個(gè)層級(jí)的動(dòng)態(tài)庫(kù)成分組成,從上至下依次為:

(1)LC.HWInterface.dll。(2)LC.HWMgr.dll。(3)LC.B1Mgr.dll, LC.B2Mgr.dll。

2.1 LC.HWInterface.dll

LC.HWInterface.dll包含了直接由上位機(jī)軟件調(diào)用的API函數(shù),在該DLL中會(huì)引用下層的LC.HWMgr.dll。LC.HWInterface.dll包含三個(gè)類:Job、DeviceStatus與HWController。

Job類提供了上層應(yīng)用軟件訪問特定激光控制器的便利途徑,從而隱藏了多種激光器控制板卡的復(fù)雜性。每個(gè)打標(biāo)任務(wù)必須對(duì)應(yīng)一個(gè)Job對(duì)象,而每個(gè)Job對(duì)象又綁定了一個(gè)控制板卡。Job對(duì)象還包含當(dāng)前任務(wù)的完成情況、錯(cuò)誤狀態(tài)等。

DeviceStatus對(duì)象提供了上層軟件對(duì)特定激光器狀態(tài)的單點(diǎn)訪問。在DeviceStatus對(duì)象的整個(gè)生命周期內(nèi)可以對(duì)激光器的狀態(tài)隨時(shí)查詢。

HWController則對(duì)連接的設(shè)備進(jìn)行各種控制管理提供方法。比如,初始化硬件、創(chuàng)建Job對(duì)象與DeviceStatus對(duì)象、關(guān)閉硬件等。

2.2 LC.HWMgr.dll

LC.HWMgr.dll包含了公共接口,這些接口從LC.B1Mgr. dll,LC.B2Mgr.dll或其他新的板卡支持Dll里實(shí)現(xiàn)的函數(shù)抽象出來(lái)的。所以,如果需要整合新的控制板卡,就需要實(shí)現(xiàn)LC.HWMgr.dll中定義的接口。LC.HWMgr.dll就是為了隱藏控制卡的類型而引入的,LC.HWInterface.dll并不需要知道控制卡的信息,僅僅有接口的引用信息。

LC.HWMgr.dll包含了一個(gè)類:HWCreator.和三個(gè)接口:

ILaserHW、IHWMgr、和IStatusUpdate。

具體實(shí)現(xiàn)參考第4節(jié)抽象接口類圖。

2.3 LC.B1Mgr.dll

LC.B1Mgr.dll中實(shí)現(xiàn)了LC.HWMgr.dll中定義的各個(gè)接口,且調(diào)用特定的控制板卡API。如果需要整合新的控制板卡,同樣的需要實(shí)現(xiàn)上面定義的接口。LC.B1Mgr.dll在編譯時(shí)候并不需要鏈接到API中,而是在LC.HWMgr.dll中根據(jù)配置文件動(dòng)態(tài)的加載進(jìn)。所以,對(duì)于新的控制板卡,同樣需要新寫一個(gè)動(dòng)態(tài)庫(kù),且在配置文件中給出必要的信息,根據(jù)需要?jiǎng)討B(tài)加載。

包含三個(gè)類:B1HWMgr、B1Controller、和NetDevice Mgr。具體實(shí)現(xiàn)參照第4節(jié)抽象接口類圖。

3 抽象接口類圖

上位機(jī)應(yīng)用程序需要?jiǎng)?chuàng)建一個(gè)HWController實(shí)例,一個(gè)或多個(gè)打標(biāo)Job實(shí)例,對(duì)應(yīng)每個(gè)打標(biāo)激光設(shè)備的DeviceStatus實(shí)例。

HWCreator會(huì)根據(jù)配置文件來(lái)創(chuàng)建B1HWMgr或B2HWMgr的實(shí)例。在配置文件中需要指定控制板卡的類型。

抽象接口類圖,如圖3所示。

4 重要的公共方法整理(表1)

其他類略。

5 結(jié)論

該設(shè)計(jì)成功整合了目前公司的兩種型號(hào)的控制板卡,并實(shí)現(xiàn)了統(tǒng)一管理與使用接口。雖然本文僅以某激光公司的軟件開發(fā)為例,設(shè)計(jì)了支持多種類型控制板卡的接口函數(shù)庫(kù),但是該設(shè)計(jì)方法,適用于各類用途的支持多控制板卡的接口設(shè)計(jì),具有很強(qiáng)的借鑒意義。

參考文獻(xiàn)

[1] 趙文路.多模式多接口激光標(biāo)記控制軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),2011.

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

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

猜你喜歡
計(jì)算機(jī)系統(tǒng)嵌入式
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
IBM推出可與人類“辯論”的計(jì)算機(jī)系統(tǒng)
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
分布處理計(jì)算機(jī)系統(tǒng)研究
MIMD 并行計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與定量分析
地面氣象測(cè)報(bào)業(yè)務(wù)計(jì)算機(jī)系統(tǒng)
西藏科技(2015年1期)2015-09-26 12:09:35
分布式計(jì)算機(jī)系統(tǒng)智能化供電的研究
Altera加入嵌入式視覺聯(lián)盟
海晏县| 静安区| 资中县| 永州市| 徐闻县| 界首市| 汽车| 新郑市| 连南| 屏南县| 邯郸市| 怀化市| 汉阴县| 巴林左旗| 亳州市| 邹城市| 色达县| 伽师县| 大石桥市| 海宁市| 通许县| 新蔡县| 曲阜市| 郧西县| 潢川县| 嵊州市| 赤城县| 当雄县| 宝应县| 工布江达县| 博湖县| 孟津县| 江川县| 加查县| 大安市| 丹巴县| 曲阳县| 新密市| 德钦县| 越西县| 张北县|