《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于MAX3100和OLED的GPS定位系統(tǒng)設(shè)計
基于MAX3100和OLED的GPS定位系統(tǒng)設(shè)計
摘要: 利用通用異步收發(fā)器MAX3100高效的收發(fā)特點,,和OLED寬溫和抗震的特點開發(fā)便攜式GPS定位系統(tǒng),。設(shè)計結(jié)果表明該系統(tǒng)具有定位準(zhǔn)確、適應(yīng)溫度范圍寬,、抗震強,、功耗低的特點,。
Abstract:
Key words :

0 引言

  在單片機應(yīng)用系統(tǒng)中,串行數(shù)據(jù)通信通常采用芯片">8251,,但因8251的通信波特率不高,,不能應(yīng)用于晶振較高的系統(tǒng),這就使得要求高運行速度,、高速收發(fā)數(shù)據(jù)的系統(tǒng)無法應(yīng)用">8251芯片收發(fā)數(shù)據(jù),,而且8251需要有MAX3100支持高速通信,最高通信波特率可達(dá)230KBPS,,低功耗,支持低電壓,,設(shè)計后系統(tǒng)體積小,,比采用外部時鐘8253">8253提供外部時鐘信號。MAXIM公司推出的新型UART芯片MAX3100

  正好填補了這個空白,。MAX3100支持高速通信,,最高通信波特率可達(dá)230KBPS,低功耗,,支持低電壓,,設(shè)計后系統(tǒng)體積小,比采用外部時鐘8253設(shè)計的印制版尺寸的一半還小,。而且能夠使軟件設(shè)計實現(xiàn)起來更可靠,。

  有機發(fā)光顯示OLED是比液晶顯示技術(shù)更為先進的新一代平板顯示技術(shù),是被業(yè)界公認(rèn)為最具發(fā)展前景的下一代顯示技術(shù),。有機發(fā)光顯示 OLED(Organic Light Emitting Display)與液晶顯示技術(shù)相比,,具有超輕薄、高亮度,、廣視角,、自發(fā)光,、響應(yīng)速度快、適應(yīng)溫度范圍寬,、抗震強,、功耗低、可實現(xiàn)柔軟顯示等優(yōu)越性能,,因此OLED屏正快速擴大其在便攜式電子產(chǎn)品市場上的應(yīng)用份額,,能夠應(yīng)用于通訊、測繪,、鐵路以及兵器等野外惡劣環(huán)境,。

  1 主要工作原理

  系統(tǒng)主要由AT89C52單片機、MAX3100通用異步收發(fā)器,、GPS-OEM板,、OLED顯示屏等組成。AT89C52單片機通過 MAX3100接收GPS-OEM板發(fā)出的NEMA語句,,經(jīng)過軟件編程計算出定位信息(包括:緯度,、經(jīng)度、高度,、速度,、日期、時間,、航向,、衛(wèi)星狀況等) 后,在OLED顯示屏上顯示出來,。并且通過MAX3100將這些定位信息以RS232標(biāo)準(zhǔn)串口數(shù)據(jù)輸出,。系統(tǒng)電路原理圖如圖1所示。

  2 單片機與GPS-OEM板之間的數(shù)據(jù)通信

  單片機與GPS-OEM板之間的數(shù)據(jù)通信,,是通過MAX3100通用異步收發(fā)器來實現(xiàn)的,,其中單片機震蕩頻率選用11.0592MHz。首先用 MAX232電平轉(zhuǎn)換芯片,,來實現(xiàn)RS232電平與TTL電平的雙向轉(zhuǎn)換,,因為GPS OEM板的串口電平是符合RS232標(biāo)準(zhǔn)的電平,而MAX3100采用的是TTL電平,。

  MAX3100的DIN引腳為串行數(shù)據(jù)輸入端,,DOUT為串行數(shù)據(jù)輸出端,串行時鐘的上升沿鎖存DIN數(shù)據(jù),,DOUT數(shù)據(jù)由串行時鐘的下降沿同步輸出,。  MAX3100的DIN和DOUT引腳的串行數(shù)據(jù)序列都是16位數(shù)據(jù),其中DIN數(shù)據(jù)序列的前兩位表征串的數(shù)據(jù)類型,。當(dāng)前兩位是“1,,1”時,,表示寫命令,當(dāng)前兩位是“0,,0”時,,表示讀數(shù)據(jù),當(dāng)前兩位是“1,,0”時,,表示寫數(shù)據(jù)。

  對MAX3100進行初始化配置,,是單片機通過寫命令序列來完成的,。該命令序列包括奇偶校驗位、數(shù)據(jù)位,、停止位,、波特率設(shè)置、數(shù)據(jù)字長度,、校驗 FIFO,、中斷使能等信息。MAX3100具有自己的波特率發(fā)生器,,其振蕩器可以用頻率為1.843 2 MHZ或3.6864 MHZ的晶振,。波特率由寫命令序列的后4位B0~B3位決定的。

  當(dāng)單片機接收GPS OEM板的串口數(shù)據(jù)時,,是通過讀MAX3100數(shù)據(jù)序列來完成的,,單片機從MAX3100讀出數(shù)據(jù)時,需要在DIN寫入一個16位的字(0000H),,再從DOUT讀入16位的字,,其中的高八位是:接收/發(fā)送緩沖區(qū)的狀態(tài),數(shù)據(jù)錯/溢出狀態(tài),,接收/校驗位狀態(tài)和CTS的狀態(tài),低八位才是接收到的GPS OEM板的串口數(shù)據(jù),。

  當(dāng)單片機發(fā)送最終的定位數(shù)據(jù)時,,是通過向MAX3100寫入數(shù)據(jù)序列來完成的,單片機向MAX3100寫入數(shù)據(jù)時,,在DIN寫入的是一個16位的字,,其中高八位設(shè)置的內(nèi)容是:寫入標(biāo)志、允許TX輸出,、RTS引腳設(shè)定以及傳送校驗位設(shè)定,。低八位才是要傳送的數(shù)據(jù)。

  3 OLED顯示屏顯示定位信息

  顯示模塊顯示屏為128列,、64行,,有1片行驅(qū)動器和2片列驅(qū)動器,,其中行驅(qū)動器有64行輸出,每片列驅(qū)動器有64路輸出,。只要提供電源就能產(chǎn)生驅(qū)動信號和同步信號,,模塊的外部信號僅與列驅(qū)動器有關(guān)。列驅(qū)動器內(nèi)置64×64位顯示存儲器,,顯示屏上各像素點顯示狀態(tài)與顯示存儲器各位數(shù)據(jù)一一對應(yīng),,顯示存儲器的數(shù)據(jù)直接作為圖形顯示的驅(qū)動信號,為“1”的時候顯示,,為“O”的時候不顯示,。系統(tǒng)中OLED顯示屏顯示緯度、經(jīng)度,、高度,、速度、日期,、時間,、航向、衛(wèi)星狀況等定位信息,。

  4 軟件設(shè)計

  4.1 看門狗中斷的應(yīng)用

  MAX706的6腳與7腳分別與AT89C52的P1.7與復(fù)位腳相連,,在軟件程序中,每隔一段程序插入一個看門狗計數(shù)器復(fù)位指令,,這樣,,在程序運行過程中,如果進入死循環(huán)或非法代碼區(qū),,就會使系統(tǒng)復(fù)位,,保證系統(tǒng)正常運行。

  4.2 延時處理

  將所要發(fā)送的數(shù)據(jù)送入發(fā)送緩沖器時,,由于MAX3100要等T=1時,,發(fā)送緩沖器為空,才可以接收另一個需發(fā)送的數(shù)據(jù),,所以此時加入合適的延時,,是非常必要的,可以保證所發(fā)數(shù)據(jù)準(zhǔn)確無誤,。

  4.3 建立字庫

  在實現(xiàn)OLED顯示時,,先將需要顯示的漢字組成一個漢字庫,英文字符或阿拉伯?dāng)?shù)字組成一個西文字庫,。

  如漢字“效”字,,設(shè)置宋體12號,對應(yīng)的點陣為寬×高=16×16,用取模軟件橫向取模對應(yīng)的32字節(jié)為: {O×10,,0×20,,0×08,0×30,,O×08,,0×20,0×7F,,O×20,,0×14,0×7E,,0×12,,0×44,0×21,,0×C4,,O×22,0×44,,O×62,,0×28,O x 14,,0×28,,O×08,0×10,,0×0C,,0×10,O×12,,0×28,,0×20,0×CE,,0×C3,,0×04,O×00,,0×00},。

  阿拉伯?dāng)?shù)字“1”,設(shè)置宋體12號,,對應(yīng)的點陣為寬×高=8×16,用取模軟件橫向取模對應(yīng)的16字節(jié)為:{0×00,,0 x0o,,0×00,0×10,0×70,,0×10,,0×10,O×10,,0×10,,0×10,0×10,,O×10,,0×10,0×7C,,O×00,,O×00}。

  4.4 軟件要點設(shè)計

  軟件設(shè)計的時候,,有兩部分關(guān)鍵設(shè)計,,一是對串口接收到的GPS模塊數(shù)據(jù)進行處理;二是將所需的定位信息在OLED顯示屏上顯示出來,。軟件流程圖如圖2所示,。


  在MAX3100中定義一個8位移位的子程序,C語言代碼如下:

  這個子程序的任務(wù)就是通過對MAX3100的DIN和DOUT引腳進行8次移位操作,,來完成兩個任務(wù),,首先是接收部分,通過初始化配置后,,經(jīng)過 RX接收GPS模塊的NEMA語句,,送入接收緩沖區(qū)。接下來是發(fā)送部分,,接收SPI數(shù)據(jù)并進行發(fā)送緩沖,,通過TX按異步串行發(fā)送出去。

  接收NEMA語句時首先從行首標(biāo)志“$”開始,,在沒有進一步處理之前,,NEMA語句是一長串字節(jié)流,這些信息在經(jīng)過分類提取之前是無法加以利用的,,因此,,必須通過軟件程序?qū)⒏鱾€字段的信息從字節(jié)流中提取出來,將其轉(zhuǎn)化成緯度,、經(jīng)度,、高度、速度,、日期,、時間、航向、衛(wèi)星狀況等定位信息,。

  在OLED顯示屏上某一位置顯示某一定位信息,,是通過軟件設(shè)置來完成的,其中Row代表所要顯示位置的開始行,,Column代表所要顯示位置的開始列,,a代表在已經(jīng)建立的漢字庫和西文字庫中的序列號,C語言代碼如下:

  5 結(jié)束語

  本系統(tǒng)結(jié)合MAX3100高效的異步收發(fā)通信優(yōu)點,,吸取了其功耗低,、體積小、傳輸快以及OLED顯示屏超輕薄,、高亮度,、廣視角、自發(fā)光,、響應(yīng)速度快,、適應(yīng)溫度范圍寬、抗震強,、功耗低等優(yōu)點,。設(shè)計開發(fā)出由電池供電的便攜式GPS定位系統(tǒng),已經(jīng)成功應(yīng)用到產(chǎn)品中,,取得很好的效果,。

 

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