基于FPGA+DSP雷達導引頭信號處理中FPGA設計的關(guān)鍵技術(shù)
1 引言
本文引用地址:http://dyxdggzs.com/article/201610/308617.htm隨著(zhù)同防工業(yè)對精確制導武器要求的不斷提高,武器系統總體設計方案的日趨復雜,以及電子元器件水平的飛速發(fā)展。導引頭信號處理器的功能越來(lái)越復雜,硬件規模越來(lái)越大.處理速度也越來(lái)越高.而且產(chǎn)品的更新速度加快,生命周期縮短。實(shí)現功能強、性能指標高、抗干擾能力強、工作穩定可靠、體積小、功耗低、結構緊湊合理符合彈載要求的導引頭信號處理器已經(jīng)勢在必行。過(guò)去單一采用DSP處理器搭建信號處理器已經(jīng)不能滿(mǎn)足要求.FPGA+DSP的導引頭信號處理結構成為當前以及未來(lái)一段時(shí)間的主流。
FPGA和DSP處理器具有截然不同的架構,在一種器件上非常有效的算法.在另一種器件上可能效率會(huì )非常低。如果目標要求大量的并行處理或者最大的多通道流量,那么單純基于DSP的硬件系統就可能需要更大的面積,成本或功耗。一個(gè)FPGA僅在一個(gè)器件上就能高提供多達550個(gè)并行乘法和累加運算,從而以較少的器件和較低的功耗提供同樣的性能。但對于定期系數更新,決策控制任務(wù)或者高速串行處理任務(wù),FPGA的優(yōu)化程度遠不如DSP。
FPGA+DSP的數字硬件系統正好結合了兩者的優(yōu)點(diǎn),兼顧了速度和靈活性。本文以導引頭信號處理系統為例說(shuō)明FPGA+DSP系統中FPGA的關(guān)鍵技術(shù)。
2 系統組成
本系統南一片FPGA和一片DSP來(lái)組成,FPGA在實(shí)時(shí)并行計算實(shí)現標準數字信號處理算法的能力遠強于DSP,因此數字接收系統信號處理要用到的FIR濾波、FFT、IFFT等算法,在FPGA中實(shí)現要遠快于用DSP,且FPGA廠(chǎng)商提供了非常豐富易用的能實(shí)現數字信號處理的參數Core.可以大大簡(jiǎn)化開(kāi)發(fā)過(guò)程。而且,FPGA支持丁程師設計高度并行的架構以及有大量乘法器和存儲器資源,因此將數字下變頻(DDC),脈壓(PC),動(dòng)目標檢測(MTD),恒虛警處理(CFAR)等也在FPGA中實(shí)現,可有效提高實(shí)時(shí)性,集成度和穩定性。而DSP用來(lái)進(jìn)行其他復雜信號處理,比如自動(dòng)目標識別、抗干擾等。
FPGA和DSP的通信通過(guò)32位的數據總線(xiàn)聯(lián)通。FPGA通過(guò)此數據總線(xiàn)把柃測得到的目標信息傳遞給DSP做后續處理,DSP則通過(guò)數據總線(xiàn)傳遞控制信息。
圖1 FPGA+DSP的系統組成框圖
3 FPGA設計中的關(guān)鍵技術(shù)
3.1 跨時(shí)鐘域的設計
3.1.1基礎
只有最初級的邏輯電路才使用單一的時(shí)鐘。大多數與數據傳輸相關(guān)的應用都有與牛俱來(lái)的挑戰,即跨越多個(gè)時(shí)鐘域的數據移動(dòng),例如磁盤(pán)控制器、CDROM/DVD控制器、調制解調器、網(wǎng)卡以及網(wǎng)絡(luò )處理器等。當信號從一個(gè)時(shí)鐘域傳送到另一個(gè)時(shí)鐘域時(shí),出現在新時(shí)鐘域的信號是異步信號。
在現代IC、ASIC以及FPGA設計中,許多軟件程序可以幫助工程師建立幾百萬(wàn)門(mén)的電路。但這些程序都無(wú)法解決信號同步問(wèn)題。設計者需要了解可靠的設計技巧,以減少電路在跨時(shí)鐘域通信時(shí)的故障風(fēng)險。
從事多時(shí)鐘設計的第一步是要理解信號穩定性問(wèn)題。當一個(gè)信號跨越某個(gè)時(shí)鐘域時(shí).對新時(shí)鐘域的電路來(lái)說(shuō)它就是一個(gè)異步信號。接收該信號的電路需要對其進(jìn)行同步。同步可以防止第一級存儲單元(觸發(fā)器)的亞穩態(tài)在新的時(shí)鐘域里傳播蔓延。
亞穩態(tài)是指觸發(fā)器無(wú)法在某個(gè)規定時(shí)間段內達到一個(gè)可確認的狀態(tài)。當一個(gè)觸發(fā)器進(jìn)入亞穩態(tài)時(shí),既尤法預測該單元的輸}}{電平,也無(wú)法預測何時(shí)輸出才能穩定在某個(gè)正確的電平上。在這個(gè)穩定期問(wèn),觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),并且這種尤用的輸出電平可以滑信號通道上的各個(gè)觸發(fā)器級聯(lián)式傳播下去。
由于數據率比較低,而FPGA的工作頻率可以很高,所以在雷達信號處理機的FPGA設計中,勢必要引入跨時(shí)鐘域的設計,例如在某項口中,控制網(wǎng)絡(luò )為10M.脈沖壓縮工作時(shí)鐘為200M,MTD、CFAR為80M,是個(gè)典型的跨時(shí)鐘域設計。
圖2時(shí)鐘域示意圖
3.1.2跨R寸鐘域的處理
現代IC與FPGA設計巾使用的綜合工具可以保證設計能滿(mǎn)足每個(gè)數字電路觸發(fā)器對建立與保持時(shí)間的要求。然而,異步信號卻給軟件提出了難題。對新的時(shí)鐘域米說(shuō).從其它時(shí)鐘域傳柬的信號是異步的。大多數綜合丁具在判定算步信號是否滿(mǎn)足觸發(fā)器時(shí)序要求時(shí)遇到了麻煩。因為它們不能確定觸發(fā)器處于非穩態(tài)的時(shí)間,所以它們也就不能確定從一個(gè)觸發(fā)器通過(guò)組合邏輯到達下一個(gè)觸發(fā)器的總延遲時(shí)間。所以,最好的辦法是使用一些電路來(lái)減輕異步信號的影響。
同步措施歸納起來(lái)主要有兩方面,
1)對于跨越時(shí)鐘域控制信號,用同步器來(lái)實(shí)現同步;
為了使同步。工作能正常進(jìn)行,從某個(gè)時(shí)鐘域傳來(lái)的信號應先通過(guò)原時(shí)鐘域上的一個(gè)觸發(fā)器,然后不經(jīng)過(guò)兩個(gè)時(shí)鐘域間的任何組合邏輯,直接進(jìn)入同步器的第一個(gè)觸發(fā)器中(圖3)。這一要求非常重要,因為同步器的第一級觸發(fā)器對組合邏輯所產(chǎn)生的毛刺非常敏感。如果一個(gè)足夠長(cháng)的信號毛刺正好滿(mǎn)足建立一保持時(shí)問(wèn)的要求,則同步器的第一級觸發(fā)器會(huì )將其放行,給新時(shí)鐘域的后續邏輯送出一個(gè)虛假的信號。
圖3同步器示意
一個(gè)經(jīng)同步后的信號在兩個(gè)時(shí)鐘沿以后就成為新時(shí)鐘域中的有效信號。信號的延遲是新時(shí)鐘域中的一到兩個(gè)時(shí)鐘周期。一種粗略的估算方法是同步器電路在新時(shí)鐘域中造成兩個(gè)時(shí)鐘周期的延遲,設計者需要考慮同步延遲將對跨時(shí)鐘域的信號時(shí)序造成的影響。
2)對于跨越時(shí)鐘域的數據總線(xiàn),要通過(guò)FIFO或RAM達到同步的目的。
數據在時(shí)鐘域之間的傳遞是多個(gè)隨機變化的控制信號在時(shí)鐘域之間傳遞的一種實(shí)例。這種情況下,用同步器米處理同步問(wèn)題往往不能收到滿(mǎn)意的效果,因為多位數據的變化將會(huì )使同步器的采樣錯誤率大大增加。常用的數據同步方法有兩種:一種是用握手信號;另一種是用FIFO,一個(gè)時(shí)鐘存數據。另一個(gè)時(shí)鐘取數據。
時(shí)鐘域之間的數據傳輸用得最多的是FIFO,采用Xilinx自帶的FIFO核來(lái)實(shí)現比較簡(jiǎn)單方便,圖4足Xilinx提供的FIFO核的一個(gè)簡(jiǎn)單的示意圖.wclk為寫(xiě)時(shí)鐘,rclk為讀時(shí)鐘,FIFO深度通過(guò)讀寫(xiě)使能wen和ren控制。
圖4 FIFO核示意圖
3.2、FPGA與DSP數據交互
實(shí)際應用過(guò)程中,DSP和FPGA程序設計往往是由不同的設計人員分工完成,在最后系統聯(lián)調時(shí),這兩者之間的數據傳輸經(jīng)常占用大量的調試時(shí)間,成為約束工程進(jìn)度的關(guān)鍵兇素。因此,DSP與FPGA間接口和傳輸方式的選擇與設計,是系統設計中必須要考惑的問(wèn)題。
導引頭信號處理的一個(gè)特點(diǎn)是,FPGA要傳輸給DSP的數據比較多,需要傳遞幅度信息,和差支路數據等十幾組數據.每組數據長(cháng)度在512~2K,而且讀取速度要求也比較高,一般要求百兆以上的讀取頻率。經(jīng)過(guò)工程實(shí)踐表明,采用通過(guò)EDMA通道同步讀取FIFO的方式實(shí)現通信是非常有效的方法。但是接口處的FIFO比較多,而且讀取速度有比較高,這勢必導致FPGA內部對接口處資源的競爭,甚至會(huì )導致時(shí)序的不滿(mǎn)足。在實(shí)際工程調試中表現在DSP接收到的數據亂序,周期循環(huán)甚至亂碼。
要解決好FPGA和DSP的數據交互問(wèn)題,要注意以下兩個(gè)方面。
3.2.1 三態(tài)門(mén)的設計
在本設計中,DSP和FPGA的互連采用了總線(xiàn)連接的方式,數據交互是通過(guò)一個(gè)32位的雙向數據總線(xiàn)來(lái)完成的,而要實(shí)現雙向總線(xiàn),就需要使用FPGA構造三態(tài)總線(xiàn)了,使用三態(tài)緩沖器實(shí)現高、低電平和高阻三個(gè)狀態(tài)。
圖5雙向數據總線(xiàn)的三態(tài)門(mén)設計
本設計當中,FPGA給DSP發(fā)中斷信號,DSP在中斷信號到來(lái)時(shí),根據系統要求,將不同的控制字寫(xiě)入數據總線(xiàn),然后通過(guò)數據總線(xiàn)從FPGA中不同的FIFO中讀取數據,這一切都通過(guò)DSP在地址線(xiàn)上給出不同的地址來(lái)完成。為了合理分配總線(xiàn)的使用,設計當中使用這樣的策略:利用片選信號aace3,地址aaea[9:0]作為三態(tài)緩沖器的控制信號,由于DSP對FPGA的讀寫(xiě)地址都不同,當片選信號aace3有效時(shí),FPGA根據地址來(lái)確定湊寫(xiě)方式以及讀寫(xiě)那些信息,否則置為高阻態(tài),這樣就避免了可能產(chǎn)生的的總線(xiàn)阻塞現象,使DSP和FPGA之間的數據交互能夠順利進(jìn)行,示意圖如圖5所示。
3.2.2 加有效的時(shí)序約束
由于接口FIFO比較多,為了合理分配FPGA內部接口處的資源,滿(mǎn)足系統的時(shí)序要求,需要加必要的時(shí)序約束。因為本設計采用Xilinx公司芯片,所以需要加偏移約束2。
偏置約束可以?xún)?yōu)化以下時(shí)延路徑:從輸入管腳到同步元件偏置輸入;從同步元件到輸出管腳偏置輸出。為了確保芯片數據采樣可靠和下級芯片之間正確交換數據,需要約束外部時(shí)鐘和數據輸入輸出引腳問(wèn)的時(shí)序關(guān)系。偏置約束的內容告訴綜合器,布線(xiàn)器輸入數據到達的時(shí)刻或者輸出數據穩定的時(shí)刻,從而保證與下一級電路的時(shí)序關(guān)系。更多關(guān)于約束的內容請參閱文獻。
4 結束語(yǔ)
FPGA+DSP是同前導引頭信號處理器中運用的最廣泛的系統組成形式,對速度以及靈活性的要求都能夠很好的滿(mǎn)足,文中所涉及到的跨時(shí)鐘域設計以及數據接口方面的問(wèn)題是這樣的系統中FPGA設計存在的關(guān)鍵技術(shù),文中提出了詳實(shí)的解決方法,而且工程應用已經(jīng)證明了其有效性。
本文作者創(chuàng )新點(diǎn):依據工程實(shí)踐經(jīng)驗,總結了在FPGA+DSP結構的雷達導引頭信號處理中FPGA的關(guān)鍵問(wèn)題,并提出了詳細的解決方案,并得到了工程驗證。
評論