AT91 SAM9261在GPS接收機中的應用
關鍵詞 車栽系統 WinCE GPS AT91SAM926l
隨著科學的發展,GPS已經不是一個陌生的名詞了,GPS在海灣戰爭中大顯身手并給人以深刻的印象。GPS是由美國國防部(U.S.Department of Dcfense,DOD)開發的一套基于衛星的無線導航系統。GPS包括3個基本部分:太空部分、控制部分和用戶部分。GPS的工作概念是基于衛星的距離修正。用戶通過測量到太空各可視衛星的距離來計算它們的當前位置,衛星的左右相當于精確的已知參考點??臻g衛星連續發射包含導航電文的雙頻無線電信號,用戶通過用戶設備(即GPS接收機)接收的衛星信號,測定用戶至衛星距離或多普勒頻移等觀測量;根據導航電文,計算所觀測時刻的衛星位置和速度,從而0計算出用戶的位置和速度。本文以用戶部分為重點,說明控制芯片的選擇,硬件電路的設汁及軟件模塊的設計。
1 AT91SAM9261控制芯片簡介與比較
AT91SAM926l是Atmel公司新推出的ARM9 32位處理器。將它與常用的32位處理器S3C2410作一個簡單比較,以說明它的優越性能。AT91SAM926l采用了ARM926EJ-S內核并外擴了DSP指令設備和JAZELLEJava加速器。在工作頻率為180 MHz的情況下,其運算速度為200MIPS。S3C24lO采用的是ARM920T內核,雖然它的主頻最高可達200 MHz,但在處理諸如乘加指令時沒有AT91SAM926l快,尤其在處理流媒體數據時更為明顯。
AT9lSAM9261具有32 KB的ROM和160 KB的SRAM,還有新增的2個16 KB的數據緩存和指令緩存,32個I/O口,支持LCD和USB設備以及I2C總線接口和多媒體通信接口,所以開始的引導程序可以選擇放在內部ROM,從而提高運行速度。160 KB的內部SRAM在播放流媒體數據時起到了很好的幀緩沖作用。S3C2410采用的是NAND F1ash肩動引導,內部無SRAM。另外,AT91SAM9261發揮了ARM926EJ-S緊密式耦合內存架構的優勢,讓傳統(非高速緩存)SRAM直接連接到ARM處理器上而不會出現滯后情況。這樣強大的處理能力使其應用于GPS系統中游刃有余。
AT91SAM926l結構框圖如圖l所示,內部支持LCD控制器、串行通信口(包括USB從機模塊、UART、SPI以及I2C)和多媒體通信口;另外,還提供一個用于調試的JTAG接口。功耗方面,AT9lSAM926l待機電流儀為2.5μA;S3C2410為8~50μA,工作頻率為500Hz時,電流消耗為400μA。在工業級溫度范圍內,AT91SAM926l處理器性能達200 MIPS時,即使所有外設開啟,其工作電流也僅僅是65mA,而此時S3C2410的電流約為200mA。
現在,雖然市面上ARM處理器品種眾多,如主流的PXA2XX系列,它們的處理速度比AT91SAM9261高;但是AT91SAM9261價格便宜,功耗低,又能滿足本身設計需要,所以選擇AT91SAM9261比較合適。
2 GPS接收機硬件設計
2.1 接收機系統原理和結構
如圖2所示,用戶設備部分由以下幾個模塊組成:核心硬件電路、GPS模塊、液晶屏和觸摸屏、PC主機和音頻設備等。
圖3所示核心硬件電路以AT91SAM9261應用處理器為核心,使用2片16位的SDRAM配置成32位寬度的高性能存儲器,這樣在讀取數據時就可以以4字節為1個單位,從而加快數據的讀取速度。選用16M16位閃存存儲器,用于存儲WinCE操作系統和電子地圖信息。引導程序的啟動可以選擇從內部ROM或者外部ROM,采用外部引導程序啟動時,可以外擴DataFlash通過串口或以太網下載引導程序啟動。實際上,DataFlash是一個EEPROM結構的存儲器,將NPCS0片選信號連接到DataFlash的CS中,使系統一開始時尋址到的0x00地址正好是DataFlash的0x00地址,從而啟動Bootloader。
用戶設備的顯示部分是一個帶有3.5寸觸摸屏的LCD。LCD電路包括LCD時序電路、LCD電源、背光電源電路。電源輸出(這里以滿足SHAR LQ13351217DHOl為例),需要+15V、+5V和-10V的直流電源電壓以及由PWM控制的+2lV~+25V背光電源。在調試這幾個電源電路時要注意以下幾點:①由于輸出的電壓比較高,應避免輸出引腳和其他元件短接以免發生短路。充電泵整流器的帶負載能力有限,用于濾波的電容容抗不能太大。建議用陶瓷電容。③LCD部分的電流輸出不是很大(4mA),PCB的布局可以盡量緊湊;但LED電源PCB要考慮散熱性能(因為輸出的電流大約為20 mA),并且盡量遠離控制信號線。
2.2 GPS模塊介紹
GPS模塊是Atmel公司提供的。GPS模塊采用的是串行輸出,只要2個串行信號線就可以完成較精確的差分衛星定位。GPS模塊的支持電壓為2.7~3.3 V,功率小于100 mW/H。GPS模塊由變頻器模塊(ATR0600)、信號相關模塊(ATR06lO)、微處理器模塊(ATR0620)組成。圖4為GPS模塊結構框圖。
2.3 GPS模塊的PCB設計
GPS接收機前端為RF模塊。由于含有射頻信號,因此其PCB設計相對中低頻信號的PCB板來說要困難得多??偨Y筆者設計時遇到的困難及需要注意的事項,可以得到以下幾點啟示:
①射頻濾波器只有在位于天線與射頻濾波器之間的微波傳送帶的特征阻抗為50Ω的情況下才能正常工作。該傳送帶特征阻抗是PCB介質層問厚度為h、介電常數為εr、導線厚度為t,以及導線寬度為w的函數,所以在PCB板上放置該段導線時應根據相應的函數精確計算出微波傳送帶的寬度。該函數關系式為:
②布線時應將導線的電阻和電容效應都考慮在內,走線盡量短而直,不能走直角;元件布局時要防止產生寄生振蕩現象。特別是對于LC濾波電路,PCB板布線與電容和電感擺放所產生的分布參數都會直接影響這個濾波器,因而在布線過程中應注意:濾波器的元器件和引線與射頻信號線之間要保持良好的間隔,以防止互相之間的串擾;雙平衡信號的路徑要保持平行,并且長度相仿,這樣可以加強二者之間的耦合而減弱與其他線之間的耦合;第l級濾波器和射頻信號輸入電路之間留有足夠的空間,以實現相互隔離,保證系統的穩定性。
③模擬電源與數字電源隔離;數字地與模擬地分開,在兩者搭接處加入磁珠,防止互相干擾;連接電源和地的導線應盡量粗一些。
④應使用一個金屬罩將射頻部分電路屏蔽起來,防止與后面的數字電路發生互相干擾。
3 軟件模塊設計與開發
如圖5所示,軟件以電子地圖分析模塊及數據庫為中心,包括GPS模塊、通信模塊以及顯示和聲音輸出模塊。數據庫中記錄了各種地理數據。使用者在行動過程中,由GPS模塊接收,分析衛星信號,計算出當前的經緯度、速度和方向等數值,就可以得到使用者在電子地圖上的確切位置。定時記錄位置移動情況就可以在LCD上顯示直觀的路線圖??梢栽诖嘶A上開發車輛導航系統。
開發過程中用到的工具主要有Platform Builder和EVC。Platforrrt Builder生成一個面向目標板的特定的WinCE操作系統。在生成Platform時,要選用正確的BSP。可以通過修改AT9lSAM9261DK開發板自帶的BSP包來滿足設計要求,使得BSP包的開發變得簡單而快速。BSP主要包括Bootloader、OAL和驅動程序。
由于篇幅有限,在這里只作簡單介紹:
①Bootloader是在操作系統內核運行之前運行的一段程序,用于初始化硬件設備,建立系統內存空間映射;而最重要的就是將操作系統內核映像加載列RAM中,并且把系統控制權交給它。在接收機手持設備系統中,這里可以不改。
②OAL(即OEM適配層)是邏輯上駐留在WinCE內核與目標設備之間的代碼,用于實現WinCE內核與目標設備之間的通信。這里,除了基本的初始化功能外,還另外添加了電源管理方面的函數OEMIdle和OEMPowerOff,使其基本滿足手持設備在功耗方面的要求。
③驅動程序是BSP開發的重要部分,是用戶模式的動態鏈接庫(DII),是一個抽象物理設備或虛擬設備的功能軟件。一般可分為內建驅動程序(如鍵盤驅動程序)和流驅動程序(如串口驅動、DataFlash驅動、以太網驅動等)。它們都是由設備管理器來加載的。
EVC開發GPS系統的軟件部分類似于VC中的項目開發。程序編好以后可以通過USB口下載到目標板上進行調試,并開發新的功能。
結語
GPS是當前應用最廣泛的導航定位系統。在歐美等發達地區,利用GPS車載導航系統來改進交通有廣闊的應用前景。AT915AM9261嵌入式處理器有較高的性能,在類似方面的應用中大有可為。
評論