《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于GP4020的GPS接收機(jī)的軟硬件設(shè)計(jì)

基于GP4020的GPS接收機(jī)的軟硬件設(shè)計(jì)

2008-11-04
作者:秦紅磊,,孫小續(xù)


摘?要:介紹了基于GP4020的GPS接收機(jī)的電路設(shè)計(jì)及軟件設(shè)計(jì)" title="軟件設(shè)計(jì)">軟件設(shè)計(jì),。GP4020是ZARLINK公司推出的GPS接收機(jī)數(shù)字基帶處理器,,內(nèi)部集成了12通道的相關(guān)器" title="相關(guān)器">相關(guān)器和先進(jìn)的ARM7TDMI微處理器,,因而減少了GPS接收機(jī)設(shè)計(jì)的復(fù)雜程度;同時(shí),,GP4020與GP2010或GP2015直接相連,,組成了GPS導(dǎo)航系統(tǒng)。
關(guān)鍵詞:GPS接收機(jī),; GP4020,; ARM7TDMI

?

??? 一個(gè)完整的GPS接收機(jī)包括三個(gè)模塊:下變頻模塊,、數(shù)字信號(hào)處理模塊" title="處理模塊">處理模塊和應(yīng)用信息模塊。本文介紹的GP4020基帶處理器包含數(shù)字信號(hào)處理模塊和應(yīng)用信息處理模塊,,因而減少了GPS基帶電路設(shè)計(jì)的復(fù)雜性,。GP4020工作電壓為3.3V,具有先進(jìn)的低功耗微處理器ARM7和可配置的外部數(shù)據(jù)總線,。


GP4020電路設(shè)計(jì)


與射頻電路的連接


??? GP4020與下變頻芯片GP2010結(jié)合使用,,組成完整的GPS接收機(jī),。GP2010將接收到的L1信號(hào)經(jīng)過(guò)三次下變頻,,變成中頻為4.309MHz的模擬信號(hào),然后再經(jīng)過(guò)采樣變成1.405MHz的2bit數(shù)字信號(hào)(TTL電平),。GP2010與GP4020共有7個(gè)管腳需要相連,,它們分別為SIGN(符號(hào))、MAG(量級(jí)),、SAMPCLK(采樣頻率),、CLK_I、CLK_T,、PLL_LOCK,、PRESET。其連接方式如圖1所示,。

?


????GP2010輸出的差分信號(hào)CLK_I和CLK_T連接到GP4020,,通過(guò)系統(tǒng)時(shí)鐘產(chǎn)生器產(chǎn)生40MHz信號(hào),并作為相關(guān)器的主時(shí)鐘,。CLK_I,、CLK_T管腳輸出的直流偏置電壓為2.1V,但由于GP4020的58,、59管腳的電平不能大于1.7V,,所以在設(shè)計(jì)時(shí),必須對(duì)GP2010進(jìn)行隔直,,同時(shí)通過(guò)電源給GP4020的58,、59管腳提供小于1.7V的偏置電壓。
??? GP2010的LD管腳接入GP4020的56管腳,。當(dāng)LD管腳由低變高時(shí), 表示射頻前端鎖相成功, 主時(shí)鐘(M_CLK 40MHz)已經(jīng)穩(wěn)定,。
GP2010的PRESET信號(hào)接入GP4020的Power_Good管腳,指示當(dāng)前電源的狀況,,高為正常,,低表示GP4020 進(jìn)入掉電模式。  
GP2010的SIGN和MAG信號(hào)分別接入到GP4020的61和62管腳,,將采樣后的中頻信號(hào)(符號(hào)和模)輸出到相關(guān)器,。
??? GP4020的63管腳連接GP2010的11管腳,,將5.714MHz的中頻采樣信號(hào)輸出至GP2010。


外部存儲(chǔ)器的擴(kuò)展


??? GP4020內(nèi)部提供了BOOTROM和8KB SRAM,,但通常情況下不能滿足一個(gè)完整的GPS接收機(jī)的存儲(chǔ)要求,,為此,需要外擴(kuò)Flash和SRAM,。
??? GP4020提供20位的地址總線和16位的數(shù)據(jù)總線,,以及其他相應(yīng)的控制信號(hào)。它能夠提供外界不同帶寬數(shù)據(jù)的接口,,而且可以任意設(shè)置讀或?qū)懙牡却隣顟B(tài),,這使得片內(nèi)的ARM內(nèi)核可以連接到幾乎所有類型的外存儲(chǔ)器或其他并行外設(shè)。在本文的設(shè)計(jì)中,,SRAM為CY7C1041CV33,,其工作電壓為3.3V,存儲(chǔ)空間為256K×16位,;Flash為SST39VF800A,,其工作電壓為3.3V,存儲(chǔ)空間為512K×16位,。


GP4020與SRAM的連接


??? SRAM由片選信號(hào)NSCS[1]進(jìn)行選通控制,。BHE、BLE分別為SRAM的低字節(jié)使能信號(hào)和高字節(jié)使能信號(hào),。本設(shè)計(jì)中,,SRAM工作在16位數(shù)據(jù)模式下,BHE與GP4020芯片的NSUB引腳相連,,NSUB為系統(tǒng)上部字節(jié)信號(hào),,低電平有效;BLE與GP4020芯片的A0腳相連,;WE為SRAM的寫使能信號(hào),,該引腳低電平時(shí),即對(duì)SRAM進(jìn)行寫操作,;OE為輸出使能信號(hào),,低電平有效;NSWE[O]為GP4020的系統(tǒng)寫使能信號(hào),,低電平有效,;NSOE為系統(tǒng)輸出使能信號(hào),低電平有效,。GP4020芯片與SRAM的連接如圖2所示,。

?


GP4020與Flash的連接


??? Flash與GP4020芯片的連接如圖3所示。NSWE[0]為GP4020的系統(tǒng)寫使能信號(hào),,低電平有效,;NSCS[0]為系統(tǒng)片選信號(hào),,低電平有效;NSOE為系統(tǒng)輸出使能信號(hào),,低電平有效,;CE為Flash的片選信號(hào),低電平有效,;OE為Flash的輸出使能信號(hào),,低電平有效;WE為Flash的寫使能信號(hào),,低電平有效(只在Flash進(jìn)行擦寫時(shí)才有效),。

?


通信與調(diào)試接口


UART接口


??? GP4020提供2個(gè)UART和1個(gè)JTAG接口。UART是雙向獨(dú)立的輸入輸出接口,,它提供一個(gè)0~3.3V的邏輯電平,,不能和計(jì)算機(jī)RS232接口相連。為使如果UART與RS232串口通信,,必須要有一個(gè)電平轉(zhuǎn)換器,把0~3.3V的邏輯電平轉(zhuǎn)換成能與計(jì)算機(jī)通信的電平,。在本設(shè)計(jì)中,,用MAX3232做電平轉(zhuǎn)換器,其接口電路如圖4所示,。

?


JTAG調(diào)試接口


??? JTAG調(diào)試接口與JTAG仿真器相連,,對(duì)ARM進(jìn)行調(diào)試。JTAG仿真器也稱為JTAG調(diào)試器,,是通過(guò)ARM芯片上的JTAG邊界掃描口進(jìn)行調(diào)試的設(shè)備,。圖5為JTAG信號(hào)連接圖。

?


系統(tǒng)的復(fù)位電路


??? 在系統(tǒng)中,,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位功能和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能,。本設(shè)計(jì)中的復(fù)位電路由簡(jiǎn)單的RC電路構(gòu)成,如圖6所示,。 ?

?


??? 在系統(tǒng)上電時(shí),,通過(guò)電阻R向電容充電,當(dāng)電容兩端的電壓未達(dá)到高電平" title="高電平">高電平的門限電壓時(shí),,NSRESET端輸出為低電平,,系統(tǒng)處于復(fù)位狀態(tài);當(dāng)電容兩端的電壓達(dá)到高電平的門限電壓時(shí),NSRESET端輸出為高電平,,系統(tǒng)進(jìn)入正常工作狀態(tài),。
??? 當(dāng)用戶按下按鈕時(shí),電容兩端的電荷被瀉放掉,, NSRESET端輸出為低電平,,系統(tǒng)進(jìn)入復(fù)位狀態(tài),,再重復(fù)以上的充電過(guò)程,系統(tǒng)進(jìn)入正常工作狀態(tài),。


GP4020其他管腳設(shè)計(jì)


MULTI_FNIO(54)管腳


??? 該管腳控制GP4020的啟動(dòng)方式,, 若MULTI_ FNIO在系統(tǒng)復(fù)位時(shí)輸入為高,則選中內(nèi)部Boot ROM,,系統(tǒng)啟動(dòng)后,,從串口1輸入程序代碼到內(nèi)部SRAM中執(zhí)行;若MULTI_FNIO在系統(tǒng)復(fù)位時(shí)輸入為低,,則選中外部Flash EPROM,,系統(tǒng)直接執(zhí)行外部Flash EPROM中的應(yīng)用程序,這是GPS接收機(jī)的正常工作狀態(tài),。系統(tǒng)設(shè)計(jì)時(shí),,通過(guò)設(shè)置跳線來(lái)選擇54引腳MULTI _FNIO的輸入值。


TEST(67)管腳和TESTMODE(74)管腳


??? 這兩個(gè)管腳一起決定GP4020的測(cè)試模式(通過(guò)條線來(lái)設(shè)置),,見表1所示,。

?


??? 當(dāng)TEST=0、TESTMODE=0時(shí),,GP4020為正常工作模式,。本設(shè)計(jì)中,將TEST管腳和TESTMODE管腳接地,。


NICE(84)管腳和NTRST(90)管腳


??? 這兩個(gè)管腳共同控制著GP4020測(cè)試接口模式,。NICE(84)=0,GP4020內(nèi)部的ARM7處于測(cè)試模式,。NICE(84)=1,GP4020為正常的操作模式,。具體模式如表2所示。

?


??? GP4020的工作模式通過(guò)跳線來(lái)設(shè)計(jì),。當(dāng)管腳NICE和NTRST都為高時(shí),,GP4020工作在正常模式下。


軟件設(shè)計(jì)


??? GP4020內(nèi)部的軟件設(shè)計(jì)主要由基帶信號(hào)處理和導(dǎo)航定位算法兩部分組成,?;鶐盘?hào)處理主要實(shí)現(xiàn)信號(hào)的解擴(kuò)、解調(diào),、位同步和幀同步,。導(dǎo)航定位算法主要是根據(jù)導(dǎo)航電文解算偽距、衛(wèi)星位置并計(jì)算出用戶的位置,。軟件設(shè)計(jì)主要包括主程序" title="主程序">主程序和中斷程序兩部分,。


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


??? 主程序主要由初始化模塊和主循環(huán)模塊組成。初始化模塊完成GP4020內(nèi)部相關(guān)器初始化、ARM內(nèi)的初始化以及串口的初始化,。主循環(huán)模塊主要檢測(cè)觀測(cè)量是否更新,,如果觀測(cè)量有更新,則更新估計(jì)的多普勒頻率和相關(guān)器通道的分配,,完成對(duì)部相關(guān)器的控制,。圖7為主程序流程圖。

?


??? 本文主要介紹相關(guān)器模塊的程序流程,。相關(guān)器模塊包括相關(guān)器控制模塊和觀測(cè)量提取模塊,。


相關(guān)器處理模塊軟件設(shè)計(jì)


?? 相關(guān)器處理模塊軟件工作流程圖如圖8所示,其主要功能如下:
?? (1)讀取并存儲(chǔ)I,、Q通道的積分累加值,。
?? (2)判斷信號(hào)是否被捕獲。
?? (3)更新前20ms內(nèi)解調(diào)數(shù)據(jù)的采樣值之和,。
?? (4)根據(jù)存儲(chǔ)的I,、Q積分值,更新碼,、載波指示器,。
?? (5)如果碼環(huán)和載波環(huán)已鎖定,進(jìn)入位同步操作,。
?? (6)根據(jù)存儲(chǔ)的 I,、Q積分值,進(jìn)行碼環(huán)的跟蹤,,根據(jù)碼跟蹤環(huán)的環(huán)路濾波器輸出的控制量去調(diào)整碼DCO。
?? (7)在1ms歷元計(jì)數(shù)器為零和位已經(jīng)同步時(shí),,進(jìn)入幀同步操作,并提取子幀以供主程序的子幀處理模塊處理,。環(huán)己經(jīng)鎖定,進(jìn)入位同步操作,。

?

?


觀測(cè)量提取模塊


??? 該模塊主要功能是在每個(gè)TIC時(shí)刻,,讀取相關(guān)器內(nèi)部的測(cè)量數(shù)據(jù)寄存器,獲得載波相位,、載波周期數(shù)以及碼相位,。其流程圖如圖9所示。

?


??? 如果滿足碼同步,、載波同步,、位同步和幀同步條件,則讀取相關(guān)器的碼相位,、載波相位,、載波整周計(jì)數(shù),并存取這些觀測(cè)量,以供主程序中更新導(dǎo)航解模塊處理,。


系統(tǒng)中斷服務(wù)程序流程


??? 中斷服務(wù)程序流程圖如圖10所示,。中斷服務(wù)程序是保證GPS實(shí)時(shí)性的關(guān)鍵部分,它主要完成衛(wèi)星信號(hào)的捕獲,、跟蹤及原始觀測(cè)量的提取等接收機(jī)中的核心工作,。GP4020中的相關(guān)器中斷周期可通過(guò)軟件進(jìn)行設(shè)置。相關(guān)器內(nèi)部默認(rèn)中斷周期為505us,,在不對(duì)相關(guān)器寄存器進(jìn)行配置的情況下,,每隔505?滋s,相關(guān)器發(fā)送中斷信號(hào),,通知處理器進(jìn)入中斷服務(wù)程序,。

?


??? GP4020相關(guān)器提供1ms的累加結(jié)果。在積分累加器信號(hào)累加之后,,會(huì)產(chǎn)生累加清除信號(hào),,清除積分器中的數(shù)據(jù)。所以進(jìn)入中斷后,,CPU首先要鎖住各狀態(tài)寄存器,,根據(jù)狀態(tài)值,判斷積分累加器有無(wú)新數(shù)據(jù)需要取走,,若有,,則將數(shù)據(jù)取出保存,以供后續(xù)判決使用,。保存完積分累加器中的數(shù)據(jù)后,,進(jìn)入搜索跟蹤環(huán)節(jié)。進(jìn)入此環(huán)節(jié)后,,需要根據(jù)各通道的狀態(tài),,轉(zhuǎn)入相應(yīng)的處理子程序。


系統(tǒng)測(cè)試


硬件的測(cè)試


?? (1)在加電之前,,首先測(cè)試電路板是否短路,,如果沒問(wèn)題,才可給電路板加電,。
?? (2)根據(jù)上述硬件的設(shè)計(jì),,加電之后測(cè)試整個(gè)電路板的電氣特性,保證每個(gè)管腳都正確連接,。
?? (3)測(cè)試從射頻前端輸入的CLK_I,、CKL_T信號(hào),此信號(hào)應(yīng)該是同頻反相的40MHz信號(hào),,如圖11所示,。
?? (4)測(cè)試GP4020的63管腳(SAMPLE)信號(hào),,此信號(hào)應(yīng)該是5.714MHz的方波信號(hào),結(jié)果如圖12所示,,這表明GP4020硬件已經(jīng)正常工作,。

?

?

?


軟件的調(diào)試


??? 在斷電的情況下,將GP4020的54管腳和84管腳設(shè)置成低,,將調(diào)試器通過(guò)GP4020的JTAG接口連接到目標(biāo)板,。在GPS接收機(jī)加電之后,系統(tǒng)進(jìn)入調(diào)試狀態(tài),,進(jìn)行多次調(diào)試,,使GPS接收機(jī)應(yīng)用軟件正常運(yùn)行。


軟件的運(yùn)行


??? 將GPS接收機(jī)斷電,,67管腳,、74管腳接低電平,84管腳,、90管腳接高電平,,這樣處理器工作在正常模式。同時(shí)將54管腳接低,,在GPS接收機(jī)加電后,,系統(tǒng)從外部的Flash啟動(dòng)。這時(shí)就可以通過(guò)PC機(jī)上的串口接收GPS接收機(jī)發(fā)送的數(shù)據(jù),。
??? 本文主要介紹GP4020基帶處理器的電路設(shè)計(jì)和軟件設(shè)計(jì)流程,,給出了GP4020重要的輸入輸出信號(hào)的測(cè)試結(jié)果。由于GP4020的硬件特性,,其內(nèi)部的相關(guān)器只提供了乘法器和積分累加器,,需要配合軟件算法才能完成信號(hào)捕獲與跟蹤。這樣,,一方面可以更深入地研究接收機(jī)的工作原理,,另一方面又可根據(jù)具體應(yīng)用而采用不同的軟件算法。這樣設(shè)計(jì)出來(lái)的接收機(jī)具有較好的可擴(kuò)展性,,為GPS接收機(jī)的研究提供一個(gè)很好的實(shí)驗(yàn)平臺(tái)。
參考文獻(xiàn)
[1] 黃勛.基于微處理器ARM的GPS接收機(jī)的設(shè)計(jì)[D].京信息工程大學(xué)碩士學(xué)位論文,,2006.
[2] 李士兵.基于GP4020的GPS接收機(jī)軟件設(shè)計(jì)[J].中國(guó)慣性技術(shù)學(xué)報(bào).2006,14(4).
[3] ZARLINK. DM5280. GP4020 GPS?baseband processor design manual.2001.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。