《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > MCS-51單片機與無線調(diào)制器的應用
MCS-51單片機與無線調(diào)制器的應用
中國計量測控網(wǎng)
摘要: GPS是目前技術(shù)上最成熟且已實用的一種定位系統(tǒng),,但是在GPS定位系統(tǒng)中,,由于其是一個單向?qū)Ш较到y(tǒng),他是把星歷數(shù)據(jù)等傳給地面接收機,,可在許多具體應用時,,例如在車輛調(diào)度系統(tǒng)中,,一般都需要把利用GPS測得的信息數(shù)據(jù)傳
Abstract:
Key words :

GPS是目前技術(shù)上最成熟且已實用的一種定位系統(tǒng),但是在GPS定位系統(tǒng)中,,由于其是一個單向?qū)Ш较到y(tǒng),,他是把星歷數(shù)據(jù)等傳給地面接收機,,可在許多具體應用時,例如在車輛調(diào)度系統(tǒng)中,,一般都需要把利用GPS測得的信息數(shù)據(jù)傳到調(diào)度中心,,由于其系統(tǒng)由一個基準站和多個用戶臺組成,基準站與用戶臺之間的聯(lián)系,,即由基準站計算出的各種校正值發(fā)送到用戶臺,,上邊這一切都需要用到數(shù)據(jù)鏈來完成數(shù)據(jù)的傳輸。其中,,數(shù)據(jù)鏈由調(diào)制解調(diào)器和電臺組成。在無線數(shù)據(jù)傳輸系統(tǒng)中,,調(diào)制解調(diào)器足一個關(guān)鍵部分,,調(diào)制解調(diào)器(Modem)是將數(shù)據(jù)進行編碼和調(diào)制,然后輸入到電臺發(fā)射出去,,用戶臺將其接收下來,,并將數(shù)據(jù)解調(diào)后,送入GPS接收機進行改正,。本文介紹了單片機控制Modem的原理和方法,。

  1 系統(tǒng)組成

  本系統(tǒng)主要由單片機和調(diào)制解調(diào)器組成,單片機選用P89C58,,其作為控制電路的主要部分,,對K224芯片進行控制,并完成各個芯片的初始化工作,,同時還有對數(shù)據(jù)進行交織糾錯編碼的功能,。單片機與K224接口的連接如圖1所示。

  
 

 

  整個系統(tǒng)分為兩個部分,,一部分為主呼結(jié)構(gòu),,另一部分為應答結(jié)構(gòu)。圖1只給出了主呼部分,。工作時,,先上電復位,由P89C58對K224進行初始化設置,,并對其自身的串行口進行初始化,。

  整個系統(tǒng)的工作過程為:從GPS接收機接收下來數(shù)據(jù)后,經(jīng)過RS 232接口電路(即由MAX232構(gòu)成的電平轉(zhuǎn)換電路),,變?yōu)門TL電平,,送至P89C58的RXD端,P89C58對數(shù)據(jù)進行分組編碼,、交錯編碼后,,送到P89C58的TXD端輸出,,此輸出信號送到K224的TXD,經(jīng)過調(diào)制后從K224的TXA端輸出調(diào)制信號,。當接收機從RXA處接收到調(diào)制信號后,,經(jīng)過K224處理,解調(diào)后由K224通過RXD端口送至P89C58的RXD接收端,,由P89C58對數(shù)據(jù)進行反交織,、解碼處理,此后,,數(shù)據(jù)從單片機的TXD端口處送出去,,再一次經(jīng)過ICL232的電平轉(zhuǎn)換,以RS232電平送至計算機進行計算分析,。

  2 單片機的初始設置

  在本系統(tǒng)中,,由于要用到P89C58對各個芯片進行初始化設置,并且還要利用其完成數(shù)據(jù)的交織糾錯功能,,這就需要用到單片機的特殊功能寄存器進行設置,,同時需要利用單片機內(nèi)部RAM的可位尋址區(qū)來完成交織編碼的功能。對于MCS-51系列的單片機來說,,其特殊功能寄存器中對串行口進行控制的有SCON和PCON,。PCON是電源控制寄存器,其中D7位SMOD為串行口波特率系數(shù)控制位,,如SMOD=1,,則波特率加倍。特殊功能寄存器SCON字節(jié)地址為98H,,且可位尋址,。SCON用來設定串行口的工作方式、接收發(fā)送控制以及設置狀態(tài)標志,。

  在串行口的4種工作方式中,,主要用于擴展并行輸入輸出口??紤]到上述參數(shù),,我們設置單片機工作于串行方式1,即一幀數(shù)據(jù)格式為:1個起始位,、8個數(shù)據(jù)位,、1個停止位、無奇偶校驗,。由于單片機串行口4種工作方式中,,并無2個停止位的數(shù)據(jù)格式,我們沒必要為了湊齊2個停止位而刻意采用方式3,,用9位數(shù)據(jù)格式中的一位來代替停止位,。另外,,如節(jié)省下這1個停止位,由于GPS導航儀輸出的數(shù)據(jù)格式為2個停止位,,而單片機工作于方式1,,當其接收到1個停止位時,就認為一幀數(shù)據(jù)已接收完畢,,從而就有了1個停止位的時間進行別的處理,。對于波特率為2 400 b/s的數(shù)據(jù)來說,碼元寬度為1/2 400=0.42 ms,,對于波特率為1 200 b/s的數(shù)據(jù),,碼元寬度為1/1 200=0.83 ms。在本系統(tǒng)中,,由于采用的是11.059 2 MHz晶振,,其機器周期近似為1μs。比較后可以看出,,節(jié)省下來的時間有一定的利用價值,從而有更多的時間去進行交織糾錯的編碼處理,。由于系統(tǒng)工作時接收數(shù)據(jù)采用的是查詢方式,,也即上電復位后,即不停地循環(huán)檢測有無數(shù)據(jù)輸入,,直到檢測到有數(shù)據(jù)輸人為止,。這樣,如有更多的時間進行數(shù)據(jù)處理,,則不會因為處理數(shù)據(jù)而導致有些數(shù)據(jù)漏檢從而丟失了數(shù)據(jù),。

  本系統(tǒng)中接收數(shù)據(jù)的波特率設定為1 200 b/s,2 400 b/s,,采用定時器T1作為波特率發(fā)生器,,T1工作于自動裝載方式的工作方式2,TL1作計數(shù)用,,自動重裝的值放在TH1中時,,溢出率可由下式確定:

  溢出率=計數(shù)速率/[256-(TH1)]

  其波特率由下式確定:

  波特率=(定時/計數(shù)器1溢出率)/(32/2SMOD)

  其中SMOD為特殊功能寄存器PCON中的第8位特殊位。3 交織糾錯編碼的設計

 

  糾錯編碼是提高數(shù)字傳輸可靠性的一種技術(shù),,是正確傳輸差分GPS改正信號的重要手段,。數(shù)據(jù)在傳輸過程中,由于傳輸信道內(nèi)部噪聲及其造成的符號間干擾,,以及傳輸外界環(huán)境的干擾,,常常有突發(fā)性的錯誤發(fā)生。為了提高抗干擾能力,,我們采用交織糾錯編碼來將一連串錯誤分散到多個碼字中去,,然后再采用能夠糾正較少錯誤的碼字進行編碼,,這樣就可能糾正有較長錯誤的碼字。例如,,給定一個(n,,k)線性分組碼,我們利用交織可以把長為bλ的單個突發(fā)錯誤分散到λ個(n,,k)碼字中去,,從而使每個(n,k)碼字中只有長度為b的突發(fā)錯誤,,這就提高了系統(tǒng)抗干擾的能力,,提高了系統(tǒng)的糾錯能力。

  MCS-51單片機內(nèi)部數(shù)據(jù)存儲器一般為256 B,,分為128 B的內(nèi)部數(shù)據(jù)存儲器和128 B的特殊功能寄存器,。對于P89C58來說,其可尋址的數(shù)據(jù)存儲空問可擴展至上邊的128 B,。在內(nèi)部數(shù)據(jù)存儲器中,,20H~2FH(16個單元)作為一般工作單元,既可以由CPU按字節(jié)尋址,,也可以按位直接尋址,,進行位操作。我們正是利用了其中的20H~27H來構(gòu)成交錯編碼空間,?! ⊥ㄟ^8×8個矩型數(shù)據(jù)單元,循環(huán)按行(列)放置數(shù)據(jù),,然后再循環(huán)按列(行)讀出數(shù)據(jù),,從而達到數(shù)據(jù)行進列出,或者列進行出,,這樣完成交錯糾錯編碼,。在這一過程中,需要注意時間的配合問題,,數(shù)據(jù)的處理時問和數(shù)據(jù)的發(fā)送時間要協(xié)調(diào)一致,,否者會導致數(shù)據(jù)不能正常接收。

  4 調(diào)制解調(diào)器的設計

  K224內(nèi)部共有8個8 b的寄存器,,對K224的操作是通過對這8個寄存器進行初始設置,,確定工作狀態(tài)來完成的。

  2片Modem分別設置為工作于主呼和應答方式,、禁止INT(中斷),、經(jīng)擾碼器、禁止防衛(wèi)音,、關(guān)應答音發(fā)生器,、關(guān)DTMF,,同時接收發(fā)送采用同一判決平面,打開自適應均衡器,。

  在Modem正常傳送數(shù)據(jù)之前,,2個Modem以及Modem與DTE之間,為了確定雙方的速率等問題,,需要進行必要的連絡,,這就是所謂的握手。在握手的過程中,,微控制器P89C58必須檢測和確認確定的信號來控制握手的過程和Modem的狀態(tài),。微控制器P89C58讀取K224的檢測寄存器的比特位,但是僅僅檢測到某一比特位是預先的狀態(tài)(1或者0),,就立即采取與該狀態(tài)有關(guān)的動作是遠遠不夠的,。其中的原因有兩個:第一是在握手過程中,檢測到的信號必須要穩(wěn)定地持續(xù)一段時間;第二是因為有噪聲的干擾,,某些比特位可能會發(fā)生由0到1或由1到0的突變,。因此微控制器需要確認檢測寄存器的比特位的狀態(tài),并且繼續(xù)檢測此信號是否持續(xù)了相應的時間,。

  為此,,需要設計檢測握手序列的方法。本文采用的是增計數(shù)器的方法,,即將信號應持續(xù)的時間轉(zhuǎn)化為一個預置數(shù)值,然后設置一個計數(shù)器,,每檢測到一個信號便加1,,當增到預置數(shù)值時,才可認為該信號檢測到了,。

  具體計算方法如下:每個握手過程所需檢測的信號都有一個必須持續(xù)的時間,,而這個信號到達接收機被檢測器檢測到要有一個延遲,用該信號的持續(xù)時間減去延遲時間,,然后再用該信號的抽樣頻率乘以該數(shù)值,,抽樣頻率應大于或等于被檢測信號的數(shù)據(jù)率。上述程序設置是通過P89C58在系統(tǒng)七電復位后,,對K224進行初始化的,。圖2是系統(tǒng)工作的流程圖。

  

 

  5 結(jié) 語

  本系統(tǒng)經(jīng)過星研Star51PH單片機仿真器仿真,,并通過TOP2005編程器編程后,,結(jié)果證明系統(tǒng)是可行的,調(diào)制解調(diào)器接收在1 200 b/s可以完全穩(wěn)定接收發(fā)送,,當工作在速率較大時,,長時間工作數(shù)據(jù)會不能穩(wěn)定接收,,需要進一步實驗驗證。該系統(tǒng)設計結(jié)構(gòu)簡單,,性能穩(wěn)定可靠,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。