崔娟

摘 要:本文采用FPGA作為主控制器完成實時性要求高邏輯較簡單的功能,讓CPU主要負責復雜的數據處理,從而提高系統對時間的實時響應能力。文中較詳細的介紹了系統的軟、硬件設計。
關鍵詞:雷達終端;FPGA;ISA總線;多譜勒音頻
DOI:10.16640/j.cnki.37-1222/t.2016.04.251
1 引言
雷達終端顯示控制系統不僅要完成數據的實時傳輸、復雜的人機交、還要完成目標點跡處理以及目標自動跟蹤等處理。通常是采用FPGA+CPU的方案來完成系統設計。CPU是在對復雜的數據處理方面具有優勢,而缺陷就是需要提高時鐘頻率來滿足實時性要求;采用FPGA作為主控制器,可以減少CPU的負擔、降低主頻,提高系統的穩定性以及可靠性。
2 系統設計
系統以FPGA芯片為控制核心,實現通信數據包的解析與轉發、ISA總線時序控制、鍵盤掃描、電壓采樣、音頻控制等功能。結構框圖如圖1所示。
FPGA采用的是CYCLONE II EP2C70,CPU采用INTER公司的PM系列1GHz主頻的芯片,FPGA與CPU的通信采用ISA總線方式,該系統中,FPGA的主要功能是通過全雙工RS-485總線與雷達主機進行數據交互,對來自雷達主機的數據包進行解析,然后分類執行控制,對要傳送給CPU的數據經過處理后通過ISA總線輸出;也可同時接收CPU發送的數據,通過RS-485總線傳遞給雷達主機。FPGA通過第二路單路RS-485總線從雷達主機接收目標多普勒的數據包,解析后驅動音頻電路,輸出相應的目標多普勒音頻信息,可讓雷達操作員利用音頻完成人工目標識別。(1)ISA總線模塊。ISA總線是IBM公司為PC/AT電腦而制定的總線標準,能支持16位的I/O設備,數據傳輸率可達8MB/S,具有DMA通道功能,可以在接收大量數據的同時不干擾CPU工作。只需要根據ISA標準,采用FPGA很容易能設計出其接口電路;(2)RS-485模塊。雷達整機系統要求雷達終端與主機要相距50m以上,數據傳輸速率大于2Mb/S,因此采用MAX3491芯片來完成,可以實現全雙工RS-485電路。經過實驗證實當連接線為60m,傳輸1.5MHz的方波時,波形能夠完整的傳輸;(3)音頻模塊。FPGA輸出的是數字信號,因此該部分需要先把數字信號轉換成模擬信號,然后經過信號濾波放大電路以及幅度控制電路,最后輸出至耳機,用D/A轉換器AD73311完成數字音頻信號至模擬信號之間的轉換,利用FPGA的普通IO口完成與AD73311的接口協議以及數字電位器(X9312)的控制。雷達目標多普勒信號頻率比較低,帶寬比較窄,而且當目標距離較遠時,信號很微弱以及夾雜的噪聲多。因為需要設計一個低通濾波器來降低噪聲的影響;還需要設計一個高倍的運算放大電路,把微弱信號盡量放大,因此利用數字電位器(X9312)控制聲音大小,使得多普勒聲音更適合人耳;(4)A/D采樣模塊。電源電壓經過調理后,變成適合A/D采樣的信號,然后利用A/D采樣保持電路,完成模擬信號到數字信號之間的轉換。A/D轉換器采用經典的8位CMOS芯片ADC0809。其具體時序圖可參考該芯片的Datasheet。
3 軟件設計
軟件基于QUARTUS II 平臺進行設計,采用原理圖與verilog語言相結合來編寫程序,軟件方面主要分以下幾個模塊設計:(1)RS-485收、發模塊。該模塊實質上是參考通用異步收發器實現的,要用遠高于需求波特率的時鐘去采樣起始位,一般采樣時鐘為波特率的12倍;在對數據位采樣時,一般是采取中點采樣;(2)鍵盤掃描。鍵盤為了減少連接IO口的個數,通常采樣行列矩陣布置,FPGA通過分時對每列發送高低信號,然后進行相應的逐行掃描,可以很容易的獲得按下按鍵的鍵值,采樣多次掃描到同一個鍵值就相當于去抖動,若判斷某鍵有按下時,就一直掃描該鍵,直到它釋放為止,然后建立該鍵的有效標志以及保存該鍵重復次數等信息;(3)A/D采樣。該模塊電路主要實現的是電壓采樣功能,FPGA的控制狀態圖在ST6狀態時讀取AD數據線上的數據,這樣從ST0至ST6循環一次就完成了一次數據的采樣,根據上述狀態圖利用verilog語言很容易完成軟件的編寫;(4)ISA總線時序控制。ISA總線16位標準存儲器訪問由3個總線時鐘周期組成。BCLK是總線時鐘,第1時鐘周期BCLK1為地址周期,在BCLK1的上升沿,擴展地址信號在地址線LA[23:17]上有效。到BCLK1的下降沿,總線地址鎖存使能信號BALE變為有效,用來鎖存擴展地址。之后,與數據線分離的地址線A[15:0]上發出地址信號,同時,數據線高位字節使能信號變為有效狀態。從第2個時鐘周期BCLK2開始是數據周期,存儲器讀/寫或者擴展的存儲器讀/寫信號之一進入有效狀態。在BCLK2的開始(上升沿),ISA總線控制器檢測16位存儲器傳送信號M16#,如果該信號為0,意味著本次總線訪問是16位存儲器訪問,將在3個BCLK之內完成。于是,在BCLK3的末了Host采樣數據總線,或由寫信號將數據寫入存儲器,當前總線周期結束;(5)音頻信號輸出。根據音頻信號轉換器AD733311的時序圖,該芯片是通過異步串行口來傳輸數據的。當SE為高電平時,通過設置幀同步信號可以啟動數據幀的傳輸,首先在時鐘SCLK的下降沿把SDIFS(SDOFS)設置為高電平,然后在下一個時鐘的下降沿把幀同步信號拉底,此時數據開始傳輸,在每個SCLK的上升沿SDO輸出數據,在SCLK的下降沿SDI接收數據;當一幀數據傳輸完成后,在SCLK的下降沿把SDIFS(SDOFS)拉高,下一個時鐘SCLK的下降沿再把幀同步信號拉低,就可以進行第二幀數據的傳輸。
4 結論
本系統采用EP2C70芯片為核心控制器,很好的解決了數據傳輸的實時性與多任務同時執行的矛盾,具有成本低、器件少、可靠性高等特點。軟件設計方面采用原理圖與verilog語言同時開發,使得系統軟件具有較高的可讀性與可移植性。經過實際應用,該設計完全能滿足系統的要求。
參考文獻:
[1]ADC0809.pdf[Z].
[2]丁鷺飛,耿富錄.達雷原理(第三版)[M].西安:西安電子科技大學出版社,2004.
[3]陳忠平,高金定,高見芳.基于Quartus II的FPGA/CPLD設計與實踐[M].電子工業出版社,2010.
[4]沈曉紅,魯延峰,李凱.基于FPGA的ISA總線接口邏輯設計[J].微計算機信息,2011.