• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 用μPSD3234A獲取Motorola Oncore的GPS信息

    用μPSD3234A獲取Motorola Oncore的GPS信息

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

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

    引 言

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

    1 Motorola Oncore接收器的工作原理

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

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

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

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

    2 μPSD3234A介紹

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

    3 μPSD3234A與Oncore接收器的接口

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

    4 程序設(shè)計(jì)

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

    @@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è)字節(jié)為校驗(yàn)和,是所有信息字節(jié)的“異或”。

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

    (1)系統(tǒng)初始化

    TMOD=0x20;

    PCON=0x80;

    SCON=0x50;

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

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

    TH1=value;

    TL1=value;

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

    P3SFS=0x03;

    //設(shè)置LCD的I/O口模式

    PSD8xx_reg.VM|=0x80;

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

    timer0_init();

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

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

    lcd_init();

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

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

    while(1) {

    while(!RI);

    ch=SBUF;

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

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

    while(!RI);

    ch=SBUF;

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

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

    while(!RI);

    ch=SBUF;

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

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

    while(!RI);

    ch=SBUF;

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

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

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

    //將后續(xù)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[]數(shù)組中提取所需信息

      讀取的信息都存放在org_data[]數(shù)組中,根據(jù)@@Ea的格式內(nèi)容即可定位所需信息的位置。數(shù)組中所存放的是二進(jìn)制數(shù),為了能顯示還需將其轉(zhuǎn)換為ASCII碼的形式,因此還提供了以下4個(gè)函數(shù)來實(shí)現(xiàn)此功能,分別是: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í)現(xiàn)將二進(jìn)制數(shù)轉(zhuǎn)換成兩位、四位和九位的ASCII碼形式,最后一個(gè)函數(shù)是實(shí)現(xiàn)將代碼段中的字符串存入數(shù)據(jù)存儲(chǔ)區(qū)內(nèi),用以實(shí)現(xiàn)將字符串顯示在液晶顯示器上。

    程序運(yùn)行后,在液晶上顯示的結(jié)果為:

    DATE: ?1-01-2004

    TIME h07:m50:s10

    LATITU: 0028?44 ?//經(jīng)度為2844′,因?yàn)楸硎径鹊男A圈不好顯示,所以用問號(hào)?表示度。

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

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

    結(jié) 語

      在需要實(shí)時(shí)、準(zhǔn)確地空間位置和時(shí)間信息的場(chǎng)合,如環(huán)境監(jiān)測(cè)與保護(hù)工程、交通調(diào)度等,該設(shè)計(jì)可嵌入到此類遠(yuǎn)程移動(dòng)監(jiān)控系統(tǒng)中。



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

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 台山市| 浦县| 美姑县| 十堰市| 马山县| 大名县| 龙门县| 东台市| 通渭县| 观塘区| 嘉善县| 杭锦后旗| 仲巴县| 治多县| 古田县| 平顶山市| 大港区| 甘德县| 如皋市| 玉林市| 岳普湖县| 大渡口区| 西乌| 页游| 江阴市| 临颍县| 扬州市| 永嘉县| 仁化县| 班戈县| 汝州市| 宁津县| 呼伦贝尔市| 旬邑县| 孝昌县| 米易县| 临汾市| 宁都县| 台山市| 巨野县| 巫溪县|