基于DSP的GPS定位解算算法研究與實現(xiàn)
以下簡要說明DSP的工作流程:
(1)DSP系統(tǒng)初始化,等待外部中斷;
(2)中斷到來,由外部中斷4得到時間觀測量,由外部中斷5得到導航電文;
(3)對時間觀測量和導航電文進行拼接組合,由時間觀測量得到偽距信息,由導航電文計算衛(wèi)星發(fā)射時刻的位置,其中包括觀測衛(wèi)星在WGS-84坐標系下的三維位置、仰角和方位角等;
(4)根據(jù)觀測衛(wèi)星的星歷對偽距進行修正,并進行電離層和對流層校正等;
(5)根據(jù)定位原理,計算出用戶的三維位置,校正本地時間,并將三維位置轉換成所需要的坐標格式;
(6)通過McBSP串口輸出定位結果,并對輸出結果進行記錄。
2.1 中斷
中斷是DSP系統(tǒng)的基本功能。一般而言,中斷表明一個特別事件的開始或結束。一個DSP系統(tǒng)需要與多個事件打交道,這些事件可能是內(nèi)部的,也可能是外部的,而這些事件發(fā)生的時間是不確定的,也就是這些事件可能是異步的。異步事件的發(fā)生具有時間上的不確定性,一旦異步事件發(fā)生,就要求DSP能夠隨之做出相應的反應和處理。中斷就可以提供這樣的一種機制,一旦異步事件發(fā)生,DP立即暫停CPU當前的處理任務,按預先的安排對該事件進行處理,處理完畢后,CPU再繼續(xù)原來的任務。中斷可以由外部設備產(chǎn)生,也可以由DSP內(nèi)部產(chǎn)生。由硬件或軟件驅(qū)動的中斷信號可使DSP中止當前程序并執(zhí)行另一個程序,該程序稱為中斷服務程序。
TMS320C6713的中斷處理過程分為三個階段:
(1)中斷請求。當有中斷請求時,DSP將IFR寄存器的相應位置1。
(2)中斷確認。對于軟件中斷和不可屏蔽中斷,CPU是立即響應的;對于可屏蔽中斷,要滿足下列條件才能響應:CSR寄存器的GIE位為0,IER寄存器的NMIE位為1,IER寄存器的相應位為1,優(yōu)先級最高。
(3)中斷處理。保護特定的寄存器,執(zhí)行中斷服務程序,完成后恢復寄存器。
如圖2所示,在該系統(tǒng)的設計中,使用了外部中斷4和外部中斷5。每當DSP接收到中斷請求,立即暫停CPU當前的處理任務,進入中斷服務程序,處理完畢后,CPU再繼續(xù)原來的任務。由外部中斷4得到時間觀測量,由外部中斷5得到導航電文。DSP提供的中斷是以中斷向量表的形式出現(xiàn)的,該系統(tǒng)的部分中斷向量表如下:
2.2 EMIF接口
EMIF是外部存儲器與TMS320C6713片內(nèi)單元間的接口。CPU訪問片外存儲器時一般通過EMIF接口,DSP的EMIF具有很強的接口能力。TMS320~C6713的EMIF接口有20根地址總線,32位數(shù)據(jù)總線,4個片選信號和多種控制信號,能夠支持多種不同類型的外部存儲器件。其中,每個片選空間是相對獨立的,各自占用一段地址,能夠適應不同速率的存儲器件。
如圖2所示,圖中ED[31:0]表示數(shù)據(jù)總線,EA[21:2]表示地址總線,CE[3:0]為片選信號,AOE為輸出使能信號,ARE為讀使能信號,AWE為寫使能信號。通過控制信號、數(shù)據(jù)總線和地址總線的配合使用,就可以完成DSP與外部存儲器件的數(shù)據(jù)交換。
圖3所示為TMS320C6713EMIF接口的讀時序。圖中讀的建立需要兩個時鐘周期,之后每個觸發(fā)需要兩個時鐘周期,在AlRE的下降沿,F(xiàn)PGA將時間觀測量和導航電文放在數(shù)據(jù)總線上,在ARE的上升沿,也就是數(shù)據(jù)保持的中間時刻,DSP讀取數(shù)據(jù),這樣就完成了FPGA與DSP的數(shù)據(jù)交換。本文引用地址:http://butianyuan.cn/article/149435.htm
在該系統(tǒng)的設計中,時間觀測量的幀格式如圖4所示,導航電文的幀格式如圖5所示,DSP由EMIF接口接收到時間觀測量和導航電文之后,首先進行數(shù)據(jù)的拼接組合,由時間觀測量得到偽距,由導航電文計算出衛(wèi)星發(fā)射時刻的位置。
評論