專利名稱:全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法
技術領域:
本發(fā)明屬于嵌入式設計領域,一種基于Nucleus (—款操作系統(tǒng)的名稱)實時操作 系統(tǒng)的全球定位系統(tǒng)(GPS)基帶算法可重構實現(xiàn)的調度方法,成功地實現(xiàn)了多通道GPS基 帶算法中的并行捕獲和跟蹤,可應用于面向移動通信終端的高性能嵌入式可重構陣列片上 系統(tǒng)(SoC)芯片設計中通信基帶算法的優(yōu)化。
背景技術:
在嵌入式系統(tǒng)快速發(fā)展的今天,以交互式媒體處理、高性能移動計算等為代表的 新一代應用,對嵌入式終端的性能、功耗、靈活性、集成度和成本等提出了苛刻的要求。由通 用處理器和可重構陣列構成的新型可重構系統(tǒng),具有通用處理器的靈活性和專用集成電路 的高效率,同時也是探索一條解決納米級芯片高昂設計和投片成本的新路,是處理器發(fā)展 的新方向。隨著GPS應用的迅速發(fā)展,GPS作為多媒體應用的一種越來越多地應用在手持 設備上,對手持設備的性能提出了更高的要求,如果能將GPS與可重構系統(tǒng)相結合將會有 效解決這個問題。GPS信號接收機能夠接收并處理GPS信號,實現(xiàn)用戶位置和速度的解算。GPS信號 接收機主要包括天線單元、A/D (模擬/數(shù)字)變換、信號處理部分和信息處理部分。GPS基 帶算法為接收機的信號處理部分。傳統(tǒng)的GPS信號接收機分為硬件接收機和軟件接收機, 在硬件接收機中,信號的接收、相關運算、捕獲、跟蹤等算法都是在硬件中實現(xiàn)的;軟件接收 機把相關運算、捕獲、跟蹤等全部在軟件中實現(xiàn),軟件部分的輸入就是A/D得到的數(shù)字中頻 信號,A/D變換之后的部分都是用軟件實現(xiàn)的。本發(fā)明所針對的采用可重構技術實現(xiàn)的GPS基帶算法與傳統(tǒng)的軟硬件實現(xiàn)方法 都不相同,是兩種實現(xiàn)方法的結合。GPS基帶算法具有通信基帶的典型特征,通過提煉基帶 算法中共有的特征算法,然后通過配置信息映射到可重構陣列上。它將A/D得到的數(shù)字中 頻信號作為輸入,由可重構系統(tǒng)來完成捕獲和跟蹤算法,同一硬件完成不同算法是通過軟 件即配置信息來控制的,變換不同的配置信息可重構陣列就可以完成不同的算法。在可重 構系統(tǒng)上實現(xiàn)GPS基帶算法,是對多導航系統(tǒng)接收機在可重構系統(tǒng)上的嘗試,驗證了伽利 略(GALILEO)和格洛納斯(GL0NASS)系統(tǒng)使用可重構技術的可行性,同時GPS導航定位作為 多媒體的一項應用,它的算法處理要求和數(shù)據(jù)流傳輸方式可以指導可重構架構的設計,增 強可重構處理器在多媒體處理方面的靈活性。在可重構系統(tǒng)上實現(xiàn)12通道的并行捕獲和跟蹤的過程中凸顯出很多問題,如跟 蹤通道如何完成Ims的實時跟蹤、捕獲和跟蹤同時使用可重構陣列時如何合理地分配資 源、跟蹤環(huán)路的運行要等待相關運算的數(shù)據(jù)以及相關運算、跟蹤環(huán)路和捕獲如何自由地切 換。為了解決這些問題,需要引入了 Nucleus實時操作系統(tǒng),在增加很小的額外開銷的情況 下,合理、高效地完成了多通道GPS基帶算法中相關運算、跟蹤環(huán)路和捕獲的調度。Nucleus實時操作系統(tǒng)對CPU的支持能力比較強,支持當前流行的大多數(shù)精簡指 令集處理器(RISC)、復雜指令集處理器(CISC)、數(shù)字信號處理(DSP)處理器,是面向實時性要求較高的嵌入式應用而設計的,可以完成實時、任務搶先式、多任務處理。Nucleus操作 系統(tǒng)內核提供其它實時內核都具有的系統(tǒng)服務,比如任務控制、任務通信、任務同步、內存 管理、可編程的定時器、標準的輸入/輸出設備接口等。對任務的調度依賴優(yōu)先級、時間片 的方法,可以選擇掛起一個任務按照先入先出(FIFO)的順序或按照優(yōu)先級的順序。應用 Nucleus PLUS以上各種調度機制可以極大地提高實時應用程序的開發(fā)效率,這些可以轉變 成更低的開發(fā)投資和更短的開發(fā)周期。
發(fā)明內容
技術問題本發(fā)明的目的在于考慮到全球定位系統(tǒng)基帶算法捕獲和跟蹤的實現(xiàn)涉 及到并行運算、資源管理和數(shù)據(jù)的實時處理,針對全球定位系統(tǒng)基帶算法的各組成算法的 運行順序、相互之間的依賴關系、對可重構硬件資源的使用和實時性要求都不盡相同的情 況,引入了 Nucleus實時操作系統(tǒng),在增加很小的額外開銷的情況下,合理、高效地完成了 多通道全球定位系統(tǒng)基帶算法中相關運算、跟蹤環(huán)路和捕獲的調度,讓各算法之間協(xié)調地 運行,最終在可重構陣列上實現(xiàn)全球定位系統(tǒng)基帶算法的并行捕獲和跟蹤。技術方案為解決上述技術問題,本發(fā)明提供的技術方案為該方法用于可重構 系統(tǒng),該可重構系統(tǒng)包括主處理器,作為協(xié)處理器的可重構陣列,直接存儲器讀取控制器 模塊、中斷控制器模塊、外部存儲器、總線;可重構陣列、直接存儲器讀取控制器模塊、中斷 控制器模塊和外部存儲器通過總線與主處理器相連;其中,可重構陣列是一個8X8的運算 單元陣列,完成算法的加速,每個運算單元以算術邏輯單元為基本單元,能夠在一個周期內 完成乘法運算、移位加減法運算、邏輯運算、絕對值運算等復雜的單個運算;直接存儲器讀 取控制器模塊用于向可重構陣列傳輸配置信息;中斷控制器模塊提供了主處理器和可重 構陣列之間的同步方式,該方法包括如下步驟首先,根據(jù)全球定位系統(tǒng)基帶算法的各組 成算法的特點,確定各組成算法對硬件資源的使用方法,該使用方法包括如下步驟全球定 位系統(tǒng)基帶算法包括捕獲算法和跟蹤算法,捕獲算法的組成算法均由可重構陣列來實現(xiàn), 捕獲結束之后全球定位系統(tǒng)接收機進入信號的跟蹤狀態(tài),跟蹤算法由相關運算和跟蹤環(huán) 路運算組成,相關運算完成1毫秒基帶數(shù)字信號的載波剝離和碼剝離并累加,涉及到大量 數(shù)據(jù)重復循環(huán)運算,由可重構陣列來實現(xiàn);跟蹤環(huán)路運算由碼環(huán)和載波環(huán)構成,實現(xiàn)跟蹤信 號的碼相位和載波頻偏,使本地碼、本地載波與輸入信號的碼和載波近似達到同頻同相,跟 蹤環(huán)路運算由主處理器來完成;其次,借鑒全球定位系統(tǒng)硬件接收機的調度方法,全球定位 系統(tǒng)基帶算法通過對Nucleus操作系統(tǒng)提供的優(yōu)先級機制、信號量機制、事件組機制、中斷 機制的使用來實現(xiàn)對各組成算法的調度。全球定位系統(tǒng)基帶算法利用Nucleus操作系統(tǒng) 提供的優(yōu)先級機制解決跟蹤通道如何完成1毫秒的實時跟蹤;全球定位系統(tǒng)基帶算法利用 Nucleus操作系統(tǒng)提供的信號量機制完成捕獲算法和跟蹤算法對可重構陣列資源的合理分 配;全球定位系統(tǒng)基帶算法利用Nucleus操作系統(tǒng)提供的事件組機制完成跟蹤環(huán)路和相關 運算的并行處理;全球定位系統(tǒng)基帶算法利用Nucleus操作系統(tǒng)提供的中斷機制完成相關 運算、跟蹤環(huán)路和捕獲算法的自由地切換,從而完成多通道全球定位系統(tǒng)基帶算法各組成 算法之間的調度,完成全球定位系統(tǒng)基帶算法的可重構實現(xiàn)。全球定位系統(tǒng)基帶算法對Nucleus操作系統(tǒng)提供的優(yōu)先級機制的使用方法包括 如下步驟在多通道全球定位系統(tǒng)基帶算法中,捕獲運算優(yōu)先級最低,只要捕獲沒有完成通道就一直處于捕獲模式,某一通道完成捕獲后轉換到跟蹤模式;跟蹤模式中包含兩類運算 相關運算和跟蹤環(huán)路運算,跟蹤環(huán)路運算需要相關運算后的數(shù)據(jù),相關運算必須先執(zhí)行,它 的優(yōu)先級最高,跟蹤環(huán)路運算優(yōu)先級次之;在1毫秒的時間間隔內,相關運算和跟蹤環(huán)路運 算總是最先得到執(zhí)行,等所有的跟蹤運算完成后才會將優(yōu)先權交給捕獲運算;跟蹤運算此 時處于掛起狀態(tài),等待下1毫秒的硬中斷到來時,跟蹤運算才會進入就緒狀態(tài)。全球定位系統(tǒng)基帶算法對Nucleus操作系統(tǒng)提供的信號量機制的使用方法包括 如下步驟多通道捕獲和跟蹤時,捕獲運算和跟蹤運算中的相關運算都在可重構陣列上運 行,可重構陣列是一種公共的系統(tǒng)資源,通過對信號量的控制來完成對可重構陣列資源的 分配,相關運算的優(yōu)先級相對較高,優(yōu)先獲得可重構陣列的信號量,相關運算完成后可重構 陣列會產(chǎn)生一次中斷,在其中斷處理程序中釋放可重構陣列的信號量,只有當所有相關運 算全部完成后,捕獲運算才有可能獲得可重構陣列的信號量。全球定位系統(tǒng)基帶算法基帶算法對Nucleus操作系統(tǒng)提供的事件組機制的使用 方法包括如下步驟引入事件組之后,每次相關運算完成后,將對應通道的事件置位,當下 一次相關運算配置完成后,環(huán)路運算就可以獲得主處理器的控制權,獲取對應通道的事件 并完成環(huán)路運算,這樣就使環(huán)路運算和相關運算有效地并行運行;另外當毫秒的硬中斷產(chǎn) 生時,對跟蹤運算事件組置位,這時跟蹤運算才能進入就緒狀態(tài)。全球定位系統(tǒng)基帶算法基帶算法對Nucleus操作系統(tǒng)提供的中斷機制的使 用方法包括如下步驟在操作系統(tǒng)中使用了兩個中斷可重構陣列中斷和1毫秒實時中斷;由于低級中斷服務程序只能處理一些簡單的任務,耗時不能過長,而高級中斷服務程 序則可以處理相對較長時間的任務,因此在低級中斷服務程序中完成清除硬件中斷操作并 激活高級中斷服務程序;中斷以及信號量的使用,可以高效地管理可重構陣列的資源,使得 可重構陣列得到最大程度的使用,同時保證捕獲運算和跟蹤運算按照優(yōu)先級順序并行不悖 地運行,1毫秒的實時中斷保證了跟蹤的硬實時要求,使得跟蹤運算在最短的時間內獲得資 源并對中斷作出響應;當兩個中斷同時到來時,1毫秒實時中斷應優(yōu)先得到執(zhí)行,因此1毫 秒實時中斷的優(yōu)先級應高于可重構陣列中斷的優(yōu)先級。有益效果(1)本發(fā)明所實現(xiàn)的可重構系統(tǒng)上的全球定位系統(tǒng)接收機,充分發(fā)揮 可重構系統(tǒng)強大的并行重復運算的優(yōu)勢,具有與軟件接收機相似的靈活性,并且以更小的 硬件代價完成全球定位系統(tǒng)基帶信號處理。(2)本發(fā)明所實現(xiàn)的全球定位系統(tǒng)基帶算法如果不使用Nucleus實時操作系統(tǒng), 多通道的捕獲運算、相關運算和跟蹤環(huán)路運算無法有效地進行調度,可重構陣列(RCA)資源 不能得到有效的使用,實時性要求不能得到保證。使用Nucleus實時操作系統(tǒng)后,以上問題 都得到了圓滿的解決。設置事件、獲取事件、獲取信號量、釋放信號量、低級中斷處理程序、高級中斷處理 程序和任務調度等是操作系統(tǒng)的常規(guī)調度機制,每一種機制占一次跟蹤運算時間比例都低 于10%,頻繁的任務間切換、信號量的獲取與釋放、中斷的處理、事件的設置與獲取等占整個 跟蹤運算時間的比例低于40%,雖然損失了一部分運算時間,卻成功實現(xiàn)了復雜的多任務實 時處理。Correlation ()和LOOP ()為跟蹤的相關運算和環(huán)路運算,前者在可重構陣列(RCA) 上運行,后者在微處理器內核上運行,實驗結果表明這兩種運算占整個跟蹤時間比例都超 過了 50%,如果沒有操作系統(tǒng)的介入,并行運算是不可能實現(xiàn)的,從這個角度來說,引入操作系統(tǒng)對運算時間的控制和運算效率的提高是有利的。通過引入Nucleus實時操作系統(tǒng)成功 實現(xiàn)了多顆衛(wèi)星的搜索與跟蹤。
圖1為多通道捕獲和跟蹤對硬件資源的使用; 圖2為事件組在相關運算和環(huán)路運算中的運用; 圖3為GPS基帶算法調度對中斷的使用;圖4為GPS基帶算法捕獲部分的原理框圖; 圖5為多通道GPS基帶算法的工作流程。
具體實施例方式下面結合附圖對本發(fā)明做進一步說明。說明1 全文用到的英文含義=Nucleus (—款操作系統(tǒng)的名稱),ARM (—款處理器 名稱),直接存儲器讀取控制器(DMAC),可重構陣列(RCA),算術邏輯單元(ALU),低級中斷 服務程序(LISR),高級中斷服務程序(HISR),精簡指令集處理器(RISC)、復雜指令集處理 器(CISC)、數(shù)字信號處理(DSP)處理器。本發(fā)明針對多通道捕獲和跟蹤的實現(xiàn)涉及到并行運算、資源管理和數(shù)據(jù)的實時處 理等情況,在增加很小的額外開銷的情況下,合理、高效地完成了多通道GPS基帶算法中相 關運算、跟蹤環(huán)路和捕獲的調度,讓各算法之間協(xié)調運行;其實現(xiàn)方法所針對的系統(tǒng)是以 ARM (一款處理器名稱)為主處理器,可重構陣列作為協(xié)處理器等組成的可重構系統(tǒng);方法是 借鑒GPS硬件接收機的調度方法,利用Nucleus (—款操作系統(tǒng)名稱)操作系統(tǒng)提供的優(yōu)先 級機制、信號量機制、事件組機制及中斷機制,解決了跟蹤通道如何完成Ims的實時跟蹤、 捕獲和跟蹤如何合理地分配資源、跟蹤環(huán)路和相關運算的并行處理以及相關運算、跟蹤環(huán) 路和捕獲如何自由地切換等問題,實現(xiàn)多通道GPS基帶處理算法的調度。本專利申請的實現(xiàn)方法應用于以ARM (—款處理器名稱)為主處理器,可重構陣列 作為協(xié)處理器,另外還包括直接存儲器讀取控制器(DMAC)模塊、中斷控制器模塊、外部存儲 器(memory)等組成的可重構系統(tǒng)。其中,可重構陣列是一個8X8的運算單元陣列,完成 算法的加速,每個運算單元以算術邏輯單元(ALU)為基本單元,能夠在一個周期內完成乘法 運算、移位加減法運算、邏輯運算、絕對值運算等復雜的單個運算;直接存儲器讀取控制器 (DMAC)主要用于向可重構陣列傳輸配置信息;中斷控制器提供了 ARM和可重構陣列之間的 同步方式。方法是借鑒GPS硬件接收機的調度方法,利用Nucleus操作系統(tǒng)提供的優(yōu)先級機 制、信號量機制、事件組機制及中斷機制完成各算法任務的調度,解決了跟蹤通道如何完成 Ims的實時跟蹤、捕獲和跟蹤同時使用可重構陣列時如何合理地分配資源、跟蹤環(huán)路的運行 要等待相關運算的數(shù)據(jù)以及相關運算、跟蹤環(huán)路和捕獲如何自由地切換等問題,實現(xiàn)了多 通道GPS基帶算法的調度。相關運算完成Ims基帶數(shù)字信號的載波剝離和碼剝離并累加,涉及到大量數(shù)據(jù)重 復循環(huán)運算,由可重構陣列來實現(xiàn)。Nucleus實時操作系統(tǒng)對GPS基帶算法的調度主要包括以下四個方面(1)多通道GPS基帶算法對優(yōu)先級機制的使用(2)多通道GPS基帶算法對信號量機制的使用(3)多通道GPS基帶算法對事件組機制的使用(4)多通道GPS基帶算法對中斷機制的使用可重構實現(xiàn)的GPS基帶算法的各組成算法對硬件資源的使用由電子工業(yè)出版社出版 的《GPS原理與接收機設計》一書中,詳細介紹了 GPS基帶算法,基帶算法包括捕獲算法和跟 蹤算法,捕獲結束之后GPS接收機進入信號的跟蹤狀態(tài)。在捕獲階段從接收信號中檢測出 信號的載波多普勒頻偏和碼相位,但此時的頻偏與碼相位仍具有較大的誤差,需要跟蹤算 法進一步減小頻偏和碼相位的誤差才能夠正確地解調信號。跟蹤算法由相關運算和跟蹤環(huán) 路運算組成,相關運算完成Ims基帶數(shù)字信號的載波剝離和碼剝離并累加,涉及到大量數(shù) 據(jù)重復循環(huán)運算,比較適合于可重構陣列(RCA)運算,因此提煉出相關運算映射到可重構陣 列(RCA)上。而跟蹤環(huán)由碼環(huán)和載波環(huán)構成,分別用來跟蹤信號的碼相位和載波頻偏,使本 地碼、本地載波與輸入信號的碼和載波近似達到同頻同相。跟蹤環(huán)路運算涉及到少量數(shù)據(jù) 的復雜運算,不適合在可重構陣列(RCA)上運行,由ARM (—款處理器名稱)核來完成。捕獲 算法由快速傅里葉變換(FFT) /快速傅里葉逆變換(IFFT)運算、求共軛與復乘運算和求最 在值運算組成,都映射到可重構陣列(RCA)上讓可重構陣列來進行捕獲運算。下面將具體介紹Nucleus實時操作系統(tǒng)各種調度機制的原理以及GPS算法對調度 機制的使用(1)多通道GPS基帶算法對優(yōu)先級機制的使用在GPS基帶算法中,捕獲運算幾 乎一直在運行,故它的優(yōu)先級最低,只要捕獲沒有完成通道就一直處于捕獲模式,某一通道 完成捕獲后轉換到跟蹤模式。跟蹤模式中包含兩類運算相關運算和跟蹤環(huán)路運算,跟蹤環(huán) 路運算需要相關運算后的數(shù)據(jù),因此相關運算必須先執(zhí)行,它的優(yōu)先級最高,跟蹤環(huán)路運算 優(yōu)先級次之。相關運算在可重構陣列上完成運算,每次配置完可重構陣列并啟動其運算后, 相關運算完成并掛起,將優(yōu)先權交給跟蹤環(huán)路運算。跟蹤模式下要完成Ims的實時跟蹤,即 當Ims的實時硬中斷到來時,系統(tǒng)響應中斷,并在中斷中設置跟蹤運算任務事件組,中斷響 應完成后,跟蹤運算任務會搶占當前運行任務,掛起的跟蹤運算任務進入就緒狀態(tài),當前運 行的任務被掛起,這樣就保證了跟蹤運算的優(yōu)先運行。在Ims的時間間隔內,相關運算和跟 蹤環(huán)路運算總是最先得到執(zhí)行,等所有的跟蹤運算完成后才會將優(yōu)先權交給捕獲運算。跟 蹤運算此時處于掛起狀態(tài),等待下Ims的硬中斷到來時,跟蹤運算才會進入就緒狀態(tài)。(2)多通道GPS基帶算法對信號量機制的使用如圖1所示,多通道捕獲和跟蹤時, 假如第1個通道處于捕獲模式,其它通道全處于跟蹤模式。其中捕獲運算和跟蹤運算中的 相關運算都是在可重構陣列(RCA)上運行的,因此可以把RCA當作一種公共的系統(tǒng)資源,通 過對信號量的控制來完成對RCA資源的分配。相關運算的優(yōu)先級相對較高,優(yōu)先獲得RCA 的信號量,相關運算完成后RCA會產(chǎn)生一次中斷,在其中斷處理程序中釋放RCA的信號量。 此時RCA的信號量為非零,各運算都可以根據(jù)優(yōu)先級獲得信號量。只有當所有相關運算全 部完成后,捕獲運算才有可能獲得RCA的信號量。當Ims實時中斷到來時,捕獲運算正在占 用RCA資源,而相關運算進入就緒狀態(tài)并希望獲取RCA使用權,這樣就出現(xiàn)了優(yōu)先級倒置的 問題,RCA被低優(yōu)先級的捕獲運算占用,高優(yōu)先級的相關運算得不到RCA的資源,這種情況 下只能等捕獲運算使用完RCA并釋放信號量后,相關運算才能得到執(zhí)行。(3)多通道GPS基帶算法對事件組機制的使用如圖2所示,在沒有使用事件組之前,每次環(huán)路運算都必須等相關運算完成后才能進行,而兩種運算是在不同的處理單元上 運行,當相關運算在RCA上運行時,ARM —直處于等待的狀態(tài),同時環(huán)路運算卻得不到執(zhí)行, 這種串行的運算方式效率很低,沒有發(fā)揮出RCA與ARM并行處理的優(yōu)勢。引入事件組之后, 每次相關運算完成后,將對應通道的事件置位,當下一次相關運算配置完成后,環(huán)路運算就 可以獲得ARM控制權,獲取對應通道的事件并完成環(huán)路運算,這樣就使環(huán)路運算和相關運 算有效地并行運行。在GPS基帶算法的調度過程中,事件組的作用還有很多,如Ims的硬中 斷產(chǎn)生時,對跟蹤運算事件組置位,這時跟蹤運算才能進入就緒狀態(tài)。事件組的機制為許多 有相互關聯(lián)的任務的執(zhí)行提供了任務間通信的紐帶,為理清任務間復雜的關系提供了極大 的方便。(4)多通道GPS基帶算法對中斷機制的使用如圖3所示,在操作系統(tǒng)中使用了兩 個中斷RCA中斷和Ims實時中斷。由于LISR只能處理一些簡單的任務,耗時不能過長,而 HISR則可以處理相對較長時間的任務,因此在LISR中完成清除硬件中斷操作并激活HISR, RCA中斷和Ims實時中斷在HISR中分別完成釋放信號量和設置事件組操作。捕獲運算和跟 蹤運算都需要使用RCA,當運算完成后通過RCA中斷釋放信號量,交出RCA控制權,以供下次 運算獲取RCA的信號量。RCA中斷以及RCA信號量的使用,可以高效地管理RCA的資源,使 得RCA得到最大程度的使用,同時保證捕獲運算和跟蹤運算按照優(yōu)先級順序并行不悖地運 行。跟蹤有Ims實時性的要求,當Ims實時中斷到來時,對跟蹤運算事件組置位,跟蹤運算 進入就緒狀態(tài),等一次捕獲運算完成后就立即進入跟蹤運算。Ims的實時中斷保證了跟蹤的 硬實時要求,使得跟蹤運算在最短的時間內獲得資源并對中斷作出響應。這里設置了兩個 中斷,當兩個中斷同時到來時,Ims實時中斷應優(yōu)先得到執(zhí)行,因此Ims實時中斷的HISR的 優(yōu)先級應高于RCA中斷的HISR。本專利的開發(fā)平臺采用的是ARM公司的ESL仿真驗證平臺——SoC Designer (一 款軟件名稱),通過建立可重構陣列的時鐘周期精確的性能仿真模型,搭建可重構系統(tǒng)的性 能仿真環(huán)境,在這一虛擬的硬件仿真平臺上驗證GPS基帶算法的正確性與性能。圖4為適用于可重構系統(tǒng)的并行碼相位捕獲算法,其通過傅立葉變換實現(xiàn)循環(huán)相 關,使得捕獲過程在相位域并行化,將搜索量減少到了對11個不同載波頻率的搜索,運算 效率較高,適合可重構系統(tǒng)下的捕獲算法實現(xiàn)。并行碼相位捕獲算法中大量使用快速傅里 葉變換(FFT)算法和快速傅里葉逆變換(IFFT)算法,F(xiàn)FT算法和IFFT算法中涉及到大量數(shù) 據(jù)的并行循環(huán)運算,特別適合由可重構陣列來進行運算,另外求共軛、復乘運算和求最值運 算也由可重構陣列來實現(xiàn)。跟蹤階段首先用捕獲得到的載波頻偏和碼相位初始化載波環(huán)和碼環(huán),然后載波環(huán) 與碼環(huán)通過反饋環(huán)路結構不斷地調整本地碼和本地載波。跟蹤模塊產(chǎn)生超前、即時、延時三 路本地碼并與輸入信號作相關,碼跟蹤環(huán)利用超前、延時兩路相關結果之差得到輸入信號 和本地碼之間的相位誤差,從而調整本地碼發(fā)生器,最終實現(xiàn)碼相位的精確同步。跟蹤環(huán)使 用本地載波和即時碼與輸入信號相乘,并定期將相乘的結果進行累加,累加的結果送到載 波環(huán)的鑒別器產(chǎn)生載波環(huán)的誤差信號,送至載波環(huán)的數(shù)字控制振蕩器(NCO)調整載波頻率。 其中6路的相關運算(即本地載波和本地碼與輸入信號相乘并累加)涉及到大量數(shù)據(jù)的運 算,且運算流程相對簡單,可以一次在RCA上完成。每次相關運算生成6個相關結果送至載 波跟蹤環(huán)路和碼跟蹤環(huán)路,因此環(huán)路涉及到的數(shù)據(jù)量較少,且運算相對復雜,不適合在RCA上運行,因此選擇由主控核來完成。Nucleus實時操作系統(tǒng)對多通道GPS基帶算法的調度主要為了實現(xiàn)以下幾個目 標(1) Ims的實時跟蹤要求必須保證在規(guī)定的時間內作出正確的響應,如果響應失敗,那 結果將會是災難性的,因此必須保證實時性的處理。同時由于相關運算、跟蹤環(huán)路和捕獲等 任務重要性的內在差異,在任務間共享處理器和可重構陣列的方法非常重要。當一個更重 要的任務需要運行的時候,必須掛起當前運行的任務并開始高優(yōu)先級的任務。在高優(yōu)先級 任務完成之后,掛起的任務恢復。(2)相關運算(在RCA上運算)和環(huán)路運算(在ARM上運算)的近似并行,以提高 效率;(3)在有效通道數(shù)小于特定值時,完成多通道的相關運算和環(huán)路運算后,RCA用作 重捕,相關運算和環(huán)路運算是實時任務,重捕是非實時任務,非實時任務花費時間大大超過 lms,所以需要切割成N個步驟,在實時任務完成本次運算,尚有時間時,完成非實時任務的 一個步驟,在重捕過程中會產(chǎn)生Ims硬實時中斷,跟蹤運算進入就緒狀態(tài)。為實現(xiàn)上述目標,主要使用操作系統(tǒng)的以下幾種機制來對多通道GPS基帶算法進 行調度(1)多通道GPS基帶算法對優(yōu)先級機制的使用(2)多通道GPS基帶算法對信號量機制的使用(3)多通道GPS基帶算法對事件組機制的使用(4)多通道GPS基帶算法對中斷機制的使用在Nucleus實時操作系統(tǒng)的調度下,多通道GPS基帶算法的工作流程如圖5所示(1)當數(shù)據(jù)就緒,且當前RCA運算完成,執(zhí)行任務一,配置通道1的相關運算,然后掛起, 通道1的環(huán)路運算運行;(2)任務二實現(xiàn)其余通道的相關運算和環(huán)路運算。除通道1以外的其他通道的相關運 算的配置,在RCA中斷的低級服務程序中進行,同時設置標志標明前一通道的相關運算完 成,第一個通道和最后一個通道需要獲取和釋放信號量,其余通道不需要信號量的獲取,當 多個通道的跟蹤運算都實現(xiàn)之后,運行非實時任務重捕算法的一個步驟;(3)當Ims硬實時中斷發(fā)生時,跟蹤算法進入就緒狀態(tài),當重捕算法的一個步驟執(zhí)行結 束后,開始下一個Ims的跟蹤算法。
權利要求
1.一種全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于該方法用于可重構系統(tǒng),該可重構系統(tǒng)包括主處理器,作為協(xié)處理器的可重構陣列, 直接存儲器讀取控制器模塊、中斷控制器模塊、外部存儲器、總線;可重構陣列、直接存儲器 讀取控制器模塊、中斷控制器模塊和外部存儲器通過總線與主處理器相連;其中,可重構 陣列是一個8X8的運算單元陣列,完成算法的加速,每個運算單元以算術邏輯單元為基本 單元,能夠在一個周期內完成乘法運算、移位加減法運算、邏輯運算、絕對值運算等復雜的 單個運算;直接存儲器讀取控制器模塊用于向可重構陣列傳輸配置信息;中斷控制器模塊 提供了主處理器和可重構陣列之間的同步方式,該方法包括如下步驟首先,根據(jù)全球定位 系統(tǒng)基帶算法的各組成算法的特點,確定各組成算法對硬件資源的使用方法,該使用方法 包括如下步驟全球定位系統(tǒng)基帶算法包括捕獲算法和跟蹤算法,捕獲算法的組成算法均 由可重構陣列來實現(xiàn),捕獲結束之后全球定位系統(tǒng)接收機進入信號的跟蹤狀態(tài),跟蹤算法 由相關運算和跟蹤環(huán)路運算組成,相關運算完成1毫秒基帶數(shù)字信號的載波剝離和碼剝離 并累加,涉及到大量數(shù)據(jù)重復循環(huán)運算,由可重構陣列來實現(xiàn);跟蹤環(huán)路運算由碼環(huán)和載波 環(huán)構成,實現(xiàn)跟蹤信號的碼相位和載波頻偏,使本地碼、本地載波與輸入信號的碼和載波近 似達到同頻同相,跟蹤環(huán)路運算由主處理器來完成;其次,借鑒全球定位系統(tǒng)硬件接收機的 調度方法,全球定位系統(tǒng)基帶算法通過對Nucleus操作系統(tǒng)提供的優(yōu)先級機制、信號量機 制、事件組機制、中斷機制的使用來實現(xiàn)對各組成算法的調度。全球定位系統(tǒng)基帶算法利用 Nucleus操作系統(tǒng)提供的優(yōu)先級機制解決跟蹤通道如何完成1毫秒的實時跟蹤;全球定位 系統(tǒng)基帶算法利用Nucleus操作系統(tǒng)提供的信號量機制完成捕獲算法和跟蹤算法對可重 構陣列資源的合理分配;全球定位系統(tǒng)基帶算法利用Nucleus操作系統(tǒng)提供的事件組機制 完成跟蹤環(huán)路和相關運算的并行處理;全球定位系統(tǒng)基帶算法利用Nucleus操作系統(tǒng)提供 的中斷機制完成相關運算、跟蹤環(huán)路和捕獲算法的自由地切換,從而完成多通道全球定位 系統(tǒng)基帶算法各組成算法之間的調度,完成全球定位系統(tǒng)基帶算法的可重構實現(xiàn)。
2.根據(jù)權利要求1所述的全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于全 球定位系統(tǒng)基帶算法對Nucleus操作系統(tǒng)提供的優(yōu)先級機制的使用方法包括如下步驟在 多通道全球定位系統(tǒng)基帶算法中,捕獲運算優(yōu)先級最低,只要捕獲沒有完成通道就一直處 于捕獲模式,某一通道完成捕獲后轉換到跟蹤模式;跟蹤模式中包含兩類運算相關運算 和跟蹤環(huán)路運算,跟蹤環(huán)路運算需要相關運算后的數(shù)據(jù),相關運算必須先執(zhí)行,它的優(yōu)先級 最高,跟蹤環(huán)路運算優(yōu)先級次之;在1毫秒的時間間隔內,相關運算和跟蹤環(huán)路運算總是最 先得到執(zhí)行,等所有的跟蹤運算完成后才會將優(yōu)先權交給捕獲運算;跟蹤運算此時處于掛 起狀態(tài),等待下1毫秒的硬中斷到來時,跟蹤運算才會進入就緒狀態(tài)。
3.根據(jù)權利要求1所述的全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于全 球定位系統(tǒng)基帶算法對Nucleus操作系統(tǒng)提供的信號量機制的使用方法包括如下步驟 多通道捕獲和跟蹤時,捕獲運算和跟蹤運算中的相關運算都在可重構陣列上運行,可重構 陣列是一種公共的系統(tǒng)資源,通過對信號量的控制來完成對可重構陣列資源的分配,相關 運算的優(yōu)先級相對較高,優(yōu)先獲得可重構陣列的信號量,相關運算完成后可重構陣列會產(chǎn) 生一次中斷,在其中斷處理程序中釋放可重構陣列的信號量,只有當所有相關運算全部完 成后,捕獲運算才有可能獲得可重構陣列的信號量。
4.根據(jù)權利要求1所述的全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于全球定位系統(tǒng)基帶算法基帶算法對Nucleus操作系統(tǒng)提供的事件組機制的使用方法包括如 下步驟引入事件組之后,每次相關運算完成后,將對應通道的事件置位,當下一次相關運 算配置完成后,環(huán)路運算就可以獲得主處理器的控制權,獲取對應通道的事件并完成環(huán)路 運算,這樣就使環(huán)路運算和相關運算有效地并行運行;另外當毫秒的硬中斷產(chǎn)生時,對跟蹤 運算事件組置位,這時跟蹤運算才能進入就緒狀態(tài)。
5.根據(jù)權利要求1所述的全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于全 球定位系統(tǒng)基帶算法基帶算法對Nucleus操作系統(tǒng)提供的中斷機制的使用方法包括如下 步驟在操作系統(tǒng)中使用了兩個中斷可重構陣列中斷和1毫秒實時中斷;由于低級中斷 服務程序只能處理一些簡單的任務,耗時不能過長,而高級中斷服務程序則可以處理相對 較長時間的任務,因此在低級中斷服務程序中完成清除硬件中斷操作并激活高級中斷服務 程序;中斷以及信號量的使用,可以高效地管理可重構陣列的資源,使得可重構陣列得到最 大程度的使用,同時保證捕獲運算和跟蹤運算按照優(yōu)先級順序并行不悖地運行,1毫秒的實 時中斷保證了跟蹤的硬實時要求,使得跟蹤運算在最短的時間內獲得資源并對中斷作出響 應;當兩個中斷同時到來時,1毫秒實時中斷應優(yōu)先得到執(zhí)行,因此1毫秒實時中斷的優(yōu)先 級應高于可重構陣列中斷的優(yōu)先級。
全文摘要
本發(fā)明提供了一種全球定位系統(tǒng)基帶算法可重構實現(xiàn)的方法,其特征在于該方法用于可重構系統(tǒng),該可重構系統(tǒng)包括主處理器,作為協(xié)處理器的可重構陣列,直接存儲器讀取控制器模塊、中斷控制器模塊、外部存儲器、總線;可重構陣列、直接存儲器讀取控制器模塊、中斷控制器模塊和外部存儲器通過總線與主處理器相連;其中,可重構陣列是一個8×8的運算單元陣列,完成算法的加速。本發(fā)明解決了跟蹤通道如何完成1ms的實時跟蹤、捕獲和跟蹤如何合理地分配資源、跟蹤環(huán)路和相關運算的并行處理以及相關運算、跟蹤環(huán)路和捕獲如何自由地切換等問題,完成全球定位系統(tǒng)基帶算法的可重構。
文檔編號G06F15/80GK102053947SQ20111000026
公開日2011年5月11日 申請日期2011年1月4日 優(yōu)先權日2011年1月4日
發(fā)明者戚隆寧, 時龍興, 曹鵬, 王學香, 范燁秋, 黃少珉 申請人:東南大學