基于DSP的數(shù)據(jù)處理模塊的設(shè)計(jì)
C31的EMU0~EMU3為4個(gè)仿真引腳,H3為時(shí)鐘引腳,按照MPSD仿真頭的定義將其和仿真器相連。C31的仿真器沒有采用傳統(tǒng)的電路仿真器,而是采用先進(jìn)的掃描仿真器,掃描仿真器通過DSP芯片上提供的仿真引腳和時(shí)鐘引腳實(shí)現(xiàn)仿真功能。用戶程序存儲(chǔ)在目標(biāo)系統(tǒng)的片內(nèi)或片外存儲(chǔ)器中,可實(shí)時(shí)運(yùn)行,而不會(huì)因仿真器引入額外的等待狀態(tài)。
3 數(shù)據(jù)處理模塊的軟件設(shè)計(jì)方法
數(shù)據(jù)處理模塊的軟件設(shè)計(jì)是在TI公司的DSP集成開發(fā)環(huán)境CCS下進(jìn)行的。它有C2000CC、C3000CC、CCS5000、CCS6000等4個(gè)不同版本。對(duì)于C31來講,可采用C3000CC版本的軟件。編程語言既可選擇C31的匯編語言也可使用C語言。匯編語言在低層的初始化和I/O控制編程方面效率高,但對(duì)于類似卡爾曼濾波這類復(fù)雜控制算法的編程卻不如C語言簡捷,且匯編語言的可讀性和移植性差。因此這里采用C語言進(jìn)行程序設(shè)計(jì)。設(shè)計(jì)過程如下:
(1)在CCS下用C語言編輯卡爾曼濾波源程序;
(2)編寫鏈接命令文件,即擴(kuò)展名為·cmd文件;
(3)建立擴(kuò)展名為·mak的工程文件,將卡爾曼濾波源程序、鏈接命令文件以及支持庫RTS30·LIB加入到所建立的工程中去;
(4)對(duì)該工程進(jìn)行build,若無錯(cuò)誤,即生成擴(kuò)展名為·out的文件。
生成的·out文件可通過仿真器進(jìn)行調(diào)試。調(diào)試完成后,將·out文件保存為·out(coff)格式文件。在編程器中對(duì)該文件進(jìn)行修改,把程序頭加到卡爾曼濾波程序的前面,一起寫入EPROM。
圖3和圖4給出了數(shù)據(jù)處理模塊的流程圖,主計(jì)算機(jī)和C31可并行工作,通過雙口RAM中的semaphone進(jìn)行查詢和設(shè)置,完成它們之間的數(shù)據(jù)交換,進(jìn)而對(duì)跟蹤目標(biāo)實(shí)現(xiàn)數(shù)據(jù)處理。
本文介紹了卡爾曼濾波以及基于DSP的卡爾曼濾波器數(shù)據(jù)處理模塊的原理,該模塊具有運(yùn)算能力強(qiáng)和實(shí)時(shí)性好的特點(diǎn)。在對(duì)跟蹤目標(biāo)進(jìn)行卡爾曼濾波時(shí),其處理周期僅有幾十個(gè)μs,能很好地滿足TMS雷達(dá)系統(tǒng)中數(shù)據(jù)處理任務(wù)的需要。
評(píng)論