一般的數(shù)字采集系統(tǒng),,是通過傳感器將捕捉的現(xiàn)場信號轉(zhuǎn)換為電信號,,經(jīng)模/數(shù)轉(zhuǎn)換器ADC采樣,、量化、編碼后,,為成數(shù)字信號,,存入數(shù)據(jù)存儲器,或送給微處理器,,或通過無線方式將數(shù)據(jù)發(fā)送給接收端進行處理,。無線數(shù)據(jù)傳輸系統(tǒng)就是 樣一套利用無線手段,將采集的數(shù)據(jù)由測量站發(fā)送到主控站的設(shè)備,。
1 系統(tǒng)組成
系統(tǒng)組成如圖1,、圖2所示,。
系統(tǒng)由測量站和主控站兩部分組成。測量站主要完成對現(xiàn)場信號的采集,、存儲,,接收遙控指令并發(fā)送數(shù)據(jù)。主控站的主要工作是發(fā)送遙控指令,、接收數(shù)據(jù)信息,、進行數(shù)據(jù)處理和數(shù)據(jù)管理、隨機顯示打印等,。
2 AT89C51與數(shù)字電臺的串行通信
Atmel公司的AT89C51單片機,,是一種低功耗、高性能的,、片內(nèi)含有4KB Flash ROM的8位CMOS單片機,,工作電壓范圍為2.7~6V(實際使用+5V供電),8位數(shù)據(jù)總線,。它有一個可編程的全雙工串行通信接口,,能同時進行串行發(fā)送和執(zhí)著收。通過RXD引腳(串行數(shù)據(jù)接收端)和TXD引腳(串行數(shù)據(jù)發(fā)送端)與外界進行通信,。
2.1 通信協(xié)議與波特率
數(shù)字電臺與單片機,、終端主控機的通信協(xié)議為:
通信接口——標準串行RS232接口,9線制半雙工方式,;
通信幀格式——1位起始位,,8位數(shù)據(jù)位,1位可編程數(shù)據(jù)位,,1位停止位,;
波特率——1200 baud。
數(shù)字電臺選用Motorola公司的GM系列車載電臺,,工作于VHF/UHF頻段,,可進行無線數(shù)傳(9線制標準串行RS232接口),也可進行話音通信,;采用二進制移頻鍵控(2FSK)調(diào)制解調(diào)方式,符合國際電報電話咨詢委員會CCITT.23標準,。在話帶內(nèi)進行數(shù)字傳輸時,,推薦在不高于1200b/s數(shù)據(jù)率時使用。實際使用時,,電臺工作于220~240MHz頻率范圍,,采用半雙工方式(執(zhí)行收、發(fā)操作,,但不能同時進行)即可滿足系統(tǒng)要求,。
2.2 AT89C51串行口工作方式
AT89C51串行口可設(shè)置四種工作方式,,可有8位、10位和11位幀格式,。本系統(tǒng)中,,AT89C51串行口工作于方式3,即鳘幀11位的異步通信格式:1位起始位,,8位數(shù)據(jù)位(低位在前),,1位可編程數(shù)據(jù)位,1位停止位,。
發(fā)送前,,由軟件設(shè)置第9位數(shù)據(jù)(TB8)作奇偶校驗位,將要發(fā)送的數(shù)據(jù)寫入SBUF,,啟動發(fā)送過程,。串行口能自動把TB8取出,裝入到第9位數(shù)據(jù)的位置,,再逐一發(fā)送出去,。發(fā)送完畢,使TI=1,。
接收時,,置SCON中的REN為1,允許接收,。當(dāng)檢測到RXD(P3.0端有“1”到“0”的跳變(起始位)時,,開始接收9位數(shù)據(jù),送入移位寄存器(9位),。當(dāng)滿足RI=0且SM2=0或接收到的9位數(shù)據(jù)為1時,,前8位數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)送入SCON中的RB8,,置RI為1,;否則,這次接收無效,,不置位RI,。
串口方式3的波特率由定時器T1的溢出率與SMOD值同時決定:
方式3波特率=T1溢出率/n
當(dāng)SMOD=0時,n=32,;SMOD=1時,,n=16。T1溢出率取決于T1的計數(shù)速率(計數(shù)速率=fosc/12)和TI預(yù)置的初值,。
定時器T1用作波特率發(fā)生器,,工作于模式2(自動重裝初值)。設(shè)TH1和TL1定時計數(shù)初值為X,,則每過“2 8-X”個機器周期,,T1就會發(fā)生一次溢出,。初值X確定如下:
X=256-fosc×(SMOD+1)/384×BTL
本系統(tǒng)中,SMOD=0,,波行率BTL=1200,,晶振fosc=6MHz,所以初值X=F3H,。
2.3 AT89C51與數(shù)字電臺的硬件連接
AT89C51與數(shù)字電臺的硬件連接如圖3所示,。
系統(tǒng)采用異步串行通信方式傳輸測量數(shù)據(jù)。利用單片機串口與數(shù)字電臺RS232數(shù)據(jù)口相連,。電臺常態(tài)為收狀態(tài)(PPT=0,,收狀態(tài);PPT=1,,發(fā)狀態(tài)),,單片機P3.5腳輸出高電平。單片機使用TTL電平,,電臺使用RS232電平,,由MAX232完成TTL電平與RS232電平之間的轉(zhuǎn)換。3片光電耦合器6N137實現(xiàn)單片機與電臺之間的電源隔離,,增強系統(tǒng)抗干擾性能,。
單片機通過帶控制端的三態(tài)緩沖門74HC125、非門74HC14控制電臺的收發(fā)轉(zhuǎn)換,,以及指令的接收和數(shù)據(jù)發(fā)送,。接收時,P3.5=1,,c2=1,,74HC125B截止;P3.5經(jīng)74HC14反相,、光電隔離,,使電臺PPT腳為低電平,將其置為接收狀態(tài),;同時c1=0,,74HC125A導(dǎo)通,接收的指令由電臺的RXD端輸入,,經(jīng)MAX232電平變換,、光電隔離、74HC125A緩沖門,,送入單片機RXD腳。發(fā)射時,,P3.5=0,,經(jīng)74HC14反相,、光電隔離,使電臺PPT腳為高電平,,將其置為發(fā)射狀態(tài),;同時c1=1,74HC125A截止,,c2=0,,74HC125B導(dǎo)通,數(shù)據(jù)由單片機TXD腳輸出,,經(jīng)74HC125B緩沖門,、光電隔離、MAX232電平變換,,通過電臺TXD端口將數(shù)據(jù)發(fā)送出去,。
3 通信軟件設(shè)計
通信軟件至關(guān)重要,一旦出現(xiàn)問題,,整個系統(tǒng)就會癱瘓,。采取差錯控制與容錯技術(shù)是非常重要的。
*主控站發(fā)送的指令中包含一定數(shù)量的同步符55H和3字節(jié)的密碼,。測量站在連續(xù)收到5個同步符后進行密碼驗證,,驗證通過后正式接收指令字節(jié);如未通過,,則測量站發(fā)一信號讓主控站重發(fā),,三次驗證不過則停發(fā)該命令。測量站發(fā)/主控站收時,,驗證方式與此相同,。驗證通過后,測量站開始發(fā)送數(shù)據(jù),。
*一個指令由3字節(jié)構(gòu)成,,第二字節(jié)等于第一字節(jié)加上35H,第3字節(jié)等于第二字節(jié)加上36H,。如果收到的指令不符合此規(guī)則,,則重發(fā)該命令,連續(xù)三次錯誤時停發(fā),。
*主控站每發(fā)一個指令,,測量站都回送一個應(yīng)答信號。該應(yīng)答信號中包含原指令樣本,。
下面給出單片機串行口與電臺的基本通信程序,。
初始化程序:
BTL EQU 2FH ;波特率放在內(nèi)部RAM的2FH單元
MOV TMOD,#21H,;T0方式1,,16位計數(shù)器,T1方式2,,串口用
SETB TR0 ,;啟動T0
MOV BTL,#0F3H ,;波特率設(shè)定為1200
MOV SCON,,#0C0H;串口方式3,,9位數(shù)據(jù),,禁止接收
接收及驗證程序:
NUM EQU 2BH ;同步符個數(shù)值存放在內(nèi)部RAM的2BH單元
TEMP EQU 2CH
ROM-CH:DB 55H,,55H,,55H,55H,,55H,,55H,55H,,55H,,55H,55H
DB 55H,,55H,,55H,55H,,55H,,55H,55H,,55H,,55H,55H ,;20字節(jié)同步符
MIM DB ‘WSC‘:3字節(jié)密碼“WSC”
SETB P3.5 ,;置電臺收狀態(tài)
SETB REN ;允許串口接收
A1:MOV NUM,,#0 ,;記錄連續(xù)到同步符55H的個數(shù)
A2:JB RI,A2 ,;串口有數(shù)據(jù)轉(zhuǎn)A3
A3:CLR RI ,;清接收中斷標志
MOV A,SBUF ;讀串口數(shù)據(jù)
CJNE A,,#55H,,A1;不是同步符轉(zhuǎn)A1
INC NUM ,;收到的同步符個數(shù)加1
MOV A,NUM ,;取收到的同步符個數(shù)
CJNE A,,#5,A2 ,;未收夠連續(xù)5個55H轉(zhuǎn)A2
A4:MOV NUM,,#0 ;密碼驗證,記錄收到密碼字節(jié)數(shù)
A5:MOV DPTR,,#MIM,;密碼字符首址
MOV A,NUM
MOVC A,,@A+DPTR,;查表取密碼
MOV TEMP,A ,;保存密碼
JB RI,,A6 ;串口收完一個字節(jié)轉(zhuǎn)A6
…
A6:CLR RI ,;清接收中斷標志
MOV A,,SBUF ;讀串口數(shù)據(jù)
CJNE A,,TEMP,,A4;與密碼不符轉(zhuǎn)A4
INC NUM ,;收到的密碼個數(shù)加1
MOV A,,NUM ;取已收到的密碼字節(jié)數(shù)
CJNE A,,#3,,A5 ;密碼未收完轉(zhuǎn)A5
發(fā)送程序:
CLR P3.5 ,;置電臺發(fā)狀態(tài)
MOV B,,#23
MOV DPTR,#ROM-CH
B1:CLR A
MOVC A,,@A+DPTR,;查表發(fā)送同步符和密碼共24字節(jié)
INC DPTR
LCALL SEND-CH ;調(diào)發(fā)送單字節(jié)子程序
DJNZ B,B1
…
CLR A
MOV DPTR,,#7000H,;外部RAM數(shù)據(jù)首址,發(fā)送外部RAM中的數(shù)據(jù)到電臺
B2:CJNE R4,,#0,,B3
CJNE R3,#0,,B3,;R4R3=發(fā)送字節(jié)數(shù)
B3:MOVX A,@DPTR,;取數(shù)據(jù)
INC DPTR
LCALL SEND-CH
CJNE R3,,#0,B4
CJNE R4,,#0,,B5
B4:DEC R3
LJMP B2
DEC R3
DEC R4
LJMP B2
…
SEND-CH:SETB TB8
MOV SBUF,A
DB 0,,0,,0,0,,0,,0,0,,0
JNB TI,,$ ;延時4μs
CLR TI
RET
結(jié)語
無線數(shù)據(jù)傳輸系統(tǒng)建成后,,已經(jīng)使用了兩年多,,運行結(jié)果表明,系統(tǒng)工作穩(wěn)定可靠,。由于采用了較完善的軟硬件設(shè)計和抗干擾措施,,保證了系統(tǒng)工作的安全性和可靠性。測量站把采集的現(xiàn)場信號及時傳送到主控站,,提高了數(shù)據(jù)處理的實時性,。單片機和數(shù)字電臺接口的軟硬件設(shè)計具有很強的適用性,可廣泛應(yīng)用于無線數(shù)傳設(shè)備,。