??? 摘 要: 介紹了一種合成孔徑雷達系統綜合測控器的研制,以51單片機為核心,協同復雜邏輯門陣列(CPLD)、現場可編程門陣列(FPGA)及液晶顯示模塊" title="液晶顯示模塊">液晶顯示模塊(LCM)等外圍電路共同工作,集成了定時信號" title="定時信號">定時信號產生、基準頻率" title="基準頻率">基準頻率信號產生、控制信號輸出、監(jiān)測信號輸入并顯示等功能。
??? 關鍵詞: 合成孔徑雷達? 控制? 測試? 單片機? 現場可編程門陣列
?
??? 合成孔徑雷達SAR(Synthetic Aperture Radar)是一種先進的對地遙感工具,它可以獲得目標的高分辨率圖像。與光學遙感相比,具有全天時、全天候工作、穿透障礙物成像等優(yōu)勢。
??? SAR系統是一個復雜的電子系統,由定時、基準頻率產生、信號發(fā)射/接收、數據存儲和傳送等許多部分組成。在SAR系統的研制過程中,需要對各個部分進行細致的調試和測試,然后進行集成測試。普通的測試設備只能針對SAR系統某一組成部分,功能單一缺乏通用性,特別是在集成測試時需要提供許多的檢測設備,各檢測設備間缺乏聯系,給測試工作帶來了不便。
??? 本文介紹了一種集成化的測控設備,它綜合了SAR系統各分機檢測設備的功能,具有監(jiān)測工作狀態(tài)、發(fā)送各種控制信號、提供基準頻率和定時信號、發(fā)送數據和供電等通用功能,同時還針對單個測試對象的需要設計了相應的特殊功能。體積小,功能多,使用方便。對整個SAR系統的調試測試只需要一臺設備,免去了使用多個檢測設備帶來的不便。本文從描述功能入手,簡要敘述了綜合測控器的硬件組成,最后介紹了相關軟件的設計方法。
1 測控器主要功能
??? 合成孔徑雷達綜合測控器在測試中需要提供的信號通常有六種:(1) 控制信號:用于設定被測對象的工作參數,在不同的工作模式間切換;(2) 監(jiān)測信號:接收被測對象輸出的工作狀態(tài)信號并將其顯示,以便操作人員能及時了解系統的運行情況。(3) 定時基準信號:用于同步SAR系統各部分,使它們協同工作;(4) 基準頻率信號" title="頻率信號">頻率信號:以一個參考頻率信號為基準,綜合產生全相干、高穩(wěn)定度及低相位噪聲的多個工作頻率信號,基準頻率信號是SAR系統各組成部分工作的基準時鐘信號,一切工作的時序都基于此;(5)輔助數據:測控器將被測對象所需的關于工作參數等相關信息的數據送入輔助數據接口" title="數據接口">數據接口緩存后再送至被測對象; (6)供電:為綜合測控器和被測對象提供各種直流電源。
2?硬件設計
??? 本設計采用單片機AT89C55作為控制核心,由CPLD輔助提供各芯片的控制邏輯;使用液晶顯示模塊和鍵盤提供友好的人機交互界面來設定工作模式和工作參數,輸出相應的控制信號,并將各分機輸出的測試信號顯示于液晶屏幕上;由FPGA提供各被測分機正常工作所需要的定時同步信號、基準頻率信號;用一片先進先出存儲器(FIFO)作為輔助數據接口,向被測對象發(fā)送輔助數據;用交流轉直流的開關電源為自身和被測分機供電。整個硬件結構如圖1所示。
????????????????
??? 下面從功能對應硬件的角度詳細介紹硬件組成結構。
2.1 控制核心
??? 綜合測控器的核心是單片機,通過對單片機編程實現人機交互過程和對其他芯片的控制??紤]到待測項目較多、人機交互窗口的編程量較大,需要較多的程序存儲器,而且沒有復雜的數學計算,采用了ATMEL公司的AT89C55,它與通用的8051芯片的區(qū)別在于有更大(20KB)的程序存儲器、更大(256B)的數據存儲器和三個定時器。由外接的時鐘信號產生器給單片機提供時鐘。為了防止單片機運行時程序進入死循環(huán),使用一片MAX813L作看門狗。單片機通過地址總線、數據總線、讀寫控制線和經過CPLD產生的片選等邏輯信號來控制其他芯片的工作。
2.2 人機交互
2.2.1 鍵盤
??? 采用專門定制的薄膜鍵盤配合8279芯片,它是INTEL公司的一款能控制矩陣鍵盤和數碼管顯示器的芯片。8279由單片機的ALE引腳提供時鐘信號,工作在解碼掃描模式,操作人員由鍵盤設定被測對象的工作模式、輸入工作參數,8279獲取矩陣鍵盤的按鍵信息并以中斷方式通知單片機響應。單片機根據測控器當前工作狀態(tài)和按鍵值決定采取何種操作。
2.2.2 液晶顯示模塊(LCM)
??? 用以顯示人機交互界面和被測對象輸出的監(jiān)測信號。
液晶顯示器顯示漢字的原理[1]是將一個漢字視為16×16的點陣圖像,某一點的控制邏輯為1則亮,為0則暗,這樣一個漢字需要16×16=256位=32字節(jié)的數據。傳統的圖形液晶顯示器需要提供每個漢字的點陣數據,如果漢字數量多,提取漢字點陣數據的工作將變得相當繁瑣。本設計使用帶漢字庫的液晶顯示模塊(LCM),要顯示一個漢字,單片機只需向LCM寫入2字節(jié)的漢字內碼,提取漢字點陣數據的工作由LCM完成。采用自帶字庫的LCM有兩個優(yōu)勢:①每個漢字可節(jié)省32-2=30字節(jié)的存儲空間,對于資源有限的單片機來說非常實用;②從簡化編程的角度考慮,寫入2字節(jié)的漢字內碼比寫入32字節(jié)的點陣數據要方便得多,方便編程。
??? 根據以上分析,本設計采用北京青云創(chuàng)新公司的自帶中文字庫的單色液晶顯示模塊LCM24064ZK。
2.3 控制信號輸出
??? 單片機將操作員輸入的控制信息轉換為1~2字節(jié)的二進制數輸出。由于單片機的并口資源有限,需要外接82C55作為并行輸出接口將控制信號傳送至被測對象。在實際應用中,為了減小環(huán)境溫度和噪聲對信號傳輸質量的影響,加入輸出輸出驅動器,即將82C55輸出的TTL信號通過芯片DS26LS31C轉換成RS-422平衡差分信號輸出。平衡差分信號(Balanced Differential Signal)可以有效地抑制共模噪聲,增加信號傳輸距離和傳輸可靠性[2]。
2.4 監(jiān)測信號輸入和顯示
??? SAR系統的監(jiān)測信號有模擬和數字兩種。
數字監(jiān)測信號可以直接通過單片機并口輸入,如果某一位信號是‘0’則表示該信號對應的硬件工作不正常,如為‘1’則表示工作正常。單片機根據需要在屏幕上顯示相關文字信息。
??? SAR系統的模擬監(jiān)測信號路數較多,故采用自帶16路選擇開關的模數轉換器ADC0816,它由單片機的地址線選擇對某一路模擬信號采樣,單片機發(fā)送一個脈沖啟動A/D轉換器,讀入轉換后的8位數據,進行數學處理,再將結果顯示于屏幕上。
2.5 輔助數據輸出
??? 輔助數據接口由一片先進先出存儲器(FIFO)IDT72200及輸出驅動組成。FIFO有兩個I/O接口,它們可以工作在不同的時鐘頻率下,能在具有不同工作頻率的兩個系統之間傳送數據。
??? 將一個數據接口與單片機相連,由單片機的寫信號線(WR)作FIFO的寫時鐘,通過單片機的數據總線將操作員設置的輔助數據寫入FIFO暫存;另一個數據接口與被測對象相連,由被測對象提供FIFO的讀時鐘。當單片機將數據都寫入輔助數據接口后發(fā)出一個握手信號通知被測對象讀取輔助數據。
2.6 基準頻率和定時信號產生
??? 基準頻率將作為被測對象的基準工作時鐘;定時信號是一系列滿足特定時間關系的脈沖。定時信號的頻率和起始時刻都可調。基準頻率和定時信號選用XILINX公司的SPARTANIII FPGA產生,型號是XC3S1500[3]。FPGA的結構如圖2所示。
??????????????????
??? 單片機通過數據總線、地址總線、讀寫控制線和片選線連接FPGA。用一片時鐘信號產生器或經過整形的外接時鐘源為FPGA提供時鐘信號。它經過FPGA內部的數字時鐘管理器(DCM)分頻或倍頻后產生所有頻率信號和定時信號,這樣能保證產生的所有信號是高度相干的。操作員通過人機交互界面輸入定時信號的頻率、起始時刻等參數,單片機將這些參數寫入FPGA的RAM中存儲,作為延時計數器的初始值。FPGA中的延時計數器啟動后,就會按照要求產生精確的頻率信號和定時信號。圖3顯示了單片機向FPGA的RAM寫數據的時序和FPGA產生的定時信號。
????????????????????????
2.7 電源
??? 綜合測控器使用220V交流電,用開關電源將交流電轉換成直流電,為被測對象供電;在測控器內部,各個芯片根據需要使用相應的DC/DC模塊進行二次電源轉換。
3 軟件設計
3.1 單片機編程
??? 用匯編語言編寫的程序可讀性差且不易修改;C語言直觀易用,而且有許多函數庫可調用[4]。故采用C語言編寫單片機程序,編譯器是KEIL UV3。關于單片機對外圍電路控制的方法在許多教材中都有詳細的講解,本文不再詳述。
編程的重點在于人機交互的實現。由于是集成化的檢測設備,被測對象較多,人機交互界面多,編程任務量大。人機交互有兩個難點,一是漢字的顯示,二是多級窗口的實現。
3.1.1 漢字的顯示
??? 由于采用了帶中文字庫的LCM,要顯示一個漢字只需寫入2字節(jié)的漢字內碼[5]。具體做法是:用C語言編程,將要顯示的若干漢字(或者英文和數字)定義為一個字符串,按順序將字符串的每個字符寫入LCM后即可顯示相應漢字。以筆者使用的LCM24064ZK為例,部分程序如下:
??? #include
??? #define LcmData XBYTE[地址]????????//LCM的數據接口
??? sbit Busy = Px^x;?
????????????????????????? ???????????? //用單片機的Px.x口連接忙碌標志位
??? unsigned char s[]=“你好!ABC”;?? //要顯示的內容
????void show_a_sentence(*s)???????????//顯示一句話的函數
??? {
??? while (*s!=‘0’) {??????????????? //判斷字符串是否結束
??????while (Busy==1);?????????????? //如果LCM忙碌則一直等待
??????????? LcmData = *s;?????????? //輸出一字節(jié)漢字內碼
????????????s++;?????????????????? //指針指向下一字節(jié)內碼
??????????? }
??? }
??? 在這個例子中沒有列出LCM初始化的程序,在實際應用中這是與具體的LCM型號有關的,請參考相應的數據手冊。在主函數main中只要調用函數show_a_sentence(s),單片機便將漢字內碼一個個地寫入LCM的數據存儲器,即可在液晶屏幕上顯示“你好!ABC”。
??? 用C語言編程省去了查詢漢字內碼的步驟,大大提高了工作效率。
3.1.2 多級窗口的實現
??? 假設現在系統處于窗口A1的狀態(tài),A1有三個子選項B1、B2、B3,現在的任務是等待按鍵。如果按下的是數字鍵1、2或3則根據按鍵值判定進入B1、B2或B3子選項;如果按下的是返回鍵則返回上一級窗口。假設選擇了第一項B1,程序進入B1窗口,然后等待按鍵。如圖4所示。
????????????????????????????
??? 編程時,事先根據鍵盤控制芯片8279的硬件接線情況,用宏#define定義BACK、KEY1、KEY2、KEY3分別對應于鍵盤上的“返回”、“1”、“2”、“3”各鍵的鍵值,將NO_EFFECT定義為一個不存在的鍵值,表示按鍵無效。函數show_A1()的功能是顯示窗口A1的內容,函數getkey()獲取按鍵值。
void A1()?????????????????????????//調用此函數進入A1窗口
{
??unsigned char key;????????????? //聲明存儲按鍵值的變量
???? ?show_A1();??????????????????? //顯示窗口A1
???? ?do {
???? ??key=getkey();?????????????? //獲取按鍵值
???? ??switch (key) {?????????????? //由鍵值判定采用何種操作
???? ???case BACK: return; break;?? //返回上級窗口
???? ???case KEY1: B1(); break;???? //進入B1窗口
???? ???case KEY2: B2(); break;???? //進入B2窗口
???? ???case KEY3: B3(); break;?????? //進入B3窗口
???? ??default: key=NO_EFFECT;????? //按鍵無效
???? ??}
??}while (key==NO_EFFECT)//當按鍵無效時重新選擇
}
3.2 FPGA的VHDL編程
??? 如前所述,雷達測控器需要用FPGA來提供各種基準頻率和定時信號,即需要FPGA對一個輸入時鐘進行分頻、倍頻、延時等操作?,F在FPGA中集成了很多具有特定功能的模塊,使用這些模塊可以方便地獲得高質量、高性能的信號。SPARTAN III系列FPGA通過數字時鐘管理器DCM(Digital Clock Manager)使用戶靈活、完全地控制時鐘頻率和相位偏移。即使工作環(huán)境的溫度和電壓在一定范圍內有變動,DCM仍可以保持高精度的信號質量。DCM的分頻功能可以達到原時鐘信號頻率的1/16,倍頻功能可以達到32倍,而且可消除由電路傳播延時導致的輸出信號與輸入信號之間的相位差。XILINX 推出的集成設計環(huán)境(ISE)中提供了DCM的VHDL模板,用模板定義好輸入輸出信號和頻率參數即可方便地運用DCM。關于VHDL硬件描述語言的使用可以參考相關教材。
4 雷達綜合測控器的使用
??? 使用綜合測控器,能提供任何一個預定被測對象所需要的測試信號。測控器的接口是通用的,不同的分機通過各自的數據傳輸電纜與之連接。將各電纜線連接好后,啟動電源,進入主界面,根據提示選擇被測對象,進入與之相關的監(jiān)控界面進行測試與控制。在實際運行中,整個系統工作正常,完成了預定的功能要求。
??? 用單片機作控制器對整個設備各芯片的工作進行調度,簡單方便;用FPGA產生頻率和定時信號,精度高。以此為基礎的合成孔徑雷達綜合測控器實現了監(jiān)測、控制、信號產生、數據傳輸等多種功能,功能強、體積小、集成度高,在SAR系統調試和測試中有很大的應用價值。本文介紹的硬件設計方案和液晶顯示模塊的使用方法在其他硬件系統的設計中也具有一定的參考價值。
參考文獻
[1] 李華. MCS-51系列單片機實用接口技術[M]. 北京:北京航空航天大學出版社, 1996.
[2] ?National Semiconductor, Inc. TIA/EIA-422-B Overview?[EB/OL]. http://www.national.com.
[3] ?Xilinx, Inc. Spartan-3 FPGA Family:Complete Data Sheet?[EB/OL].[2006-04-26].http://www.xilinx.com.
[4] ?徐愛鈞,彭秀華. 單片機高級語言C51 Windows環(huán)境編程與應用[M]. 北京:電子工業(yè)出版社, 2004.
[5] ?北京青云創(chuàng)新科技發(fā)展有限公司.圖形液晶顯示模塊LCM24064ZK使用說明書[EB/OL]. http://www.qingyunit.com.