777精品久无码人妻蜜桃,久久精品国产99国产精品导航,freesexvideos第一次,99国产精品久久久久久久成人热

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

通信軟件

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

通信軟件范文第1篇

前言

在發動機電控系統開發過程中,通常采用單線程編程方法和結構化的軟件開發方法。該方法無論從理論上還是從工程實踐方面都比較成熟,也取得了一定的成果。而隨著柴油機電控系統控制要求的提高,其軟件系統變得越來越復雜,開發時間也變得較長[1]。傳統方式在通用性上不能令人滿意,且開發周期長、難度大。引入面向對象方法開發軟件可很好地解決這一問題。CAN總線通信已發展成為發動機進行數據標定和通信的主流總線,并有基于CAN總線通信協議的CCP、KWP2000和SAEJ1939等應用層通信標準[2]。國內對如何有效簡潔地表達CAN通信協議的內容進行了有針對性的研究,取得了一些成果[3]。本文中采用統一建模語言(unifiedmodelinglanguage,UML)分析和設計遵循CCP協議的CAN通信軟件,并探索面向對象軟件開發方法在發動機控制領域的應用。

1CCP協議和UML建模

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

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

2發動機CAN通信軟件的UML建模

2.1系統介紹通過燃燒分析儀了解氣缸內燃燒情況,電子控制單元通過傳感器獲取發動機當前狀態,并通過CAN總線上傳到上位機,上位機則根據這些信息對控制參數進行標定。發動機標定系統組成見圖4。

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

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

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

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

通信軟件范文第2篇

 

PowerPC和DSP通過雙口存儲器進行數據通信。該中還介紹了總線通信系統中PowerPC和DSP的故障管理功能。本軟件充分利用系統資源,實現了通信總線的控制與管理,滿足航電系統總線通信與管理的要求。

 

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

 

TMS320F240系列DSP是美國TI公司于1997年推出的,專為數字電機控制和其他控制應用系統而設計的16位定點數字信號處理器。它將數字信號處理的高速運算功能與面向電機的強大控制能力結合在一起,從而成為傳統的多微處理器單元和多片設計系統的理想替代品。

 

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

 

1 總線通信系統架構

 

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

 

用戶通過PowerPC發送和接收任務數據,PowerPC再通過雙口存儲器與DSP相連接,進行數據交換,DSP則負責RS422串行通信總線和ARINC429總線通信的控制管理、數據接收和發送等,以上整個系統完成了總線的通信功能。總線通信系統架構如圖1所示。

 

2 總線通信系統軟件設計

 

2.1總線通信系統軟件概述

 

總線通信系統軟件由驅動軟件和控制軟件組成,是實現RS422串行通信和ARINC429總線通信的專用軟件。其中,驅動軟件實現DSP與主機應用軟件間的接口控制與數據傳遞,它可提供各類消息數據的讀、寫支持,對DSP內程序的調度。控制軟件負責RS422串行通信和ARINC429總線通信的控制、數據接收和發送等。

 

2.2驅動軟件

 

驅動軟件運行在PowerPC模塊上,是應用軟件與控制軟件的接口軟件,為實現應用軟件的管理功能,驅動軟件控制DSP模塊的初始化、啟動、停止、自測試,監控DSP模塊狀態,控制DSP模塊和主機的數據交換。驅動軟件操作狀態及轉換關系如圖2所示。

 

當DSP在處在停止狀態,調用DSP_Bit進行DSP自檢測,調用DSP_Initialize進行DSP初始化。初始化完成后可調用DSP_Go將DSP轉入運行狀態。在運行狀態下可調用操作信息驅動程序、RS422驅動程序和ARINC429總線驅動程序,進行消息傳輸,也可調用DSP_Stop將DSP轉入停止狀態。

 

驅動軟件按其功能分為:模塊控制程序、RS422控制程序、ARINC429總線控制程序、操作信息控制程序。

 

模塊控制程序的主要功能是啟動DSP模塊上的初始化程序,使DSP初始化,然后啟動DSP上的啟動程序使DSP開始工作,還可以停止DSP運行以及啟動DSP上的BIT程序進行自檢測。

 

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

 

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

 

操作信息控制程序主要包括讀DSP模塊的自檢測結果,讀取DSP的HeartBeat計數器的當前值,讀取DSP的狀態,建立主機和DSP之間的通訊,復位DSP模塊。

 

2.3控制軟件

 

控制軟件運行在DSP模塊上,它負責RS422串行通信總線和ARINC429總線通信的控制、數據發送和接收等。控制軟件的主程序中包括對DSP的初始化、啟動、自檢測、停止及復位等功能。控制軟件響應來自運行在PowerPC上驅動軟件的下發的命令,進行相應功能操作。在DSP模塊初始化中,定時器中斷被使能。定時器中斷服務程序會以固定的周期執行,其中包括RS422通信握手,RS422在線狀態判斷,RS422發送和接收數據,ARINC429總線發送和接收數據等程序。

 

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

 

RS422在線狀態判斷程序負責讀取各通道的在線狀態,如果該通道已建立好通信,則清空接收寄存器,發送該通道在線狀態命令;接收在線狀態程序接收的現行狀態數據長度若等于該通道的數據長度,則判斷該通道的設備在線。

 

RS422串行通信總線和ARINC429總線均采用查詢方式進行數據的發送和接收。

 

2.4故障管理

 

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

 

DSP的故障檢測的手段主要有BIT和軟件注入,PowerPC模塊主要有BIT,VxWorks5.5捕獲軟件故障、DSP注入、應用軟件注入。BIT包含PUBIT、PBIT和IBIT,PUBIT上電后對系統硬件資源的檢測,PBIT系統運行過程中對硬件資源周期性的檢測,IBIT由用戶啟動對系統硬件資源的檢測,BIT能夠完成整個周期硬件資源的檢測。

 

應用軟件在運行過程中,發現故障,將該故障注入故障隊列中,實現應用軟件故障的管理。DSP發生致命性的,自己無法處理或者需要PowerPC處理的故障時,將此類故障注入PowerPC的故障隊列中,以提高系統處理故障的能力。系統運行過程中,VxWorks5.5將捕獲的異常信息注入故障隊列中,以解決運行過程中產生的異常。

 

系統中的故障按照存在程度分為暫時性故障和永久性故障。暫時性故障帶有間斷性,是在一定條件下產生的故障,通過系統的調整或者運行環境的改變消失的故障。永久性故障具有永恒性,一旦發生故障,則系統無法自身的恢復,一直處于故障狀態。

 

按照故障的嚴重程度將故障分為破壞性故障和非破壞性故障,破壞性故障一旦發生,將對系統造成致命的破壞,導致系統無法正常工作;非破壞性故障一般是局部的,影響系統的部分功能,但不會對系統造成致命性破壞。故障管理需要將同時具有非破壞性和暫時性的故障采用門限值的方式過濾掉,將過濾后的故障和其他類型的故障提交給故障處理機制處理。

 

門限值的過濾方式:在故障檢測時,發現設備故障后,設備的故障數N=N+1,當N超過門限值W時,則向故障處理機制提交故障;再次檢測時,發現該設備正常則N=N-1,當N<0時,則將N設為0。

 

3 小結

 

在總線通信軟件中采用PowerPC + DSP的結構,既能發揮PowerPC高速信號采集和處理能力,又能發揮DSP高速數字信號處理能力。PowerPC上運行的驅動軟件是應用軟件與控制軟件的接口軟件,實現了應用軟件的管理功能;DSP上運行的控制軟件,它負責RS422串行通信總線和ARINC429總線通信的控制、數據發送和接收等。該軟件充分利用系統資源,實現了通信總線的控制與管理,滿足了航電總線通信與管理的要求。

通信軟件范文第3篇

關鍵詞:即時通信軟件; P2P模式; Jxta; Java

中圖分類號:TN87+; TP311 文獻標識碼:A 文章編號: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技術是目前非常流行的一種分布式計算技術,P2P網絡的基礎單位是對等點,每個對等點之間能夠互訪。SUN公司針對P2P技術的特點提出了自己關于P2P網絡的Jxta研究項目,本文設計的即時通信軟件便是基于該技術來開發的。

1 軟件實現

1.1 系統架構

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

1.2 總體設計步驟和方法

總體設計步驟和方法[3]如下:

(1) 設計JAL;

(2) 設計本軟件的中的JavaBean,即IMbean;

(3) 創建應用程序VSJChat的GUI圖形界面;

(4) 鏈接IMbean和應用程序GUI,以實現功能[4]。

1.3 設計JAL的Peer接口

JAL實際上也是API即引用程序接口,實現以下功能:

(1) 發現Peer同時能被發現;

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

(3) 創建和管理Peer群;

(4) 和其他Peer的交流;

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

Peer接口設計程序如下所示:

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; //發送和接收信息

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的設計

IMBean是在JAL基礎上開發的一個應用JavaBean。它的作用是:處理所有的Jxta細節問題(包括初始化Peer,異常處理)[6];處理輸入信息,傳輸到VSJChat;處理輸出信息,通過Jxta網絡發送。

1.5 應用程序VSJChat的GUI圖形界面的創建

利用圖形編輯器創建GUI圖形界面。使用的開發工具是NetBeans,利用其中的圖形編輯器創建。層結構和每個GUI組件的類型,各個按鈕的名字將顯示在圖像界面中。

GUI產生代碼程序如下所示:

Public class VSJChat extends Javax.swing.JFrame{

/**產生新模板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和應用程序VSJChat的鏈接

1.6.1 導入IMBean

在IDE開發工具中加入代碼來導入IMBean,修改VSJChat產生構造器來完成的。在源程序中創建了┮桓霆特別的構造器,它用2個字符串作為參數,并為┮桓霆私有方法localInit()構造出初始化代碼。用一個發送者或對等機名字和一個群名調用initBean()方法將激活在特定的群中的關聯對等機名的Jxta平臺。使用IMBean可加入到存在的被提供用戶名的IM會話中。在localInit()方法中,可以設置其他可獲得的IMBean參數,如alias和topic properties[7]。

程序:導入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 實現IMBean發信息的功能

在GUI圖形界面中把jBotton1的按紐命名為“Send Message”。運用NetBeans3.5的GUI編輯器,選中jBotton1組件,選擇事件標簽的屬性列,點擊為事件名“actionPerformed”的屬性名,再輸入事件處理器的名字“SendClick”。這將在VSJChat中自動創建一個事件處理器方法。

產生事件監聽者程序[8] 如下所示:

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

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

SendClicked(evt);

}

);

SendClicked()方法也同時產生了。填充這個方法,通過IMbean來取得用戶輸入和發送的消息。

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

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();

} }

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

程序:發送信息快捷方式

jTextField1.addActionListener(new

ava.awt.event.ActionListener(){

public void actionPerformed(

Java.awt.event.ActionEvent

evt){

TextFieldComplete(evt);

} });

然后可以填充TextFieldComplete()方法來簡單調用SendClick(),因為回車等同于點擊“Send Message”按紐。

發送信息程序如下所示:

private void TextFieldComplete(

Java.awt.event.ActionEvent evt){

SendClicked(evt);

})

1.6.3 實現IMBean接收信息功能

IMBean有2種接收信息的模式,事件處理和輪流檢測。因應用程序不同,2種方法可以任選其一。本文用的是事件處理方式。可以在組件層級顯示中通過點擊IMBean組件,在屬性列表中選擇“event”標簽,運用IDE來加入1個對IMBean的MessageReceive事件的監聽程序。這個事件處理器可稱為“messageHandler”。

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

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

private void messageHandler(MessageReceivedEvent evt){

curMsgs.append(evt.getSender()+

CHAT_SEP+evt.getMessageText()

+CR);

jTextArea1.setText(

curMsgs.toString());

}

完成以上工作以后,VSJChat應用程序的編寫就完成了。

1.7 實驗結果

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

2 結 語

本文著重介紹了如何實現了基于P2P網絡技術的即時通信軟件的對等體雙方互相收發信息。當然P2P網絡時代的應用還很多,今后本軟件將向著包含網絡存儲,分布式下載等更多的應用功能的方向發展。

參考文獻

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

[2]楊天路,劉宇宏,張文,等.P2P網絡技術原理與系統開發案例[M].北京:人民郵電出版社,2007.

[3]Scott Oaks,Bernard Traversat. Jxta技術手冊[M].北京:清華大學出版社,2004.

[4]宋雪昌.基于Jxta對等網絡的即時通信系統的研究與實現[D].蘇州:蘇州大學,2005.

[5]周功業,黎書生.新一代網絡計算模型:P2P及其Jxta體系結構的設計與實現[J].計算機應用研究,2002(9):139-140.

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

[7]吳國慶.對等網絡技術研究[J].計算機技術與發展,2008(7):100-101.

[8]許斌.Jxta-Java P2P網絡編程技術[M].北京:清華大學出版社,2003.

通信軟件范文第4篇

一、傳統數字通信原理實驗現狀

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

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

二、數字通信實驗軟件平臺設計

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

圖1 數字通信原理軟件實驗平臺系統框圖

(二)數字通信實驗軟件平臺。軟件實驗平臺采用了Matlab軟件中的GUI工具,數字通信原理軟件實驗平臺系統界面見圖2。

圖2 數字通信原理軟件實驗平臺系統界面

由圖2可知,Matlab軟件中的GUI工具也有圖1中的接受和發送部分,除此之外,還有數字通信軟件平臺的參數和顯示,這些方面最終以時頻域的方式表現出來,顯示運行結果。

在Matlab軟件中還有相對應的存儲模塊來存放通信信號以及臨時通信信號,在數字通信實驗軟件平臺中發送信號要經歷采集樣本、輸入序碼,以及整個數字信道的編碼和數字調制的全過程,在采集樣本時要實現將信號化為數字數列這樣的形式,只有轉變成為數字序列,才能將其存入文件;輸入序碼指的就是文件中抽取序碼讀取;信道編碼就是仿真常見的編碼方式,比如CRC碼和卷積碼,以此進行差錯控制;數字調制采用的不同進制的調制方法,調制后會將信號繪制成波形或功率譜,主要運用的進制方法有ASK、FSK、PSK或者MSK等等;擴頻指的是對載波的調制方式,主要是運用高速偽隨機的序列方式,因為他的速率遠遠大于原來我們說的元新號碼的速率,方便信號的充分擴展。他的優點就是可以預防被竊聽,具備一定的防干擾能力。由于每個用戶擁有不同的擴譜碼,所以可以將相互正交的擴譜碼做為根據,這樣就將移動通信系統和數字通信原理、DS-CDMA原理很好的糅合在一起,運用相關技術,將先進技術融入到現在的軟件平臺中,每個用戶可以用同一個頻帶。接收裝置是對發送信號的仿真,引入了高斯白噪聲的過程,也是以波形和功率譜的形式繪制出來。

三、數字通信實驗軟件平臺實現

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

圖3 軟件仿真與實測對比(以FSK調制為例)

編碼、調制、擴頻3個主要環節都進行了有效擴展:其中編碼環節增加了奇偶校驗碼、循環碼、BCH碼、RS碼、卷積碼、Turbo碼;調制環節增加了16QaM和256QaM;擴頻環節增加了擴頻碼設計。

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

圖4 數字信源及其CRC信道編碼波形 圖5 BFSK調制信號波形及功率譜

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

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

參考文獻

[1]皮宇鋒,郭杰榮.信息通信教學軟件的開發設計[J].中國電力教育,2010,15:84-86.

[2]自動化技術、計算機技術[J].中國無線電電子學文摘,2007,03:183-248.

通信軟件范文第5篇

關鍵詞 軟件通信體系結構 無線電系統 軟件定義

中圖分類號:TP319 文獻標識碼:A

在現實生活中,軟件定義無線電技術在軍事方面的應用不斷地發展研究,各國為了早日實現軍事化的軟件定義無線電技術,加大了對軟件定義無線電的研究。目前,軟件定義無線電技術已成為未來軍事通信發展的趨勢。①

1 軟件通信體系結構

1.1 硬件體系結構

軟件通信體系中硬件體系結構采用了面向對象技術,通過面向面向對象技術的概念對系統內部的典型模塊進行劃分,要求實際系統一旦實現,必須將其詳細的、完整的接口進行公開。軟件開發人員可以通過公開的接口,對硬件的性能和容量以加載特定的波形,第三方則通過公開的接口,提供系統內部模塊,方便了新技術的插入。

硬件體系結構除了要對所有無線設備系統內部硬件模塊的組成進行定義,還要給出所有無線設備內部硬件的物理屬性。當無線設備系統內部硬件物理屬性符合條件時,這些硬件設備就可以應用到實際平臺硬件模塊,具有統一性,針對所有的通信設備來說都是通用的,實現了硬件模塊設計的實用性與通用性,節約了系統成本。未來無線通信系統發展主要以軟件為主,而現代無線通信系統是由軟件與硬件相結合來實現無線通信的功能。因此,為滿足無線通信系統未來發展的需求,硬件模塊要具有一定的可擴展性,這可以確保在原有硬件模塊基礎上,通過增加新的功能或者在已有的硬件模塊中增加新的硬件模塊來實現新的技術,既保證了硬件模塊統一性,又增加了硬件模塊內在的靈活性,滿足軟件無線電發展的需求。②

1.2 軟件體系結構

在軟件通信體系中軟件與硬件所承擔的功能不同,根據軟件在通信體系中所承擔的功能,可將軟件體系結構由上到下分為應用程序、核心框架、公共對象請求體系中間件和嵌入式實時操作系統四部分。其中核心框架、公共對象請求體系中間件以及嵌入式實時操作系統三部分共同構成了軟件體系結構中的核心內容,也是軟件體系結構中一個通用的軟件平臺。軟件平臺的構成給開發人員和波形的設計帶來了新的要求與限制,有利于實現波形從一個無線通信系統到另一個無線通信系統的移植。

1.3 安全體系結構

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

2 軟件定義無線電系統

軟件定義無線電系統又稱為軟件無線電系統,是一種可以通過軟件進行編輯,實現全部功能的無線電,具有較高的靈活性與通用性。用戶通過軟件無線電系統,對動態修改配置對系統中的網絡裝備與軟件更新設備進行修改,從而獲得更好的服務與性能。軟件定義無線電系統是通過一個簡單的終端設備,運用軟件重配置功能來支持各種不同種類的無線系統與服務的新技術。固定或者移動的軟件定義無線電設備,都能讓用戶通過改變軟件改變接收與發送的特征。移動無線電系統與改變運行模式的軟件定義無線電設備相互通聯,并且能夠同時在多種公共安全頻帶中工作。

軟件定義無線電系統不僅具備基本的無線通信功能,還具有以下三個方面的功能:一是通過軟件定義無線電系統能夠升級系統所裝載的軟件,以此來達到對系統的升級與功能的更新。④二是軟件定義無線電系統可以支持不同電臺系統的相互通聯,達到不同獨立運行的電臺系統能夠互傳信息。三是軟件定義無線電系統主要以軟件為主,解放了硬件通信業務傳輸方式,通過軟件定義無線電系統所裝載不同軟件實現動態配置系統功能。

3 軟件定義無線電的發展

軟件定義無線電技術采用現代化高端軟件進行操縱與控制,具有高自動化程度與較強的擴展能力,打破傳統依賴于硬件發展的通信體系。軟件定義無線電體系的發展是通信領域的第三次革命,經歷了從固定通信到移運通信,模擬通信到數字通信的改革。

軟件定義無線電技術作為現代通信行業新技術,在未來的無線電通信應用中有良好的發展前景,可能成為未來無線電通信技術的支柱。軟件定義無線電技術可以多頻段多模式的手機、衛星通信、智能天線以及蜂窩移動通信系統、無線局域網等各個相關的應用領域。

4 總結

隨著科學技術的不斷發展,軟件定義無線電系統在各個領域中得到了廣泛的應用,無線通信體系朝著通信數字化、智能一體化的發展。由于我國目前無線通信體系硬件水平的有限,導致軟件無線電通信還達不到理想的要求。針對軟件通信體系與軟件定義無線電系統的研究,可以預見,軟件定義無線電技術可能成為未來通信行業發展的核心內容。⑤

注釋

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

② 劉獻,張棟嶺,陳涵生.軟件定義無線電及軟件通信體系結構的規范[J].計算機工程,2009,30(1):95-98.

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

主站蜘蛛池模板: 万安县| 长宁县| 三门峡市| 府谷县| 云浮市| 龙岩市| 沁阳市| 安西县| 博乐市| 泸定县| 色达县| 辽源市| 墨脱县| 庐江县| 汉中市| 嘉定区| 保山市| 桦甸市| 井研县| 定兴县| 大悟县| 墨江| 赣州市| 子长县| 高邮市| 博白县| 津南区| 惠安县| 小金县| 吉首市| 新河县| 滁州市| 汕尾市| 温宿县| 临西县| 九江县| 大埔县| 武功县| 太保市| 平遥县| 黑龙江省|