劉磊
摘要:計算機系統(tǒng)內(nèi)部各設(shè)備之間的通訊都需要遵循一定的通訊協(xié)議,由于系統(tǒng)開發(fā)時間、硬件條件、應(yīng)用場所不同,各設(shè)備所支持的協(xié)議也不一定相同,這樣在不同設(shè)備互聯(lián)的時候,由于各設(shè)備所支持的協(xié)議不同,會造成很多設(shè)備無法聯(lián)通。本文基于嵌入式系統(tǒng),設(shè)計了一種協(xié)議轉(zhuǎn)換設(shè)備,支持目前較為通用的大部分協(xié)議,為不同系統(tǒng)之間的互聯(lián)提供一種簡易的方式。
Abstract: Communication between devices within a computer system is required to follow a certain communication protocol. Because the system development time, the hardware condition, and the application place are different, the protocol that each equipment supports is not necessarily the same. So in different equipment interconnection, due to the different protocols supported by each device, many devices can not communicate with each other. Based on the embedded system, this paper designs a protocol conversion device to support most of the protocols that are common at present, and provides an easy way for the interconnection between different systems.
關(guān)鍵詞:計算機;嵌入式;協(xié)議轉(zhuǎn)換
Key words: computer;embedded;protocol conversion
中圖分類號:TP273 文獻標識碼:A 文章編號:1006-4311(2017)04-0067-03
0 引言
計算機系統(tǒng)內(nèi)部,不同計算機系統(tǒng)之間,往往需要相互交換信息,而信息的交換是建立在一定的基礎(chǔ)之上的。要使得計算機系統(tǒng)的信息交互,必須遵循一定的協(xié)議。
對于計算機系統(tǒng)本身而言,自身大都支持一定的通信協(xié)議,但是,由于計算機系統(tǒng)的開發(fā)時間、開發(fā)環(huán)境、開發(fā)經(jīng)費、開發(fā)目的存在很大的不同,各計算機系統(tǒng)所支持的通信協(xié)議往往存在一定的差異,而為了實現(xiàn)計算機系統(tǒng)的互聯(lián),必須將不同計算機系統(tǒng)支持的不同的通信協(xié)議進行轉(zhuǎn)換,使得協(xié)議轉(zhuǎn)換為互聯(lián)的計算機系統(tǒng)的其中一種差異或者其它一種共同可轉(zhuǎn)換的協(xié)議。這樣使得不同時期、不同開發(fā)環(huán)境、不同開發(fā)目的下所設(shè)計開發(fā)的設(shè)備之間可以進行互聯(lián),從而實現(xiàn)一個具有統(tǒng)一目標性的功能,而不需要二次開發(fā)或者重新開發(fā)相同功能設(shè)備,節(jié)約了大量的人力、物力和財力,其具有非常重要的實際意義。
1 計算機系統(tǒng)互聯(lián)概述
隨著科技的發(fā)展,人類需要解決和完成的任務(wù)越來越復(fù)雜,要完成一個特定的目標,一種或者有限幾種計算機系統(tǒng)已經(jīng)很難完成需要完成的任務(wù),而面對復(fù)雜度較高的任務(wù),必須是多個計算機系統(tǒng)互相連接在一起才可以實現(xiàn)所要完成的任務(wù)和功能。而各系統(tǒng)之間互聯(lián)必須遵循相同的通信協(xié)議規(guī)范[1],如圖1所示。
此處提出一種協(xié)議轉(zhuǎn)換設(shè)備,支持不同通信協(xié)議的協(xié)議轉(zhuǎn)換設(shè)備可以直接鏈接到協(xié)議轉(zhuǎn)換設(shè)備上,并且計算機分系統(tǒng)可以和協(xié)議轉(zhuǎn)換設(shè)備進行通信,同時,協(xié)議轉(zhuǎn)換設(shè)備可以將發(fā)送信息的計算機系統(tǒng)的信息轉(zhuǎn)換為符合接收信息的計算機系統(tǒng)的通信協(xié)議的信息。從而在發(fā)送、接收信息的計算機系統(tǒng)之間建立一種連接。
這種方案并不改變原來各個計算機分系統(tǒng),可以很容易地實現(xiàn)將各個計算機分系統(tǒng)掛在到協(xié)議轉(zhuǎn)換設(shè)備上,或者將任意一個計算機分系統(tǒng)從協(xié)議轉(zhuǎn)換設(shè)備上卸載。這種模式增強了系統(tǒng)改造地靈活性,降低了系統(tǒng)改造成本。不同地計算機分系統(tǒng)可以以不同地方式通過協(xié)議轉(zhuǎn)換設(shè)備互聯(lián),實現(xiàn)不同地功能,從而實現(xiàn)資源的有效整合,增大計算機分系統(tǒng)的效費比。
基于上述情況,本文提出一種基于嵌入式系統(tǒng)的上網(wǎng)實現(xiàn)方式,將不同的計算機系統(tǒng)連接到本文提出的嵌入式系統(tǒng)上,該系統(tǒng)對不同計算機分系統(tǒng)的通信方式和通信協(xié)議進行轉(zhuǎn)化,將不同計算機分系統(tǒng)所使用的不同類型的通信方式相互轉(zhuǎn)化為分系統(tǒng)之間可以相互識別的信號,從而實現(xiàn)了不同計算機分系統(tǒng)之間多種形式的、靈活的相互結(jié)合,完成不同的任務(wù)。
2 系統(tǒng)結(jié)構(gòu)設(shè)計
掛載在協(xié)議轉(zhuǎn)換設(shè)備的各個子系統(tǒng)之間要相互通信,必須符合各分系統(tǒng)之間相應(yīng)的通信協(xié)議要求[2,3]。對于不同計算機分系統(tǒng)而言,協(xié)議轉(zhuǎn)換設(shè)備需要實現(xiàn):將某計算機分系統(tǒng)發(fā)送來的信息轉(zhuǎn)換為符合接收方通信協(xié)議標準的信息,并準確發(fā)送給接收方。
結(jié)構(gòu)如圖2所示。
作為發(fā)送方的計算機分系統(tǒng)將數(shù)據(jù)發(fā)送出去以后,先到達協(xié)議轉(zhuǎn)換設(shè)備的接收協(xié)議轉(zhuǎn)換網(wǎng)關(guān),然后數(shù)據(jù)送達數(shù)據(jù)轉(zhuǎn)換網(wǎng)關(guān),經(jīng)過數(shù)據(jù)轉(zhuǎn)換網(wǎng)關(guān)處理,將需要交互的數(shù)據(jù)本身和目標計算機分系統(tǒng)信息分離出來,協(xié)議的其它部分去除,然后將數(shù)據(jù)轉(zhuǎn)交給發(fā)送轉(zhuǎn)換網(wǎng)關(guān),在發(fā)送協(xié)議轉(zhuǎn)換網(wǎng)關(guān),對數(shù)據(jù)進行重新處理,轉(zhuǎn)換為作為接收方的計算機分系統(tǒng)所支持的通信協(xié)議,然后發(fā)送給作為接收方的計算機分系統(tǒng)。
發(fā)送協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和接收協(xié)議轉(zhuǎn)換網(wǎng)關(guān)分別結(jié)合數(shù)據(jù)交換網(wǎng)關(guān),分別實現(xiàn)了陳舊武器裝備與作戰(zhàn)系統(tǒng)網(wǎng)的數(shù)據(jù)發(fā)送和接收功能,符合協(xié)議轉(zhuǎn)換設(shè)備要求,并且不同的計算機分系統(tǒng)可以隨時從協(xié)議轉(zhuǎn)換設(shè)備上掛載或者卸載而不對協(xié)議轉(zhuǎn)換設(shè)備和其它計算機分系統(tǒng)產(chǎn)生影響,實現(xiàn)了系統(tǒng)所需要的功能,符合系統(tǒng)設(shè)計要求。
3 基于嵌入式系統(tǒng)的硬件設(shè)計
隨著計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式系統(tǒng)在工業(yè)、農(nóng)業(yè)、軍事等領(lǐng)域得到了廣泛的應(yīng)用[4,5]。嵌入式芯片已經(jīng)由最初的8位機發(fā)展到現(xiàn)在廣泛應(yīng)用的32位機,主頻也已經(jīng)發(fā)展到了上百兆,支持包括A/D、D/A、IIC、SPI等常見的外設(shè)[6]。
STM32是意法半導(dǎo)體公司推出的基于專為高性能、低成本、低功耗的基于ARM Cortex-M0、Cortex-M3、Cortex-M4內(nèi)核的嵌入式產(chǎn)品。其具有很強的擴展能力,易于移植,具有豐富的外設(shè)資源(如圖3所示),主控芯片外圍電路模塊豐富,包括ADC、DAC、CAN、SPI、IIC等接口,芯片主頻高,運算能力強,具備系統(tǒng)升級和擴展的空間。
發(fā)送協(xié)議轉(zhuǎn)換網(wǎng)關(guān)、接收協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和數(shù)據(jù)交換網(wǎng)關(guān)都是以STM32為核心所開發(fā)的,計算機系統(tǒng)發(fā)送來的以CAN或者串口等數(shù)據(jù)發(fā)送到發(fā)送協(xié)議轉(zhuǎn)換網(wǎng)關(guān),STM32驅(qū)動接收協(xié)議轉(zhuǎn)換網(wǎng)關(guān)將數(shù)據(jù)進行處理,然后將中間待發(fā)送數(shù)據(jù)發(fā)送至數(shù)據(jù)交換網(wǎng)關(guān),STM32驅(qū)動數(shù)據(jù)交換網(wǎng)關(guān)將接收到的數(shù)據(jù)轉(zhuǎn)換為變成中間待發(fā)送數(shù)據(jù);數(shù)據(jù)交換網(wǎng)關(guān)將數(shù)據(jù)處理完畢以后,在STM32的驅(qū)動下,發(fā)送數(shù)據(jù)網(wǎng)關(guān)將待處理數(shù)據(jù)轉(zhuǎn)換為符合接收方通信協(xié)議標準的通信信息,然后將數(shù)據(jù)發(fā)送給接收方計算機系統(tǒng)。實現(xiàn)了不同計算機系統(tǒng)之間的數(shù)據(jù)互聯(lián)。
4 系統(tǒng)軟件設(shè)計
系統(tǒng)采用的開發(fā)環(huán)境為IAR Embedded Workbench for ARM,該開發(fā)環(huán)境支持匯編語言、C/C++語言開發(fā)應(yīng)用程序。以CAN通信協(xié)議與以太網(wǎng)互相轉(zhuǎn)化為例進行說明,系統(tǒng)軟件框圖如下:
本軟件以CAN總線和以太網(wǎng)相互轉(zhuǎn)換為例,說明了系統(tǒng)的軟將框架,其它類似串口通信與以太網(wǎng)通信轉(zhuǎn)換結(jié)構(gòu)類似。實現(xiàn)了CAN協(xié)議與以太網(wǎng)協(xié)議之間的相互通信。
5 總結(jié)
本文的設(shè)計以嵌入式系統(tǒng)為基礎(chǔ),針對不同時期、不同開發(fā)環(huán)境和不同開發(fā)背景下開發(fā)的計算機系統(tǒng),為實現(xiàn)某一特定的目標和功能,需要任意組合互聯(lián)提供了一種不對原計算機系統(tǒng)進行改造的互聯(lián)方案。本方案系統(tǒng)實現(xiàn)容易,穩(wěn)定性高,經(jīng)濟投入低,滿足遵循不同通信協(xié)議的計算機系統(tǒng)為實現(xiàn)某一復(fù)雜任務(wù)和功能需要互聯(lián)的要求。
參考文獻:
[1]王繼龍,吳建平.大規(guī)模計算機互聯(lián)網(wǎng)絡(luò)性能監(jiān)控模型的設(shè)計與實現(xiàn)[J].計算機研究與發(fā)展,2000(04).
[2]姜震,等.未來航空電子高速數(shù)據(jù)總線技術(shù)的研究[J].電光與控制,2002(03).
[3]李燕斌,等.基于軟件無線電的嵌入式系統(tǒng)總線研究及應(yīng)用[J].電訊技術(shù),2012(03).
[4]胥軍,方彥軍.嵌入式現(xiàn)場總線協(xié)議轉(zhuǎn)換網(wǎng)關(guān)開發(fā)[J].計算機工程,2006(12).
[5]景柏豪,沈孟良,唐曄鈞.CAN-Modbus/TCP協(xié)議轉(zhuǎn)換的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2013(05).
[6]李曉丹.基于STM32的物聯(lián)網(wǎng)嵌入式網(wǎng)關(guān)的設(shè)計[J].計算機工程與應(yīng)用,2015(04).