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