欄目搜索
 
 
 
 

陕西快乐十分复试玩法:MCS-51單片機與無線調制器的綜合應用

更新日期:2007-12-26  作者:  來源:光學精密機械網(www.uvcfk.com)收集整理

陕西快乐十分即时开奖 www.uvcfk.com GPS是目前技術上最成熟且已實用的一種定位系統,但是在GPS定位系統中,由于其是一個單向導航系統,他是把星歷數據等傳給地面接收機,可在許多具體應用時,例如在車輛調度系統中,一般都需要把利用GPS測得的信息數據傳到調度中心,由于其系統由一個基準站和多個用戶臺組成,基準站與用戶臺之間的聯系,即由基準站計算出的各種校正值發送到用戶臺,上邊這一切都需要用到數據鏈來完成數據的傳輸。其中,數據鏈由調制解調器和電臺組成。在無線數據傳輸系統中,調制解調器足一個關鍵部分,調制解調器(Modem)是將數據進行編碼和調制,然后輸入到電臺發射出去,用戶臺將其接收下來,并將數據解調后,送入GPS接收機進行改正。本文介紹了單片機控制Modem的原理和方法。

1 系統組成



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





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



整個系統的工作過程為:從GPS接收機接收下來數據后,經過RS 232接口電路(即由MAX232構成的電平轉換電路),變為TTL電平,送至P89C58的RXD端,P89C58對數據進行分組編碼、交錯編碼后,送到P89C58的TXD端輸出,此輸出信號送到K224的TXD,經過調制后從K224的TXA端輸出調制信號。當接收機從RXA處接收到調制信號后,經過K224處理,解調后由K224通過RXD端口送至P89C58的RXD接收端,由P89C58對數據進行反交織、解碼處理,此后,數據從單片機的TXD端口處送出去,再一次經過ICL232的電平轉換,以RS232電平送至計算機進行計算分析。



2 單片機的初始設置



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



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



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



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



其波特率由下式確定:



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



其中SMOD為特殊功能寄存器PCON中的第8位特殊位。



    3 交織糾錯編碼的設計



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



MCS-51單片機內部數據存儲器一般為256 B,分為128 B的內部數據存儲器和128 B的特殊功能寄存器。對于P89C58來說,其可尋址的數據存儲空問可擴展至上邊的128 B。在內部數據存儲器中,20H~2FH(16個單元)作為一般工作單元,既可以由CPU按字節尋址,也可以按位直接尋址,進行位操作。我們正是利用了其中的20H~27H來構成交錯編碼空間。



通過8×8個矩型數據單元,循環按行(列)放置數據,然后再循環按列(行)讀出數據,從而達到數據行進列出,或者列進行出,這樣完成交錯糾錯編碼。在這一過程中,需要注意時間的配合問題,數據的處理時問和數據的發送時間要協調一致,否者會導致數據不能正常接收。



4 調制解調器的設計



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



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



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



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



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





5 結 語



本系統經過星研Star51PH單片機仿真器仿真,并通過TOP2005編程編程后,結果證明系統是可行的,調制解調器接收在1 200 b/s可以完全穩定接收發送,當工作在速率較大時,長時間工作數據會不能穩定接收,需要進一步實驗驗證。該系統設計結構簡單,性能穩定可靠。



(來源:EEPW)

 etyjtykjuy