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