DSP在六自由度電磁跟蹤系統(tǒng)中的應(yīng)用
摘 要:針對(duì)目前電磁跟蹤系統(tǒng)跟蹤速度慢,計(jì)算參數(shù)精度低的現(xiàn)況,文中介紹了一種采用DSP系統(tǒng)來(lái)完 成對(duì)感應(yīng)天線接收到的模擬信號(hào)采集處理的方案。該方案實(shí)現(xiàn)了單通道128 kHz的采樣率和12位的數(shù)據(jù)精度,解 決了系統(tǒng)中信號(hào)的時(shí)序配合問(wèn)題,很準(zhǔn)確地得到了系統(tǒng)的接收矩陣,提高了系統(tǒng)的定位精度,并將數(shù)據(jù)刷新率提高 到125 Hz。
六自由度電磁跟蹤系統(tǒng)根據(jù)電磁感應(yīng)的原理來(lái)計(jì)算出目標(biāo)的六個(gè)自由度參數(shù),從而唯一確定目標(biāo)的位 置和姿態(tài)。怎樣由接收到的模擬信號(hào)計(jì)算得到目標(biāo)的位置和姿態(tài)參數(shù)是影響整個(gè)系統(tǒng)性能的關(guān)鍵所在。在 一些早期的產(chǎn)品中對(duì)感應(yīng)天線接收信號(hào)的處理主要采用模擬電路和單片機(jī)來(lái)完成,由于模擬電路精度低,受 器件性能影響大,單片機(jī)的指令執(zhí)行速度慢,使整個(gè)系統(tǒng)無(wú)法準(zhǔn)確實(shí)時(shí)地確定目標(biāo)的位置。本文提出的DSP 數(shù)據(jù)采集系統(tǒng)利用了DSP快速的指令執(zhí)行周期和強(qiáng)大的數(shù)字信號(hào)處理功能和CPLD靈活的時(shí)序和邏輯控 制功能,快速準(zhǔn)確地完成了對(duì)每一路接收信號(hào)的采集和計(jì)算,得到了準(zhǔn)確的數(shù)字接收矩陣,為進(jìn)一步計(jì)算目 標(biāo)的六個(gè)自由度參數(shù)打下良好基礎(chǔ)。本文主要介紹了DSP數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)方案和軟件設(shè)計(jì)流程。
1 電磁跟蹤系統(tǒng)的工作原理
六自由度電磁跟蹤系統(tǒng)的發(fā)射和接收天線均為三維正交環(huán)形天線。發(fā)射電路向發(fā)射天線的xyz軸按時(shí)
式中x為發(fā)射矩陣,為一單位對(duì)角陣,G為系統(tǒng)總增益,H、M為包含了接收天線相對(duì)于發(fā)射天線的位置和接收天線姿態(tài)角度的坐標(biāo)變換矩陣。因此接收矩陣是影響目標(biāo)參數(shù)精度的關(guān)鍵。
2 DSP系統(tǒng)的硬件設(shè)計(jì)
由六自由度電磁跟蹤系統(tǒng)的原理,為了得到系統(tǒng)接收矩陣Y,DSP系統(tǒng)要同時(shí)采集四路模擬信號(hào):T,Rx ,R y,Rz ,而每一路的信號(hào)都是時(shí)分復(fù)用的。因此要求系統(tǒng)能準(zhǔn)確區(qū)分每一路每個(gè)時(shí)間段的數(shù)據(jù),然后計(jì)算出每一段數(shù)據(jù)的幅度,將其發(fā)送到計(jì)算機(jī)。DSP數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。
四路模擬信號(hào)由兩片A/D同時(shí)進(jìn)行采樣,采樣得到的數(shù)字比特流通過(guò)FIFO緩存后有序地傳送到DSP芯片,DSP快速地對(duì)采集來(lái)的數(shù)字信號(hào)進(jìn)行計(jì)算,最后將計(jì)算結(jié)果通過(guò)異步串行接口傳送到計(jì)算機(jī)。各器件之間的時(shí)序配合由CPLD來(lái)控制。
2.1 DSP外圍電路及通信接口的設(shè)計(jì)
本系統(tǒng)所采用的TMS320VC5416是TI公司推出的一款低功耗高性能16位定點(diǎn)DSP,具有160 MIPS 的指令執(zhí)行速度,片內(nèi)集成有128 K×16 bit的RAM 和16 K×16 bit的ROM。它的外圍電路主要包括時(shí) 鐘,電源,復(fù)位以及外程序存儲(chǔ)器。本系統(tǒng)采用外部時(shí)鐘,電源和復(fù)位采用TI公司的專(zhuān)用芯片TPS73HD301。
由于TM320VC5416無(wú)片內(nèi)FLASH,因此系統(tǒng)采用M29w8O0DT作為程序存儲(chǔ)器,系統(tǒng)上電后,DSP內(nèi)部 引導(dǎo)程序把M29W800DT 中的工作程序加載到片內(nèi)SRAM ,提高程序執(zhí)行效率。 系統(tǒng)通信電路包括并行通信和串行通信兩部分。
由于TMS320VC5416片內(nèi)沒(méi)有UART端口,要實(shí)現(xiàn) 和計(jì)算機(jī)的串行數(shù)據(jù)通信,系統(tǒng)采用了ST16C550,通過(guò)IO訪問(wèn)ST16C550來(lái)實(shí)現(xiàn)與主機(jī)的串行通信。 系統(tǒng)中FI ASH,F(xiàn)1FO,ST16C550通過(guò)CPI D分別映射到DSP的數(shù)據(jù)空間和IO空間,DSP與他們的 通信主要通過(guò)16位的外部并行數(shù)據(jù)總線。因此用到的DSP的外部接口主要有16位地址總線,16位數(shù)據(jù)總線和一組用于訪問(wèn)片外存儲(chǔ)器與I/0端口的控制信號(hào)。
2.2 A/D與DSP的接口設(shè)計(jì)
AD7862是AD公司推出的高速、低功耗、雙極性12位的A/D轉(zhuǎn)換芯片,其中包含了兩個(gè)獨(dú)立的快速 ADC模塊(允許同時(shí)采樣和轉(zhuǎn)換兩路信號(hào)),4路模擬輸入信號(hào),2.5 V的內(nèi)部電壓基準(zhǔn)以及12位的高速并 行接口,最高采樣率達(dá)250 kHz。
系統(tǒng)要求對(duì)4路頻率為16 kHz 的模擬信號(hào)進(jìn)行同時(shí)采樣,采樣時(shí)不 能有相位差。AD7862雖然有4路模 擬輸入通道,然而內(nèi)部只有兩個(gè) ADC,即每片A/D只能同時(shí)采樣兩 路模擬信號(hào),因此系統(tǒng)中采用了兩 片AD7862來(lái)完成對(duì)模擬信號(hào)的采 樣[3]。A/D與DSP接口如圖4所 示。
從這部分電路可以看到,DSP 不直接與數(shù)/模轉(zhuǎn)換模塊接口,而是利用CPLD屏蔽A/D轉(zhuǎn)換的初始化以及讀寫(xiě)操作過(guò)程,并將兩個(gè)A/D 轉(zhuǎn)換單元通過(guò)FIFO緩存后映射到DSP的10空間。這樣DSP可以在未知ADC控制方式的情況下,通過(guò)定 時(shí)訪問(wèn)外設(shè)的方式來(lái)獲得4個(gè)通道的模數(shù)轉(zhuǎn)換后的數(shù)據(jù)。這種方法大大提高了DSP的工作效率,而且當(dāng)系 統(tǒng)要求增加ADC的數(shù)目時(shí),不需要改變電路,極大的提高了系統(tǒng)的可擴(kuò)展性。
電路中兩片A/D除了片選控制信號(hào)以外其 他的數(shù)據(jù)總線以及控制總線全部是分別連在一起 的。將片選控制與其他控制分開(kāi)的原因在于:A/ D芯片的初始化以及轉(zhuǎn)換過(guò)程需要同時(shí)完成,但 是數(shù)據(jù)的輸出需要分別完成,否則會(huì)出現(xiàn)總線沖 突。ADC時(shí)序控制框圖如圖5所示。
AD7862最高采樣率可到250 kHz,然而根據(jù) 正弦信號(hào)抽樣的基本原則,抽樣率應(yīng)為原信號(hào)的 整數(shù)倍,又考慮到對(duì)抽樣后的數(shù)據(jù)做DFT運(yùn)算時(shí) 希望數(shù)據(jù)點(diǎn)數(shù)N 最好為2的整次冪,因此設(shè)計(jì)系 統(tǒng)實(shí)際采樣率為128 kHz。
3 系統(tǒng)的軟件設(shè)計(jì)
TMS32O5416的軟件設(shè)計(jì)主要包括初始化程 序,主程序,外部中斷程序,定時(shí)器中斷程序和串 行口中斷程序。初始化程序完成DSP及外圍芯片 的初始化,主程序?qū)⒉杉降臄?shù)據(jù)濾波后進(jìn)行 FFT運(yùn)算提取幅度值。串行口中斷程序完成接收 矩陣的發(fā)送。系統(tǒng)軟件的工作流程如圖6所示,當(dāng)模擬信號(hào)進(jìn)來(lái)并開(kāi)始采樣時(shí),即發(fā)射部分的時(shí)序控制邏輯為OO時(shí),產(chǎn)生INT1,DSP開(kāi)啟定時(shí)器中斷并設(shè)置定 時(shí)器的值為2 ms。定時(shí)器中斷后,DSP從FIFO 中讀取前2 ms時(shí)間段內(nèi)采集到的所有數(shù)據(jù),