MCS-51單片機與無(wú)線(xiàn)調制器的應用
GPS是目前技術(shù)上最成熟且已實(shí)用的一種定位系統,但是在GPS定位系統中,由于其是一個(gè)單向導航系統,他是把星歷數據等傳給地面接收機,可在許多具體應用時(shí),例如在車(chē)輛調度系統中,一般都需要把利用GPS測得的信息數據傳到調度中心,由于其系統由一個(gè)基準站和多個(gè)用戶(hù)臺組成,基準站與用戶(hù)臺之間的聯(lián)系,即由基準站計算出的各種校正值發(fā)送到用戶(hù)臺,上邊這一切都需要用到數據鏈來(lái)完成數據的傳輸。其中,數據鏈由調制解調器和電臺組成。在無(wú)線(xiàn)數據傳輸系統中,調制解調器足一個(gè)關(guān)鍵部分,調制解調器(Modem)是將數據進(jìn)行編碼和調制,然后輸入到電臺發(fā)射出去,用戶(hù)臺將其接收下來(lái),并將數據解調后,送入GPS接收機進(jìn)行改正。本文介紹了單片機控制Modem的原理和方法。
本文引用地址:http://dyxdggzs.com/article/172680.htm1 系統組成
本系統主要由單片機和調制解調器組成,單片機選用P89C58,其作為控制電路的主要部分,對K224芯片進(jìn)行控制,并完成各個(gè)芯片的初始化工作,同時(shí)還有對數據進(jìn)行交織糾錯編碼的功能。單片機與K224接口的連接如圖1所示。

整個(gè)系統分為兩個(gè)部分,一部分為主呼結構,另一部分為應答結構。圖1只給出了主呼部分。工作時(shí),先上電復位,由P89C58對K224進(jìn)行初始化設置,并對其自身的串行口進(jìn)行初始化。
整個(gè)系統的工作過(guò)程為:從GPS接收機接收下來(lái)數據后,經(jīng)過(guò)RS 232接口電路(即由MAX232構成的電平轉換電路),變?yōu)門(mén)TL電平,送至P89C58的RXD端,P89C58對數據進(jìn)行分組編碼、交錯編碼后,送到P89C58的TXD端輸出,此輸出信號送到K224的TXD,經(jīng)過(guò)調制后從K224的TXA端輸出調制信號。當接收機從RXA處接收到調制信號后,經(jīng)過(guò)K224處理,解調后由K224通過(guò)RXD端口送至P89C58的RXD接收端,由P89C58對數據進(jìn)行反交織、解碼處理,此后,數據從單片機的TXD端口處送出去,再一次經(jīng)過(guò)ICL232的電平轉換,以RS232電平送至計算機進(jìn)行計算分析。
2 單片機的初始設置
在本系統中,由于要用到P89C58對各個(gè)芯片進(jìn)行初始化設置,并且還要利用其完成數據的交織糾錯功能,這就需要用到單片機的特殊功能寄存器進(jìn)行設置,同時(shí)需要利用單片機內部RAM的可位尋址區來(lái)完成交織編碼的功能。對于MCS-51系列的單片機來(lái)說(shuō),其特殊功能寄存器中對串行口進(jìn)行控制的有SCON和PCON。PCON是電源控制寄存器,其中D7位SMOD為串行口波特率系數控制位,如SMOD=1,則波特率加倍。特殊功能寄存器SCON字節地址為98H,且可位尋址。SCON用來(lái)設定串行口的工作方式、接收發(fā)送控制以及設置狀態(tài)標志。
在串行口的4種工作方式中,主要用于擴展并行輸入輸出口??紤]到上述參數,我們設置單片機工作于串行方式1,即一幀數據格式為:1個(gè)起始位、8個(gè)數據位、1個(gè)停止位、無(wú)奇偶校驗。由于單片機串行口4種工作方式中,并無(wú)2個(gè)停止位的數據格式,我們沒(méi)必要為了湊齊2個(gè)停止位而刻意采用方式3,用9位數據格式中的一位來(lái)代替停止位。另外,如節省下這1個(gè)停止位,由于GPS導航儀輸出的數據格式為2個(gè)停止位,而單片機工作于方式1,當其接收到1個(gè)停止位時(shí),就認為一幀數據已接收完畢,從而就有了1個(gè)停止位的時(shí)間進(jìn)行別的處理。對于波特率為2 400 b/s的數據來(lái)說(shuō),碼元寬度為1/2 400=0.42 ms,對于波特率為1 200 b/s的數據,碼元寬度為1/1 200=0.83 ms。在本系統中,由于采用的是11.059 2 MHz晶振,其機器周期近似為1μs。比較后可以看出,節省下來(lái)的時(shí)間有一定的利用價(jià)值,從而有更多的時(shí)間去進(jìn)行交織糾錯的編碼處理。由于系統工作時(shí)接收數據采用的是查詢(xún)方式,也即上電復位后,即不停地循環(huán)檢測有無(wú)數據輸入,直到檢測到有數據輸人為止。這樣,如有更多的時(shí)間進(jìn)行數據處理,則不會(huì )因為處理數據而導致有些數據漏檢從而丟失了數據。
本系統中接收數據的波特率設定為1 200 b/s,2 400 b/s,采用定時(shí)器T1作為波特率發(fā)生器,T1工作于自動(dòng)裝載方式的工作方式2,TL1作計數用,自動(dòng)重裝的值放在TH1中時(shí),溢出率可由下式確定:
溢出率=計數速率/[256-(TH1)]
其波特率由下式確定:
波特率=(定時(shí)/計數器1溢出率)/(32/2SMOD)
其中SMOD為特殊功能寄存器PCON中的第8位特殊位。3 交織糾錯編碼的設計
糾錯編碼是提高數字傳輸可靠性的一種技術(shù),是正確傳輸差分GPS改正信號的重要手段。數據在傳輸過(guò)程中,由于傳輸信道內部噪聲及其造成的符號間干擾,以及傳輸外界環(huán)境的干擾,常常有突發(fā)性的錯誤發(fā)生。為了提高抗干擾能力,我們采用交織糾錯編碼來(lái)將一連串錯誤分散到多個(gè)碼字中去,然后再采用能夠糾正較少錯誤的碼字進(jìn)行編碼,這樣就可能糾正有較長(cháng)錯誤的碼字。例如,給定一個(gè)(n,k)線(xiàn)性分組碼,我們利用交織可以把長(cháng)為bλ的單個(gè)突發(fā)錯誤分散到λ個(gè)(n,k)碼字中去,從而使每個(gè)(n,k)碼字中只有長(cháng)度為b的突發(fā)錯誤,這就提高了系統抗干擾的能力,提高了系統的糾錯能力。
MCS-51單片機內部數據存儲器一般為256 B,分為128 B的內部數據存儲器和128 B的特殊功能寄存器。對于P89C58來(lái)說(shuō),其可尋址的數據存儲空問(wèn)可擴展至上邊的128 B。在內部數據存儲器中,20H~2FH(16個(gè)單元)作為一般工作單元,既可以由CPU按字節尋址,也可以按位直接尋址,進(jìn)行位操作。我們正是利用了其中的20H~27H來(lái)構成交錯編碼空間。
評論