摘?要:介紹了基于GP4020的GPS接收機的電路設(shè)計及軟件設(shè)計" title="軟件設(shè)計">軟件設(shè)計。GP4020是ZARLINK公司推出的GPS接收機數(shù)字基帶處理器,內(nèi)部集成了12通道的相關(guān)器" title="相關(guān)器">相關(guān)器和先進的ARM7TDMI微處理器,因而減少了GPS接收機設(shè)計的復(fù)雜程度;同時,GP4020與GP2010或GP2015直接相連,組成了GPS導(dǎo)航系統(tǒng)。
關(guān)鍵詞:GPS接收機; GP4020; ARM7TDMI
?
??? 一個完整的GPS接收機包括三個模塊:下變頻模塊、數(shù)字信號處理模塊" title="處理模塊">處理模塊和應(yīng)用信息模塊。本文介紹的GP4020基帶處理器包含數(shù)字信號處理模塊和應(yīng)用信息處理模塊,因而減少了GPS基帶電路設(shè)計的復(fù)雜性。GP4020工作電壓為3.3V,具有先進的低功耗微處理器ARM7和可配置的外部數(shù)據(jù)總線。
GP4020電路設(shè)計
與射頻電路的連接
??? GP4020與下變頻芯片GP2010結(jié)合使用,組成完整的GPS接收機。GP2010將接收到的L1信號經(jīng)過三次下變頻,變成中頻為4.309MHz的模擬信號,然后再經(jīng)過采樣變成1.405MHz的2bit數(shù)字信號(TTL電平)。GP2010與GP4020共有7個管腳需要相連,它們分別為SIGN(符號)、MAG(量級)、SAMPCLK(采樣頻率)、CLK_I、CLK_T、PLL_LOCK、PRESET。其連接方式如圖1所示。
?
????GP2010輸出的差分信號CLK_I和CLK_T連接到GP4020,通過系統(tǒng)時鐘產(chǎn)生器產(chǎn)生40MHz信號,并作為相關(guān)器的主時鐘。CLK_I、CLK_T管腳輸出的直流偏置電壓為2.1V,但由于GP4020的58、59管腳的電平不能大于1.7V,所以在設(shè)計時,必須對GP2010進行隔直,同時通過電源給GP4020的58、59管腳提供小于1.7V的偏置電壓。
??? GP2010的LD管腳接入GP4020的56管腳。當(dāng)LD管腳由低變高時, 表示射頻前端鎖相成功, 主時鐘(M_CLK 40MHz)已經(jīng)穩(wěn)定。
GP2010的PRESET信號接入GP4020的Power_Good管腳,指示當(dāng)前電源的狀況,高為正常,低表示GP4020 進入掉電模式。
GP2010的SIGN和MAG信號分別接入到GP4020的61和62管腳,將采樣后的中頻信號(符號和模)輸出到相關(guān)器。
??? GP4020的63管腳連接GP2010的11管腳,將5.714MHz的中頻采樣信號輸出至GP2010。
外部存儲器的擴展
??? GP4020內(nèi)部提供了BOOTROM和8KB SRAM,但通常情況下不能滿足一個完整的GPS接收機的存儲要求,為此,需要外擴Flash和SRAM。
??? GP4020提供20位的地址總線和16位的數(shù)據(jù)總線,以及其他相應(yīng)的控制信號。它能夠提供外界不同帶寬數(shù)據(jù)的接口,而且可以任意設(shè)置讀或?qū)懙牡却隣顟B(tài),這使得片內(nèi)的ARM內(nèi)核可以連接到幾乎所有類型的外存儲器或其他并行外設(shè)。在本文的設(shè)計中,SRAM為CY7C1041CV33,其工作電壓為3.3V,存儲空間為256K×16位;Flash為SST39VF800A,其工作電壓為3.3V,存儲空間為512K×16位。
GP4020與SRAM的連接
??? SRAM由片選信號NSCS[1]進行選通控制。BHE、BLE分別為SRAM的低字節(jié)使能信號和高字節(jié)使能信號。本設(shè)計中,SRAM工作在16位數(shù)據(jù)模式下,BHE與GP4020芯片的NSUB引腳相連,NSUB為系統(tǒng)上部字節(jié)信號,低電平有效;BLE與GP4020芯片的A0腳相連;WE為SRAM的寫使能信號,該引腳低電平時,即對SRAM進行寫操作;OE為輸出使能信號,低電平有效;NSWE[O]為GP4020的系統(tǒng)寫使能信號,低電平有效;NSOE為系統(tǒng)輸出使能信號,低電平有效。GP4020芯片與SRAM的連接如圖2所示。
?
GP4020與Flash的連接
??? Flash與GP4020芯片的連接如圖3所示。NSWE[0]為GP4020的系統(tǒng)寫使能信號,低電平有效;NSCS[0]為系統(tǒng)片選信號,低電平有效;NSOE為系統(tǒng)輸出使能信號,低電平有效;CE為Flash的片選信號,低電平有效;OE為Flash的輸出使能信號,低電平有效;WE為Flash的寫使能信號,低電平有效(只在Flash進行擦寫時才有效)。
?
通信與調(diào)試接口
UART接口
??? GP4020提供2個UART和1個JTAG接口。UART是雙向獨立的輸入輸出接口,它提供一個0~3.3V的邏輯電平,不能和計算機RS232接口相連。為使如果UART與RS232串口通信,必須要有一個電平轉(zhuǎn)換器,把0~3.3V的邏輯電平轉(zhuǎn)換成能與計算機通信的電平。在本設(shè)計中,用MAX3232做電平轉(zhuǎn)換器,其接口電路如圖4所示。
?
JTAG調(diào)試接口
??? JTAG調(diào)試接口與JTAG仿真器相連,對ARM進行調(diào)試。JTAG仿真器也稱為JTAG調(diào)試器,是通過ARM芯片上的JTAG邊界掃描口進行調(diào)試的設(shè)備。圖5為JTAG信號連接圖。
?
系統(tǒng)的復(fù)位電路
??? 在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位功能和系統(tǒng)在運行時用戶的按鍵復(fù)位功能。本設(shè)計中的復(fù)位電路由簡單的RC電路構(gòu)成,如圖6所示。 ?
?
??? 在系統(tǒng)上電時,通過電阻R向電容充電,當(dāng)電容兩端的電壓未達(dá)到高電平" title="高電平">高電平的門限電壓時,NSRESET端輸出為低電平,系統(tǒng)處于復(fù)位狀態(tài);當(dāng)電容兩端的電壓達(dá)到高電平的門限電壓時,NSRESET端輸出為高電平,系統(tǒng)進入正常工作狀態(tài)。
??? 當(dāng)用戶按下按鈕時,電容兩端的電荷被瀉放掉, NSRESET端輸出為低電平,系統(tǒng)進入復(fù)位狀態(tài),再重復(fù)以上的充電過程,系統(tǒng)進入正常工作狀態(tài)。
GP4020其他管腳設(shè)計
MULTI_FNIO(54)管腳
??? 該管腳控制GP4020的啟動方式, 若MULTI_ FNIO在系統(tǒng)復(fù)位時輸入為高,則選中內(nèi)部Boot ROM,系統(tǒng)啟動后,從串口1輸入程序代碼到內(nèi)部SRAM中執(zhí)行;若MULTI_FNIO在系統(tǒng)復(fù)位時輸入為低,則選中外部Flash EPROM,系統(tǒng)直接執(zhí)行外部Flash EPROM中的應(yīng)用程序,這是GPS接收機的正常工作狀態(tài)。系統(tǒng)設(shè)計時,通過設(shè)置跳線來選擇54引腳MULTI _FNIO的輸入值。
TEST(67)管腳和TESTMODE(74)管腳
??? 這兩個管腳一起決定GP4020的測試模式(通過條線來設(shè)置),見表1所示。
?
??? 當(dāng)TEST=0、TESTMODE=0時,GP4020為正常工作模式。本設(shè)計中,將TEST管腳和TESTMODE管腳接地。
NICE(84)管腳和NTRST(90)管腳
??? 這兩個管腳共同控制著GP4020測試接口模式。NICE(84)=0,GP4020內(nèi)部的ARM7處于測試模式。NICE(84)=1,GP4020為正常的操作模式。具體模式如表2所示。
?
??? GP4020的工作模式通過跳線來設(shè)計。當(dāng)管腳NICE和NTRST都為高時,GP4020工作在正常模式下。
軟件設(shè)計
??? GP4020內(nèi)部的軟件設(shè)計主要由基帶信號處理和導(dǎo)航定位算法兩部分組成。基帶信號處理主要實現(xiàn)信號的解擴、解調(diào)、位同步和幀同步。導(dǎo)航定位算法主要是根據(jù)導(dǎo)航電文解算偽距、衛(wèi)星位置并計算出用戶的位置。軟件設(shè)計主要包括主程序" title="主程序">主程序和中斷程序兩部分。
主程序設(shè)計
??? 主程序主要由初始化模塊和主循環(huán)模塊組成。初始化模塊完成GP4020內(nèi)部相關(guān)器初始化、ARM內(nèi)的初始化以及串口的初始化。主循環(huán)模塊主要檢測觀測量是否更新,如果觀測量有更新,則更新估計的多普勒頻率和相關(guān)器通道的分配,完成對部相關(guān)器的控制。圖7為主程序流程圖。
?
??? 本文主要介紹相關(guān)器模塊的程序流程。相關(guān)器模塊包括相關(guān)器控制模塊和觀測量提取模塊。
相關(guān)器處理模塊軟件設(shè)計
?? 相關(guān)器處理模塊軟件工作流程圖如圖8所示,其主要功能如下:
?? (1)讀取并存儲I、Q通道的積分累加值。
?? (2)判斷信號是否被捕獲。
?? (3)更新前20ms內(nèi)解調(diào)數(shù)據(jù)的采樣值之和。
?? (4)根據(jù)存儲的I、Q積分值,更新碼、載波指示器。
?? (5)如果碼環(huán)和載波環(huán)已鎖定,進入位同步操作。
?? (6)根據(jù)存儲的 I、Q積分值,進行碼環(huán)的跟蹤,根據(jù)碼跟蹤環(huán)的環(huán)路濾波器輸出的控制量去調(diào)整碼DCO。
?? (7)在1ms歷元計數(shù)器為零和位已經(jīng)同步時,進入幀同步操作,并提取子幀以供主程序的子幀處理模塊處理。環(huán)己經(jīng)鎖定,進入位同步操作。
?
?
觀測量提取模塊
??? 該模塊主要功能是在每個TIC時刻,讀取相關(guān)器內(nèi)部的測量數(shù)據(jù)寄存器,獲得載波相位、載波周期數(shù)以及碼相位。其流程圖如圖9所示。
?
??? 如果滿足碼同步、載波同步、位同步和幀同步條件,則讀取相關(guān)器的碼相位、載波相位、載波整周計數(shù),并存取這些觀測量,以供主程序中更新導(dǎo)航解模塊處理。
系統(tǒng)中斷服務(wù)程序流程
??? 中斷服務(wù)程序流程圖如圖10所示。中斷服務(wù)程序是保證GPS實時性的關(guān)鍵部分,它主要完成衛(wèi)星信號的捕獲、跟蹤及原始觀測量的提取等接收機中的核心工作。GP4020中的相關(guān)器中斷周期可通過軟件進行設(shè)置。相關(guān)器內(nèi)部默認(rèn)中斷周期為505us,在不對相關(guān)器寄存器進行配置的情況下,每隔505?滋s,相關(guān)器發(fā)送中斷信號,通知處理器進入中斷服務(wù)程序。
?
??? GP4020相關(guān)器提供1ms的累加結(jié)果。在積分累加器信號累加之后,會產(chǎn)生累加清除信號,清除積分器中的數(shù)據(jù)。所以進入中斷后,CPU首先要鎖住各狀態(tài)寄存器,根據(jù)狀態(tài)值,判斷積分累加器有無新數(shù)據(jù)需要取走,若有,則將數(shù)據(jù)取出保存,以供后續(xù)判決使用。保存完積分累加器中的數(shù)據(jù)后,進入搜索跟蹤環(huán)節(jié)。進入此環(huán)節(jié)后,需要根據(jù)各通道的狀態(tài),轉(zhuǎn)入相應(yīng)的處理子程序。
系統(tǒng)測試
硬件的測試
?? (1)在加電之前,首先測試電路板是否短路,如果沒問題,才可給電路板加電。
?? (2)根據(jù)上述硬件的設(shè)計,加電之后測試整個電路板的電氣特性,保證每個管腳都正確連接。
?? (3)測試從射頻前端輸入的CLK_I、CKL_T信號,此信號應(yīng)該是同頻反相的40MHz信號,如圖11所示。
?? (4)測試GP4020的63管腳(SAMPLE)信號,此信號應(yīng)該是5.714MHz的方波信號,結(jié)果如圖12所示,這表明GP4020硬件已經(jīng)正常工作。
?
?
?
軟件的調(diào)試
??? 在斷電的情況下,將GP4020的54管腳和84管腳設(shè)置成低,將調(diào)試器通過GP4020的JTAG接口連接到目標(biāo)板。在GPS接收機加電之后,系統(tǒng)進入調(diào)試狀態(tài),進行多次調(diào)試,使GPS接收機應(yīng)用軟件正常運行。
軟件的運行
??? 將GPS接收機斷電,67管腳、74管腳接低電平,84管腳、90管腳接高電平,這樣處理器工作在正常模式。同時將54管腳接低,在GPS接收機加電后,系統(tǒng)從外部的Flash啟動。這時就可以通過PC機上的串口接收GPS接收機發(fā)送的數(shù)據(jù)。
??? 本文主要介紹GP4020基帶處理器的電路設(shè)計和軟件設(shè)計流程,給出了GP4020重要的輸入輸出信號的測試結(jié)果。由于GP4020的硬件特性,其內(nèi)部的相關(guān)器只提供了乘法器和積分累加器,需要配合軟件算法才能完成信號捕獲與跟蹤。這樣,一方面可以更深入地研究接收機的工作原理,另一方面又可根據(jù)具體應(yīng)用而采用不同的軟件算法。這樣設(shè)計出來的接收機具有較好的可擴展性,為GPS接收機的研究提供一個很好的實驗平臺。
參考文獻
[1] 黃勛.基于微處理器ARM的GPS接收機的設(shè)計[D].京信息工程大學(xué)碩士學(xué)位論文,2006.
[2] 李士兵.基于GP4020的GPS接收機軟件設(shè)計[J].中國慣性技術(shù)學(xué)報.2006,14(4).
[3] ZARLINK. DM5280. GP4020 GPS?baseband processor design manual.2001.