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