<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式技術的遠程戰(zhàn)場監(jiān)控系統(tǒng)

          基于嵌入式技術的遠程戰(zhàn)場監(jiān)控系統(tǒng)

          作者: 時間:2010-08-09 來源:網(wǎng)絡 收藏
          基于系統(tǒng)最初作為上業(yè)控制網(wǎng)絡的重要發(fā)展方向,是上業(yè)數(shù)據(jù)通訊與控制網(wǎng)絡技術、勺_聯(lián)網(wǎng)技術等多種技術共同發(fā)展的結果當前,隨著我軍信息化程度的逐步提高,尤其是軍隊內(nèi)部網(wǎng)絡的搭建,使遠程戰(zhàn)場監(jiān)控成為可能在當今戰(zhàn)場環(huán)境瞬息萬變的情況下,要實現(xiàn)戰(zhàn)場信息更新的實時性和準確性,就需要一套能夠對戰(zhàn)場環(huán)境實施的系統(tǒng)此外,在我國許多偏遠的邊防哨所,由于地理環(huán)境惡劣,邊境巡邏經(jīng)常會遇到泥石流、雪崩瀑風雪等自然災害,不僅官’兵們體力消耗大,安全隱患多,而且難以保證巡邏質量遠程戰(zhàn)場監(jiān)控系統(tǒng)的實現(xiàn)能夠在重要路口實現(xiàn)無人值守自動監(jiān)控,能竹約大量的人力、物力和財力,具有重大的現(xiàn)實意義。
          1
          的發(fā)展,大致經(jīng)歷了4個階段:無操作系統(tǒng)階段(如單片機)、簡單操作系統(tǒng)階段(如PowerPC)、實時操作系統(tǒng)階段(如DSP)和而向Internet階段整個嵌入式體系結構如圖1
          1.jpg

          時趨于小型化外圍設備是嵌入式系統(tǒng)中用于完成存儲、通信、調試、顯示等輔助功能的其他部件日前常用的嵌入式外圍設備按功能可以分為存儲設備(如R、M,SR、M,F(xiàn)lash等)、通信設備( RS- 232接口、SPI接口、以太網(wǎng)接口等)和顯示設備(如顯示屏等)3類

          嵌入式操作系統(tǒng)是從嵌入式系統(tǒng)發(fā)展到第3階段才開始引入的嵌入式操作系統(tǒng)不僅具有通用操作系統(tǒng)的一般功能,如向上提供對用戶的接口(如圖形界而、庫函數(shù)API等),向下提供與硬件設備交勺_的接口(硬件驅動程序等),管理復雜的系統(tǒng)資源它還在系統(tǒng)實時性、硬件依賴性、軟件固化性和應用專用性等方而具有更加鮮明的特點。

          應用軟件是針對特定應用領域,基于某一固定的硬件平臺,用來達到用戶預期日標的計算機軟件由于嵌入式系統(tǒng)自身的特點,決定了嵌入式應用軟件不僅要求滿足準確性、安全性和穩(wěn)定性等方而的需要,而且還要盡可能地進行代碼優(yōu)化,以減少對系統(tǒng)資源的消耗,降低硬件成本[‘一z}

          嵌入式系統(tǒng)具有系統(tǒng)內(nèi)核小、專用性強、系統(tǒng)比較精簡,但嵌入式系統(tǒng)要求操作系統(tǒng)軟件的實時性較強,嵌入式軟件的開發(fā)要求向標準化發(fā)展,嵌入式系統(tǒng)的開發(fā)需要專門的開發(fā)環(huán)境和開發(fā)工具。

          2監(jiān)控系統(tǒng)硬件結構設計

          在硬件設計上,整個監(jiān)控系統(tǒng)的核心是嵌入式控制器嵌入式控制器是以高速為核心,由高速和其他芯片協(xié)同上作來控制的電子設備或裝置,能夠完成監(jiān)視、控制等各種自動化處理任務嵌入式控制器的系統(tǒng)硬件結構如圖2所示

          3.jpg

          電源電壓為SV,輸出電壓分別為3. 3 V和1.8V,每路電源的最大輸出電流為750 xnA

          2. 2接口電路設計

          1)模擬量輸入接口模擬量輸入通適采用了TI公司生產(chǎn)的TLV2544芯片,當與DSP芯片連接時,可用一個幀同步信號FS來控制一個串行數(shù)據(jù)幀的開始采用TMS320VC5402提供高速、雙向、多通適帶緩沖串行端口MCBSP,可用來與串行A/ D轉換器直接連接

          2)以太網(wǎng)擴展接口實現(xiàn)嵌入式戰(zhàn)場的系統(tǒng),首要的問題就是要讓遠程監(jiān)控設備具有以太網(wǎng)接口臺灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)接口芯片可以讓嵌入式控制器具有通用計算機的網(wǎng)絡接口

          3) RS- 232串行接口設計RS- 232- C并未定義連接器的物理特性,因此存在DB- 25, DB- 15和DB- 9等多種類型的連接器DSP為了同現(xiàn)場監(jiān)控設備的串口相連,我們用MAXIM公司的MAX3111來完成EL1到TTL電路之間的電平和邏輯關系的轉換

          4) RS- 485串行通信接口RS- 485是為了適應遠距離、分布式控制系統(tǒng)的需要而制定的一種串行通信總線標準它支持多竹點、遠距離傳輸RS- 485標準采用平衡式發(fā)送,差分式接收的數(shù)據(jù)收發(fā)器來驅動總線為了擴展終端連接設備的數(shù)量,本設計增加了邵一485接口DSP與RS- 485串口的連接使用MAXIM公司的MAX3140UART通信芯片來完成

          2. 3程序存儲器的擴展

          Flash存儲器與EPROM相比,具有更高的性能價格比,而且體積小,功耗低,可電擦寫,使用方便,并且3. 3 V的Flash可以直接與DSP芯片連接因此,采用Flash作為程序存儲器存儲程序和一些固定數(shù)據(jù)是一種比較好的選擇本系統(tǒng)的程序存儲器選用了1片AT29LV020 Flash存儲器此芯片有256KX8的存儲空間,最快讀取速度為100 ns所以在讀取程序時,要使卞頻低于10 MHz

          3系統(tǒng)軟件設計

          根據(jù)系統(tǒng)控制要求,將系統(tǒng)軟件的模塊劃分為6個模塊:卞控模塊、初始化模塊、協(xié)議封裝模塊、協(xié)議拆包重組模塊、網(wǎng)絡接口模塊和應用層應用模塊圖4是各模塊之間的邏輯關系

          4.jpg

          31卞控模塊設計

          卞控模塊中通常包含一些變量的定義和函數(shù)的調用另外一些重要的I/ 0端口定義也放在卞控函數(shù)中在卞控模塊中定義了延時信號函數(shù)、端口設置函數(shù)、同步串口設置函數(shù)、中斷服務函數(shù)等系統(tǒng)上作時程序從卞控模塊的main()函數(shù)開始運行,首先是調用DSP及RTL8019AS的初始化程序,完成初始化之后,卞程序以一個無條件循環(huán)進入上作狀態(tài)

          3. 2初始化模塊設計

          系統(tǒng)軟件在運行的時候首先要調用初始化程序,對系統(tǒng)的各資源進行初始化,然后才能正常上作初始化模塊包括了4個初始化函數(shù),分別是net_ init( ) , dsp5402_ init( ) ,interrupt_ init(),nic_ atl_ init()

          3. 3協(xié)議封裝模塊設計

          協(xié)議封裝部分的作用是將數(shù)據(jù)進行分組,并以不同的協(xié)議打包封裝使其成為符合TCP/ IP協(xié)議規(guī)范的分組數(shù)據(jù)在設計中,對于不同協(xié)議的封裝,分別由不同的函數(shù)實現(xiàn)在本系統(tǒng)中,監(jiān)控終端系統(tǒng)需要對位于網(wǎng)絡層的IP協(xié)議、位于傳輸層的TCP協(xié)議進行封裝封裝順序是先傳輸層協(xié)議TCP封裝,后網(wǎng)絡層協(xié)議IP封裝之后傳入網(wǎng)絡接口模塊發(fā)送出去

          3. 4協(xié)議拆包重組模塊設計

          本模塊的上作過程是這樣的,數(shù)據(jù)從以太網(wǎng)上被接收下來之后,首先會放在網(wǎng)卡芯片的內(nèi)存當中,由DSP即網(wǎng)絡接口模塊將其讀入后進行協(xié)議分解,根據(jù)協(xié)議的內(nèi)容進行相應處理,如果是UDP封裝的數(shù)據(jù)則將其放入系統(tǒng)的接收緩沖區(qū)由DSP根據(jù)協(xié)議中序列號字段的值對數(shù)據(jù)包重新分組排隊,然后將數(shù)據(jù)拆包、合并,形成連續(xù)的數(shù)據(jù)流,傳送到應用層作進一步處理

          4嵌入式TCP/ IP協(xié)議棧設計

          嵌入式設備實現(xiàn)網(wǎng)絡勺_聯(lián),一般都需要在嵌入式設備上實現(xiàn)以太網(wǎng)通信的有關協(xié)議,其中一個重要問題就是如何實現(xiàn)嵌入式TCP/ IP協(xié)議棧日前使用)‘一泛的TCP/ IP協(xié)議棧有LWIP .uIP Z,inux IP等,這些協(xié)議棧具有一定的通用}h},包含的協(xié)議內(nèi)容比較全,也比較復雜為了滿足軍用嵌入式系統(tǒng)接入網(wǎng)絡的要求,需要進行嵌入式TCP/ IP協(xié)議的精簡工作。

          軍用嵌入式系統(tǒng)接入網(wǎng)絡要求數(shù)據(jù)傳輸能夠保持安全穩(wěn)定,這里卞要考慮數(shù)據(jù)傳輸?shù)那闆r為確保正常的數(shù)據(jù)傳輸,嵌入式TCP/ IP協(xié)議族應至少包括IP .ICMP .ARP .TCP .UDP等基本協(xié)議,協(xié)議棧的結構如圖5所示

          通過研究和具體編程,在Keil C laVision2開發(fā)環(huán)境下實現(xiàn)了一個簡單的嵌入式TCP/ IP協(xié)議棧,各協(xié)議的基本實現(xiàn)過程如下

          4. 1 IP協(xié)議的實現(xiàn)

          IP協(xié)議是TCP/ IP協(xié)議族中最為核心的協(xié)議IP報頭的標準長度為20字竹,標準以太網(wǎng)幀數(shù)據(jù)域為1 500字節(jié),除去IP頭之外還有1 480字竹可以為上層協(xié)議提供有效就數(shù)據(jù)載荷IP協(xié)議將上一層傳下來的報文加上IP首部和II校驗合并發(fā)往下一層,并且對下一層傳上來的報文進行校驗和檢查,將校驗正確的去掉IP首部,送往上一層一般可以不考慮數(shù)據(jù)報分段的問題,即不允許數(shù)據(jù)報超出IP包就有效載荷,這樣簡化可以省去軟件處理IP數(shù)據(jù)分段和重組的開銷,可以提高系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性[a{為了便于ihi試,需要實現(xiàn)PING程序,在收到I(1VIP的回顯請求包后拉照格式組裝一個ICMP的回顯應答包并發(fā)送相關的、函數(shù)有:


          5.jpg

          4. 3 UDP協(xié)議的實現(xiàn)

          UDP的數(shù)據(jù)傳輸是無連接的、不可靠的,具有對網(wǎng)絡資源開銷較小、數(shù)據(jù)處理速度快的優(yōu)點U DP協(xié)議屬于簡單端到端的數(shù)據(jù)傳輸協(xié)議,報頭只有8字y具體實現(xiàn)時要對應用層傳下來的數(shù)據(jù)包加上U DP首部和UDP校驗發(fā)往下一層,對下一層傳上來的數(shù)據(jù)包進行校驗和檢查,如果正確則去掉U DP首部,提出數(shù)據(jù)送給應用層需注意的是要產(chǎn)生一個偽首部用于U DP數(shù)據(jù)檢驗和計算涉及的卞要函數(shù)有:

          8.jpg

          9.jpg

          5結束語

          闡明了嵌入式控制器的硬件和軟件的設計和實現(xiàn)過程,包括微系統(tǒng)硬件設計和實現(xiàn)、監(jiān)控設備的接口模塊實現(xiàn)TCP/ IP協(xié)議棧的精簡和實現(xiàn)等嵌入式遠程戰(zhàn)場監(jiān)控系統(tǒng)的成功實現(xiàn)將有很大實際應用價值它不僅可以用于戰(zhàn)場環(huán)境的遠程監(jiān)控,而且可應用于邊防哨所等無人值守的地方,可以有效降低對人力物力的需求,增強對人員安全的保障。

          tcp/ip相關文章:tcp/ip是什么




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();