1000部丰满熟女富婆视频,托着奶头喂男人吃奶,厨房挺进朋友人妻,成 人 免费 黄 色 网站无毒下载

首頁 > 文章中心 > 通信軟件

通信軟件

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇通信軟件范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

通信軟件范文第1篇

前言

在發(fā)動(dòng)機(jī)電控系統(tǒng)開發(fā)過程中,通常采用單線程編程方法和結(jié)構(gòu)化的軟件開發(fā)方法。該方法無論從理論上還是從工程實(shí)踐方面都比較成熟,也取得了一定的成果。而隨著柴油機(jī)電控系統(tǒng)控制要求的提高,其軟件系統(tǒng)變得越來越復(fù)雜,開發(fā)時(shí)間也變得較長(zhǎng)[1]。傳統(tǒng)方式在通用性上不能令人滿意,且開發(fā)周期長(zhǎng)、難度大。引入面向?qū)ο蠓椒ㄩ_發(fā)軟件可很好地解決這一問題。CAN總線通信已發(fā)展成為發(fā)動(dòng)機(jī)進(jìn)行數(shù)據(jù)標(biāo)定和通信的主流總線,并有基于CAN總線通信協(xié)議的CCP、KWP2000和SAEJ1939等應(yīng)用層通信標(biāo)準(zhǔn)[2]。國(guó)內(nèi)對(duì)如何有效簡(jiǎn)潔地表達(dá)CAN通信協(xié)議的內(nèi)容進(jìn)行了有針對(duì)性的研究,取得了一些成果[3]。本文中采用統(tǒng)一建模語言(unifiedmodelinglanguage,UML)分析和設(shè)計(jì)遵循CCP協(xié)議的CAN通信軟件,并探索面向?qū)ο筌浖_發(fā)方法在發(fā)動(dòng)機(jī)控制領(lǐng)域的應(yīng)用。

1CCP協(xié)議和UML建模

1.1CAN總線和CCP協(xié)議CAN即控制器局域網(wǎng),主要用于汽車控制系統(tǒng),它擁有諸多優(yōu)點(diǎn),是發(fā)動(dòng)機(jī)控制系統(tǒng)通信的主要總線之一。發(fā)動(dòng)機(jī)的動(dòng)力性、燃油經(jīng)濟(jì)性和排放的改善,都依賴于大量預(yù)先存儲(chǔ)在控制單元軟件中的控制和調(diào)節(jié)參數(shù)(如特征值、曲線、脈譜等,統(tǒng)稱標(biāo)定參數(shù))[4]。CCP協(xié)議就是用于發(fā)動(dòng)機(jī)電控系統(tǒng)參數(shù)標(biāo)定、數(shù)據(jù)采集和實(shí)時(shí)監(jiān)控的CAN通信應(yīng)用層協(xié)議。CCP協(xié)議有兩個(gè)數(shù)據(jù)流向,一個(gè)是命令接收對(duì)象(CRO),其報(bào)文格式如圖1所示;另一個(gè)是數(shù)據(jù)傳輸對(duì)象(DTO)。DTO又分為兩種報(bào)文:命令返回報(bào)文(CRM)和數(shù)據(jù)采集報(bào)文(DAQ),其幀格式如圖2和圖3所示。CRM用于反映指令執(zhí)行是否成功。在這些幀中,CMD表示指令代碼,CTR表示指令計(jì)數(shù)器,PID表示數(shù)據(jù)包號(hào)碼,ERR表示錯(cuò)誤代碼[5]。根據(jù)CCP協(xié)議,數(shù)據(jù)標(biāo)定可分為兩種模式,一種是DAQ模式,可對(duì)一塊數(shù)據(jù)進(jìn)行采集、監(jiān)控和標(biāo)定;另一種是查詢(POLLING)模式,只能對(duì)單獨(dú)的數(shù)據(jù)進(jìn)行采集、監(jiān)控和標(biāo)定。CCP協(xié)議有一套復(fù)雜的指令代碼和較高的實(shí)時(shí)性要求。開發(fā)基于CCP協(xié)議的CAN通信軟件須考慮到這兩個(gè)方面。

1.2UML建模方法UML是一種繪制軟件藍(lán)圖的標(biāo)準(zhǔn)建模語言[6],其目的是對(duì)面向?qū)ο蟮南到y(tǒng)進(jìn)行可視化、詳細(xì)和完整地描述。UML可運(yùn)用于軟件開發(fā)過程各個(gè)階段的建模活動(dòng),尤其是分析與設(shè)計(jì)。將UML運(yùn)用于面向?qū)ο蟮能浖到y(tǒng)建模時(shí),為了體現(xiàn)系統(tǒng)的靜態(tài)和動(dòng)態(tài)模型,可運(yùn)用UML的用例圖、類圖、協(xié)作圖、順序圖和狀態(tài)圖5類圖形[7]進(jìn)行描述。這5類圖是相互聯(lián)系的,從不同角度來描述系統(tǒng),實(shí)際上往往只需3~4種圖即可精確地定義需求。(1)用例圖用于表達(dá)系統(tǒng)對(duì)外部提供的服務(wù),它描述了系統(tǒng)的功能模型。(2)類圖用于表示系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu),它表示出所有對(duì)象的屬性、特征和操作,同時(shí)體現(xiàn)了類之間的關(guān)系。(3)協(xié)作圖和順序圖一般用于描述系統(tǒng)的動(dòng)態(tài)行為和可視化對(duì)象間的通信。協(xié)作圖關(guān)注對(duì)象交互的結(jié)構(gòu)方面。順序圖表示以時(shí)間順序安排的對(duì)象交互,能更加清晰地顯示控制流和事件順序。(4)狀態(tài)圖通過狀態(tài)和遷移,描述實(shí)體的動(dòng)態(tài)行為及組成實(shí)體元素的狀態(tài)條件、響應(yīng)和動(dòng)作。在系統(tǒng)的靜態(tài)和動(dòng)態(tài)模型中,用例圖模型是系統(tǒng)建模的核心[8]。運(yùn)用UML軟件的建模過程如下。(1)進(jìn)行系統(tǒng)需求分析,在分析的基礎(chǔ)上建立系統(tǒng)的用例圖。(2)建立系統(tǒng)的靜態(tài)模型,將系統(tǒng)功能需求分解到各個(gè)對(duì)象類,確定各個(gè)對(duì)象類的作用。(3)建立系統(tǒng)的動(dòng)態(tài)模型,確定系統(tǒng)各個(gè)狀態(tài)的轉(zhuǎn)換過程和各個(gè)動(dòng)作的時(shí)序,最終完成整個(gè)建模活動(dòng)。

2發(fā)動(dòng)機(jī)CAN通信軟件的UML建模

2.1系統(tǒng)介紹通過燃燒分析儀了解氣缸內(nèi)燃燒情況,電子控制單元通過傳感器獲取發(fā)動(dòng)機(jī)當(dāng)前狀態(tài),并通過CAN總線上傳到上位機(jī),上位機(jī)則根據(jù)這些信息對(duì)控制參數(shù)進(jìn)行標(biāo)定。發(fā)動(dòng)機(jī)標(biāo)定系統(tǒng)組成見圖4。

2.2系統(tǒng)需求分析在發(fā)動(dòng)機(jī)標(biāo)定過程中,每個(gè)信號(hào)量的變化率和對(duì)標(biāo)定目標(biāo)的影響是不同的。通常冷卻液溫度、進(jìn)氣溫度和進(jìn)氣壓力等數(shù)據(jù)在發(fā)動(dòng)機(jī)運(yùn)行過程中變化率較小,為降低系統(tǒng)開銷,應(yīng)降低數(shù)據(jù)采集和數(shù)據(jù)上傳的頻率。而對(duì)于轉(zhuǎn)速和共軌系統(tǒng)軌壓等高頻信號(hào),須有較高的采樣頻率,同時(shí)要采用適當(dāng)?shù)娜蒎e(cuò)機(jī)制盡量避免總線仲裁機(jī)制的觸發(fā),提高傳輸速率。發(fā)動(dòng)機(jī)標(biāo)定參數(shù)可分為:敏感型參數(shù)和非敏感型參數(shù)。在進(jìn)行發(fā)動(dòng)機(jī)外特性曲線標(biāo)定時(shí),噴油提前角、噴油量及其修正系數(shù)、燃油溫度及其修正系數(shù)和噴油延遲時(shí)間等,對(duì)發(fā)動(dòng)機(jī)的動(dòng)力性能影響較大,屬于敏感型參數(shù);而機(jī)油壓力和燃油溫度等對(duì)發(fā)動(dòng)機(jī)的動(dòng)力性能影響不大,屬于非敏感型參數(shù)。總的來說,首先進(jìn)行敏感型參數(shù)的標(biāo)定,而后進(jìn)行非敏感型參數(shù)的標(biāo)定。在此過程中須根據(jù)個(gè)人需求,在數(shù)據(jù)采集功能中定義敏感型和非敏感型參數(shù)的范圍。根據(jù)CCP協(xié)議,數(shù)據(jù)的標(biāo)定有POLLING和DAQ兩種模式。對(duì)于非敏感型參數(shù)建議使用DAQ模式,對(duì)于敏感型參數(shù)建議使用POLLING模式。這樣既可提高標(biāo)定效率,也可改善標(biāo)定的質(zhì)量。發(fā)動(dòng)機(jī)的狀態(tài)監(jiān)控功能要實(shí)時(shí)反映其運(yùn)行狀態(tài)。在此功能中,上位機(jī)要對(duì)發(fā)動(dòng)機(jī)的重要參數(shù)進(jìn)行監(jiān)控,確保其處在可控的運(yùn)行狀態(tài)下。

2.3系統(tǒng)用例建模總結(jié)系統(tǒng)需求和CAN的功能,上位機(jī)通過4個(gè)用例跟系統(tǒng)進(jìn)行聯(lián)系,即數(shù)據(jù)采集、數(shù)據(jù)分類、狀態(tài)監(jiān)控和數(shù)據(jù)標(biāo)定,如圖5所示。在數(shù)據(jù)采集功能下,系統(tǒng)根據(jù)設(shè)置,按照一定的條件對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行采集并存放在上位機(jī)的存儲(chǔ)空間內(nèi),以便離線診斷和數(shù)據(jù)分析。數(shù)據(jù)分類功能將數(shù)據(jù)進(jìn)行分類,確定每種數(shù)據(jù)的優(yōu)先級(jí)、屬性和采取的數(shù)據(jù)標(biāo)定模式。作為一種容錯(cuò)手段,該功能分離出數(shù)據(jù)庫(kù)中的冗余數(shù)據(jù),保證標(biāo)定軟件的穩(wěn)定。此外,數(shù)據(jù)分類功能還將設(shè)置每種數(shù)據(jù)的正常變化和正常變化率范圍的門限,超出門限的數(shù)據(jù)將被認(rèn)為是錯(cuò)誤的。若連續(xù)多次出現(xiàn),也將以錯(cuò)誤標(biāo)志位的方式放入CAN通信數(shù)據(jù)庫(kù)。在狀態(tài)監(jiān)測(cè)功能下,系統(tǒng)調(diào)用命令處理功能,解析上位機(jī)發(fā)送的指令代碼進(jìn)行數(shù)據(jù)的傳輸。傳輸模式可通過數(shù)據(jù)分類功能來設(shè)定。在數(shù)據(jù)標(biāo)定功能下,系統(tǒng)首先解析上位機(jī)發(fā)送的命令指令選定標(biāo)定模式,而后在數(shù)據(jù)庫(kù)中尋找到需要標(biāo)定的數(shù)據(jù),最后按照上位機(jī)的要求更改數(shù)據(jù),執(zhí)行編程指令完成標(biāo)定工作。系統(tǒng)自身有錯(cuò)誤診斷功能(錯(cuò)誤機(jī)制),其操作都在系統(tǒng)的監(jiān)控之下,如果出現(xiàn)錯(cuò)誤,系統(tǒng)將啟動(dòng)錯(cuò)誤機(jī)制,以保證系統(tǒng)不會(huì)出現(xiàn)崩潰狀態(tài)。同時(shí),系統(tǒng)會(huì)以錯(cuò)誤幀的形式向上位機(jī)告知當(dāng)前錯(cuò)誤狀態(tài)。

2.4建立系統(tǒng)的靜態(tài)模型圖6為幾種重要的類之間的關(guān)系。上位機(jī)類與數(shù)據(jù)標(biāo)定類是使用關(guān)系(《use》)。數(shù)據(jù)標(biāo)定類和系統(tǒng)是相關(guān)聯(lián)的,1個(gè)系統(tǒng)只有1個(gè)數(shù)據(jù)標(biāo)定類,1個(gè)數(shù)據(jù)標(biāo)定類可對(duì)應(yīng)多個(gè)系統(tǒng)。DAQ模式類和POLLING模式類是數(shù)據(jù)標(biāo)定的子類,它們繼承了數(shù)據(jù)標(biāo)定類的所有特性,并有各自的特點(diǎn)。DAQ模式類和數(shù)據(jù)類通過對(duì)象描述表(ODT)相關(guān)聯(lián),1個(gè)DAQ模式類對(duì)應(yīng)多個(gè)ODT,1個(gè)ODT對(duì)應(yīng)多個(gè)數(shù)據(jù)。而POLLING模式類直接和數(shù)據(jù)聯(lián)系,而且是多對(duì)多的。圖7和圖8分別為數(shù)據(jù)標(biāo)定類和數(shù)據(jù)類的屬性和操作。數(shù)據(jù)標(biāo)定類是一種抽象類,沒有直接的實(shí)例與之對(duì)應(yīng)。作為父類,它允許子類繼承該父類的所有屬性和操作。該類屬性中命令代碼表征了符合CCP協(xié)議的標(biāo)定命令,如CONNECT的代碼是0x01;數(shù)據(jù)包號(hào)反映了數(shù)據(jù)發(fā)送模式,如PID為255表示從設(shè)備反饋給主設(shè)備的響應(yīng)。不論是在DAQ模式還是POLLING模式下進(jìn)行標(biāo)定,都須包含與上位機(jī)建立邏輯連接、斷開連接、接收CRO信息、發(fā)送DTO信息、命令解析和發(fā)送成功返回等操作。后文會(huì)介紹該類操作的一些應(yīng)用。數(shù)據(jù)類是一種具體類,CAN數(shù)據(jù)庫(kù)中待標(biāo)定的數(shù)據(jù)都屬于該類。數(shù)據(jù)的屬性包括名稱、首地址、數(shù)據(jù)類型、數(shù)量和該數(shù)據(jù)的正常范圍,通過這些屬性可確定該數(shù)據(jù)的所有特征。對(duì)數(shù)據(jù)類的操作包括數(shù)據(jù)濾波和合理性檢查。在數(shù)據(jù)采集功能中,數(shù)據(jù)濾波可對(duì)采集到的不合理數(shù)據(jù)進(jìn)行篩除。在狀態(tài)監(jiān)測(cè)功能中,若檢查數(shù)據(jù)不在正常范圍之內(nèi),則啟動(dòng)數(shù)據(jù)錯(cuò)誤報(bào)警功能告知上位機(jī)。

2.5建立系統(tǒng)的動(dòng)態(tài)模型在系統(tǒng)動(dòng)態(tài)建模的過程中一般使用狀態(tài)圖和順序圖。狀態(tài)圖能清晰地反映系統(tǒng)狀態(tài)在遷移時(shí)實(shí)體元素的狀態(tài)條件、響應(yīng)和動(dòng)作。順序圖可依據(jù)時(shí)間清晰地展示控制流的方向,適合描述系統(tǒng)的動(dòng)態(tài)行為。經(jīng)綜合考慮,軟件的初始化過程使用狀態(tài)圖描述,實(shí)際的通信實(shí)現(xiàn)使用順序圖。圖9為從系統(tǒng)初始化到軟件安裝完畢所經(jīng)歷的整個(gè)狀態(tài)過程。上電后,系統(tǒng)進(jìn)入啟動(dòng)狀態(tài)。如果系統(tǒng)啟動(dòng)失敗,系統(tǒng)就會(huì)退出;如果系統(tǒng)啟動(dòng)成功,系統(tǒng)進(jìn)入CAN驅(qū)動(dòng)安裝狀態(tài)。安裝完成后,系統(tǒng)進(jìn)入CCP驅(qū)動(dòng)安裝狀態(tài)。完成后,系統(tǒng)進(jìn)入下一個(gè)裝置的安裝。圖10為CAN驅(qū)動(dòng)安裝狀態(tài)。在CAN驅(qū)動(dòng)安裝過程中,系統(tǒng)從初始化參數(shù)中獲得ID信息,進(jìn)入寄存器配置狀態(tài),配置完成CAN的控制寄存器并清除寄存器的所有標(biāo)志位。完成后,進(jìn)行CAN接收和傳送功能的配置。配置接收功能的3個(gè)操作為:獲取發(fā)送者的ID;將接收到的內(nèi)容移至緩沖區(qū)和清除寄存器標(biāo)志位,準(zhǔn)備下一次接收。配置發(fā)送功能的3個(gè)操作為:配置發(fā)送寄存器的ID;將緩沖區(qū)的內(nèi)容放入發(fā)送寄存器和發(fā)送成功校驗(yàn)。完成之后,CAN驅(qū)動(dòng)安裝完畢,進(jìn)入下一個(gè)步驟。圖11為CCP驅(qū)動(dòng)安裝狀態(tài)。在CCP驅(qū)動(dòng)安裝過程中,系統(tǒng)首先建立命令處理環(huán)境。其主要功能是對(duì)接收到的信息進(jìn)行解析。如果上位機(jī)要求數(shù)據(jù)采集采用DAQ模式,則系統(tǒng)開始建立DAQ環(huán)境。在這個(gè)過程中,要先安裝DAQ相關(guān)組件,然后建立DAQ處理功能,最后完成命令代碼和DAQ處理的鏈接。完成后,系統(tǒng)進(jìn)入CCP初始化狀態(tài)。該狀態(tài)下,系統(tǒng)將建立版本檢查函數(shù)、打開數(shù)據(jù)通道和所有CCP軟件參數(shù)清零等功能。之后,系統(tǒng)連接底層驅(qū)動(dòng)和CCP應(yīng)用軟件的接口,最終完成CCP驅(qū)動(dòng)安裝。如果上位機(jī)要求采用POLL-ING模式,則系統(tǒng)直接進(jìn)入CCP初始化狀態(tài)。圖12為在CCP協(xié)議的DAQ模式下的通信過程,參與通信的主要有:上位機(jī)、命令處理模塊、數(shù)據(jù)采集模塊、DAQ模塊和數(shù)據(jù)等。CCP協(xié)議在BAQ模式下的通信過程如下。(1)上位機(jī)與系統(tǒng)進(jìn)行連接。上位機(jī)向系統(tǒng)的命令處理模塊發(fā)送建立連接的請(qǐng)求,而后系統(tǒng)發(fā)送CRM(握手報(bào)文)。連接成功后,PC和系統(tǒng)以一問一答的方式進(jìn)行獲得版本號(hào)和交換ID的動(dòng)作。(2)PC開始與系統(tǒng)正式通信。上位機(jī)發(fā)送控制信息給系統(tǒng)的命令處理模塊。命令處理模塊在接收完畢后,對(duì)控制信息進(jìn)行解析。(3)命令處理模塊會(huì)將解析后的上位機(jī)請(qǐng)求發(fā)送給數(shù)據(jù)標(biāo)定模式模塊,開始準(zhǔn)備進(jìn)行數(shù)據(jù)傳輸。(4)數(shù)據(jù)標(biāo)定模式模塊進(jìn)行數(shù)據(jù)傳輸初始化。在這之前,數(shù)據(jù)采集用例會(huì)選擇采用POLLING模式還是DAQ模式。在DAQ模式下,它會(huì)鏈接若干個(gè)DAQ列表,每個(gè)DAQ列表包含若干個(gè)ODT,ODT的每個(gè)字節(jié)都指向DAQ上需要的數(shù)據(jù)所對(duì)應(yīng)地址。(5)鏈接完所有的DAQ列表后,DAQ模塊會(huì)去數(shù)據(jù)類中獲取相關(guān)的數(shù)據(jù),將所得到的數(shù)據(jù)填入DAQ列表。DAQ模塊會(huì)將該DAQ列表傳遞給數(shù)據(jù)標(biāo)定模式模塊,并準(zhǔn)備發(fā)送。(6)當(dāng)條件具備時(shí),數(shù)據(jù)標(biāo)定模式模塊會(huì)發(fā)送上位機(jī)請(qǐng)求的數(shù)據(jù)。發(fā)送完畢后,數(shù)據(jù)標(biāo)定模式模塊會(huì)進(jìn)行校驗(yàn),以確保發(fā)送成功。然后才能再次接收上位機(jī)發(fā)送的命令請(qǐng)求,否則不作響應(yīng)。

通信軟件范文第2篇

 

PowerPC和DSP通過雙口存儲(chǔ)器進(jìn)行數(shù)據(jù)通信。該中還介紹了總線通信系統(tǒng)中PowerPC和DSP的故障管理功能。本軟件充分利用系統(tǒng)資源,實(shí)現(xiàn)了通信總線的控制與管理,滿足航電系統(tǒng)總線通信與管理的要求。

 

PowerPC是IBM和Motorola公司共同開發(fā)的高性能、低功耗、開放架構(gòu)的處理器,采用簡(jiǎn)單的指令集(RISC),同時(shí)集成了PCI -Express、千兆網(wǎng)絡(luò)、RapidIO及CAN等多種網(wǎng)絡(luò)通信控制器,支持DMA、I2C、UART等數(shù)據(jù)交換組件,具有處理能力強(qiáng)、網(wǎng)絡(luò)通信接口多等優(yōu)點(diǎn),被廣泛應(yīng)用于汽車電子、航空航天、工業(yè)控制等要求高性能和高可靠性的領(lǐng)域[1-3]。鑒于此,文中設(shè)計(jì)了一種基于PowerPC750配有VME總線的CPU模塊,滿足現(xiàn)代武器裝備的需求。

 

TMS320F240系列DSP是美國(guó)TI公司于1997年推出的,專為數(shù)字電機(jī)控制和其他控制應(yīng)用系統(tǒng)而設(shè)計(jì)的16位定點(diǎn)數(shù)字信號(hào)處理器。它將數(shù)字信號(hào)處理的高速運(yùn)算功能與面向電機(jī)的強(qiáng)大控制能力結(jié)合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設(shè)計(jì)系統(tǒng)的理想替代品。

 

F240片內(nèi)外設(shè)包括雙10位A/D轉(zhuǎn)換器,帶有鎖相環(huán)PLL時(shí)鐘模塊,帶中斷的看門狗定時(shí)器模塊,串行通信接口SCI及串行外設(shè)接口SPI,另外,還集成了一個(gè)事件管理模塊EVM。因此,F(xiàn)240不僅具有高速數(shù)據(jù)處理能力,還具有控制和事件管理能力,可完成人機(jī)界面,與上位機(jī)進(jìn)行串行通信[4-5]。

 

1 總線通信系統(tǒng)架構(gòu)

 

總線通信系統(tǒng)由一個(gè)CPU(PowerPC)模塊、一個(gè)DSP模塊以及電源模塊組成。CPU模塊采用PowerPC750處理器,同時(shí)集成了網(wǎng)卡和大容量FLASH,具有高速的數(shù)據(jù)采集及處理、仿真任務(wù)調(diào)度以及數(shù)據(jù)存儲(chǔ)等功能。DSP模塊采用TMS320F240系列芯片,通過局部總線,與外界設(shè)備通過RS422、ARINC429等數(shù)據(jù)交換總線相連。

 

用戶通過PowerPC發(fā)送和接收任務(wù)數(shù)據(jù),PowerPC再通過雙口存儲(chǔ)器與DSP相連接,進(jìn)行數(shù)據(jù)交換,DSP則負(fù)責(zé)RS422串行通信總線和ARINC429總線通信的控制管理、數(shù)據(jù)接收和發(fā)送等,以上整個(gè)系統(tǒng)完成了總線的通信功能。總線通信系統(tǒng)架構(gòu)如圖1所示。

 

2 總線通信系統(tǒng)軟件設(shè)計(jì)

 

2.1總線通信系統(tǒng)軟件概述

 

總線通信系統(tǒng)軟件由驅(qū)動(dòng)軟件和控制軟件組成,是實(shí)現(xiàn)RS422串行通信和ARINC429總線通信的專用軟件。其中,驅(qū)動(dòng)軟件實(shí)現(xiàn)DSP與主機(jī)應(yīng)用軟件間的接口控制與數(shù)據(jù)傳遞,它可提供各類消息數(shù)據(jù)的讀、寫支持,對(duì)DSP內(nèi)程序的調(diào)度。控制軟件負(fù)責(zé)RS422串行通信和ARINC429總線通信的控制、數(shù)據(jù)接收和發(fā)送等。

 

2.2驅(qū)動(dòng)軟件

 

驅(qū)動(dòng)軟件運(yùn)行在PowerPC模塊上,是應(yīng)用軟件與控制軟件的接口軟件,為實(shí)現(xiàn)應(yīng)用軟件的管理功能,驅(qū)動(dòng)軟件控制DSP模塊的初始化、啟動(dòng)、停止、自測(cè)試,監(jiān)控DSP模塊狀態(tài),控制DSP模塊和主機(jī)的數(shù)據(jù)交換。驅(qū)動(dòng)軟件操作狀態(tài)及轉(zhuǎn)換關(guān)系如圖2所示。

 

當(dāng)DSP在處在停止?fàn)顟B(tài),調(diào)用DSP_Bit進(jìn)行DSP自檢測(cè),調(diào)用DSP_Initialize進(jìn)行DSP初始化。初始化完成后可調(diào)用DSP_Go將DSP轉(zhuǎn)入運(yùn)行狀態(tài)。在運(yùn)行狀態(tài)下可調(diào)用操作信息驅(qū)動(dòng)程序、RS422驅(qū)動(dòng)程序和ARINC429總線驅(qū)動(dòng)程序,進(jìn)行消息傳輸,也可調(diào)用DSP_Stop將DSP轉(zhuǎn)入停止?fàn)顟B(tài)。

 

驅(qū)動(dòng)軟件按其功能分為:模塊控制程序、RS422控制程序、ARINC429總線控制程序、操作信息控制程序。

 

模塊控制程序的主要功能是啟動(dòng)DSP模塊上的初始化程序,使DSP初始化,然后啟動(dòng)DSP上的啟動(dòng)程序使DSP開始工作,還可以停止DSP運(yùn)行以及啟動(dòng)DSP上的BIT程序進(jìn)行自檢測(cè)。

 

RS422控制程序的主要功能包括對(duì)RS422各通道進(jìn)行初始化(各通道的接收/發(fā)送數(shù)據(jù)緩沖區(qū)劃分,每個(gè)數(shù)據(jù)塊的新數(shù)據(jù)、錯(cuò)誤、中斷等標(biāo)志字的設(shè)置,波特率、奇偶校驗(yàn)位、數(shù)據(jù)位和停止位的設(shè)置),接著從雙口存儲(chǔ)器讀DSP端RS422接收到的消息,并將要通過RS422發(fā)送的消息數(shù)據(jù)寫入雙口存儲(chǔ)器,最終由DSP上的RS422進(jìn)行數(shù)據(jù)發(fā)送。通過檢查RS422的接收緩沖區(qū),可以檢查是否有新數(shù)據(jù)。

 

ARINC429總線控制程序主要功能包括對(duì)ARINC429總線通道進(jìn)行初始化,從雙口存儲(chǔ)器讀ARINC429總線接收到的消息,并將要通過ARINC429總線發(fā)送的消息寫入雙口存儲(chǔ)器。

 

操作信息控制程序主要包括讀DSP模塊的自檢測(cè)結(jié)果,讀取DSP的HeartBeat計(jì)數(shù)器的當(dāng)前值,讀取DSP的狀態(tài),建立主機(jī)和DSP之間的通訊,復(fù)位DSP模塊。

 

2.3控制軟件

 

控制軟件運(yùn)行在DSP模塊上,它負(fù)責(zé)RS422串行通信總線和ARINC429總線通信的控制、數(shù)據(jù)發(fā)送和接收等。控制軟件的主程序中包括對(duì)DSP的初始化、啟動(dòng)、自檢測(cè)、停止及復(fù)位等功能。控制軟件響應(yīng)來自運(yùn)行在PowerPC上驅(qū)動(dòng)軟件的下發(fā)的命令,進(jìn)行相應(yīng)功能操作。在DSP模塊初始化中,定時(shí)器中斷被使能。定時(shí)器中斷服務(wù)程序會(huì)以固定的周期執(zhí)行,其中包括RS422通信握手,RS422在線狀態(tài)判斷,RS422發(fā)送和接收數(shù)據(jù),ARINC429總線發(fā)送和接收數(shù)據(jù)等程序。

 

RS422通信握手程序首先從PowerPC寫入雙口存儲(chǔ)器的相應(yīng)地址中讀取通信狀態(tài)字,然后判斷各通道狀態(tài),若三次接收到的通信狀態(tài)字均為預(yù)值,則通信建立成功。

 

RS422在線狀態(tài)判斷程序負(fù)責(zé)讀取各通道的在線狀態(tài),如果該通道已建立好通信,則清空接收寄存器,發(fā)送該通道在線狀態(tài)命令;接收在線狀態(tài)程序接收的現(xiàn)行狀態(tài)數(shù)據(jù)長(zhǎng)度若等于該通道的數(shù)據(jù)長(zhǎng)度,則判斷該通道的設(shè)備在線。

 

RS422串行通信總線和ARINC429總線均采用查詢方式進(jìn)行數(shù)據(jù)的發(fā)送和接收。

 

2.4故障管理

 

故障管理分為兩部分:PowerPC故障管理和DSP故障管理,每部分包含了故障檢測(cè)、故障過濾和故障處理。如圖3所示。

 

DSP的故障檢測(cè)的手段主要有BIT和軟件注入,PowerPC模塊主要有BIT,VxWorks5.5捕獲軟件故障、DSP注入、應(yīng)用軟件注入。BIT包含PUBIT、PBIT和IBIT,PUBIT上電后對(duì)系統(tǒng)硬件資源的檢測(cè),PBIT系統(tǒng)運(yùn)行過程中對(duì)硬件資源周期性的檢測(cè),IBIT由用戶啟動(dòng)對(duì)系統(tǒng)硬件資源的檢測(cè),BIT能夠完成整個(gè)周期硬件資源的檢測(cè)。

 

應(yīng)用軟件在運(yùn)行過程中,發(fā)現(xiàn)故障,將該故障注入故障隊(duì)列中,實(shí)現(xiàn)應(yīng)用軟件故障的管理。DSP發(fā)生致命性的,自己無法處理或者需要PowerPC處理的故障時(shí),將此類故障注入PowerPC的故障隊(duì)列中,以提高系統(tǒng)處理故障的能力。系統(tǒng)運(yùn)行過程中,VxWorks5.5將捕獲的異常信息注入故障隊(duì)列中,以解決運(yùn)行過程中產(chǎn)生的異常。

 

系統(tǒng)中的故障按照存在程度分為暫時(shí)性故障和永久性故障。暫時(shí)性故障帶有間斷性,是在一定條件下產(chǎn)生的故障,通過系統(tǒng)的調(diào)整或者運(yùn)行環(huán)境的改變消失的故障。永久性故障具有永恒性,一旦發(fā)生故障,則系統(tǒng)無法自身的恢復(fù),一直處于故障狀態(tài)。

 

按照故障的嚴(yán)重程度將故障分為破壞性故障和非破壞性故障,破壞性故障一旦發(fā)生,將對(duì)系統(tǒng)造成致命的破壞,導(dǎo)致系統(tǒng)無法正常工作;非破壞性故障一般是局部的,影響系統(tǒng)的部分功能,但不會(huì)對(duì)系統(tǒng)造成致命性破壞。故障管理需要將同時(shí)具有非破壞性和暫時(shí)性的故障采用門限值的方式過濾掉,將過濾后的故障和其他類型的故障提交給故障處理機(jī)制處理。

 

門限值的過濾方式:在故障檢測(cè)時(shí),發(fā)現(xiàn)設(shè)備故障后,設(shè)備的故障數(shù)N=N+1,當(dāng)N超過門限值W時(shí),則向故障處理機(jī)制提交故障;再次檢測(cè)時(shí),發(fā)現(xiàn)該設(shè)備正常則N=N-1,當(dāng)N<0時(shí),則將N設(shè)為0。

 

3 小結(jié)

 

在總線通信軟件中采用PowerPC + DSP的結(jié)構(gòu),既能發(fā)揮PowerPC高速信號(hào)采集和處理能力,又能發(fā)揮DSP高速數(shù)字信號(hào)處理能力。PowerPC上運(yùn)行的驅(qū)動(dòng)軟件是應(yīng)用軟件與控制軟件的接口軟件,實(shí)現(xiàn)了應(yīng)用軟件的管理功能;DSP上運(yùn)行的控制軟件,它負(fù)責(zé)RS422串行通信總線和ARINC429總線通信的控制、數(shù)據(jù)發(fā)送和接收等。該軟件充分利用系統(tǒng)資源,實(shí)現(xiàn)了通信總線的控制與管理,滿足了航電總線通信與管理的要求。

通信軟件范文第3篇

關(guān)鍵詞:即時(shí)通信軟件; P2P模式; Jxta; Java

中圖分類號(hào):TN87+; TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004-373X(2010)14-0136-04

Java Realization of P2P Instant Messaging Software Based on Jxta

QING Lin

(Hunan Normal University, Changsha 410006,China)

Abstract: The purpose of this software is to figure out the problem that the common instant message software mostly depended on the ability of the centre pole. The software is based on the frame of JXTA of the JAVA, and uses the development method of linking GUI with IMbean, achieves the posting of messages between every Peer.

Keywords: instant messaging software; P2P; Jxta; Java

P2P技術(shù)是目前非常流行的一種分布式計(jì)算技術(shù),P2P網(wǎng)絡(luò)的基礎(chǔ)單位是對(duì)等點(diǎn),每個(gè)對(duì)等點(diǎn)之間能夠互訪。SUN公司針對(duì)P2P技術(shù)的特點(diǎn)提出了自己關(guān)于P2P網(wǎng)絡(luò)的Jxta研究項(xiàng)目,本文設(shè)計(jì)的即時(shí)通信軟件便是基于該技術(shù)來開發(fā)的。

1 軟件實(shí)現(xiàn)

1.1 系統(tǒng)架構(gòu)

Jxta P2P applications即本文所設(shè)計(jì)的軟件是建立在JavaBean上的,JavaBean是一種類,它針對(duì)特定的用途封裝了屬性和方法[1],實(shí)現(xiàn)特定的用途,而下面的JAL是Java的抽象層,它直接隔開了Jxta的平臺(tái),為上層的程序管理Jxta的對(duì)等體,廣告,管道以及其他各種底層的實(shí)現(xiàn)和細(xì)節(jié)[2]。

1.2 總體設(shè)計(jì)步驟和方法

總體設(shè)計(jì)步驟和方法[3]如下:

(1) 設(shè)計(jì)JAL;

(2) 設(shè)計(jì)本軟件的中的JavaBean,即IMbean;

(3) 創(chuàng)建應(yīng)用程序VSJChat的GUI圖形界面;

(4) 鏈接IMbean和應(yīng)用程序GUI,以實(shí)現(xiàn)功能[4]。

1.3 設(shè)計(jì)JAL的Peer接口

JAL實(shí)際上也是API即引用程序接口,實(shí)現(xiàn)以下功能:

(1) 發(fā)現(xiàn)Peer同時(shí)能被發(fā)現(xiàn);

(2) 搜索其他Peer和Peer群;

(3) 創(chuàng)建和管理Peer群;

(4) 和其他Peer的交流;

(5) 獲得其他Peer或者Peer群的信息[5]。

Peer接口設(shè)計(jì)程序如下所示:

public interface Peer{ //開始

public void boot(String name)

throws Exception;

public void boot(String name,

String group)throws Exceptio

//申明可用性

public void publish()

throws Exception; //Peer信息

public String getName();

public String[]getPeers()

throws Exception; //發(fā)送和接收信息

public boolean sendMessage(

String name,Message msg)

throws Exception;

public boolean broadcast

(Messagemsg)throws Exception

public Message receiveMessage()

throws Exception; //信息處理

public Message newMessage();

public void pushObject(Message m

String tag,Object obj)

throws Exception;

public Object popObject(

Message msg,String tag)

throws Exception; //群處理

public void createGroup(

String name)throws Exceptio

public void joinGroup(String name

throws Exception;

public String[]getGroups()

throws Exception;

public void createAndOrJoinGroup

String name)throws Exceptio

public void leaveGroup(String nam

throws Exception;

//信息效用

public boolean

searchGroupWithName(String name)

throws Exceptio

public boolean

searchPeerWithName(String n

throws Exception;

public void displayPeers()

throws Exception;

public void displayGroups()

throws Exception;

public void displayServices()

throws Exception;

public String getPeerStatistics();

}

1.4 IMbean的設(shè)計(jì)

IMBean是在JAL基礎(chǔ)上開發(fā)的一個(gè)應(yīng)用JavaBean。它的作用是:處理所有的Jxta細(xì)節(jié)問題(包括初始化Peer,異常處理)[6];處理輸入信息,傳輸?shù)絍SJChat;處理輸出信息,通過Jxta網(wǎng)絡(luò)發(fā)送。

1.5 應(yīng)用程序VSJChat的GUI圖形界面的創(chuàng)建

利用圖形編輯器創(chuàng)建GUI圖形界面。使用的開發(fā)工具是NetBeans,利用其中的圖形編輯器創(chuàng)建。層結(jié)構(gòu)和每個(gè)GUI組件的類型,各個(gè)按鈕的名字將顯示在圖像界面中。

GUI產(chǎn)生代碼程序如下所示:

Public class VSJChat extends Javax.swing.JFrame{

/**產(chǎn)生新模板VSJchat*/

public VSJChat(){

...

}

private void initComponents(){

chatBean1=new

org.Jxta.ezel.beans.imbean.IMBean();

jPanel1=new Javax.swing.JPanel();

jTextField1=new Javax.swing.JTextField();

jButton1=new Javax.swing.JButton();

jPanel2=new Javax.swing.JPanel();

jTextArea1=new Javax.swing.JTextArea();

setTitle("VSJ P2P World Wide Messaging-100%Java Edition");

addWindowListener(new

Java.awt.event.WindowAdapter(){

public void windowClosing

(Java.awt.event.WindowEvent evt){

exitForm(evt);

}

});

jPanel1.setLayout(new Java.awt.BorderLayo

jTextField1.setColumns(40);

jTextField1.setFont(new Java.awt.Font(

"Dialog",0,10));

jPanel1.add(jTextField1,

Java.awt.BorderLayout.CENTER);

jButton1.setText("Send Message");

jPanel1.add(jButton1,Java.awt.BorderLayou

getContentPane().add(jPanel1,

Java.awt.BorderLayout.SOUTH);

jPanel2.setLayout(new Java.awt.BorderLayo

jTextArea1.setEditable(false);

jTextArea1.setFont(new

Java.awt.Font("Dialog",2,12));

jTextArea1.setFocusable(false);

jTextArea1.setMinimumSize(new

Java.awt.Dimension(500,400));

1.6 建立IMBean和應(yīng)用程序VSJChat的鏈接

1.6.1 導(dǎo)入IMBean

在IDE開發(fā)工具中加入代碼來導(dǎo)入IMBean,修改VSJChat產(chǎn)生構(gòu)造器來完成的。在源程序中創(chuàng)建了┮桓霆特別的構(gòu)造器,它用2個(gè)字符串作為參數(shù),并為┮桓霆私有方法localInit()構(gòu)造出初始化代碼。用一個(gè)發(fā)送者或?qū)Φ葯C(jī)名字和一個(gè)群名調(diào)用initBean()方法將激活在特定的群中的關(guān)聯(lián)對(duì)等機(jī)名的Jxta平臺(tái)。使用IMBean可加入到存在的被提供用戶名的IM會(huì)話中。在localInit()方法中,可以設(shè)置其他可獲得的IMBean參數(shù),如alias和topic properties[7]。

程序:導(dǎo)入bean

public VSJChat(){

mySenderName="noname";

myGroupName="netpeergroup";

localInit();

}

public VSJChat(String peername,String groupname){

mySenderName=peername;

myGroupName=groupname;localInit();

}

private void localInit(){

initComponents();

try{

chatBean1.initBean(mySenderName,myGroupName);

}catch(Exception ex){

ex.printStackTrace();

}

chatBean1.setSenderName(mySenderName);

chatBean1.setAlias("NOALIAS");

chatBean1.setTopic("ALL");

jTextField1.requestFocus();

1.6.2 實(shí)現(xiàn)IMBean發(fā)信息的功能

在GUI圖形界面中把jBotton1的按紐命名為“Send Message”。運(yùn)用NetBeans3.5的GUI編輯器,選中jBotton1組件,選擇事件標(biāo)簽的屬性列,點(diǎn)擊為事件名“actionPerformed”的屬性名,再輸入事件處理器的名字“SendClick”。這將在VSJChat中自動(dòng)創(chuàng)建一個(gè)事件處理器方法。

產(chǎn)生事件監(jiān)聽者程序[8] 如下所示:

jButton1.addActionListener(new Java.awt.event.ActionListener(){

public void actionPerformed(Java.awt.event.ActionEvent evt)

SendClicked(evt);

}

);

SendClicked()方法也同時(shí)產(chǎn)生了。填充這個(gè)方法,通過IMbean來取得用戶輸入和發(fā)送的消息。

獲得用戶輸入和發(fā)送的信息程序如下所示:

private static final String CHAT_SEP=">";

private static final String CR="\\n";

private static final String EMPTY_TEXT="";

private StringBuffer curMsgs=new

StringBuffer(EMPTY_TEXT);

private void SendClicked(

Java.awt.event.ActionEvent evt){

try{String latestMsg=jTextField1.getText();

chatBean1.sendMessage(latestMsg);

curMsgs.append(mySenderName+

CHAT_SEP+latestMsg+CR);

jTextArea1.setText(curMsgs.toString());

jTextField1.setText(EMPTY_TEXT);

jTextField1.requestFocus();

}catch(Exception ex){

ex.printStackTrace();

} }

在使用者打完字時(shí)按下回車鍵來發(fā)送信息。這可以在處理jTextFieldv1組件的actionPerformed()事件中完成。再一次使用GUI編輯器,這次選擇jTextField1組件,調(diào)用TextFieldComplete()處理方法[9]。

程序:發(fā)送信息快捷方式

jTextField1.addActionListener(new

ava.awt.event.ActionListener(){

public void actionPerformed(

Java.awt.event.ActionEvent

evt){

TextFieldComplete(evt);

} });

然后可以填充TextFieldComplete()方法來簡(jiǎn)單調(diào)用SendClick(),因?yàn)榛剀嚨韧邳c(diǎn)擊“Send Message”按紐。

發(fā)送信息程序如下所示:

private void TextFieldComplete(

Java.awt.event.ActionEvent evt){

SendClicked(evt);

})

1.6.3 實(shí)現(xiàn)IMBean接收信息功能

IMBean有2種接收信息的模式,事件處理和輪流檢測(cè)。因應(yīng)用程序不同,2種方法可以任選其一。本文用的是事件處理方式。可以在組件層級(jí)顯示中通過點(diǎn)擊IMBean組件,在屬性列表中選擇“event”標(biāo)簽,運(yùn)用IDE來加入1個(gè)對(duì)IMBean的MessageReceive事件的監(jiān)聽程序。這個(gè)事件處理器可稱為“messageHandler”。

IDE也為messageHandler()方法產(chǎn)生一個(gè)架構(gòu)代碼。這里,給找到接收的信息和刷新顯示在jTextArea中的信息填充邏輯語言[10]。

刷新顯示在jTextArea中的信息程序如下所示:

private void messageHandler(MessageReceivedEvent evt){

curMsgs.append(evt.getSender()+

CHAT_SEP+evt.getMessageText()

+CR);

jTextArea1.setText(

curMsgs.toString());

}

完成以上工作以后,VSJChat應(yīng)用程序的編寫就完成了。

1.7 實(shí)驗(yàn)結(jié)果

當(dāng)?shù)谝淮芜\(yùn)行VSJChat,Jxta GUI配置器會(huì)彈出,并要求設(shè)置配置參數(shù),在初始化配置后,這些配置將存儲(chǔ)在一個(gè).Jxta目錄中,以后重啟時(shí)將只為使用安全用戶名和密碼者提醒。按局域網(wǎng)上配置測(cè)試參數(shù)。首先,創(chuàng)建集合點(diǎn),這個(gè)可以用網(wǎng)上的目錄code/test/rdvnode中的runit.bat文件開始。仔細(xì)研究runit.bat文件,看到它實(shí)際上開始的是uk.co.vsj.Jxta2.wwm.RunRDV類,即:這個(gè)類的代碼創(chuàng)建一個(gè)Jxta群,把它作為一個(gè)群的集合點(diǎn)。現(xiàn)在開始第一個(gè)對(duì)等點(diǎn),即peer1,在code/test/peer1目錄下運(yùn)行runit,bat文件。繼續(xù)配置peer2,和peer1同樣設(shè)置。這個(gè)對(duì)等點(diǎn)可以通過code/test/peer2目錄下的runit.bat文件開始。運(yùn)行這2個(gè)Peer,運(yùn)用以上的命令,就可以用peer1和peer2運(yùn)行VSJChat了。雖然只運(yùn)行了2個(gè)peer,但按照上面的配置方法,只改變Peer的IP配置,在同一個(gè)VSJChat上運(yùn)行多少個(gè)Peer都是可以的。

2 結(jié) 語

本文著重介紹了如何實(shí)現(xiàn)了基于P2P網(wǎng)絡(luò)技術(shù)的即時(shí)通信軟件的對(duì)等體雙方互相收發(fā)信息。當(dāng)然P2P網(wǎng)絡(luò)時(shí)代的應(yīng)用還很多,今后本軟件將向著包含網(wǎng)絡(luò)存儲(chǔ),分布式下載等更多的應(yīng)用功能的方向發(fā)展。

參考文獻(xiàn)

[1]吳先濤,吳承治.P2P技術(shù)及其演進(jìn)[J].現(xiàn)代傳輸,2008 (3):64-65.

[2]楊天路,劉宇宏,張文,等.P2P網(wǎng)絡(luò)技術(shù)原理與系統(tǒng)開發(fā)案例[M].北京:人民郵電出版社,2007.

[3]Scott Oaks,Bernard Traversat. Jxta技術(shù)手冊(cè)[M].北京:清華大學(xué)出版社,2004.

[4]宋雪昌.基于Jxta對(duì)等網(wǎng)絡(luò)的即時(shí)通信系統(tǒng)的研究與實(shí)現(xiàn)[D].蘇州:蘇州大學(xué),2005.

[5]周功業(yè),黎書生.新一代網(wǎng)絡(luò)計(jì)算模型:P2P及其Jxta體系結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2002(9):139-140.

[6]鄧杰文.P2P系統(tǒng)模型綜述[J].中國(guó)科技信息,2008(6): 116-117.

[7]吳國(guó)慶.對(duì)等網(wǎng)絡(luò)技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008(7):100-101.

[8]許斌.Jxta-Java P2P網(wǎng)絡(luò)編程技術(shù)[M].北京:清華大學(xué)出版社,2003.

通信軟件范文第4篇

一、傳統(tǒng)數(shù)字通信原理實(shí)驗(yàn)現(xiàn)狀

(一)數(shù)字通信原理硬件實(shí)驗(yàn)平臺(tái)。1.采樣基礎(chǔ)及采樣編碼類實(shí)驗(yàn)。包括:脈沖幅度調(diào)制、脈沖編碼調(diào)制、自適應(yīng)差分脈沖編碼調(diào)制和連續(xù)可變斜率增量調(diào)制實(shí)驗(yàn)。2.調(diào)制解調(diào)類實(shí)驗(yàn)。包括:移頻鍵控、二進(jìn)制移相鍵控、差分二進(jìn)制相移鍵控、最小移頻鍵控、高斯最小頻移鍵控、正交相移鍵控、偏移四相相移鍵控和正交幅度調(diào)制實(shí)驗(yàn)。3.編碼解碼類實(shí)驗(yàn)。包括:漢明碼實(shí)驗(yàn)、加擾碼實(shí)驗(yàn)、傳號(hào)交替反轉(zhuǎn)碼/三階高密度雙極性碼碼型變換和傳號(hào)反轉(zhuǎn)碼碼型變換實(shí)驗(yàn)。4.接口類實(shí)驗(yàn)。包括:用戶環(huán)路接口實(shí)驗(yàn)、雙音多頻檢測(cè)實(shí)驗(yàn)、RS442接口實(shí)驗(yàn)和RS232接口實(shí)驗(yàn)。5.系統(tǒng)性實(shí)驗(yàn)。包括:IS95擴(kuò)頻系統(tǒng)Walsh碼特性測(cè)量、IS95(CDMA/DS)系統(tǒng)信號(hào)傳輸實(shí)驗(yàn)和移動(dòng)衰落信道通信系統(tǒng)綜合測(cè)試。

(二)數(shù)字通信原理硬件實(shí)驗(yàn)平臺(tái)面臨的問題。前面所提到的實(shí)驗(yàn)平臺(tái)集多種功能于一體,包括對(duì)無線通信常用的技術(shù)教學(xué),幫助學(xué)生時(shí)間,里面涵蓋了數(shù)字通信的原理已經(jīng)當(dāng)前最現(xiàn)代的技術(shù)技能,此實(shí)驗(yàn)平臺(tái)系統(tǒng)結(jié)合了數(shù)字通信硬件平臺(tái)的原理、技術(shù)、實(shí)踐多方面,可以說實(shí)用又簡(jiǎn)便,雖然現(xiàn)在硬件平臺(tái)凸顯很多優(yōu)點(diǎn),但是還面臨很多問題需要改進(jìn)實(shí)驗(yàn)平臺(tái)。1.在實(shí)驗(yàn)時(shí),試驗(yàn)箱中的專有模擬芯片,雖然根據(jù)數(shù)字通信原理設(shè)計(jì),但是由于設(shè)計(jì)效果欠佳,模擬鎖相環(huán)實(shí)驗(yàn)時(shí)方法比較老,所以模擬芯片的電路時(shí)常有受損情況。2.在數(shù)字調(diào)制實(shí)驗(yàn)數(shù)字實(shí)驗(yàn)箱鏈接的處理方式通常是很模糊的,特別是解調(diào)和同步算法的結(jié)果不能被測(cè)試和評(píng)價(jià)這個(gè)問題,使學(xué)生按照規(guī)定的順序操作得到的僅僅是實(shí)驗(yàn)結(jié)論,并沒辦法進(jìn)一步的研究的內(nèi)部機(jī)理。3.這個(gè)硬件平臺(tái)受限于模擬芯片的容量和處理分析能力,內(nèi)容和實(shí)踐具體步驟受限,發(fā)展空間也有一定的局限性,對(duì)學(xué)生的創(chuàng)新能力的發(fā)揮有很大影響。4.由于這個(gè)數(shù)字硬件實(shí)驗(yàn)平臺(tái)的相關(guān)部件比較容易受損,這也導(dǎo)致實(shí)驗(yàn)成本升高。針對(duì)以上陳述,本文利用Matlab的GUI工具,將用于用于數(shù)字通信原理實(shí)驗(yàn)軟件平臺(tái)和數(shù)字通信原理有機(jī)結(jié)合,總之,硬件平臺(tái)的發(fā)展,對(duì)于提高學(xué)生的自主設(shè)計(jì)能力,理論與實(shí)踐相結(jié)合,以及提高數(shù)字通信理論課程的教學(xué)效果有很大幫助。

二、數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)設(shè)計(jì)

(一)數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)系統(tǒng)。此次根據(jù)數(shù)字通信原理設(shè)計(jì)的軟件平臺(tái)既有發(fā)送裝置,又有接收裝置,分為這兩個(gè)部分。根據(jù)圖1我們可以看出,此軟件平臺(tái)有幾個(gè)構(gòu)成部分。被虛線框住的軟件部分代表的是軟件平臺(tái)增加的擴(kuò)展部分。整個(gè)平臺(tái)系統(tǒng)分為以下一個(gè)部分:采樣、量化、編碼、重構(gòu)。編碼和調(diào)制就是我們常用的信道編碼和調(diào)制,這樣不僅可以在軟件平臺(tái)上實(shí)現(xiàn)功能,還能在硬件平臺(tái)上實(shí)現(xiàn)調(diào)制實(shí)驗(yàn)和信道編碼。在這些模塊都完備以后,我們還要完善其他子模塊,以便于各項(xiàng)數(shù)據(jù)可以在一個(gè)模塊流轉(zhuǎn)到下一模塊,圖中接收端沒有展開探討是因?yàn)榻邮斩耸前l(fā)送端的逆過程,所以不予考慮。系統(tǒng)在具體應(yīng)用調(diào)試時(shí),還要不斷修改和完善。

圖1 數(shù)字通信原理軟件實(shí)驗(yàn)平臺(tái)系統(tǒng)框圖

(二)數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)。軟件實(shí)驗(yàn)平臺(tái)采用了Matlab軟件中的GUI工具,數(shù)字通信原理軟件實(shí)驗(yàn)平臺(tái)系統(tǒng)界面見圖2。

圖2 數(shù)字通信原理軟件實(shí)驗(yàn)平臺(tái)系統(tǒng)界面

由圖2可知,Matlab軟件中的GUI工具也有圖1中的接受和發(fā)送部分,除此之外,還有數(shù)字通信軟件平臺(tái)的參數(shù)和顯示,這些方面最終以時(shí)頻域的方式表現(xiàn)出來,顯示運(yùn)行結(jié)果。

在Matlab軟件中還有相對(duì)應(yīng)的存儲(chǔ)模塊來存放通信信號(hào)以及臨時(shí)通信信號(hào),在數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)中發(fā)送信號(hào)要經(jīng)歷采集樣本、輸入序碼,以及整個(gè)數(shù)字信道的編碼和數(shù)字調(diào)制的全過程,在采集樣本時(shí)要實(shí)現(xiàn)將信號(hào)化為數(shù)字?jǐn)?shù)列這樣的形式,只有轉(zhuǎn)變成為數(shù)字序列,才能將其存入文件;輸入序碼指的就是文件中抽取序碼讀取;信道編碼就是仿真常見的編碼方式,比如CRC碼和卷積碼,以此進(jìn)行差錯(cuò)控制;數(shù)字調(diào)制采用的不同進(jìn)制的調(diào)制方法,調(diào)制后會(huì)將信號(hào)繪制成波形或功率譜,主要運(yùn)用的進(jìn)制方法有ASK、FSK、PSK或者M(jìn)SK等等;擴(kuò)頻指的是對(duì)載波的調(diào)制方式,主要是運(yùn)用高速偽隨機(jī)的序列方式,因?yàn)樗乃俾蔬h(yuǎn)遠(yuǎn)大于原來我們說的元新號(hào)碼的速率,方便信號(hào)的充分?jǐn)U展。他的優(yōu)點(diǎn)就是可以預(yù)防被竊聽,具備一定的防干擾能力。由于每個(gè)用戶擁有不同的擴(kuò)譜碼,所以可以將相互正交的擴(kuò)譜碼做為根據(jù),這樣就將移動(dòng)通信系統(tǒng)和數(shù)字通信原理、DS-CDMA原理很好的糅合在一起,運(yùn)用相關(guān)技術(shù),將先進(jìn)技術(shù)融入到現(xiàn)在的軟件平臺(tái)中,每個(gè)用戶可以用同一個(gè)頻帶。接收裝置是對(duì)發(fā)送信號(hào)的仿真,引入了高斯白噪聲的過程,也是以波形和功率譜的形式繪制出來。

三、數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)實(shí)現(xiàn)

(一)數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)驗(yàn)證。在進(jìn)行數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)驗(yàn)證的時(shí)候,要根據(jù)圖一的整體構(gòu)造對(duì)模塊編程,軟件實(shí)驗(yàn)平臺(tái)的功能更加完善,比硬件平臺(tái)的功能更加完善,也能實(shí)現(xiàn)大部分實(shí)驗(yàn)功能,在同一時(shí)間,有更多的擴(kuò)展,如AMI/ CMI / HDB3編碼部分和漢明碼的編碼和調(diào)制部分,BFSK,D /BASK調(diào)制技術(shù)也是一種可以實(shí)現(xiàn)硬件實(shí)驗(yàn)平臺(tái)的技術(shù)。因此,操作和測(cè)試對(duì)于波形的硬件平臺(tái)和軟件平臺(tái)是可以比較的。圖3是FSK圖形示波器測(cè)試和實(shí)際使用的GUI工具硬件平臺(tái)的比較。

圖3 軟件仿真與實(shí)測(cè)對(duì)比(以FSK調(diào)制為例)

編碼、調(diào)制、擴(kuò)頻3個(gè)主要環(huán)節(jié)都進(jìn)行了有效擴(kuò)展:其中編碼環(huán)節(jié)增加了奇偶校驗(yàn)碼、循環(huán)碼、BCH碼、RS碼、卷積碼、Turbo碼;調(diào)制環(huán)節(jié)增加了16QaM和256QaM;擴(kuò)頻環(huán)節(jié)增加了擴(kuò)頻碼設(shè)計(jì)。

(二)數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)各模塊。為了讓學(xué)生更加清晰掌握整個(gè)操作,在數(shù)字通信實(shí)驗(yàn)軟件平臺(tái)的GUI運(yùn)行后,要先在軟件實(shí)驗(yàn)平臺(tái)上點(diǎn)擊“采樣”,這樣就可以提取信號(hào),并將信號(hào)以文本格式保存在文件中,假如信號(hào)是數(shù)字就不需要這樣的步驟。然后點(diǎn)擊“輸入碼序列”,打開剛才的文本文件,可以看到數(shù)據(jù)就在相對(duì)應(yīng)的位置,我們可以根據(jù)圖4所顯示的,對(duì)信道編碼進(jìn)行編碼,選擇最恰當(dāng)?shù)木幋a方式,圖4就是從文件中讀取輸入碼序列,然后表現(xiàn)編碼結(jié)果,根據(jù)相對(duì)應(yīng)的參數(shù),點(diǎn)擊“調(diào)制”,然后信號(hào)同樣是以波形和功率譜的形式表現(xiàn)出來,圖5就是演示此過程,調(diào)制方式為FSK。

圖4 數(shù)字信源及其CRC信道編碼波形 圖5 BFSK調(diào)制信號(hào)波形及功率譜

然后對(duì)信號(hào)進(jìn)行擴(kuò)頻,點(diǎn)擊“擴(kuò)頻”按鈕。輸入一個(gè)信噪比值,點(diǎn)擊“噪聲”按鈕,加入噪聲。擴(kuò)頻以及加入噪聲后的波形和頻譜如圖6所示(圖中所加噪聲,其信噪比為5dB)。再點(diǎn)擊“解擴(kuò)”按鈕可從擴(kuò)頻信號(hào)中恢復(fù)原信號(hào),然后點(diǎn)擊“解調(diào)”按鈕,對(duì)信號(hào)進(jìn)行解調(diào),然后譯碼得到有用信號(hào),最后將其與輸入信號(hào)進(jìn)行比較。

另外需要說明的是噪聲雖然在信道中存在,但實(shí)際上是在接收端引入的,所以將引入噪聲這一步歸在接收模塊。在做卷積碼仿真時(shí),由于所用方法譯碼時(shí)不能將原數(shù)據(jù)全部恢復(fù),所以需要在編碼時(shí)補(bǔ)零,這樣譯碼得到的才是完整的初始碼序列。這次設(shè)計(jì)的GUI只包含了通信的一些基本步驟,實(shí)際情況要復(fù)雜得多。比如實(shí)際信道中還包括衰減、延遲、多徑、多普勒頻移等很多問題,此外,在接收端還要考慮濾波器設(shè)計(jì)、均衡、同步等問題。

參考文獻(xiàn)

[1]皮宇鋒,郭杰榮.信息通信教學(xué)軟件的開發(fā)設(shè)計(jì)[J].中國(guó)電力教育,2010,15:84-86.

[2]自動(dòng)化技術(shù)、計(jì)算機(jī)技術(shù)[J].中國(guó)無線電電子學(xué)文摘,2007,03:183-248.

通信軟件范文第5篇

關(guān)鍵詞 軟件通信體系結(jié)構(gòu) 無線電系統(tǒng) 軟件定義

中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A

在現(xiàn)實(shí)生活中,軟件定義無線電技術(shù)在軍事方面的應(yīng)用不斷地發(fā)展研究,各國(guó)為了早日實(shí)現(xiàn)軍事化的軟件定義無線電技術(shù),加大了對(duì)軟件定義無線電的研究。目前,軟件定義無線電技術(shù)已成為未來軍事通信發(fā)展的趨勢(shì)。①

1 軟件通信體系結(jié)構(gòu)

1.1 硬件體系結(jié)構(gòu)

軟件通信體系中硬件體系結(jié)構(gòu)采用了面向?qū)ο蠹夹g(shù),通過面向面向?qū)ο蠹夹g(shù)的概念對(duì)系統(tǒng)內(nèi)部的典型模塊進(jìn)行劃分,要求實(shí)際系統(tǒng)一旦實(shí)現(xiàn),必須將其詳細(xì)的、完整的接口進(jìn)行公開。軟件開發(fā)人員可以通過公開的接口,對(duì)硬件的性能和容量以加載特定的波形,第三方則通過公開的接口,提供系統(tǒng)內(nèi)部模塊,方便了新技術(shù)的插入。

硬件體系結(jié)構(gòu)除了要對(duì)所有無線設(shè)備系統(tǒng)內(nèi)部硬件模塊的組成進(jìn)行定義,還要給出所有無線設(shè)備內(nèi)部硬件的物理屬性。當(dāng)無線設(shè)備系統(tǒng)內(nèi)部硬件物理屬性符合條件時(shí),這些硬件設(shè)備就可以應(yīng)用到實(shí)際平臺(tái)硬件模塊,具有統(tǒng)一性,針對(duì)所有的通信設(shè)備來說都是通用的,實(shí)現(xiàn)了硬件模塊設(shè)計(jì)的實(shí)用性與通用性,節(jié)約了系統(tǒng)成本。未來無線通信系統(tǒng)發(fā)展主要以軟件為主,而現(xiàn)代無線通信系統(tǒng)是由軟件與硬件相結(jié)合來實(shí)現(xiàn)無線通信的功能。因此,為滿足無線通信系統(tǒng)未來發(fā)展的需求,硬件模塊要具有一定的可擴(kuò)展性,這可以確保在原有硬件模塊基礎(chǔ)上,通過增加新的功能或者在已有的硬件模塊中增加新的硬件模塊來實(shí)現(xiàn)新的技術(shù),既保證了硬件模塊統(tǒng)一性,又增加了硬件模塊內(nèi)在的靈活性,滿足軟件無線電發(fā)展的需求。②

1.2 軟件體系結(jié)構(gòu)

在軟件通信體系中軟件與硬件所承擔(dān)的功能不同,根據(jù)軟件在通信體系中所承擔(dān)的功能,可將軟件體系結(jié)構(gòu)由上到下分為應(yīng)用程序、核心框架、公共對(duì)象請(qǐng)求體系中間件和嵌入式實(shí)時(shí)操作系統(tǒng)四部分。其中核心框架、公共對(duì)象請(qǐng)求體系中間件以及嵌入式實(shí)時(shí)操作系統(tǒng)三部分共同構(gòu)成了軟件體系結(jié)構(gòu)中的核心內(nèi)容,也是軟件體系結(jié)構(gòu)中一個(gè)通用的軟件平臺(tái)。軟件平臺(tái)的構(gòu)成給開發(fā)人員和波形的設(shè)計(jì)帶來了新的要求與限制,有利于實(shí)現(xiàn)波形從一個(gè)無線通信系統(tǒng)到另一個(gè)無線通信系統(tǒng)的移植。

1.3 安全體系結(jié)構(gòu)

軟件通信體系中安全體系結(jié)構(gòu),為了保證在不同的無線通信系統(tǒng)能夠相互通連與相互操作,是為了確保用戶的信息在傳輸、發(fā)送、處理以及存儲(chǔ)過程中的完整性與機(jī)密性。在安合體系結(jié)構(gòu)中,整個(gè)系統(tǒng)的安全功能是由一個(gè)通信保密模塊、紅邊處理器以及黑邊處理器三部分共同來完成的,而非一個(gè)邊界分明的安全模塊來單獨(dú)完成。③

2 軟件定義無線電系統(tǒng)

軟件定義無線電系統(tǒng)又稱為軟件無線電系統(tǒng),是一種可以通過軟件進(jìn)行編輯,實(shí)現(xiàn)全部功能的無線電,具有較高的靈活性與通用性。用戶通過軟件無線電系統(tǒng),對(duì)動(dòng)態(tài)修改配置對(duì)系統(tǒng)中的網(wǎng)絡(luò)裝備與軟件更新設(shè)備進(jìn)行修改,從而獲得更好的服務(wù)與性能。軟件定義無線電系統(tǒng)是通過一個(gè)簡(jiǎn)單的終端設(shè)備,運(yùn)用軟件重配置功能來支持各種不同種類的無線系統(tǒng)與服務(wù)的新技術(shù)。固定或者移動(dòng)的軟件定義無線電設(shè)備,都能讓用戶通過改變軟件改變接收與發(fā)送的特征。移動(dòng)無線電系統(tǒng)與改變運(yùn)行模式的軟件定義無線電設(shè)備相互通聯(lián),并且能夠同時(shí)在多種公共安全頻帶中工作。

軟件定義無線電系統(tǒng)不僅具備基本的無線通信功能,還具有以下三個(gè)方面的功能:一是通過軟件定義無線電系統(tǒng)能夠升級(jí)系統(tǒng)所裝載的軟件,以此來達(dá)到對(duì)系統(tǒng)的升級(jí)與功能的更新。④二是軟件定義無線電系統(tǒng)可以支持不同電臺(tái)系統(tǒng)的相互通聯(lián),達(dá)到不同獨(dú)立運(yùn)行的電臺(tái)系統(tǒng)能夠互傳信息。三是軟件定義無線電系統(tǒng)主要以軟件為主,解放了硬件通信業(yè)務(wù)傳輸方式,通過軟件定義無線電系統(tǒng)所裝載不同軟件實(shí)現(xiàn)動(dòng)態(tài)配置系統(tǒng)功能。

3 軟件定義無線電的發(fā)展

軟件定義無線電技術(shù)采用現(xiàn)代化高端軟件進(jìn)行操縱與控制,具有高自動(dòng)化程度與較強(qiáng)的擴(kuò)展能力,打破傳統(tǒng)依賴于硬件發(fā)展的通信體系。軟件定義無線電體系的發(fā)展是通信領(lǐng)域的第三次革命,經(jīng)歷了從固定通信到移運(yùn)通信,模擬通信到數(shù)字通信的改革。

軟件定義無線電技術(shù)作為現(xiàn)代通信行業(yè)新技術(shù),在未來的無線電通信應(yīng)用中有良好的發(fā)展前景,可能成為未來無線電通信技術(shù)的支柱。軟件定義無線電技術(shù)可以多頻段多模式的手機(jī)、衛(wèi)星通信、智能天線以及蜂窩移動(dòng)通信系統(tǒng)、無線局域網(wǎng)等各個(gè)相關(guān)的應(yīng)用領(lǐng)域。

4 總結(jié)

隨著科學(xué)技術(shù)的不斷發(fā)展,軟件定義無線電系統(tǒng)在各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用,無線通信體系朝著通信數(shù)字化、智能一體化的發(fā)展。由于我國(guó)目前無線通信體系硬件水平的有限,導(dǎo)致軟件無線電通信還達(dá)不到理想的要求。針對(duì)軟件通信體系與軟件定義無線電系統(tǒng)的研究,可以預(yù)見,軟件定義無線電技術(shù)可能成為未來通信行業(yè)發(fā)展的核心內(nèi)容。⑤

注釋

① 范建華,王曉波,李云洲.基于軟件通信體系結(jié)構(gòu)的軟件定義無線電系統(tǒng)[J].通信技術(shù),2011,51(8):1031-1037.

② 劉獻(xiàn),張棟嶺,陳涵生.軟件定義無線電及軟件通信體系結(jié)構(gòu)的規(guī)范[J].計(jì)算機(jī)工程,2009,30(1):95-98.

③ 邱永紅,朱勤.基于軟件通信系統(tǒng)的無線通信系統(tǒng)研究[J].系統(tǒng)工程與電子技術(shù),2009,26(5)621-625.

主站蜘蛛池模板: 泰安市| 晋中市| 舞钢市| 宁都县| 甘南县| 大足县| 金华市| 枝江市| 通渭县| 乌审旗| 平顶山市| 大方县| 临江市| 遂昌县| 彝良县| 牡丹江市| 黑河市| 南安市| 新宁县| 神木县| 金山区| 偏关县| 沂源县| 新民市| 临沧市| 贵阳市| 苗栗市| 莱西市| 山东省| 双牌县| 亚东县| 当雄县| 吴堡县| 陆丰市| 杭锦旗| 银川市| 屯昌县| 阳东县| 西藏| 军事| 边坝县|