新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEW的CSDB總線數據測試

        基于LabVIEW的CSDB總線數據測試

        作者: 時間:2010-09-15 來源:網絡 收藏

        本文分析和研究了的協議,并介紹了通過計算機的RS-232串口及相應電平轉換電路,基于7.1軟件開發平臺實現的計算機與UUT的雙向通信。其中,支持通信的軟件實現是關鍵。

        本文引用地址:http://www.104case.com/article/195296.htm

          


          圖1 結構

          協議簡介

          CSDB總線體系結構的物理層規定了總線的機械特性和電氣特性;鏈路層給出了幀的定義以及幀之間的定時要求,并對總線連接的各種航空設備的參數做出了詳細的規定。

          物理層

          CSDB是單向廣播式異步串行總線標準,它可以構成單信源、多接收器的傳輸系統。總線數據采用NRZ編碼,全雙工差分方式傳輸。CSDB信號的數據格式與RS-232-C標準完全相同,都為異步串行通信格式,即:一個起始位、八個數據位、一個奇偶校驗位、一個停止位,其電氣標準為RS-422-A。

          數據鏈路層

          CSDB總線是面向字節的傳輸協議,固定長度的字節組成消息塊,再由一定長度的消息塊組合成幀,封裝在數據幀中的不同數據通過各自的地址字節加以區別,不同的數據幀之間通過同步消息塊分割。CSDB總線數據結構如圖1所示。

          在圖1中,消息塊(Message Block)的第一個字節Byte 0稱為標識 (或地址),消息塊都是通過標識來區分的。消息塊的長度是固定不變的,為6字節。CSDB采用的是異步串行傳輸方式,通過起始位和停止位完成字節的位同步,因此,在編碼中不必帶有時鐘信息。幀同步通過識別同步消息塊6個字節的十六進制“A5”來實現,同步消息塊標識了每個數據幀的開始位置。

          其中:t1=幀時間長=1/最大更新率

          t2=消息塊間隙時間長(無限制)

          t3=總線空閑時間(最小11bit的時間)

          t4=字節間隙時長(無限制)

          CSDB總線信號測試

          測試原理

          對CSDB總線信號進行測試,是先將CSDB信號電平轉換為和計算機適應的RS-232電平,再根據CSDB總線的規則,實現對控制信息的正確發送和實時反饋信息的正確接收,并根據需要,將有用信息提出送測試系統處理,完成對航空機載設備的自動化測試。具體步驟分為信號電氣轉換、通信同步、實現。

          

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

          通信配置

          (1)電氣轉換

          CSDB總線信號經過電氣轉換芯片后直接與計算機進行串口通信。在進行RS-422-A到RS-232的電氣標準轉換時,使用MAX488全雙工電平轉換芯片。

          (2)通信同步

          CSDB總線為異步串行通信,按照串行數據傳輸的基本原理,實現正確通信的基本條件是保持接收和發送雙方時鐘一致,以避免發送與接收雙方的數據位寬產生累積誤差,造成不能正確檢測到總線數據。在串行通信中,信息是按位傳送的,傳送速率用波特率表示,數據的發送和接收受各自的時鐘控制,因此,發送方和接收方的波特率應保持一致。經對具體部品測試,CSDB數據總線數據波特率為12.5Kbit/s,為與此同步,要求計算機產生的波特率也應為12.5Kbit/s。

          如圖2所示,在計算機中負責串行通信的器件為8250異步通信適配器(UART),或其兼容元器件,程序通過對8250內部的寄存器讀寫來控制通信模式,8250使用頻率為1.8432MHz的基準時鐘輸入信號作為主數據時鐘,通過對8250內部寄存器置位來獲得需要的波特率。在異步串行通信中,為防止由于信號畸形、不同步等原因造成對數據的誤讀,通信適配器規定每讀取或發送1bit數據至少要用16個時鐘脈沖來控制其波特率,實際應用中波特率時鐘是主時鐘的1/16或1/(16×N),對于要求的波特率,在寫寄存器時用如下公式計算除數因子:

          除數因子=(主數據時鐘頻率/16)/波特率=115200/波特率

          在算出除數因子后,將相應數據寫入8250內部的波特率設置寄存器,即可在串口得到相應波特率的數據。經計算,115200除以12500后不為整數,所以,受到計算機異步通信適配器8250的限制,在波特率設置上不能完全和12.5Kbit/s相同,經計算,當除數因子取9時對應的波特率為12.8Kbit/s,與CSDB總線要求的波特率最為接近,其每bit占據78?S,相對80?S/bit(12.5Kbit/s)誤差為0.25%,小于串行通信波特率最大容許誤差5%,理論上可實現通信同步,因此在程序上將通信的波特率設置為12.8Kbit/s。


        上一頁 1 2 下一頁

        關鍵詞: LabVIEW CSDB 總線 數據

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太和县| 吉首市| 呼和浩特市| 凤庆县| 青州市| 辽阳市| 泰来县| 白水县| 伊金霍洛旗| 宜兰市| 永泰县| 绵阳市| 台南市| 普陀区| 白玉县| 盘山县| 永康市| 惠安县| 闻喜县| 文昌市| 申扎县| 西安市| 贡山| 陈巴尔虎旗| 荆门市| 贺兰县| 凌云县| 安远县| 吉林省| 长顺县| 栖霞市| 迭部县| 嵊州市| 容城县| 阿勒泰市| 富川| 西丰县| 东乡县| 昭平县| 河源市| 加查县|