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