李 磊 李玲玲
(西安電子工程研究所 西安 710100)
某雷達(dá)測試設(shè)備控制系統(tǒng)的設(shè)計
李 磊 李玲玲
(西安電子工程研究所 西安 710100)
本文主要介紹了一種雷達(dá)改善因子測試設(shè)備的設(shè)計與實(shí)現(xiàn),詳細(xì)描述了其中基于ARM的嵌入式控制系統(tǒng)的設(shè)計與開發(fā)。設(shè)備的總體結(jié)構(gòu)、硬件和軟件的實(shí)現(xiàn)過程進(jìn)行了描述,包括對硬件總體架構(gòu)的設(shè)計、外圍電路的分析,并給出了部分功能模塊的主要程序框圖和軟件源代碼。該設(shè)備依據(jù)應(yīng)用環(huán)境開發(fā)了遠(yuǎn)程控制界面和本機(jī)控制界面兩種界面,使設(shè)備的使用安全性和便捷性都有了充分保障。
測試設(shè)備;ARM;控制系統(tǒng)
Abstract: Design and implementation of test equipment for radar improvement factor is introduced mainly; and design and development of an ARM-based embedded control system is described in detail. Implementation process of equipment overall structure,hardware and software, including design of hardware overall architecture, analysis of peripheral circuit is depicted; its main program block diagram and software source code of partial functional module is presented. The remote control interface based on application environment for this equipment is developed so as to support operation safety and convenience of equipment sufficiently.
Keywords:test equipment; ARM; control system
改善因子是用來反映雷達(dá)對無源雜波進(jìn)行抑制的MTI系統(tǒng)工作能力的指標(biāo),它是衡量動目標(biāo)檢測雷達(dá)最重要的一項(xiàng)指標(biāo)。也是雷達(dá)生產(chǎn)企業(yè)在整機(jī)制造環(huán)節(jié)必須進(jìn)行驗(yàn)證的一項(xiàng)指標(biāo)。因而設(shè)計一款成本低廉,通用性較強(qiáng),能方便完成跟蹤雷達(dá)批量生產(chǎn)測試需要的改善因子測試設(shè)備,對雷達(dá)生產(chǎn)企業(yè)而言具有重要的意義。
圖1 改善因子測試設(shè)備組成結(jié)構(gòu)框圖
本設(shè)計中改善因子測試設(shè)備由三個部分組成:用戶使用界面、主控制器單元、內(nèi)部功能區(qū)域。用戶使用界面是面向操作人員,使操作人員能夠完成設(shè)備應(yīng)用參數(shù)的輸入,并通過顯示設(shè)備對輸入過程和結(jié)果進(jìn)行實(shí)時觀察,從而構(gòu)成交互式的人機(jī)界面。內(nèi)部功能區(qū)完成測試設(shè)備的具體功能,主控制器單元的主要作用是讀取用戶輸入?yún)?shù),并將其轉(zhuǎn)換為各種執(zhí)行動作的有效控制參數(shù),具體來說兩種方式:①建立良好的用戶使用界;②完成設(shè)備運(yùn)行參數(shù)的計算,將用戶輸入的應(yīng)用參數(shù)轉(zhuǎn)化為實(shí)現(xiàn)內(nèi)部功能的控制參數(shù)。
系統(tǒng)的總體控制方案如圖2所示。
圖2 控制系統(tǒng)總體方案框圖
測試設(shè)備的控制系統(tǒng)采用基于ARM的微控制器作為核心處理器單元,ARM系列的微處理器具有內(nèi)核功耗小、功能強(qiáng)大、成本低、體系結(jié)構(gòu)可以擴(kuò)展、重量輕、體積小、外部資源豐富的特點(diǎn),因此也是目前市場上應(yīng)用比較多的嵌入式芯片之一。
本設(shè)計選用AD公司的ADuC7026型單片機(jī),它基于ARM7TDMI內(nèi)核,兼具性能和成本方面的優(yōu)勢。ARM7TDMI處理器擁有三級流水線結(jié)構(gòu),可實(shí)現(xiàn)較高的指令執(zhí)行速度,并且兼容“超精簡指令集”能運(yùn)行16位的Thumb指令集,這樣運(yùn)行時就能獲得比標(biāo)準(zhǔn)代碼更高的代碼密度,這也使得該處理極其適合用在存儲空間有限的大批量應(yīng)用和對代碼密度有要求的應(yīng)用中。ADuC7026在內(nèi)部集成了很多可擴(kuò)展模塊和外圍接口,極大降低了普通應(yīng)用中對外部硬件資源的依賴,對系統(tǒng)的開發(fā)難度、時間周期有較大的提升,其所具有的功能如圖3所示。
圖3 ADuC7026的功能框圖
ADuC7026的主要片上功能如下:1、時鐘:修正的片內(nèi)振蕩器(±3%),具有可編程分頻器的41.78 MHz鎖相環(huán);使用外部時鐘晶體時,最高頻率可達(dá)44 MHz;2、存儲器:62 kB Flash/EE存儲器;:8 kB SRAM;3、串行外設(shè):1個UART;2個I2C總線接口;1個SPI控制器;4、模擬外設(shè):12位、1 MSPS ADC,12個ADC通道;12位電壓輸出DAC;5、其他外設(shè):最高40個通用I/O;三相、16位PWM發(fā)生器;
ARM微處理器作為核心處理單元并不能獨(dú)立完成所有的任務(wù),還需配合一定的接口電路、電源電路、時鐘電路等外圍硬件環(huán)節(jié)和軟件程序組成完整的嵌入式控制系統(tǒng)才能實(shí)現(xiàn)既定功能下面將分別從硬件和軟件兩個方面分別闡述控制系統(tǒng)的設(shè)計過程。
ARM控制系統(tǒng)在進(jìn)行硬件設(shè)計時,首先需要構(gòu)建嵌入式微處理器能正常工作所必須的基本電路,主要包括電源電路、時鐘電路、復(fù)位電路、在線調(diào)試電路。此外,基于改善因子測試設(shè)備的功能要求,ARM微處理器還需要外圍擴(kuò)展的通信電路來完成與遠(yuǎn)程控制界面的串口通信,最后通過基本電路與鍵盤接口、液晶屏接口、DDS控制接口、PLL控制接口相連就形成了控制系統(tǒng)的完整硬件架構(gòu)。整個控制系統(tǒng)的硬件框圖見圖4。
圖4 控制系統(tǒng)硬件方案
硬件設(shè)計要完成的主要工作是結(jié)合外圍電路的接口要求和軟件設(shè)計的需要,通過合理分配ARM微處理器的通用I/O管腳,完成與各種外圍電路的連接。由于ADuC7026內(nèi)部集成了眾多的擴(kuò)展模塊,所以很多I/O引腳都兼有多種功能,
下面將對控制系統(tǒng)的各外圍接口進(jìn)行介紹。
3.1.1 鍵盤接口
出于使用的需要,在鍵盤設(shè)計時采用了包含0~9數(shù)值的全數(shù)字鍵盤,再加上表示小數(shù)點(diǎn)的按鍵以及復(fù)位按鍵和功能按鍵,最少需要17個按鍵,所以設(shè)計時采用了由20個按鍵組成的鍵盤,3個按鍵留作備用。鍵盤中的16個按鍵采用交叉連接的方式與ARM微處理器的8個I/O端口相連構(gòu)成矩陣式鍵盤,3個按鍵直接與I/O端口相連,復(fù)位按鍵通過復(fù)位電路與微處理器的專用復(fù)位端口(RST)連接,這種接口設(shè)計方式在使按鍵數(shù)量滿足系統(tǒng)要求的同時,最大限度的節(jié)約了I/O端口資源。鍵盤接口電路如圖5所示。
3.1.2 LCD顯示接口
本機(jī)控制界面上使用的顯示設(shè)備是一個12864型LCD顯示器,12864型LCD顯示器具有并行和串行兩種接口方式,采用并行接口進(jìn)行控制時微處理器一共需要11個I/O端口與LCD相連,由于占用I/O端口過多,所以本設(shè)計中采用了串行接口方式。串行接口只需要占用4個I/O端口:通信時鐘端口(CLK),通信數(shù)據(jù)端口(SDI)、片選信號端口(CS)、復(fù)位信號端口(RESET)。LCD接口電路的示意圖如圖6所示。
圖5 鍵盤接口電路圖
圖6 顯示器接口電路圖
3.1.3 RS-232接口
在控制系統(tǒng)的設(shè)計中有2個接口是通過RS-232來實(shí)現(xiàn)的,分別是控制系統(tǒng)與延時模塊的通信接口以及控制系統(tǒng)與遠(yuǎn)程控制界面的通信接口,通過ADuC7026微處理器的2個UART接口分別于這2個外部設(shè)備相連。ADuC7026微處理器共有2組UART接口,第1組分布在P1.0、P1.1接口上,第2組分布在P0.7、P2.0接口上。因?yàn)檫@些端口都是多功能通用I/O接口,所以使用時需要通過端口控制寄存器(GP0CON、GP2CON)將它們設(shè)置為UART工作模式。
控制系統(tǒng)中的RS-232接口示意如圖7所示。
圖7 RS-232接口示意圖
改善因子測試設(shè)備的軟件設(shè)計工作包含兩個方面,一是在以Keil uVision4軟件環(huán)境中進(jìn)行ARM微處理器的軟件開發(fā);二是在LabVIEW軟件環(huán)境中進(jìn)行遠(yuǎn)程控制計算機(jī)控制界面的開發(fā)。這是兩個相互獨(dú)立的環(huán)節(jié),其中ARM微處理器的軟件開發(fā)是主要環(huán)節(jié),它包含實(shí)現(xiàn)本機(jī)控制界面(人機(jī)交互式界面)的程序以及控制PLL、DDS、延時模塊等外圍設(shè)備運(yùn)行的程序。
由于微處理器所需控制的外圍設(shè)備較多所以程序規(guī)模較大,從程序本身的可維護(hù)性、可擴(kuò)展性角度出發(fā),需要使用模塊化的結(jié)構(gòu)對ARM進(jìn)行軟件開發(fā)。針對ARM控制的外圍設(shè)備和系統(tǒng)功能需要,共將程序分解為7個模塊:鍵盤模塊、LCD模塊、數(shù)據(jù)處理模塊、PLL模塊、DDS模塊、延時控制模塊、遠(yuǎn)程控制模塊??刂葡到y(tǒng)的總體軟件設(shè)計方案如圖8所示,軟件主流程圖如圖9所示。
圖8 軟件總體設(shè)計框圖
圖9 軟件主流程圖
鍵盤模塊主要完成矩陣按鍵和獨(dú)立按鍵的狀態(tài)讀取,獨(dú)立按鍵被觸發(fā)后,在所連接的I/O端口上輸入一個低電平信號,微處理器通過判斷語句對輸入信號邏輯值進(jìn)行讀取就可以讀到該按鍵的狀態(tài)。本設(shè)計中設(shè)置的三個獨(dú)立按鍵“頻率”、“頻偏”、“延時”是用來進(jìn)行輸入?yún)?shù)類型選擇的,程序通過定義一個字符類型的全局變量sel,來記錄所選擇的輸入?yún)?shù)類型。部分程序如下:
unsigned char mod_sel(void)
{
unsigned char p0;
SET_P0(); //設(shè)置P0口的值為0x70
p0=RED_P0(); //讀取P0口的狀態(tài)
if(p0!=0x70) //獨(dú)立按鍵被觸發(fā)
{
delay(86000); //按鍵延時消抖
p0=RED_P0();
if(p0!=0x70)
{
switch(p0)
{
case 0x00:sel=1;break; //00000000,選擇設(shè)置“頻率”參數(shù)
case 0x10:sel=1;break; //00010000
該模塊是LCD的顯示驅(qū)動程序,共包含了四個基本函數(shù),分別用來完成字節(jié)發(fā)送、指令發(fā)送、顯示位置設(shè)置、字符串顯示四個功能。重點(diǎn)在于介紹較為關(guān)鍵的指令發(fā)送函數(shù),指令發(fā)送函數(shù)LCD_write()用來發(fā)送一個完整的指令,實(shí)現(xiàn)該通信協(xié)議的部分發(fā)送函數(shù)如下:
void LCD_write(int start,unsigned char ddata)
{
unsigned char start_data,Hdata,Ldata;
if(start==0)
start_data=0xf8;//發(fā)送內(nèi)容為控制指令
else
start_data=0xfa; //發(fā)送內(nèi)容為顯示數(shù)據(jù)
SET_LCDCS();
delay(5);
Hdata=ddata&0xf0;//對一個字節(jié)的有效內(nèi)容進(jìn)行拆分
Ldata=(ddata<<4)&0xf0;
sendbyte(start_data); //發(fā)送第一個字節(jié)
delay(5);
延時模塊和遠(yuǎn)程控制模塊實(shí)際是控制微處理器實(shí)現(xiàn)UART功能的驅(qū)動程序。延時模塊用來向延時處理單元發(fā)送延遲時間值,遠(yuǎn)程控制模塊用于接收遠(yuǎn)程控制界面發(fā)送來的三個參數(shù)值,它們都通過微處理器的UART功能實(shí)現(xiàn)RS-232通信。遠(yuǎn)程控制模塊的接收數(shù)據(jù)處理流程見圖10所示。
圖10 遠(yuǎn)程控制模塊接收數(shù)據(jù)處理流程圖
基于ARM的本機(jī)控制界面如圖11所示,由輸入鍵盤和LCD顯示器組成。顯示界面中共有四行顯示內(nèi)容:第一行顯示本振信號源的工作頻率;第二行顯示所模擬動目標(biāo)的多普勒頻移,也就是發(fā)射本振信號相對于接收本振信號的頻率偏移量;第三行顯示雷達(dá)信號的延遲時間,等效于被測目標(biāo)的距離;第四行顯示設(shè)備的被控狀態(tài),當(dāng)由本機(jī)控制界面進(jìn)行控制時,此行無顯示內(nèi)容,當(dāng)由遠(yuǎn)程控制界面進(jìn)行控制時,此行顯示“遙控模式”,如圖12所示。
圖11 本機(jī)控制界面
圖12 遙控狀態(tài)下的本機(jī)控制界面
本文主要從設(shè)備的總體結(jié)構(gòu)、硬件和軟件的實(shí)現(xiàn)過程進(jìn)行了描述,包括對硬件總體架構(gòu)的設(shè)計、外圍電路的分析,并給出了部分功能模塊的主要程序框圖和軟件源代碼。該設(shè)備依據(jù)應(yīng)用環(huán)境開發(fā)了遠(yuǎn)程控制界面和本機(jī)控制界面兩種界面,使設(shè)備的使用安全性和便捷性都有了充分保障;為了創(chuàng)造良好的用戶體驗(yàn)進(jìn)行了人機(jī)交互環(huán)節(jié)中各種容錯、糾錯功能的設(shè)計,是設(shè)備即使面對不練操作人員時也不會發(fā)生運(yùn)行錯誤或響應(yīng)錯誤。
[1] 胡文華,都學(xué)新,雙愛瓊.雷達(dá)改善因子測試儀的設(shè)計[J].兵工自動化,2005,24(3):21-22.
[2] 呂軍慰,王志云,江陽.基于ADSP21535的中頻信號產(chǎn)生器在雷達(dá)MTI改善因子測試中的運(yùn)用[J].現(xiàn)代電子技術(shù),2008,(17):55-57.
[3] 高志永,魏曉明,臧傳江.雷達(dá)距離校準(zhǔn)儀的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010,36(8):85-88.
[4] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2013.
[5] 陳少佳,楊雷. 基于ARM 的工業(yè)信號采集系統(tǒng)硬件設(shè)計[J ] . 微計算機(jī)信息,2010 ,26 (122) :96-100.
[6] 周荷琴,吳秀清.微型計算機(jī)原理與接口技術(shù)[M].中國科學(xué)技術(shù)大學(xué)出版社.2004:332-368.
[7] 王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[8] 馬忠梅.ARM嵌入式處理器與嵌入式系統(tǒng)[J].電子世界,2003,(3):41-42.
[9] Hu Hu,Xin Han Li Hong,Chen Bin. Analysis and design of electric energy consumption inspection equipment based on ARM9[R].Hong Kong:Trans Tech Publications,2011.
[10] 謝維成,楊加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計[M].北京:清華大學(xué)出版社,2009:285-287.
[11] 胥靜主.嵌入式系統(tǒng)開發(fā)實(shí)例詳解-基于ARM的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.
[12] D Hristu Varsakelis,W.S. Levine,Handbook of Networked and Embedded Control Systems,BirkhSuser Boston,2005.
DesignofControlSystemforaRadarTestEquipment
Li Lei, Li Lingling
(Xi’an Electronic Engineering Research Institute, Xi’an 710100)
TP95
A
1008-8652(2017)02-069-06
2016-04-03
李磊(1981-),男,高級工程師。研究方向?yàn)轭l率合成技術(shù)。