基于單片機(jī)的微波輻射計(jì)數(shù)控單元設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
微波輻射計(jì)是用微波進(jìn)行遙感,從而對(duì)地物進(jìn)行探測(cè)的微波接收機(jī),在探測(cè)大氣、海洋、植被和土壤等方面有廣泛應(yīng)用,而數(shù)據(jù)處理與控制單元作為微波輻射計(jì)的重要組成部分,承擔(dān)了所有的驅(qū)動(dòng)及控制功能,對(duì)時(shí)序及精度要求十分嚴(yán)格。由于系統(tǒng)對(duì)可靠性要求較高,故采用單片機(jī)作為220 GHz微波輻射計(jì)數(shù)控單元的核心,通過(guò)精確的時(shí)序控制,實(shí)現(xiàn)了數(shù)據(jù)采集、天線控制、狀態(tài)提取、串口通信等功能。同時(shí),該數(shù)控單元具有功耗低,采樣精度高,接口簡(jiǎn)便等特點(diǎn)。
1 系統(tǒng)結(jié)構(gòu)
微波輻射計(jì)結(jié)構(gòu)框圖如圖1所示,由檢波器輸出的模擬信號(hào)通過(guò)數(shù)控單元實(shí)現(xiàn)數(shù)據(jù)采集及傳輸、顯示與數(shù)據(jù)處理等功能,并對(duì)系統(tǒng)時(shí)序、上下電等進(jìn)行控制,在輻射計(jì)的設(shè)計(jì)中處于重要位置。
系統(tǒng)由單片機(jī)、高速A/D轉(zhuǎn)換器、程序存儲(chǔ)器ROM、高速靜態(tài)RAM、讀寫控制電路、通信電路等部分組成,如圖2所示。通過(guò)鎖存器實(shí)現(xiàn)地址總線和數(shù)據(jù)總線的復(fù)用,同時(shí),RAM的讀寫由讀寫控制電路來(lái)實(shí)現(xiàn)。
數(shù)控單元采用Atmel公司的AT89C51單片機(jī)作為控制器,具有4 KB閃存ROM,128 B RAM,支持電擦除1 000次,選擇工作頻率為11.059 6 MHz。同時(shí)采用AT28C256擴(kuò)展程序存儲(chǔ)器ROM為256 KB,IDT71256擴(kuò)展數(shù)據(jù)存儲(chǔ)器RAM為256 KB,通過(guò)鎖存器54HC573進(jìn)行分時(shí)復(fù)用。
數(shù)據(jù)采集部分采用AD公司的16位并行模數(shù)轉(zhuǎn)換器AD976A,采樣速率可達(dá)200 KSPS。該高速A/D采用電荷重分布技術(shù)進(jìn)行逐次逼近型模/數(shù)轉(zhuǎn)換,因而不必外加采樣保持器。電壓輸入范圍為-10~+10V,分辨率高,可做到16位不失碼,滿足微波輻射計(jì)數(shù)控精度要求。
AT89C51串行口輸出為TTL電平。為使其與PC機(jī)標(biāo)準(zhǔn)RS 232串口通信,系統(tǒng)選用MAX232電平轉(zhuǎn)換芯片。
1.2 硬件設(shè)計(jì)與實(shí)現(xiàn)
1.2.1 數(shù)據(jù)采集
單片機(jī)初始化完畢后,通過(guò)片選信號(hào)選中A/D轉(zhuǎn)換器,把RAM的控制權(quán)交給采集電路。AD976A進(jìn)行數(shù)據(jù)采集時(shí),置CS引腳固定為低電平,則轉(zhuǎn)換時(shí)序由 R/C信號(hào)的下降沿控制,信號(hào)脈沖寬度至少為50 ns。當(dāng)R/C變?yōu)榈碗娖綍r(shí),BUSY信號(hào)也變?yōu)榈碗娖?,?biāo)志轉(zhuǎn)換結(jié)束,則移位府存器中的數(shù)據(jù)被更新的二進(jìn)制補(bǔ)碼替代。設(shè)計(jì)中,由于256 KB數(shù)據(jù)存儲(chǔ)器僅需要15位地址A0~A14,則使用A15與RD,WR共同作為控制線,使A/D轉(zhuǎn)換與數(shù)據(jù)存儲(chǔ)交替工作。當(dāng)A15低電平時(shí),選通數(shù)據(jù)存儲(chǔ)器IDT71256,此時(shí)CS為高電平,則AD976A停止工作;當(dāng)A15為高電平時(shí),通過(guò)與非邏輯電路使CS為低電平,選通AD976A,并通過(guò)WR 的變化提供R/C下降沿,這樣可以通過(guò)軟件延時(shí)精確控制采樣率。
1.2.2 總線控制
在數(shù)控單元硬件結(jié)構(gòu)中,采用P0口提供數(shù)據(jù)總線和地址總線,當(dāng)ALE輸出信號(hào)為高電平時(shí),P0口,輸出數(shù)據(jù)鎖存入總線驅(qū)動(dòng)器中地址的低8位,同時(shí)和P2口送出的高8位地址組成完整的16位地址,尋址到外部的256 KB地址空間,由A/D轉(zhuǎn)換器把采集到的數(shù)據(jù)存入靜態(tài)RAM中。由于P0口是數(shù)據(jù)與地址分時(shí)復(fù)用口,因此引進(jìn)74HC573作為地址鎖存器。同時(shí),使用 RD作為讀取外部數(shù)據(jù)內(nèi)存的控制線;WR作為寫入數(shù)據(jù)到外部?jī)?nèi)存的控制線;PSEN作為存取外部程序存儲(chǔ)器的讀取控制線。
1.2.3 電機(jī)控制電路
天線驅(qū)動(dòng)控制部分通過(guò)上位機(jī)發(fā)送電機(jī)啟動(dòng)命令,單片機(jī)從串口接收到啟動(dòng)命令后,向電機(jī)驅(qū)動(dòng)器AKS230發(fā)出節(jié)拍脈沖,以帶動(dòng)天線勻速轉(zhuǎn)動(dòng);通過(guò)編程控制P1.0口輸出節(jié)拍脈沖速率,即可控制天線轉(zhuǎn)速。當(dāng)上位機(jī)發(fā)出停止命令時(shí),通過(guò)單片機(jī)程序提取天線狀態(tài),保證天線啟停處于同一位置??紤]到單片機(jī)輸出電流與電機(jī)驅(qū)動(dòng)電流的匹配問(wèn)題Ⅲ,這里使用總線驅(qū)動(dòng)器74LS245與單片機(jī)相連,輸出電流可達(dá)20 mA,滿足電機(jī)驅(qū)動(dòng)要求。
1.2.4 串口通信電路
串口通信部分通過(guò)AT89C51內(nèi)部的全雙工串行通信接口RXD和TXD進(jìn)行發(fā)送和接收。AT89C51串行接口有四種工作模式,本設(shè)計(jì)中,串口工作于方式1,波特率可變,通過(guò)定時(shí)器T1進(jìn)行溢出率控制,令T1工作于方式2,由于波特率為(2SMOD/32)·(fOSC/12)·[1/(28- TH1)],則通過(guò)計(jì)算可得T1裝載值為0xFA,波特率為9 600 b/s。這里選用MAX232完成TTL到EIA的電平轉(zhuǎn)換。
2 軟件設(shè)計(jì)
單片機(jī)軟件部分采用了模塊化的設(shè)計(jì)方法,按照功能分為數(shù)據(jù)采集及存儲(chǔ)、電機(jī)運(yùn)行控制及狀態(tài)提取、串口發(fā)送與接收幾部分,各個(gè)模塊之間通過(guò)中斷或子程序調(diào)用等進(jìn)行連接,有機(jī)地成為一體,整個(gè)系統(tǒng)已經(jīng)使用Medwin 3.O調(diào)試并能夠成功運(yùn)行。
數(shù)據(jù)采集部分包括初始化、信號(hào)采集及存儲(chǔ),采集速率通過(guò)編程進(jìn)行控制,實(shí)現(xiàn)每10 ms采樣一個(gè)電壓值,并存人0100H~01C8H的地址空間中,采集100個(gè)數(shù)據(jù)后調(diào)用中斷通過(guò)串口傳給上位機(jī)進(jìn)行后續(xù)處理。每次系統(tǒng)上電時(shí),采集部分復(fù)位并從頭運(yùn)行,數(shù)據(jù)采集部分程序流程圖如圖3所示。
電機(jī)運(yùn)行控制部分通過(guò)中斷接收串口命令,以實(shí)現(xiàn)電機(jī)的精確啟動(dòng)和停止,從而控制天線的掃描狀態(tài),當(dāng)串口發(fā)送5500h時(shí)電機(jī)停止;當(dāng)發(fā)送55ffh時(shí)電機(jī)啟動(dòng)。其重點(diǎn)在于精確讀取天線的轉(zhuǎn)角狀態(tài),保證電機(jī)啟動(dòng)和停止處于同一位置。主要通過(guò)軟件計(jì)數(shù)來(lái)實(shí)現(xiàn),由于電機(jī)步進(jìn)角為1.8°且采用32細(xì)分,則每轉(zhuǎn)一圈步數(shù)為:360°/(1.8°/32)=6 400步,通過(guò)讀取計(jì)數(shù)值,實(shí)現(xiàn)對(duì)電機(jī)啟動(dòng)停止位置的控制。電機(jī)控制部分程序流程圖如圖4所示。
串口通信部分采用中斷方式,包括串口初始化和串口傳輸兩部分,通過(guò)發(fā)送標(biāo)志TI和接收標(biāo)志RI判斷中斷類型,若為接收中斷,則接收上位機(jī)命令,控制電機(jī)啟動(dòng)和停止;若為發(fā)送中斷,則實(shí)現(xiàn)每次間隔1 s向上位機(jī)發(fā)送100個(gè)電壓值,即200個(gè)字節(jié)。其中,串口通信部分流程圖如圖5所示。
上位機(jī)軟件主要通過(guò)C#實(shí)現(xiàn),通過(guò)調(diào)用串口實(shí)現(xiàn)對(duì)下位機(jī)的控制及數(shù)據(jù)的后續(xù)處理,并能夠?qū)崟r(shí)顯示采集數(shù)據(jù)波形并保存。界面如圖6所示。
4 結(jié) 語(yǔ)
單片機(jī)控制簡(jiǎn)便,接口方便,實(shí)時(shí)性強(qiáng)。基于這些優(yōu)勢(shì),該文設(shè)計(jì)的微波輻射計(jì)數(shù)控單元不僅能夠精確控制天線轉(zhuǎn)動(dòng)狀態(tài),控制天線啟、停,而且能夠在天線接收外界信號(hào)的同時(shí),對(duì)信號(hào)進(jìn)行轉(zhuǎn)換、采集、通信并顯示輸出,實(shí)時(shí)地反映信號(hào)的變化和被觀測(cè)目標(biāo)的特性,通過(guò)使用低功耗的16位A/D提高了轉(zhuǎn)換精度,且速度可調(diào),完全滿足微波輻射計(jì)的系統(tǒng)要求,在實(shí)時(shí)觀測(cè)方面具有廣泛應(yīng)用。