<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 用μPSD3234A獲取Motorola Oncore的GPS信息

用μPSD3234A獲取Motorola Oncore的GPS信息

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹 接收器和μ在嵌入式應用的優(yōu)勢,及μ 接收器的硬件接口與軟件程序設計。

關(guān)鍵詞: 接收器 μ 51內核

引 言

  摩托羅拉公司經(jīng)過(guò)近十年的研究,使全球定位系統()的產(chǎn)品集成度更高,重量更輕。為了適合嵌入式應用而特殊設計的Oncore接收器,體積小(50.8mm 82.6mm16.3mm),平均故障間隔時(shí)間(MTBF)高達1 100 000~1 600 000小時(shí),工程師可更快捷地把技術(shù)引入OEM(初始設備廠(chǎng)家)的應用中。

1 Motorola Oncore接收器的工作原理

   如圖1所示,Oncore接收器有8個(gè)并行通道,可同時(shí)跟蹤8顆衛星。Oncore接收器將天線(xiàn)接收的GPS信號進(jìn)行下變頻處理后,得到的中頻信號,經(jīng)過(guò)高速模數轉換器轉換為數字信號。通道分開(kāi)器把經(jīng)過(guò)數字化處理的中頻信號分解后送入8個(gè)并行通道,以進(jìn)行信號檢測、碼相關(guān)、載波跟蹤和濾波。

  經(jīng)過(guò)處理的信號被同步送進(jìn)定位微處理器單元,這部分電路控制GPS接收器的工作模式和解碼,處理衛星數據、測量偽距和偽距增量,以進(jìn)行位置、速度和時(shí)間的計算。Oncore接收器中還有一個(gè)能使接收器保持休眠狀態(tài)的隨機存儲器,用于保存衛星星歷表數據、用戶(hù)操作參數、歷書(shū)等。當Oncore接收器的電源關(guān)閉時(shí),為防止這些的丟失,需外接一個(gè)+5V的備用電源。為保持實(shí)時(shí)時(shí)鐘的時(shí)間,也需要外接+5V電源。

  Oncore接收器引腳如圖2所示。

  Motorola Oncore接收器有一個(gè)TTL串行數據接口。此接口為Oncore接收器和系統控制器間提供主控及數據通道。

2 μPSD3234A介紹

  μPSD3234A是ST公司推出的嵌入40MHz“8032微控制器核”的PSD產(chǎn)品,被稱(chēng)為“真正的片上系統”。有兩個(gè)獨立的Flash存儲器,256KB主Flash存儲器和32KB輔Flash存儲器。當擦除或寫(xiě)某一存儲器時(shí),讀操作可在另一存儲器內進(jìn)行,支持遠程更新的在應用編程。8KB的SRAM為用戶(hù)的嵌入式實(shí)時(shí)操作系統,高級語(yǔ)言編程,通信緩沖器和堆棧提供足夠的空間。片內集成有豐富的功能部件:通用I/O口、可編程邏輯電路、管理監控、USB接口、I2C接口、4通道8位 ADC、DDC、5通道PWM。片內的8032微控制器核有2個(gè)標準異步通信口,3個(gè)16位定時(shí)/計數器和2個(gè)外部中斷。和其它Flash PSD系列一樣,μPSD3200系列同樣可以通過(guò)JTAG ISP 接口進(jìn)行在系統編程。

3 μPSD3234A與Oncore接收器的接口

  μPSD3234A的串口0和Oncore接收器的通信接口,均為T(mén)TL電平,可以直接通信。在設計之初,可先利用板載μPSD3234A芯片的開(kāi)發(fā)板DK3200搭建硬件電路。為調試方便,μPSD3234A接收到Motorola Oncore接收器的原始信息。通過(guò)μPSD3234A的串口1(經(jīng)電平轉換后)送到PC機的RS-232串口,在PC機顯示器上同步顯示。提取到的位置、時(shí)間等信息直接在LCD液晶上顯示。連接在PC機并行口的Flash LINK編程器與DK3200開(kāi)發(fā)板上的JTAG口相連,完成JTAG在系統編程。硬件電路原理框圖如圖3所示。

4 程序設計

  Motorola Oncore接收器的主串口提供兩種數據格式:摩托羅拉二進(jìn)制格式和NMEA 0183格式。摩托羅拉二進(jìn)制格式應用于接收器主串口的輸入輸出,波特率應為9600,無(wú)奇偶校驗位,1位起始位和1位停止位。所要的GPS參數是以@@Ea開(kāi)頭的位置/狀態(tài)/數據響應信息,以回車(chē)換行CR>LF>結束。其格式為:

@@Eamdyyhmsffffaaaaoooohhhhmmmmvvhhddtntimsdimsdimsdi

msdimsdimsdimsdimsdsCCR>LF>。

其含義為:

日期: m 月 1~12

d 日 1~31

yy 年 1980~2079

時(shí)間: h 小時(shí) 0~23

m 分 0~59

s 秒 0~60

位置: aaaa 緯度(mas)

-324 000 000~324 000 000(-90~ 90)

oooo 經(jīng)度(mas)

-648 000 000~648 000 000(-180~ 180)

hhhh 橢球高度(cm)

-100 000~1 800 000(-1000.00~18 000.00m)

在所有信息終止的CR>LF>前的一個(gè)字節為校驗和,是所有信息字節的“異或”。

程序是在Keil uVision2的環(huán)境下設計的。

(1)系統初始化

TMOD=0x20;

PCON=0x80;

SCON=0x50;

// 計算定時(shí)初值

value=65536-(36000*125L/(24L*9600));

TH1=value;

TL1=value;

TR1=1; //定時(shí)器1為波特率發(fā)生器

P3SFS=0x03;

//設置LCD的I/O口模式

PSD8xx_reg.VM|=0x80;

//定時(shí)器0初始化

timer0_init();

//LCD初始化為8位,2行,57點(diǎn)陣,

//不閃爍,光標關(guān)閉

lcd_init();

(2)讀取Motorola Oncore接收器信息

  先識別判斷是否為@@Ea開(kāi)頭,若是,將其后的所有字符信息放入org_data[]數組中,以便后面從中提取所需數據。

while(1) {

while(!RI);

ch=SBUF;

if((RI)(ch==0x40)) //識別’a’

{ RI=0;head[0]=ch;

while(!RI);

ch=SBUF;

if((RI)(ch==0x40)) //識別第二個(gè)’@’

{ RI=0;head[1]=ch;

while(!RI);

ch=SBUF;

if((RI)(ch==0x45)) //識別’E’

{ RI=0;head[2]=ch;

while(!RI);

ch=SBUF;

if((RI)(ch==0x61)) //識別a?

{ RI=0;head[3]=ch;

for(k=0;k=72;k++)

//將后續72個(gè)字符放入org_data[]

{ while(!RI);

org_data[k]=SBUF;

RI=0;

}

}

else {RI=0;continue;}

}

else {RI=0;continue;}

}

else {RI=0;continue;}

}

else {RI=0;continue;}

}

(3)從org_data[]數組中提取所需信息

  讀取的信息都存放在org_data[]數組中,根據@@Ea的格式內容即可定位所需信息的位置。數組中所存放的是二進(jìn)制數,為了能顯示還需將其轉換為ASCII碼的形式,因此還提供了以下4個(gè)函數來(lái)實(shí)現此功能,分別是:hextobcdtoascii_two(unsigned int hexs_two,unsigned char num_two)、hextobcdtoascii_four(unsigned int hexs_four,unsigned char num_four)、hextobcdtoascii_nine(unsigned long int hexs_nine,unsigned char num_nine)和init_msgbuff(unsigned char *dataptr, unsigned char *buffptr),其中前3個(gè)分別是實(shí)現將二進(jìn)制數轉換成兩位、四位和九位的ASCII碼形式,最后一個(gè)函數是實(shí)現將代碼段中的字符串存入數據存儲區內,用以實(shí)現將字符串顯示在液晶顯示器上。

程序運行后,在液晶上顯示的結果為:

DATE: ?1-01-2004

TIME h07:m50:s10

LATITU: 0028?44 ?//經(jīng)度為2844′,因為表示度的小圓圈不好顯示,所以用問(wèn)號?表示度。

LONGIT: 0115?51 ?//緯度為11551′

HIGH: 0145 ft ?//高度為145英尺

結 語(yǔ)

  在需要實(shí)時(shí)、準確地空間位置和時(shí)間信息的場(chǎng)合,如環(huán)境監測與保護工程、交通調度等,該設計可嵌入到此類(lèi)遠程移動(dòng)監控系統中。



關(guān)鍵詞: GPS 信息 Oncore Motorola 獲取 PSD3234A

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>