摘  要:本文分析了商業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線CSDB的協(xié)議,并基于LabVIEW軟件建立了計(jì)算機(jī)與待測航空機(jī)載設(shè)備之間的CSDB總線通信,成功實(shí)現(xiàn)了基于CSDB總線的自動測試。 
引言
商業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線(Commercial Standard Digital Bus,以下簡稱CSDB總線)是由羅克威爾公司柯林斯通用航空電子分部制定的航空電子">

      技術(shù)頻道

      基于LabVIEW的CSDB總線信號測試

      摘 要:本文分析了商業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線CSDB的協(xié)議,并基于LabVIEW軟件建立了計(jì)算機(jī)與待測航空機(jī)載設(shè)備之間的CSDB總線通信,成功實(shí)現(xiàn)了基于CSDB總線的自動測試。 
      引言
      商業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線(Commercial Standard Digital Bus,以下簡稱CSDB總線)是由羅克威爾公司柯林斯通用航空電子分部制定的航空電子設(shè)備間互連的串行總線標(biāo)準(zhǔn),被廣泛應(yīng)用于客機(jī)、軍用運(yùn)輸機(jī)等無線電設(shè)備之間的互聯(lián)通信。其廣泛應(yīng)用為機(jī)載航空電子設(shè)備的可靠性提供了保障,卻為機(jī)載電子設(shè)備的測試和維修帶來了不便,維修或測試人員不能通過傳統(tǒng)測試設(shè)備,如示波器、萬用表等完成總線數(shù)據(jù)的測試,而必須借助相關(guān)產(chǎn)品聯(lián)測才能完成某一UUT(Unit Under Test)的測試。本文基于此需求,分析和研究了CSDB總線的協(xié)議,并介紹了通過計(jì)算機(jī)的RS-232串口及相應(yīng)電平轉(zhuǎn)換電路,基于LabVIEW7.1軟件開發(fā)平臺實(shí)現(xiàn)的計(jì)算機(jī)與UUT的雙向通信。其中,支持通信的軟件實(shí)現(xiàn)是關(guān)鍵。

      圖1 CSDB總線結(jié)構(gòu)

      CSDB總線協(xié)議簡介
      CSDB總線體系結(jié)構(gòu)的物理層規(guī)定了總線的機(jī)械特性和電氣特性;數(shù)據(jù)鏈路層給出了數(shù)據(jù)幀的定義以及數(shù)據(jù)幀之間的定時要求,并對總線連接的各種航空設(shè)備的參數(shù)做出了詳細(xì)的規(guī)定。
      物理層
      CSDB是單向廣播式異步串行總線標(biāo)準(zhǔn),它可以構(gòu)成單信源、多接收器的傳輸系統(tǒng)。總線數(shù)據(jù)采用NRZ編碼,全雙工差分方式傳輸。CSDB信號的數(shù)據(jù)格式與RS-232-C標(biāo)準(zhǔn)完全相同,都為異步串行通信格式,即:一個起始位、八個數(shù)據(jù)位、一個奇偶校驗(yàn)位、一個停止位,其電氣標(biāo)準(zhǔn)為RS-422-A。
      數(shù)據(jù)鏈路層
      CSDB總線是面向字節(jié)的傳輸協(xié)議,固定長度的字節(jié)組成消息塊,再由一定長度的消息塊組合成幀,封裝在數(shù)據(jù)幀中的不同數(shù)據(jù)通過各自的地址字節(jié)加以區(qū)別,不同的數(shù)據(jù)幀之間通過同步消息塊分割。CSDB總線數(shù)據(jù)結(jié)構(gòu)如圖1所示。
      在圖1中,消息塊(Message Block)的第一個字節(jié)Byte 0稱為標(biāo)識 (或地址),消息塊都是通過標(biāo)識來區(qū)分的。消息塊的長度是固定不變的,為6字節(jié)。CSDB采用的是異步串行傳輸方式,通過起始位和停止位完成字節(jié)的位同步,因此,在編碼中不必帶有時鐘信息。幀同步通過識別同步消息塊6個字節(jié)的十六進(jìn)制“A5”來實(shí)現(xiàn),同步消息塊標(biāo)識了每個數(shù)據(jù)幀的開始位置。
      其中:t1=幀時間長=1/最大更新率
         t2=消息塊間隙時間長(無限制)
      t3=總線空閑時間(最小11bit的時間)
         t4=字節(jié)間隙時長(無限制)
      CSDB總線信號測試
      測試原理
      對CSDB總線信號進(jìn)行測試,是先將CSDB信號電平轉(zhuǎn)換為和計(jì)算機(jī)適應(yīng)的RS-232電平,再根據(jù)CSDB總線的規(guī)則,實(shí)現(xiàn)對控制信息的正確發(fā)送和實(shí)時反饋信息的正確接收,并根據(jù)需要,將有用信息提出送測試系統(tǒng)處理,完成對航空機(jī)載設(shè)備的自動化測試。具體步驟分為信號電氣轉(zhuǎn)換、通信同步、LabVIEW實(shí)現(xiàn)。


      圖2 CSDB總線信號通信原理框圖

      通信配置
      (1)電氣轉(zhuǎn)換
      CSDB總線信號經(jīng)過電氣轉(zhuǎn)換芯片后直接與計(jì)算機(jī)進(jìn)行串口通信。在進(jìn)行RS-422-A到RS-232的電氣標(biāo)準(zhǔn)轉(zhuǎn)換時,使用MAX488全雙工電平轉(zhuǎn)換芯片。
      (2)通信同步
      CSDB總線為異步串行通信,按照串行數(shù)據(jù)傳輸?shù)幕驹?實(shí)現(xiàn)正確通信的基本條件是保持接收和發(fā)送雙方時鐘一致,以避免發(fā)送與接收雙方的數(shù)據(jù)位寬產(chǎn)生累積誤差,造成不能正確檢測到總線數(shù)據(jù)。在串行通信中,信息是按位傳送的,傳送速率用波特率表示,數(shù)據(jù)的發(fā)送和接收受各自的時鐘控制,因此,發(fā)送方和接收方的波特率應(yīng)保持一致。經(jīng)對具體部品測試,CSDB數(shù)據(jù)總線數(shù)據(jù)波特率為12.5Kbit/s,為與此同步,要求計(jì)算機(jī)產(chǎn)生的波特率也應(yīng)為12.5Kbit/s。
      如圖2所示,在計(jì)算機(jī)中負(fù)責(zé)串行通信的器件為8250異步通信適配器(UART),或其兼容元器件,程序通過對8250內(nèi)部的寄存器讀寫來控制通信模式,8250使用頻率為1.8432MHz的基準(zhǔn)時鐘輸入信號作為主數(shù)據(jù)時鐘,通過對8250內(nèi)部寄存器置位來獲得需要的波特率。在異步串行通信中,為防止由于信號畸形、不同步等原因造成對數(shù)據(jù)的誤讀,通信適配器規(guī)定每讀取或發(fā)送1bit數(shù)據(jù)至少要用16個時鐘脈沖來控制其波特率,實(shí)際應(yīng)用中波特率時鐘是主時鐘的1/16或1/(16×N),對于要求的波特率,在寫寄存器時用如下公式計(jì)算除數(shù)因子:
      除數(shù)因子=(主數(shù)據(jù)時鐘頻率/16)/波特率=115200/波特率
      在算出除數(shù)因子后,將相應(yīng)數(shù)據(jù)寫入8250內(nèi)部的波特率設(shè)置寄存器,即可在串口得到相應(yīng)波特率的數(shù)據(jù)。經(jīng)計(jì)算,115200除以12500后不為整數(shù),所以,受到計(jì)算機(jī)異步通信適配器8250的限制,在波特率設(shè)置上不能完全和12.5Kbit/s相同,經(jīng)計(jì)算,當(dāng)除數(shù)因子取9時對應(yīng)的波特率為12.8Kbit/s,與CSDB總線要求的波特率最為接近,其每bit占據(jù)78?S,相對80?S/bit(12.5Kbit/s)誤差為0.25%,小于串行通信波特率最大容許誤差5%,理論上可實(shí)現(xiàn)通信同步,因此在程序上將通信的波特率設(shè)置為12.8Kbit/s。
      基于LabVIEW7.1的總線通信
      用LabVIEW7.1編程來實(shí)現(xiàn)總線通信時,用戶不必對GPIB,RS-232,VXI等硬件有專門的了解,LabVIEW為用戶提供了標(biāo)準(zhǔn)的I/O接口函數(shù)庫,在Lab VIEW的Functions→All Functions→Instrument I/O中提供了GPIB、串口通信等各種函數(shù)模塊,為實(shí)現(xiàn)串口通信提供了便捷的實(shí)現(xiàn)方法。軟件流程如圖3所示。

      圖3 串口通信軟件流程圖

      軟件設(shè)計(jì)中的關(guān)鍵問題及解決方法
      (1) 發(fā)送數(shù)據(jù)幀結(jié)構(gòu)多樣化解決方法
      通過對系統(tǒng)中不同部品的實(shí)際測試發(fā)現(xiàn),由于其互聯(lián)情況不同,相應(yīng)部品控制碼的幀結(jié)構(gòu)也不盡相同,同步字后跟1~4個控制消息塊不等,而在自動化測試系統(tǒng)中要求此通信軟件具有通用性。為此,將發(fā)送程序中控制消息塊接口設(shè)為最大(4個),當(dāng)程序檢測到某一接口有數(shù)據(jù)輸入時就發(fā)送此數(shù)據(jù),若沒有,則以相等長度的延時替代。這樣,在保證所有數(shù)據(jù)幀周期相同的情況下,滿足了不同部品控制碼的不同要求。
      (2) 接收數(shù)據(jù)多重校驗(yàn)
      數(shù)據(jù)接收程序中,LabVIEW要求設(shè)置接收數(shù)據(jù)緩沖長度,程序在接收此長度數(shù)據(jù)后才能進(jìn)行后續(xù)處理。實(shí)際程序運(yùn)行后發(fā)現(xiàn),如緩沖長度僅為一幀(24×8bit),接收數(shù)據(jù)有可能誤接收。為避免此情況,將緩沖長度設(shè)置為一幀字長的4~6倍,在接收到數(shù)據(jù)后,再根據(jù)同步字、標(biāo)號等多重匹配原則進(jìn)行驗(yàn)證后將數(shù)據(jù)取出,再將4~6組數(shù)據(jù)相比較,如相同,則認(rèn)為數(shù)據(jù)可信,如不相同,則認(rèn)為數(shù)據(jù)不可信。
      結(jié)語
      作CSDB總線數(shù)據(jù)測試時,可以方便通過界面改變需要發(fā)送的數(shù)據(jù),接收的數(shù)據(jù)也可實(shí)時顯示出來,便于測試分析。把此程序封裝成一個子函數(shù)模塊,可應(yīng)用于某航空無線電自動測試系統(tǒng)中,基于對CSDB總線的收發(fā)控制,成功實(shí)現(xiàn)了VIR-32導(dǎo)航接收機(jī)、VHF-22 甚高頻電臺等相關(guān)產(chǎn)品的自動測試?!?BR>

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 亚洲日本一区二区三区| 无码精品人妻一区| 国产在线观看一区二区三区精品| 一区二区三区免费看| 美女视频在线一区二区三区| 精品久久久久久无码中文字幕一区 | 亚洲一区中文字幕久久| 亚洲AV成人精品一区二区三区 | 日韩一区二区三区在线观看| 亚洲男女一区二区三区| 国产精品自在拍一区二区不卡| 性色av一区二区三区夜夜嗨 | 亚洲天堂一区在线| 伦理一区二区三区| 亚洲av高清在线观看一区二区 | 国产一区二区三区在线视頻| 亚洲AV无码一区二区三区久久精品| 中文字幕一区二区三区精华液| 无码一区二区三区亚洲人妻| 亚洲熟妇无码一区二区三区导航 | 日本无卡码一区二区三区| 亚洲国产成人一区二区三区| 国产亚洲情侣一区二区无码AV| 午夜在线视频一区二区三区 | 日本无卡码一区二区三区| 亚洲一区二区三区在线| 3d动漫精品成人一区二区三| 欧洲无码一区二区三区在线观看 | 暖暖免费高清日本一区二区三区| 韩国资源视频一区二区三区| 国产小仙女视频一区二区三区| 一本大道在线无码一区| 久久久无码精品人妻一区| 狠狠做深爱婷婷久久综合一区 | 一区二区三区午夜| 秋霞午夜一区二区| 亚洲国产AV无码一区二区三区 | 麻豆国产一区二区在线观看| 怡红院一区二区三区| 国产综合无码一区二区三区| 无码人妻一区二区三区在线视频|