摘 要: 針對傳統(tǒng)的地面測控測試設(shè)備結(jié)構(gòu)復(fù)雜、可移植性差,、難以滿足當前測試要求的現(xiàn)狀,,提出了基于CPCI總線設(shè)計的衛(wèi)星PCM測控測試設(shè)備。設(shè)備采用“通用前板+專用背板”板卡設(shè)計方法,,提高通用性,降低成本,;使用FPGA代替?zhèn)鹘y(tǒng)分立元件,提高設(shè)計效率和可靠性,。為便于調(diào)試,,硬件功能盡量簡化,只完成數(shù)據(jù)發(fā)送接收操作,,遙測幀同步,、遙控指令解析等工作由軟件實現(xiàn)。
關(guān)鍵詞: CPCI; 通用化設(shè)計; 軟件幀同步
近年來,,我國衛(wèi)星發(fā)射任務(wù)日益繁重,,衛(wèi)星研制周期逐漸縮短,測試時間也被壓縮,同時衛(wèi)星型號逐漸增多,,若對每一種型號的衛(wèi)星都單獨研發(fā)測試設(shè)備,,不僅浪費資源而且影響測試進度,因此,衛(wèi)星地面測試設(shè)備應(yīng)向高效,、通用的方向發(fā)展,。傳統(tǒng)的地面測試設(shè)備多采用分立元件設(shè)計,其結(jié)構(gòu)復(fù)雜,、功能單一,、可移植性差,、更新?lián)Q代困難,、操作不夠靈活,已不能適應(yīng)當前復(fù)雜緊迫的地面測試工作,。
基于CPCI的衛(wèi)星PCM測控測試設(shè)備是地面測試系統(tǒng)的重要組成部分,,采用了數(shù)字化、通用化的設(shè)計思想,,功能如下:
(1) 完成衛(wèi)星下行遙測PCM信號的接收和分路,;對接收的遙測數(shù)據(jù)幀同步處理;通過數(shù)據(jù)服務(wù)端口上傳遙測數(shù)據(jù)幀,,通過狀態(tài)服務(wù)端口通報遙測數(shù)據(jù)接收情況,。
(2) 通過遙控數(shù)據(jù)接收端口接收網(wǎng)絡(luò)遙控指令,;完成上行遙控PCM信號的分路輸出;通過狀態(tài)服務(wù)端口通報遙控指令發(fā)送情況,。
1 總體設(shè)計方案
1.1 總線平臺選擇
為使設(shè)備結(jié)構(gòu)簡單,,方便測試,采用了“計算機+專用板卡”的結(jié)構(gòu),,常見的板卡形式為PCI結(jié)構(gòu)或CPCI結(jié)構(gòu),。雖然PCI總線也是一種高性能總線,但是由于其接口不牢固,,在惡劣環(huán)境下容易脫落,、斷裂,所以其只能用在比較穩(wěn)定,、理想的環(huán)境中[1],。而CPCI技術(shù)標準融合了PCI局部總線的電氣特性、工業(yè)級歐卡封裝結(jié)構(gòu)和規(guī)格,、EC 2 mm高密度針孔連接器等3項技術(shù)[2],,具有和PCI相同的電氣性能和更為牢固的機械結(jié)構(gòu),因此在可靠性要求較高的場合得到了廣泛應(yīng)用,。
目前,,CPCI板卡的設(shè)計一般采用2種方案:可編程邏輯器件和專用總線接口器件[3]??删幊踢壿嬈骷歉鶕?jù)CPCI協(xié)議在FPGA或CPLD中實現(xiàn)CPCI總線接口控制器,,但是由于CPCI協(xié)議的復(fù)雜性,使得開發(fā)難度大,、周期長,,而且很難在短期內(nèi)達到系統(tǒng)穩(wěn)定,這種方法只適合于大批量生產(chǎn)的情況,。對于一般的開發(fā)者來說,,大都采用現(xiàn)成的CPCI接口器件。這類專用接口器件具有較低的成本和很好的通用性,,能夠優(yōu)化數(shù)據(jù)傳輸,,提供配置空間,具備用于突發(fā)傳輸功能的片內(nèi)FIFO等,,是一種省時省力的方案,。這類專用芯片有很多,如PLX公司的CPCI總線目標接口器件PCI9052,、PCI9054和AMCC公司的55933等,。
根據(jù)設(shè)備的功能要求,本設(shè)計采用了CPCI總線結(jié)構(gòu),,接口芯片選擇成本較低但性能優(yōu)異的PCI9054,。
1.2 設(shè)計方案
衛(wèi)星PCM測控測試設(shè)備由遙測數(shù)據(jù)接收板卡,、遙控指令發(fā)送板卡、控制軟件,、CPCI主機4個部分組成,。遙測數(shù)據(jù)接收板卡對衛(wèi)星下行PCM遙測數(shù)據(jù)進行信號隔離和電平變換,將遙測數(shù)據(jù)串并轉(zhuǎn)換后,,通過CPCI總線送至測控設(shè)備軟件,,進行幀同步處理。遙控指令發(fā)送板卡將CPCI總線送來的指令內(nèi)容按照遙控指令幀格式組裝,,組裝后的遙控指令經(jīng)并串轉(zhuǎn)換,、信號隔離、電平變換后,,發(fā)送給衛(wèi)星,,板卡還可以發(fā)送生成的虛擬遙測數(shù)據(jù),由遙測板卡接收,,進行環(huán)路自測試,。測控設(shè)備軟件負責(zé)板卡的參數(shù)設(shè)置和狀態(tài)查詢,實現(xiàn)遙測數(shù)據(jù)幀同步,,通過網(wǎng)絡(luò)端口上傳遙測數(shù)據(jù)幀,、接收遙控數(shù)據(jù)、通報設(shè)備工作狀態(tài),。其組成框圖如圖1所示,。
2 硬件設(shè)計
2.1 通用化板卡設(shè)計
為使設(shè)備具有通用性,在設(shè)計硬件板卡時,,采用“通用前板+專用背板”的設(shè)計方法,。前板放置CPCI接口芯片(PLX9054)、FPGA(EP1C12QC2048)以及二者的配置電路,,將FPGA的IO管腳通過CPCI接插件送至背板,,背板則根據(jù)信號相應(yīng)的電氣特性要求,設(shè)計不同的電路,,然后將信號連接到CPCI接插件上,,實現(xiàn)與FPGA相連。這樣前板只需負責(zé)信號邏輯處理,,不需考慮信號的具體電氣特性,;后板只負責(zé)實現(xiàn)硬件接口所要求的電氣特性,,不涉及信號的邏輯處理,。因此,前板可以看成通用的信號處理板,,當需要實現(xiàn)不同的功能時,,只需改變FPGA內(nèi)邏輯和重新設(shè)計相應(yīng)背板即可,,前板不必重新設(shè)計,極大節(jié)省了設(shè)計時間,。這種設(shè)計方法可以在對信號處理速度要求不高(10 Mb/s以下),、接口特性相對簡單的場合應(yīng)用。
2.2 FPGA邏輯設(shè)計
2.2.1 遙測接收卡邏輯設(shè)計
遙測接收模塊如圖2所示,。模塊具有1路遙測PCM解調(diào)通道和1路用于閉環(huán)測試的自測試接收通道,。遙測PCM數(shù)據(jù)進入解調(diào)通道后,首先進行信號隔離,,實現(xiàn)星上設(shè)備和地面設(shè)備的隔離保護,。隔離后信號分成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)換電路對其進行差分解碼,轉(zhuǎn)換成NRZ-L輸出,。串并轉(zhuǎn)換模塊將接收的串行PCM遙測數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),,寫入同步FIFO,以供測控設(shè)備軟件讀取,。
自測試接收通道有2種可選模式:(1)接收遙測數(shù)據(jù)幀,,用于遙測PCM解調(diào)通道模塊的自檢;(2)接收遙控數(shù)據(jù)幀,,用于遙控PCM調(diào)制模塊的自測試以及在設(shè)備工作時接收遙控PCM調(diào)制模塊發(fā)送的遙控指令,向測控主機反饋指令的發(fā)送狀況,,2種工作模式能夠使用軟件切換。其工作流程和解調(diào)通道類似,,均是將接收數(shù)據(jù)串并轉(zhuǎn)換后寫入同步FIFO,,以供計算機讀取。
由于測試通道要求既能夠接收遙測數(shù)據(jù)又能夠接收遙控數(shù)據(jù),,并能夠靈活切換,,而且遙控方式也要比較靈活。如果直接在硬件上同步會比較復(fù)雜,,而且系統(tǒng)的碼速率比較低,,采用軟件處理其速度完全能夠滿足要求。故將接收數(shù)據(jù)在軟件上進行幀同步或遙控指令檢測的實現(xiàn)方法,。
2.2.2 遙控指令發(fā)送卡邏輯設(shè)計
遙控指令發(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ā)送遙控指令時,首先由主機軟件將指令內(nèi)容存入RAM,,然后查詢上一幀數(shù)據(jù)是否發(fā)送完畢,,如果發(fā)送完畢,則啟動1次發(fā)送,。發(fā)送時序列生成器首先根據(jù)設(shè)置的前導(dǎo)序列長度和樣式發(fā)送前導(dǎo)序列,,然后序列生成器在內(nèi)部產(chǎn)生的PCM時鐘的作用下串行輸出PCM數(shù)據(jù),當1個Byte串行移位結(jié)束后從雙口RAM下一地址中取數(shù),,繼續(xù)移位操作,。當遙控指令發(fā)送完之后,F(xiàn)PGA將根據(jù)軟件的設(shè)置繼續(xù)發(fā)送預(yù)設(shè)好的填充序列,,直到啟動下一次發(fā)送,。發(fā)送的數(shù)據(jù)通過碼型變換器變換成設(shè)置的碼型。輸出的PCM時鐘可設(shè)為常發(fā)或突發(fā)模式,,當處于常發(fā)模式時,,無論有無遙控指令,均輸出時鐘,;當處于突發(fā)模式時,,只有發(fā)送遙控指令時才有時鐘輸出。
自測試發(fā)送通道,,在結(jié)構(gòu)上與遙控發(fā)送通道類似,,只是自測試通道需要產(chǎn)生連續(xù)的遙測數(shù)據(jù),使用RAM無法實現(xiàn),,故使用FIFO作為數(shù)據(jù)緩存,,測控軟件在查詢到硬件FIFO中有足夠的空間后,將1幀遙測數(shù)據(jù)寫入,,F(xiàn)PGA依次將FIFO中的數(shù)據(jù)讀出,,通過并串轉(zhuǎn)換及碼型變換后送到數(shù)據(jù)源選擇器,軟件根據(jù)當前的工作模式選擇輸出,。如果工作在轉(zhuǎn)發(fā)遙控數(shù)據(jù)模式,,數(shù)據(jù)源選擇器將會輸出遙控發(fā)送通道產(chǎn)生的遙控PCM數(shù)據(jù)和時鐘;如果工作在發(fā)送遙測數(shù)據(jù)模式,,將會把自測試通道產(chǎn)生的遙測數(shù)據(jù)送出,,從而使得自測試通道既能夠發(fā)送遙控數(shù)據(jù),又能夠發(fā)送遙測數(shù)據(jù),。
3 軟件設(shè)計
3.1 驅(qū)動程序開發(fā)
常用的嵌入式操作系統(tǒng)有VxWorks和Windows2000 由于Windows2000通用,、軟件資源豐富,、易于使用和擴展,本設(shè)計選擇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ù)能夠方便地實現(xiàn)中斷處理、DMA傳輸,、I/O操作,、內(nèi)存映射以及即插即用等功能[4],可以滿足一般的設(shè)計要求,。故本設(shè)計選用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è)計代碼,,完善驅(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ù),提交當前設(shè)備的工作狀態(tài),。遙控參數(shù)設(shè)置模塊根據(jù)網(wǎng)絡(luò)指令,,設(shè)置遙控指令長度、碼型,、前導(dǎo)序列長度,、圖樣、是否校驗等參數(shù),,提交當前設(shè)備的工作狀態(tài),。數(shù)據(jù)接收模塊完成遙測數(shù)據(jù)幀同步、遙控指令自環(huán)接收和統(tǒng)計誤碼率,,提交同步后的遙測數(shù)據(jù)和誤碼率統(tǒng)計結(jié)果,。遙控指令發(fā)送模塊將接收的遙控指令內(nèi)容寫入板卡的緩存RAM中。網(wǎng)絡(luò)通信模塊實現(xiàn)本地設(shè)備和總控設(shè)備的網(wǎng)絡(luò)通信,,解析總控送來的遙控指令內(nèi)容,,上傳同步后的遙測數(shù)據(jù),設(shè)置設(shè)備的工作參數(shù),,上傳設(shè)備當前工作狀態(tài),。
3.3 軟件幀同步
由于輸入的遙測數(shù)據(jù)碼速率較低(<100 Kb/s),為了簡化硬件設(shè)計,,使用軟件完成幀同步的工作,。遙測幀同步器按照設(shè)定的格式搜索數(shù)據(jù)流中按照幀長關(guān)系反復(fù)出現(xiàn)的幀同步字,從而按照定義好的格式輸出同步后的數(shù)據(jù),。幀同步器按照如圖5所示的邏輯狀態(tài)進行工作,。圖中,幀同步容錯參數(shù)為0~3 bit可設(shè),;校驗至鎖定次數(shù)(L2)參數(shù)為0~7次可設(shè),;保護至鎖定次數(shù)(L3)參數(shù)為0~7次可設(shè)。
(1)幀同步器處于搜索狀態(tài),在此狀態(tài)下,,每到來1個新的數(shù)據(jù)位,,遙測幀同步器都將移位寄存器中的數(shù)據(jù)與設(shè)置的幀同步字進行比較,在某些通信方式(如PSK)的解調(diào)過程中,會引入相位模糊,。在這種情況下,,PCM數(shù)據(jù)有可能與發(fā)送方發(fā)送的信息是全部反向的。而PCM解調(diào)器在進行幀同步的過程中,,通過對幀同步字數(shù)據(jù)反轉(zhuǎn)狀態(tài)的判別,,可以在發(fā)生數(shù)據(jù)反轉(zhuǎn)時自動將接收到的數(shù)據(jù)反向,以實現(xiàn)自動適應(yīng)相位模糊的功能,??紤]到誤碼的存在,,比較時并不要求全對,只要滿足容錯(M)參數(shù)(0~3 bit錯誤)要求即可,。當搜索到同步字后,,即進入校驗狀態(tài)。
(2)在校驗狀態(tài)下,,每隔幀長乘以8個bit,,再將當前移位寄存器中的數(shù)據(jù)與設(shè)定的幀同步字進行比較,如果不正確,,則表示搜索狀態(tài)獲得的比較結(jié)果可能是錯誤的(如當數(shù)據(jù)域中出現(xiàn)與幀同步字相同的序列),,回到搜索狀態(tài)重新搜索同步,。當在校驗狀態(tài)連續(xù)L2次比較均正確后,,即認為幀同步鎖定,開始接收數(shù)據(jù)幀,。
(3)在鎖定狀態(tài)也會每隔幀長乘以8個bit檢查同步字是否如約出現(xiàn),,如果沒有出現(xiàn),便進入保護狀態(tài),。
(4)在保護狀態(tài)下,,如果連續(xù)L3次如約收到幀同步字,則回到鎖定狀態(tài),;否則,,返回搜索狀態(tài)重新搜索同步。
4 設(shè)備測試和使用
本設(shè)備在交付前由用戶方進行了詳細的測試,,測試范圍包括接口電氣特性測試,、功能測試、老化測試等,,測試結(jié)果各項指標均達到了技術(shù)要求,,設(shè)備于2008年3月交用戶使用。通過一年來設(shè)備的運行狀況以及用戶反映,,證明該設(shè)備具有可靠性高,、測試快速準確、操作簡便等優(yōu)點,。
基于CPCI的衛(wèi)星PCM測控測試設(shè)備采用目前廣泛使用的先進測控總線標準CPCI總線技術(shù)研制而成,研制周期短,,升級簡單,只需稍作更改便可以應(yīng)用于其他項目的測試工作,,具有廣闊的應(yīng)用前景,。
參考文獻
[1] 于兵,張為公.基于CPCI接口的視頻采集卡的設(shè)計[J]. 測控技術(shù), 2008(7):20-22.
[2] PICM. PICMG2.0 D3.0 Compact PCI specification[S]. 1999.
[3] 趙肖東. 基于CPCI的高速數(shù)據(jù)傳輸卡設(shè)計[D]. 北京:中國科學(xué)研究院研究生院(電子學(xué)研究所),2006.
[4] 韓慧,于守謙. 基于PCI總線圖像采集卡開發(fā)的圖像處理系統(tǒng)[J]. 計算機測量與控制, 2003,11(6):455-457.