柯小路 王繼生 李洋
(南京電子技術研究所 江蘇省南京市 210039)
雷達是由諸多具有不同功能的相對獨立模塊組成的一個復雜系統(tǒng),不同模塊之間必須按照一定的時序協(xié)調工作。定時控制器是雷達系統(tǒng)的重要組成部分,為雷達全機提供所需的各種時序控制信號。當前雷達的工作方式日趨多樣,定時時序關系愈發(fā)復雜,同時,對定時器的小型化、通用性、多功能性的要求越來越迫切,越來越多的雷達系統(tǒng)采用獨立的定時控制器來實現對整個雷達各分系統(tǒng)的同步時序控制。隨著FPGA資源及性能的提升,其被廣泛應用于雷達系統(tǒng)各模塊,基于FPGA的多功能定時控制器能夠較好地滿足以上需求[1-2]。
當前,定時器的基本原理已經比較成熟,近年來的研究主要集中在實際實現方面[3-7]。一方面相控陣雷達功能多樣化、復雜化,對定時靈活性要求逐步提高,雷達定時器已從單一或有限固定時序向參數化可調整定時轉變;另一方面雷達性能的提升對定時的精度需求越來越高。為此,本文基于FPGA平臺和嵌入式技術,提出一種通用的參數化定時架構,在此基礎上提出一種高精度定時器設計方法,滿足定時靈活性與高精度需求。
以定時計數的參考基準劃分,定時信號主要可分為兩類:幀(脈組)同步定時、脈沖同步定時。幀同步定時每幀產生一個,以幀起始信號為基準,包括幀起始、幀結束以及部分觸發(fā)信號;脈沖同步定時則在每個重復周期內產生,以重復周期起始信號為基準,包括發(fā)射、接收相關定時,一般情況下同一幀的不同重復周期內相對時序關系不變。
基于FPGA的定時信號產生其原理如圖1所示。利用基準時鐘,同步周期計數器自幀起始時刻開始計數,其它所有定時信號以此為基準,計算與其相對位置計數值,當同步計數器計數到某個定時計數值時,產生一個脈沖定時信號。幀定時參數每幀內更新一次,而一幀內可能含多個重復脈沖,脈沖定時參數需在每個脈沖結束前進行更新。所有定時信號基于同一個計數器產生,確保了各信號之間的抖動最小。
定時器以Xinlinx公司的FPGA作為核心處理器件,外圍擴展DDR、FLASH及各種接口芯片,其硬件框圖如2所示。
3.2.1 參數化定時器
由定時產生原理可知,定時信號依賴于一組定時位置參數,即計數器的計數值,當這組值確定,對應的時序關系隨即確定。因此,若能夠適時改變這些參數,就可以產生不同的定時時序。參數化定時的基本思想就是使得這些定時計數值可參數化配置,從而產生一系列復雜定時時序。
得益于可編程器件和SOPC技術的快速發(fā)展,我們得以在單片FPGA上運行操作系統(tǒng),使得定時參數實時受控改變成為可能。參數化定時將定時產生劃分為軟件程序和硬件邏輯兩部分,其中軟件部分為硬件邏輯提供定時相關參數,而硬件邏輯通過圖1所示原理,基于計數器產生對應的定時信號。參數化定時產生的原理框圖如圖3所示。
圖1:定時產生原理框圖
參數化定時器以Xilinx FPGA作為核心器件實現嵌入式SOPC控制系統(tǒng),基于內嵌的高性能Power PC440硬核,使用VxWorks實時操作系統(tǒng),軟件程序主要完成以下功能:
(1)控制指令的接收與解析;
(2)定時器計數值的計算與實時更新;
(3)通過處理器局部總線(PLB)傳輸定時參數至定時產生邏輯。
定時產生邏輯接收PLB總線傳輸的定時參數,根據計數值產生定時信號,為VxWorks系統(tǒng)提供中斷定時,以實時更新定時參數。
3.2.2 高精度定時器
為保證各分系統(tǒng)的時鐘同步,定時器利用外部信號源統(tǒng)一提供的同源基準時鐘產生同步定時信號。通常外部基準時鐘頻率較高(100MHz或更高),在FPGA內先經過時鐘分頻產生較低頻率的時鐘后再用于定時產生。但隨著雷達系統(tǒng)性能的提升,對定時的精度要求越來越高,從1MHz到10MHz、20MHz,甚至直接以外部基準時鐘為刻度。
提高定時精度最直接的方法是使用對應的時鐘進行計數,如需100MHz精度定時則用100MHz時鐘計數。但這種方法將面臨兩個問題:
(1)計數時鐘頻率提高,相同的計數周期需要更寬的寄存器位數,大大增加邏輯資源消耗;
(2)時鐘提高將增加時序收斂難度,尤其是在資源占用率較高的情況下,時序收斂更為困難。
此外,該方式兼容性較差,每次更改定時精度時,軟硬件程序均需更改。
針對以上問題,考慮到實際應用中,通常并非所有定時信號都需高精度,而僅是與發(fā)射、接收相關的幾個定時需要高精度,故提出圖4所示基于延時的高精度定時產生方法。
從圖4中可以看出,基于延時的高精度定時產生基本原理是將定時分成整數和小數兩部分:整數部分采用分頻時鐘產生,小數部分采用基準時鐘產生。例如,基準時鐘為100MHz,所需定時精度為20MHz,要產生一個位置為11.55us的定時,則整數部分可通過10MHz分頻時鐘計數,計數值為115,而0.05us則通過延遲5個基準時鐘刻度來實現。20MHz定時精度對應的延遲值只有0和5個時鐘兩種情況,而100MHz定時精度對應的延遲值則有0~9共10種情況?;趨祷〞r架構,定時延遲參數可通過軟件配置給定時產生邏輯,從而實現靈活改變,滿足定時產生需求。
將定時分為整數和小數兩部分產生的主要優(yōu)點包括:
(1)使得程序主要邏輯運行在較低時鐘,少量邏輯運行在較高時鐘,利于時序收斂;
(2)只需針對需要提高精度的定時信號進行處理,不用整體增加寄存器位寬,節(jié)省邏輯資源;
(3)定時精度調整方便,只需通過軟件改變延遲參數值即可,無需再修改硬件邏輯。
表1:兩種定時產生方式主要資源對比
圖3:參數化定時原理框圖
圖4:基于延時的高精度定時原理框圖
圖5:32路定時時序測量圖
某場景基準時鐘頻率為120MHz,需產生32路定時信號,其中6路定時信號精度為120MHz,其它定時信號精度均為10MHz,定時最大周期1s。
分別使用120MHz作為計數時鐘和基于延遲的高精度定時方法進行定時程序設計,為達到1s周期需求,10MHz精度需24位計數器,而120MHz精度需27位計數器,編譯后主要資源的占用情況對比如表1所示。
從表1中可以看到,基于延遲的高精度定時產生方式可有效減少邏輯資源消耗。
基于定時在線測試設備進一步對兩種方法的定時產生效果進行比較,結果表明采用相同的控制參數,兩種方法所產生的定時均可達到預期精度,某工作模式下定時時序如圖5所示。
本文介紹了一種以FPGA為硬件平臺的高精度定時器設計方法。該定時器基于參數化設計,實現定時時序的靈活可控;與直接使用高頻時鐘計數不同,它將定時信號分為整數和小數兩部分產生從而實現一種通用架構,在資源占用、時序收斂和通用性等方面均取得良好效果,可滿足一類雷達的定時器設計需求。