《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于CPCI的測控測試設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)
基于CPCI的測控測試設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)
張德智,, 馮文全
(北京航空航天大學(xué) 電子信息工程學(xué)院,, 北京100191)
摘要: 針對傳統(tǒng)的地面測控測試設(shè)備結(jié)構(gòu)復(fù)雜,、可移植性差,、難以滿足當(dāng)前測試要求的現(xiàn)狀,提出了基于CPCI總線設(shè)計(jì)的衛(wèi)星PCM測控測試設(shè)備,。設(shè)備采用“通用前板+專用背板”板卡設(shè)計(jì)方法,,提高通用性,降低成本;使用FPGA代替?zhèn)鹘y(tǒng)分立元件,,提高設(shè)計(jì)效率和可靠性,。為便于調(diào)試,硬件功能盡量簡化,,只完成數(shù)據(jù)發(fā)送接收操作,,遙測幀同步、遙控指令解析等工作由軟件實(shí)現(xiàn),。
Abstract:
Key words :

摘   要: 針對傳統(tǒng)的地面測控測試設(shè)備結(jié)構(gòu)復(fù)雜、可移植性差,、難以滿足當(dāng)前測試要求的現(xiàn)狀,,提出了基于CPCI總線設(shè)計(jì)的衛(wèi)星PCM測控測試設(shè)備。設(shè)備采用“通用前板+專用背板”板卡設(shè)計(jì)方法,,提高通用性,降低成本,;使用FPGA代替?zhèn)鹘y(tǒng)分立元件,提高設(shè)計(jì)效率和可靠性。為便于調(diào)試,,硬件功能盡量簡化,,只完成數(shù)據(jù)發(fā)送接收操作,遙測幀同步,、遙控指令解析等工作由軟件實(shí)現(xiàn),。
關(guān)鍵詞: CPCI; 通用化設(shè)計(jì); 軟件幀同步

    近年來,我國衛(wèi)星發(fā)射任務(wù)日益繁重,,衛(wèi)星研制周期逐漸縮短,,測試時(shí)間也被壓縮,同時(shí)衛(wèi)星型號逐漸增多,若對每一種型號的衛(wèi)星都單獨(dú)研發(fā)測試設(shè)備,,不僅浪費(fèi)資源而且影響測試進(jìn)度,,因此,衛(wèi)星地面測試設(shè)備應(yīng)向高效、通用的方向發(fā)展,。傳統(tǒng)的地面測試設(shè)備多采用分立元件設(shè)計(jì),,其結(jié)構(gòu)復(fù)雜、功能單一,、可移植性差,、更新?lián)Q代困難、操作不夠靈活,,已不能適應(yīng)當(dāng)前復(fù)雜緊迫的地面測試工作,。
 基于CPCI的衛(wèi)星PCM測控測試設(shè)備是地面測試系統(tǒng)的重要組成部分,采用了數(shù)字化,、通用化的設(shè)計(jì)思想,,功能如下:
   (1) 完成衛(wèi)星下行遙測PCM信號的接收和分路;對接收的遙測數(shù)據(jù)幀同步處理,;通過數(shù)據(jù)服務(wù)端口上傳遙測數(shù)據(jù)幀,,通過狀態(tài)服務(wù)端口通報(bào)遙測數(shù)據(jù)接收情況。
   (2) 通過遙控?cái)?shù)據(jù)接收端口接收網(wǎng)絡(luò)遙控指令,;完成上行遙控PCM信號的分路輸出,;通過狀態(tài)服務(wù)端口通報(bào)遙控指令發(fā)送情況。
1 總體設(shè)計(jì)方案
1.1 總線平臺選擇

   為使設(shè)備結(jié)構(gòu)簡單,,方便測試,,采用了“計(jì)算機(jī)+專用板卡”的結(jié)構(gòu),常見的板卡形式為PCI結(jié)構(gòu)或CPCI結(jié)構(gòu),。雖然PCI總線也是一種高性能總線,,但是由于其接口不牢固,在惡劣環(huán)境下容易脫落,、斷裂,,所以其只能用在比較穩(wěn)定,、理想的環(huán)境中[1]。而CPCI技術(shù)標(biāo)準(zhǔn)融合了PCI局部總線的電氣特性,、工業(yè)級歐卡封裝結(jié)構(gòu)和規(guī)格,、EC 2 mm高密度針孔連接器等3項(xiàng)技術(shù)[2],具有和PCI相同的電氣性能和更為牢固的機(jī)械結(jié)構(gòu),,因此在可靠性要求較高的場合得到了廣泛應(yīng)用,。
 目前,CPCI板卡的設(shè)計(jì)一般采用2種方案:可編程邏輯器件和專用總線接口器件[3],??删幊踢壿嬈骷歉鶕?jù)CPCI協(xié)議在FPGA或CPLD中實(shí)現(xiàn)CPCI總線接口控制器,但是由于CPCI協(xié)議的復(fù)雜性,,使得開發(fā)難度大,、周期長,而且很難在短期內(nèi)達(dá)到系統(tǒng)穩(wěn)定,,這種方法只適合于大批量生產(chǎn)的情況,。對于一般的開發(fā)者來說,大都采用現(xiàn)成的CPCI接口器件,。這類專用接口器件具有較低的成本和很好的通用性,,能夠優(yōu)化數(shù)據(jù)傳輸,提供配置空間,,具備用于突發(fā)傳輸功能的片內(nèi)FIFO等,,是一種省時(shí)省力的方案。這類專用芯片有很多,,如PLX公司的CPCI總線目標(biāo)接口器件PCI9052,、PCI9054和AMCC公司的55933等。
 根據(jù)設(shè)備的功能要求,,本設(shè)計(jì)采用了CPCI總線結(jié)構(gòu),,接口芯片選擇成本較低但性能優(yōu)異的PCI9054。
1.2 設(shè)計(jì)方案
 衛(wèi)星PCM測控測試設(shè)備由遙測數(shù)據(jù)接收板卡,、遙控指令發(fā)送板卡,、控制軟件、CPCI主機(jī)4個(gè)部分組成,。遙測數(shù)據(jù)接收板卡對衛(wèi)星下行PCM遙測數(shù)據(jù)進(jìn)行信號隔離和電平變換,,將遙測數(shù)據(jù)串并轉(zhuǎn)換后,通過CPCI總線送至測控設(shè)備軟件,,進(jìn)行幀同步處理,。遙控指令發(fā)送板卡將CPCI總線送來的指令內(nèi)容按照遙控指令幀格式組裝,組裝后的遙控指令經(jīng)并串轉(zhuǎn)換,、信號隔離,、電平變換后,發(fā)送給衛(wèi)星,,板卡還可以發(fā)送生成的虛擬遙測數(shù)據(jù),,由遙測板卡接收,進(jìn)行環(huán)路自測試,。測控設(shè)備軟件負(fù)責(zé)板卡的參數(shù)設(shè)置和狀態(tài)查詢,,實(shí)現(xiàn)遙測數(shù)據(jù)幀同步,通過網(wǎng)絡(luò)端口上傳遙測數(shù)據(jù)幀,、接收遙控?cái)?shù)據(jù),、通報(bào)設(shè)備工作狀態(tài)。其組成框圖如圖1所示,。

2 硬件設(shè)計(jì)
2.1 通用化板卡設(shè)計(jì)

 為使設(shè)備具有通用性,,在設(shè)計(jì)硬件板卡時(shí),采用“通用前板+專用背板”的設(shè)計(jì)方法,。前板放置CPCI接口芯片(PLX9054),、FPGA(EP1C12QC2048)以及二者的配置電路,將FPGA的IO管腳通過CPCI接插件送至背板,,背板則根據(jù)信號相應(yīng)的電氣特性要求,,設(shè)計(jì)不同的電路,然后將信號連接到CPCI接插件上,,實(shí)現(xiàn)與FPGA相連,。這樣前板只需負(fù)責(zé)信號邏輯處理,不需考慮信號的具體電氣特性,;后板只負(fù)責(zé)實(shí)現(xiàn)硬件接口所要求的電氣特性,,不涉及信號的邏輯處理。因此,,前板可以看成通用的信號處理板,,當(dāng)需要實(shí)現(xiàn)不同的功能時(shí),只需改變FPGA內(nèi)邏輯和重新設(shè)計(jì)相應(yīng)背板即可,,前板不必重新設(shè)計(jì),,極大節(jié)省了設(shè)計(jì)時(shí)間。這種設(shè)計(jì)方法可以在對信號處理速度要求不高(10 Mb/s以下),、接口特性相對簡單的場合應(yīng)用,。
2.2 FPGA邏輯設(shè)計(jì)
2.2.1 遙測接收卡邏輯設(shè)計(jì)

 遙測接收模塊如圖2所示。模塊具有1路遙測PCM解調(diào)通道和1路用于閉環(huán)測試的自測試接收通道,。遙測PCM數(shù)據(jù)進(jìn)入解調(diào)通道后,,首先進(jìn)行信號隔離,實(shí)現(xiàn)星上設(shè)備和地面設(shè)備的隔離保護(hù),。隔離后信號分成3路,,2路作為分路輸出,,經(jīng)信號隔離后輸出給下級設(shè)備,另外1路作為解調(diào)數(shù)據(jù),。輸入的PCM數(shù)據(jù)可以是NRZ-L/M/S 3種碼型之一,。如果輸入的是NRZ-M/S 2種中的1種,則碼型轉(zhuǎn)換電路對其進(jìn)行差分解碼,,轉(zhuǎn)換成NRZ-L輸出,。串并轉(zhuǎn)換模塊將接收的串行PCM遙測數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),寫入同步FIFO,,以供測控設(shè)備軟件讀取,。


    自測試接收通道有2種可選模式:(1)接收遙測數(shù)據(jù)幀,用于遙測PCM解調(diào)通道模塊的自檢,;(2)接收遙控?cái)?shù)據(jù)幀,,用于遙控PCM調(diào)制模塊的自測試以及在設(shè)備工作時(shí)接收遙控PCM調(diào)制模塊發(fā)送的遙控指令,向測控主機(jī)反饋指令的發(fā)送狀況,2種工作模式能夠使用軟件切換,。其工作流程和解調(diào)通道類似,,均是將接收數(shù)據(jù)串并轉(zhuǎn)換后寫入同步FIFO,以供計(jì)算機(jī)讀取,。
 由于測試通道要求既能夠接收遙測數(shù)據(jù)又能夠接收遙控?cái)?shù)據(jù),,并能夠靈活切換,而且遙控方式也要比較靈活,。如果直接在硬件上同步會比較復(fù)雜,,而且系統(tǒng)的碼速率比較低,采用軟件處理其速度完全能夠滿足要求,。故將接收數(shù)據(jù)在軟件上進(jìn)行幀同步或遙控指令檢測的實(shí)現(xiàn)方法,。
2.2.2 遙控指令發(fā)送卡邏輯設(shè)計(jì)
   遙控指令發(fā)送模塊如圖3所示,模塊具有1路遙控指令發(fā)送通道和1路用于閉環(huán)測試的自測試發(fā)送通道,。由于遙控指令是突發(fā)的,為防止FPGA的FIFO出現(xiàn)數(shù)據(jù)無法全部讀出的情況,使用2塊雙口RAM交替緩存遙控指令,,1塊作為工作區(qū)存儲正在發(fā)送指令內(nèi)容,另1塊作為存儲區(qū)存儲下次發(fā)送的指令內(nèi)容,。發(fā)送遙控指令時(shí),,首先由主機(jī)軟件將指令內(nèi)容存入RAM,然后查詢上一幀數(shù)據(jù)是否發(fā)送完畢,,如果發(fā)送完畢,,則啟動1次發(fā)送。發(fā)送時(shí)序列生成器首先根據(jù)設(shè)置的前導(dǎo)序列長度和樣式發(fā)送前導(dǎo)序列,,然后序列生成器在內(nèi)部產(chǎn)生的PCM時(shí)鐘的作用下串行輸出PCM數(shù)據(jù),,當(dāng)1個(gè)Byte串行移位結(jié)束后從雙口RAM下一地址中取數(shù),繼續(xù)移位操作,。當(dāng)遙控指令發(fā)送完之后,,F(xiàn)PGA將根據(jù)軟件的設(shè)置繼續(xù)發(fā)送預(yù)設(shè)好的填充序列,,直到啟動下一次發(fā)送。發(fā)送的數(shù)據(jù)通過碼型變換器變換成設(shè)置的碼型,。輸出的PCM時(shí)鐘可設(shè)為常發(fā)或突發(fā)模式,,當(dāng)處于常發(fā)模式時(shí),無論有無遙控指令,,均輸出時(shí)鐘;當(dāng)處于突發(fā)模式時(shí),,只有發(fā)送遙控指令時(shí)才有時(shí)鐘輸出,。

    自測試發(fā)送通道,在結(jié)構(gòu)上與遙控發(fā)送通道類似,,只是自測試通道需要產(chǎn)生連續(xù)的遙測數(shù)據(jù),,使用RAM無法實(shí)現(xiàn),故使用FIFO作為數(shù)據(jù)緩存,,測控軟件在查詢到硬件FIFO中有足夠的空間后,,將1幀遙測數(shù)據(jù)寫入,F(xiàn)PGA依次將FIFO中的數(shù)據(jù)讀出,,通過并串轉(zhuǎn)換及碼型變換后送到數(shù)據(jù)源選擇器,,軟件根據(jù)當(dāng)前的工作模式選擇輸出。如果工作在轉(zhuǎn)發(fā)遙控?cái)?shù)據(jù)模式,,數(shù)據(jù)源選擇器將會輸出遙控發(fā)送通道產(chǎn)生的遙控PCM數(shù)據(jù)和時(shí)鐘,;如果工作在發(fā)送遙測數(shù)據(jù)模式,將會把自測試通道產(chǎn)生的遙測數(shù)據(jù)送出,,從而使得自測試通道既能夠發(fā)送遙控?cái)?shù)據(jù),,又能夠發(fā)送遙測數(shù)據(jù)。
3 軟件設(shè)計(jì)
3.1 驅(qū)動程序開發(fā)

 常用的嵌入式操作系統(tǒng)有VxWorks和Windows2000 由于Windows2000通用,、軟件資源豐富,、易于使用和擴(kuò)展,本設(shè)計(jì)選擇Windows2000作為操作系統(tǒng)平臺,。
 在Windows環(huán)境下,,常用的驅(qū)動程序開發(fā)工具有WindowsDDK、Driverstudio和WinDriver,。前2種工具需要開發(fā)人員具有系統(tǒng)內(nèi)核層次的知識,,開發(fā)周期較長且難度較大,而WinDriver可以在用戶模式下編寫驅(qū)動程序,其函數(shù)庫提供了大量的API函數(shù),便于調(diào)用。另外,WinDriver針對PCI9054特別編寫了API函數(shù)包,,這些函數(shù)能夠方便地實(shí)現(xiàn)中斷處理,、DMA傳輸、I/O操作,、內(nèi)存映射以及即插即用等功能[4],,可以滿足一般的設(shè)計(jì)要求,。故本設(shè)計(jì)選用WinDriver作為驅(qū)動開發(fā)工具。其開發(fā)流程如下:
    (1) 在Driver Wizard下選擇需要生成驅(qū)動程序的硬件板卡,。
    (2) 生成INF文件,。
    (3) 探測硬件,Wizard會自動探測硬件資源,。
    (4) 測試硬件,包括讀/寫I/O Port,、Memory space和相關(guān)寄存器以及監(jiān)聽硬件的中斷。
    (5) 生成Driver Code,。
    (6) 修改設(shè)計(jì)代碼,,完善驅(qū)動程序的功能。
3.2 控制軟件組成
 控制軟件由板卡控制模塊,、遙測參數(shù)設(shè)置模塊,、遙控參數(shù)設(shè)置模塊、數(shù)據(jù)接收模塊,、指令發(fā)送模塊,、網(wǎng)絡(luò)通信模塊6部分組成,組成框圖如圖4所示。


 板卡控制模塊作為控制軟件的基礎(chǔ),,控制板卡的打開,、關(guān)閉、初始化,、讀,、寫、中斷等操作,。遙測參數(shù)設(shè)置模塊根據(jù)網(wǎng)絡(luò)指令,,設(shè)置遙測幀同步字、幀長,、碼型等參數(shù),,提交當(dāng)前設(shè)備的工作狀態(tài)。遙控參數(shù)設(shè)置模塊根據(jù)網(wǎng)絡(luò)指令,,設(shè)置遙控指令長度,、碼型、前導(dǎo)序列長度,、圖樣,、是否校驗(yàn)等參數(shù),提交當(dāng)前設(shè)備的工作狀態(tài),。數(shù)據(jù)接收模塊完成遙測數(shù)據(jù)幀同步,、遙控指令自環(huán)接收和統(tǒng)計(jì)誤碼率,提交同步后的遙測數(shù)據(jù)和誤碼率統(tǒng)計(jì)結(jié)果。遙控指令發(fā)送模塊將接收的遙控指令內(nèi)容寫入板卡的緩存RAM中,。網(wǎng)絡(luò)通信模塊實(shí)現(xiàn)本地設(shè)備和總控設(shè)備的網(wǎng)絡(luò)通信,,解析總控送來的遙控指令內(nèi)容,上傳同步后的遙測數(shù)據(jù),,設(shè)置設(shè)備的工作參數(shù),,上傳設(shè)備當(dāng)前工作狀態(tài)。
3.3 軟件幀同步
    由于輸入的遙測數(shù)據(jù)碼速率較低(<100 Kb/s),,為了簡化硬件設(shè)計(jì),,使用軟件完成幀同步的工作。遙測幀同步器按照設(shè)定的格式搜索數(shù)據(jù)流中按照幀長關(guān)系反復(fù)出現(xiàn)的幀同步字,,從而按照定義好的格式輸出同步后的數(shù)據(jù),。幀同步器按照如圖5所示的邏輯狀態(tài)進(jìn)行工作。圖中,,幀同步容錯(cuò)參數(shù)為0~3 bit可設(shè);校驗(yàn)至鎖定次數(shù)(L2)參數(shù)為0~7次可設(shè),;保護(hù)至鎖定次數(shù)(L3)參數(shù)為0~7次可設(shè),。


    (1)幀同步器處于搜索狀態(tài),在此狀態(tài)下,每到來1個(gè)新的數(shù)據(jù)位,,遙測幀同步器都將移位寄存器中的數(shù)據(jù)與設(shè)置的幀同步字進(jìn)行比較,,在某些通信方式(如PSK)的解調(diào)過程中,會引入相位模糊。在這種情況下,,PCM數(shù)據(jù)有可能與發(fā)送方發(fā)送的信息是全部反向的,。而PCM解調(diào)器在進(jìn)行幀同步的過程中,通過對幀同步字?jǐn)?shù)據(jù)反轉(zhuǎn)狀態(tài)的判別,,可以在發(fā)生數(shù)據(jù)反轉(zhuǎn)時(shí)自動將接收到的數(shù)據(jù)反向,,以實(shí)現(xiàn)自動適應(yīng)相位模糊的功能??紤]到誤碼的存在,,比較時(shí)并不要求全對,只要滿足容錯(cuò)(M)參數(shù)(0~3 bit錯(cuò)誤)要求即可,。當(dāng)搜索到同步字后,,即進(jìn)入校驗(yàn)狀態(tài)。
 (2)在校驗(yàn)狀態(tài)下,,每隔幀長乘以8個(gè)bit,,再將當(dāng)前移位寄存器中的數(shù)據(jù)與設(shè)定的幀同步字進(jìn)行比較,如果不正確,,則表示搜索狀態(tài)獲得的比較結(jié)果可能是錯(cuò)誤的(如當(dāng)數(shù)據(jù)域中出現(xiàn)與幀同步字相同的序列),,回到搜索狀態(tài)重新搜索同步。當(dāng)在校驗(yàn)狀態(tài)連續(xù)L2次比較均正確后,即認(rèn)為幀同步鎖定,,開始接收數(shù)據(jù)幀,。
 (3)在鎖定狀態(tài)也會每隔幀長乘以8個(gè)bit檢查同步字是否如約出現(xiàn),如果沒有出現(xiàn),,便進(jìn)入保護(hù)狀態(tài),。
   (4)在保護(hù)狀態(tài)下,如果連續(xù)L3次如約收到幀同步字,,則回到鎖定狀態(tài),;否則,返回搜索狀態(tài)重新搜索同步,。
4 設(shè)備測試和使用
 本設(shè)備在交付前由用戶方進(jìn)行了詳細(xì)的測試,,測試范圍包括接口電氣特性測試、功能測試,、老化測試等,,測試結(jié)果各項(xiàng)指標(biāo)均達(dá)到了技術(shù)要求,設(shè)備于2008年3月交用戶使用,。通過一年來設(shè)備的運(yùn)行狀況以及用戶反映,,證明該設(shè)備具有可靠性高、測試快速準(zhǔn)確,、操作簡便等優(yōu)點(diǎn),。
   基于CPCI的衛(wèi)星PCM測控測試設(shè)備采用目前廣泛使用的先進(jìn)測控總線標(biāo)準(zhǔn)CPCI總線技術(shù)研制而成,研制周期短,升級簡單,,只需稍作更改便可以應(yīng)用于其他項(xiàng)目的測試工作,,具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1]     于兵,張為公.基于CPCI接口的視頻采集卡的設(shè)計(jì)[J]. 測控技術(shù), 2008(7):20-22.
[2]     PICM. PICMG2.0 D3.0 Compact PCI specification[S]. 1999.
[3]     趙肖東. 基于CPCI的高速數(shù)據(jù)傳輸卡設(shè)計(jì)[D]. 北京:中國科學(xué)研究院研究生院(電子學(xué)研究所),2006.
[4]     韓慧,于守謙. 基于PCI總線圖像采集卡開發(fā)的圖像處理系統(tǒng)[J]. 計(jì)算機(jī)測量與控制, 2003,11(6):455-457.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。