基于DSP的數據處理模塊的設計_第1頁
基于DSP的數據處理模塊的設計_第2頁
基于DSP的數據處理模塊的設計_第3頁
基于DSP的數據處理模塊的設計_第4頁
基于DSP的數據處理模塊的設計_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于DSP的數據處理模塊的設計賀承杰 時間:2008年09月09日 字 體: 大 中 小關鍵詞:卡爾曼濾波雙口處理模塊數據交換量測摘? 要: 對目標跟蹤中的卡爾曼濾波算法進行了介紹,給出了應用DSP設計卡爾曼濾波數據處理模塊的實例。詳細介紹了在多處理器工作模式下,主計算機和TMS320C31的工作原理和軟件設計過程。關鍵詞: 卡爾曼濾波? TMS320C31? 雙口RAM?在TWS雷達系統(tǒng)中,對跟蹤目標的數據進行處理常常要進行卡爾曼濾波??柭鼮V波是一種最優(yōu)估計的遞推濾波算法,具有實時性好和精度高的特點。但是由于其算法中多為矩陣運算,所以較其它算法如最小二乘法、-算法等的運算量要大。為了減小運

2、算量以滿足系統(tǒng)反應時間的要求,應用中往往采用簡化的卡爾曼濾波算法,但這樣又會帶來濾波精度的降低。在設計卡爾曼濾波數據處理模塊時,為了解決該矛盾,采用了高速浮點型DSP TMS320C31。TMS320C31是美國TI公司的第三代DSP產品,其內部采用程序和數據分開的哈佛結構、流水線操作以及并發(fā)I/O和CPU操作。芯片內含有專用硬件乘法器和桶形移位寄存器,具有32位的浮點精度,特別適合類似卡爾曼濾波這樣運算量大、實時性和計算精度要求高的場合。1 卡爾曼濾波算法卡爾曼濾波器的狀態(tài)方程和量測方程如下:?(K),分別為距離和徑向速度的估值? (K)、分別為方位角和方位角速度的估值? U1(K)表示T時

3、間內徑向速度的變化量? U2(K)表示T時間內方位角速度的變化量? V1(K)為距離量測噪聲?V2(K)為方位角量測噪聲? Z1(K)和Z2(K)分別為距離和角度的測量值? 濾波器遞推方程為:其中, G(K)為卡爾曼增益矩陣? Q(K)、R(K)分別為狀態(tài)噪聲協(xié)方差矩陣和量測噪聲協(xié)方差矩陣?2 基于TMS320C31的數據處理模塊的工作原理2.1 多處理器工作模式下主機和TMS320C31數據通信的設計數據處理模塊由雙口RAM IDT7134、TMS320C31(以下簡稱C31)、EEROM 28F010和高速RAM CY7C199組成,通過ISA總線和主計算機連接起來,構成主從式多處理器工作

4、模式,如圖1所示。主從式處理器系統(tǒng)的設計關鍵在于處理器之間的數據交換,主從處理器間的數據交換主要有串行、并行、DMA及雙口RAM四種交換方式。本方案采用IDT公司的雙口RAM IDT7134實現(xiàn)主計算機和C31間的數據交換。IDT7134內部含有4KB的存儲器資源,具有兩組地址、數據總線及讀寫控制線。主計算機和C31可同時對其進行讀寫操作。在對其內部同一存儲單元訪問時,要考慮寫入和讀出數據的完整性。IDT7134沒有單獨的主從處理器訪問控制引腳,設計時需用軟件方式來保證主計算機和C31之間數據交換的正確性。本方案中采用了在IDT7134中設置輸入輸出semaphore的方案,即主計算機在將跟蹤

5、雷達的測量數據寫入雙口RAM后,設置輸入semaphore,通知C31讀取測量數據。C31進行卡爾曼濾波后,將濾波結果寫入雙口RAM,設置輸出semaphore,通知主計算機讀取。雙口RAM的數據寬度為8位,C31數據總線寬度為32位。雙口RAM的數據總線和C31低8位數據總線相接。為了提高數據處理的精度,雙口RAM中的跟蹤數據和C31的濾波結果都以字(32位)為單位進行存儲,C31作卡爾曼濾波時,首先按字節(jié)讀取跟蹤數據,然后進行移位,拼接成32位整形數,再將整形數轉換為浮點數,進行濾波運算。輸出時,則將浮點型的結果轉為整形數,按字節(jié)寫入雙口RAM中。雙口RAM空間分配如圖2所示。?2.2 C

6、31的系統(tǒng)裝入和管理C31有兩種工作模式,即微處理器和微計算機方式,本方案中,C31的MCBL/MP腳接高電平,C31工作于微計算機方式。C31具有程序引導功能,其內部固化有引導程序(BOOT),可將來自其它處理器、低速EPROM或其它標準的存儲器件的程序和數據裝入到高速靜態(tài)RAM中以全速運行。C31有兩種裝入方式可供用戶選擇:串行裝入方式和存儲器裝入方式。存儲器裝入方式根據地址的不同又分為三種:BOOT1、BOOT2、BOOT3。C31通過查詢四個中斷引腳確定裝入方式,引腳低電平有效。在本方案中,C31的INT腳接低電平。C31采取BOOT2的引導方式,將從0x400000處開始的程序存儲器

7、中的卡爾曼濾波程序以8位字節(jié)方式引導到首地址為0x100000的高速RAM中。采用外部存儲器裝入時,需在程序前加裝程序頭。程序頭包括下列信息:?(1)外部存儲器的寬度(8/16/32位);?(2)程序代碼塊的長度;(3)裝入的目的起始地址;?(4)存儲器訪問的定時控制。程序頭內容安排見表1。?本方案中程序頭配置如下:“08 00 00 00 F8 10 00 00 FF 20 00 00 00 00 10 00”,包含以下信息:外部程序存儲器寬度為8位;EPROM需要7個等待狀態(tài);裝入的目的起始地址為0X100000;程序代碼塊長度為20FF。程序頭在存儲器的0X400000開始存放。?C31

8、的EMU0EMU3為4個仿真引腳,H3為時鐘引腳,按照MPSD仿真頭的定義將其和仿真器相連。C31的仿真器沒有采用傳統(tǒng)的電路仿真器,而是采用先進的掃描仿真器,掃描仿真器通過DSP芯片上提供的仿真引腳和時鐘引腳實現(xiàn)仿真功能。用戶程序存儲在目標系統(tǒng)的片內或片外存儲器中,可實時運行,而不會因仿真器引入額外的等待狀態(tài)。3 數據處理模塊的軟件設計方法數據處理模塊的軟件設計是在TI公司的DSP集成開發(fā)環(huán)境CCS下進行的。它有C2000CC、C3000CC、CCS5000、CCS6000等4個不同版本。對于C31來講,可采用C3000CC版本的軟件。編程語言既可選擇C31的匯編語言也可使用C語言。匯編語言在

9、低層的初始化和I/O控制編程方面效率高,但對于類似卡爾曼濾波這類復雜控制算法的編程卻不如C語言簡捷,且匯編語言的可讀性和移植性差。因此這里采用C語言進行程序設計。設計過程如下:(1)在CCS下用C語言編輯卡爾曼濾波源程序;(2)編寫鏈接命令文件,即擴展名為cmd文件;(3)建立擴展名為mak的工程文件,將卡爾曼濾波源程序、鏈接命令文件以及支持庫RTS30LIB加入到所建立的工程中去;(4)對該工程進行build,若無錯誤,即生成擴展名為out的文件。生成的out文件可通過仿真器進行調試。調試完成后,將out文件保存為out(coff)格式文件。在編程器中對該文件進行修改,把程序頭加到卡爾曼濾波

10、程序的前面,一起寫入EPROM。圖3和圖4給出了數據處理模塊的流程圖,主計算機和C31可并行工作,通過雙口RAM中的semaphone進行查詢和設置,完成它們之間的數據交換,進而對跟蹤目標實現(xiàn)數據處理。?本文介紹了卡爾曼濾波以及基于DSP的卡爾曼濾波器數據處理模塊的原理,該模塊具有運算能力強和實時性好的特點。在對跟蹤目標進行卡爾曼濾波時,其處理周期僅有幾十個s,能很好地滿足TMS雷達系統(tǒng)中數據處理任務的需要。?參考文獻1 Z. Salcic, C.R.Lee.FPGA-Based Adaptive Tracking?Estimation Computer.IEEE Transactions on Ae

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論