定點(diǎn)DSP的準確計時(shí)

發(fā)布時(shí)間:2010-9-18 16:57    發(fā)布者:techshare
關(guān)鍵詞: dsp , 定點(diǎn) , 計時(shí)
數字信號處理(DSP)是一門(mén)涉及許多學(xué)科而又廣泛應用于許多領(lǐng)域的新興學(xué)科。20世紀60年代以來(lái),隨著(zhù)計算機技術(shù)和信息技術(shù)的飛速發(fā)展,數字信號處理技術(shù)應運而生,并得到迅速的發(fā)展。在過(guò)去的二十多年里,DSP已經(jīng)在通信等領(lǐng)域得到極為廣泛的應用,特別是在一些測量控制領(lǐng)域?熏應用更是越來(lái)越廣泛。本文擬采用定點(diǎn)DSP——TMS320F206來(lái)測量一些物理量,如測交流信號的頻率、相位,但這些物理量的測量都離不開(kāi)信號時(shí)間的測量,所以采用定點(diǎn)DSP準確地測量時(shí)間直接關(guān)系到這些物理量測量是否精確,而且用定點(diǎn)DSP來(lái)準確定時(shí)并不是件容易的事。

1 TMS320F206的結構特點(diǎn)

TMS320F206采用先進(jìn)的哈佛結構,它不同于傳統的馮•諾依曼(Von Neuman)結構的并行體系結構,其主要特點(diǎn)是將程序和數據存儲在不同的存儲空間中,即程序存儲器和數據存儲器是兩個(gè)相互獨立的存儲器,每個(gè)存儲器獨立編址,獨立訪(fǎng)問(wèn)。此外還具有如下特點(diǎn):

(1)32K×16字的FLASH EEPROM 大大降低了開(kāi)發(fā)成本。

(2)采用100線(xiàn)TQFP的封裝技術(shù)。

(3)64K字的程序存儲空間、64K字的數據存儲空間和64K字的I/O空間通過(guò)三條并行總線(xiàn)(PBA、DRAB、DWAB)獨立操作。所以可以同時(shí)訪(fǎng)問(wèn)程序空間和數據空間;在一個(gè)指定機器周期內,中央算術(shù)邏輯單元可執行多達三次的并行存儲器操作。

(4)片上4.5K的RAM 使得芯片可以實(shí)現快速的DSP計算,并使大部分運算能夠在一個(gè)指令周期內完成。

(5)具有豐富的指令集和靈活的尋址方式。

(6)有四條流水線(xiàn)操作和九級中斷,并且用戶(hù)可以屏蔽大多數中斷,且可通過(guò)軟件方式靈活控制。

2 定點(diǎn)DSP的定時(shí)器

2.1 DSP定時(shí)器定時(shí)原理

計數器每次減到0時(shí),就在下一CLKOUT1周期產(chǎn)生借位(Borrow),計數器就用各自相應的周期寄存器內容重新加載。當TIM減到0時(shí),或者在定時(shí)器控制寄存器(TCR)中重新加載位(TRB)寫(xiě)入1,則PRD(定時(shí)器周期寄存器)加載進(jìn)TIM;同樣,若PSC(預分頻計數器)減到0,或者在TRB寫(xiě)入1,則TDDR(定時(shí)器除數寄存器)的值加載進(jìn)PSC。當TIM減到0時(shí),它便產(chǎn)生一個(gè)借位脈沖,持續時(shí)間等于CLKOUT1的周期(tc(c)),該脈沖發(fā)送到①外部定時(shí)器輸出引腳(TOUT);②作為定時(shí)器中斷信號(TINT)。

定時(shí)器的功能框圖如圖1所示。




2.2 DSP定時(shí)器的寄存器

4位的TDDR和4位的PSC包括在TCR中。而TIM和PRD是16位寄存器。可以通過(guò)讀TCR、TIM、RD得到該定時(shí)器和它的計數器的當前狀態(tài)。

需要注意的是讀TIM可獲得定時(shí)器的當前值,讀TCR可獲得PSC的值。由于讀TIM和TCR需要兩條指令,因而PSC在兩次讀之間可能有減操作,使讀數不精確。如果要求有精確的定時(shí),可以在讀此兩值之前停止定時(shí)器(設置TCR的TSS位為1,就停止定時(shí)器;清TSS為0,就重新啟動(dòng)定時(shí)器)。

定時(shí)器控制寄存器的格式如下:



3 定點(diǎn)DSP準確計算時(shí)間

定時(shí)器時(shí)間的準確計算對高精度地測量一些物理量是非常重要的。當需要定時(shí)器計算的時(shí)間比較長(cháng)時(shí),也就是即使向PRD中置FFFFh時(shí),定時(shí)器計數還不夠,這時(shí)就需要利用定時(shí)器自身的中斷,即TOUT每產(chǎn)生一個(gè)脈沖就進(jìn)入定時(shí)器中斷服務(wù)子程序,利用進(jìn)入的次數來(lái)達到計時(shí)的目的。如果假設定時(shí)器的周期為0.001s(即PRD=1999,TDDR=9),在定時(shí)器中斷服務(wù)子程序中設一個(gè)計數器,每進(jìn)入一次加一個(gè)1,再把定時(shí)器周期乘以計數器計數就得出定時(shí)器的時(shí)間。但這種計算是粗糙的,不精確,達不到高精度要求。為此需要補充兩點(diǎn):

(1)當停止定時(shí)器時(shí),定時(shí)器計數寄存器還有剩余值,必須計算這部分的時(shí)間。方法是先停止定時(shí)器,再讀TIM的值,然后讀TCR的值,通過(guò)運算獲取PSC的值。再按公式(1)計算定時(shí)器在最后一次所開(kāi)銷(xiāo)的時(shí)間。定時(shí)器最后一次開(kāi)銷(xiāo)時(shí)間為:

T=[(TDDR+1)×(PRD-TIM)+TDDR-PSC]/20M (1)

式中,20M為本文采用的晶振頻率。

(2)進(jìn)入定時(shí)器中斷服務(wù)子程序,程序執行本身要花費一定的時(shí)間;而進(jìn)入中斷服務(wù)子程序時(shí),定時(shí)器就自動(dòng)停止,那么所計算的時(shí)間自然就少了。TMS320F206每個(gè)指令周期的執行時(shí)間是50ns,通過(guò)計算中斷服務(wù)子程序的指令周期數和進(jìn)入中斷的次數可以計算出這部分的時(shí)間。

把這三部分時(shí)間加起來(lái)就得到準確的定時(shí)器時(shí)間,有了準確的時(shí)間,物理量的測量自然就準,精度就高。結果表明,通過(guò)這樣準確計時(shí),使得頻率和相位的測量精度在萬(wàn)分之二以?xún)?#65377;如果測量的是一個(gè)標準的50Hz頻率,那么測量結果的范圍在50~50.001Hz。

4 DSP程序實(shí)現

splk #0412h,64h

out 64h,0fff8h ;停止DSP定時(shí)器

in 65h,tim ;讀tim寄存器的數值

in 67h,tcr ;計算tcr中psc的值

lacl 67h

and #03c0h ;與03c0h獲得psc的值

sacl 67h ;左移10位

lacc 67h,10

sach 67h

lacl #9

sub 67h

sacl 67h ;存psc中剩下的值(即使用了的)

lacl #07cfh

sub 65h

sacl 68h ;存prd-tim的值

lt 68h

mpy #10 ;TDDR+1

pac

sacl 68h

lacl 68h

add 67h

sacl 68h

lt 68h ;*0.1

lar ar1;#temptddr ;temptddr=0.1

mar *,ar1

mpy *

pac

add #1,14

sach 68h,1

lacl 68h

sfr

sacl 68h ;存定時(shí)器最后一次的時(shí)間單位為μs

lt 69h

lar ar2;#temptddr1 ;temptddr1=定時(shí)器的周期

mar *,ar2

mpy *

pac

add 68h ;加定時(shí)器最后一次的時(shí)間

sacl 68h ;存定時(shí)器總的所耗時(shí)間(占時(shí)間的多數)

lt 69h

lar ar2,#temptddr2 ;temptddr2=0.5*32767

mar *,ar2

mpy * ;計算定時(shí)器中斷服務(wù)程序執行時(shí)間

pac

add #1,14

sach 67h,1

lacl 68h

add 67h ;加定時(shí)器中斷服務(wù)程序執行時(shí)間

sacl 68h ;存總的時(shí)間
本文地址:http://selenalain.com/thread-27784-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页