本測試平臺是測試系統(tǒng)中的一個分系統(tǒng),主要研究如何通過PXI總線實現(xiàn)多種傳感器信號的模擬和PCM碼流的持續(xù)無丟幀存儲技術(shù)。
1 系統(tǒng)設(shè)計
如圖1所示,系統(tǒng)通過PXI總線與上位機進行通信,本地總線與PXI總線通過PCI接口電路連接。系統(tǒng)有2種工作模式:自檢模式和正常工作模式。在自檢模式下,系統(tǒng)通過硬件連接把SAR和GNSS信號接收回來,且內(nèi)部模擬一個測量綜合控制器上的PCM碼源,再將回讀后的數(shù)據(jù)在上位機上顯示。
2 PXI總線及接口電路的實現(xiàn)
PXI是PCI在儀器領(lǐng)域的擴展,它將Compact-PCI規(guī)范定義的PCI總線技術(shù)發(fā)展成適用于試驗、測量與數(shù)據(jù)采集場合的機械、電氣和軟件的規(guī)范,從而形成新的儀器體系結(jié)構(gòu)。PXI將PC的高性價比優(yōu)勢和PCI總線向儀器領(lǐng)域擴展的需求完美結(jié)合起來,它通過增加用于多板同步的觸發(fā)總線和參考時鐘、用于精確定時的星型觸發(fā)總線以及用于相鄰模塊間高速通信的局部總線來滿足用戶的測試要求[1]。
2.1 PXI總線的讀寫
在一個PXI總線的應(yīng)用系統(tǒng)中,如果某設(shè)備取得了總線控制權(quán),就稱其為“主設(shè)備”;而被主設(shè)備選中進行通信的設(shè)備稱為“從設(shè)備”或“目標(biāo)設(shè)備”。PXI總線有2種操作模式[2]:
(1)正常模式:地址和數(shù)據(jù)交替使用AD總線。首先發(fā)送的是地址信號,接著就是數(shù)據(jù)的讀寫。正常模式1次傳輸過程需要2~3個時鐘周期(地址周期+寫周期;地址周期+讀周期+讀周期)。對1個32位寬的數(shù)據(jù)總線,最大寫數(shù)據(jù)傳輸速度只有66 MB/s,而最大的讀數(shù)據(jù)傳輸速度只有44 MB/s。
(2)突發(fā)模式:在這種模式下,主設(shè)備首先發(fā)出1個起始地址,接著是一系列隱含著地址(地址順序增量)的數(shù)據(jù)信號。這樣傳輸?shù)娜绻蔷哂羞B續(xù)地址的內(nèi)存塊,對1個32位寬的數(shù)據(jù)總線,數(shù)據(jù)傳輸速度最高可達到133 MB/s(32位)或是266 MB/s(64位)。
本系統(tǒng)采用的是突發(fā)讀寫模式,圖2為32位PXI總線在突發(fā)模式下的時序圖。
在時序圖的第1個時鐘周期中,主控設(shè)備把地址放到AD總線上,把對目標(biāo)設(shè)備的命令放到C/BE#(命令1字節(jié)選通)引腳上。C/BE#引腳上的狀態(tài)標(biāo)識了PXI不同種類的命令,PXI總線的操作主要體現(xiàn)在PXI總線命令上。總線命令出現(xiàn)在PXI地址期的C/BE[3::0]線上,總線命令的作用是用來規(guī)定主、從設(shè)備之間的傳輸類型。由圖2可見,第1個數(shù)據(jù)傳輸需3個時鐘周期,其后每個時鐘完成相應(yīng)的1個數(shù)據(jù)傳輸。
2.2 PXI總線接口實現(xiàn)
接口電路的功能是實現(xiàn)本地總線信號和PXI(PCI)總線信號之間的轉(zhuǎn)換,所以接口電路的基本功能是完成讀寫操作控制邏輯的轉(zhuǎn)換。目前PXI總線的接口方案主要有2種:使用可編程邏輯器件和使用專用總線接口器件。
(1)可編程邏輯器件實現(xiàn):對于設(shè)計者來說,并不需要實現(xiàn)規(guī)范中的所有功能,而采用可編程邏輯器件就可以靈活地選擇自己所需的功能。PXI總線對負載和傳輸數(shù)據(jù)的時間要求都比較苛刻,同時還需要器件內(nèi)部實現(xiàn)配置各類寄存器,而且要實現(xiàn)比較復(fù)雜的應(yīng)用,需要開發(fā)者對協(xié)議有深刻的了解。因此,用可編程邏輯器件方案難度較大,開發(fā)時間長,不適合小批量生產(chǎn)。
(2)專用PCI接口芯片+FPGA實現(xiàn):專用PCI接口芯片的缺點是靈活性比較差,但其支持PCI協(xié)議,可以減少開發(fā)時間,提高效率。FPGA用來實現(xiàn)PXI總線所要完成的觸發(fā)總線、局部總線等功能。本設(shè)計采用的就是接口芯片的方案。
PXI接口電路利用PCI9054芯片構(gòu)造PCI接口。PCI9054由PCI總線接口邏輯、本地總線接口邏輯、內(nèi)部邏輯和EEPROM接口邏輯組成。本地接口邏輯由可編程邏輯器件實現(xiàn),包括地址/數(shù)據(jù)信號、I/O讀寫信號、存儲器讀寫控制信號以及等待周期產(chǎn)生邏輯和總線控制邏輯等[3]。串行EEPROM采用93CS56芯片,在EEPROM中,按順序存儲接口卡最重要的配置信息。將板卡連接到PXI插槽后,在系統(tǒng)上電時,PCI9054首先檢查到EEPROM,然后按照EEPROM中的值配置其內(nèi)部寄存器。圖3是PCI9054寄存器的配置信息。
PCI9054有3種工作模式:M、C、J。M模式適用于與Motorola的RISC處理器(MPC850和MPC860)無縫連接使用,所以在使用其他種類的處理器時,就要使用C或者J模式。在本項目中采用局部數(shù)據(jù)總線16位、地址數(shù)據(jù)不復(fù)用的方式,所以選擇C工作模式。PCI9054的C模式又支持3種數(shù)據(jù)直接傳輸方式:直接主模式、直接從模式、DMA方式。因為系統(tǒng)主要利用PXI總線向計算機傳送數(shù)據(jù)和讀取計算機配置命令,且計算機是PXI總線上的主設(shè)備,所以PC19054采用直接從模式的方式。
3 功能電路的設(shè)計
3.1 信號源的設(shè)計
3.1.1 GNSS信號源的設(shè)計
測量綜合控制器測試臺中,GNSS信號源模擬GNSS接收機。信號源的準確性有利于測量綜合控制器性能的測量。測量綜合控制器GNSS模塊在每幀的開始利用幀同步脈沖向GNSS接收機發(fā)出取數(shù)請求信號,GNSS接收機接到請求后,在8 ms內(nèi)向遙測設(shè)備傳送完1 000 bit(125 B,先傳高位)的測量參數(shù)后,遙測設(shè)備必須在下一個取數(shù)信號到來之前將數(shù)據(jù)傳輸完。其接口電路如圖4所示。
3.1.2 SAR信號源的設(shè)計
測量綜合控制器測試臺中SAR信號源模擬的是SAR壓縮器,采用標(biāo)準RS-422-A接口形式傳輸壓縮后的圖像數(shù)據(jù)(每字節(jié)8位的串行數(shù)據(jù))。測量綜合控制器每隔25 ms向測試系統(tǒng)發(fā)送取數(shù)請求信號,在取數(shù)請求由高變?yōu)榈脱舆t一段時間后,測量綜合控制器同時向測試臺發(fā)送移位脈沖,測試臺根據(jù)取數(shù)請求信號以及移位脈沖信號,向測量綜合控制器發(fā)送相應(yīng)的數(shù)據(jù)信息,其接口電路如圖5所示。
3.2 PCM碼設(shè)計
系統(tǒng)采用的是一種典型的96×64的含有主、副幀結(jié)構(gòu)的PCM碼流。測量綜合控制器發(fā)出的PCM碼數(shù)據(jù)信號是由CAN總線發(fā)送的數(shù)據(jù),對64路模擬信號實時采集的數(shù)據(jù),由GNSS與星SAR信號組成。系統(tǒng)中的PCM碼流采用的是運算放大器輸方式(±2.5 V方式)[4-5]。
3.2.1 PCM解碼
如圖6所示,系統(tǒng)首先通過AD8138將PCM數(shù)據(jù)轉(zhuǎn)換成幅值為0~5 V的電平(AD8138還有反相的功能)。為了將差分信號轉(zhuǎn)換為FPGA能夠處理的TTL電平,并且保證信號被有效隔離和再次反相,采用光電耦合器來接收差分信號。DC-DC實現(xiàn)了電源隔離,這樣系統(tǒng)能夠有效地實現(xiàn)與測量綜合控制器的隔離,從而消除傳輸干擾帶來的誤差。
雖然對信號進行了隔離,PCM輸入信號仍不可避免地存在各種干擾,這將影響碼同步脈沖和PCM數(shù)據(jù)的提取,因此,在FPGA內(nèi)PCM信號的輸入端接入1個濾波模塊。模塊使用的是高精度時鐘,頻率是PCM碼率的20倍(39.321 6 MHz)。PCM碼(PCM-IN)在產(chǎn)生跳變后必須保持至少5個clk,才能被濾波模塊輸出(PCM-OUT),否則被認為是干擾信號,將被濾除。
因為±2.5 V方式只包含數(shù)據(jù)流,因此實時同步時鐘的產(chǎn)生是解碼的關(guān)鍵,也是串行傳輸要解決的主要問題。PCM同步傳輸是以固定的節(jié)拍發(fā)送數(shù)據(jù)信號的,而且信號以恒定的速率(系統(tǒng)采用的是1.966 08 MHz)傳送數(shù)據(jù),因此在數(shù)據(jù)流中各碼元之間的相對位置是固定的。FPGA為了從轉(zhuǎn)換后的TTL電平串行數(shù)據(jù)中正確區(qū)分出信號碼元,必須先建立起準確的時鐘信號,即同步時鐘。從而使得發(fā)送方和接收方同步工作,即位同步。本設(shè)計中碼同步信號通過對clk的20分頻和對濾波后的PCM碼的提取得到。在副幀同步的邏輯設(shè)計中,采用了容錯設(shè)計方法,即每1個副幀都判斷副幀或幀同步標(biāo)志。具體方法是:先找到1個EB 90或14 6F,然后每隔96個字節(jié)再判斷1次移位的數(shù)據(jù)是不是EB 90或14 6F,若不是,則重新查找;若是,則認為它們是副幀或幀同步標(biāo)志,每1個副幀都進行判斷。這樣查找的好處是:即使第1次誤判,也不會影響后續(xù)的判斷正確性;即使PCM碼發(fā)送中斷后再重發(fā),或由于干擾發(fā)送錯誤,也不會影響后續(xù)的正確解調(diào)。這種循環(huán)判斷副幀或幀同步標(biāo)志的方法,增強了PCM碼解調(diào)過程的容錯、糾錯能力。PCM解碼程序框圖如圖7所示。
3.2.2 PCM編碼
如圖8所示為PCM編碼電路,REF03通過調(diào)理電路輸出2.5 V和-2.5 V電壓。MAX4649是一個單刀雙擲開關(guān),F(xiàn)PGA控制PCMCLK信號來決定輸出的PCM碼流。
本設(shè)計實現(xiàn)了信號源和PCM無丟幀編碼、解碼的設(shè)計,并通過PXI總線與上位機進行通信。此方案已經(jīng)成功應(yīng)用于某型號飛行器的地面測試臺中,經(jīng)過測試和調(diào)試,系統(tǒng)工作穩(wěn)定,無丟幀現(xiàn)象,達到了設(shè)計要求。