TMS320F206中斷技術(shù)及其實(shí)現(xiàn)
摘要:tms320f206是德州儀器公司定點(diǎn)dsp芯片中具有代表性的一種,在介紹其特點(diǎn)和中斷技術(shù)的基礎(chǔ)上,重點(diǎn)闡述了該芯片在軟件開發(fā)過程中中斷技術(shù)是如何實(shí)現(xiàn)的。
關(guān)鍵詞:tms320f206 dsp 中斷以信息高速公路為標(biāo)志的信息化,已成為社會(huì)發(fā)展的大趨勢,并在逐步成為現(xiàn)實(shí)。信息化是以數(shù)字化為背景的,而數(shù)字信號(hào)處理技術(shù)則是數(shù)字化最重要的基本技術(shù)之一。在過去短短的十幾年里,各種集成化的單片數(shù)字信號(hào)處理器(dsp)的性能得到了很大的改善,軟件開發(fā)工具越來越多,也越來越好;而價(jià)格卻大幅度下降,從而使得數(shù)字信號(hào)處理器件及技術(shù)更容易使用,價(jià)格也能夠?yàn)閺V大用戶接受。從市場上各種dsp產(chǎn)品來看,德州儀器公司產(chǎn)品占據(jù)半壁江山,特別是tms320系列,本文討論的tms320f206就是這個(gè)系列中的定點(diǎn)數(shù)字信號(hào)處理芯片。1 tms320f206的結(jié)構(gòu)特點(diǎn)
ti公司的tms320f206芯片是采用靜態(tài)cmos集成電路工藝制造的。結(jié)構(gòu)設(shè)計(jì)建立在tms320c20x芯片的基礎(chǔ)上,只需5v的低電壓就可運(yùn)行。它的先進(jìn)的哈佛結(jié)構(gòu)、片內(nèi)外設(shè)、片上內(nèi)存以及豐富的命令集使它的速度和可靠性大大提高。
tms320f206的主要特點(diǎn)有?
(1)32k×16字的flash eeprom大大降低了開發(fā)成本;
(2)采用了100線tqfp的封裝技術(shù);
(3)64k字的程序存儲(chǔ)空間、64k字的數(shù)據(jù)存儲(chǔ)空間和64k字的i/o空間,通過三條并行總線(pba、drab、dwab)獨(dú)立操作。所以可以同時(shí)訪問程序空間和數(shù)據(jù)空間,在一個(gè)指定機(jī)器周期內(nèi),中央算術(shù)邏輯單元可執(zhí)行多達(dá)三次的并行存儲(chǔ)器操作;
(4)片上4.5k的ram 使得芯片可以實(shí)現(xiàn)快速的dsp計(jì)算,并使大部分運(yùn)算能夠在一個(gè)指令周期內(nèi)完成;
(5)豐富的指令集和靈活的尋址方式;
(5)有四條流水線操作和九級中斷,并且大多數(shù)中斷用戶可以屏蔽,可以通過軟件的方式靈活控制。2 tms320f206的中斷
在tms320f206的程序空間中,中斷向量占據(jù)了00~3fh的位置,并且中斷的優(yōu)先級也是固定的,所以在編程開發(fā)時(shí)先要編好一個(gè)中斷向量表,對于沒有用到的中斷也應(yīng)該編上,并讓它返回到一個(gè)空位置,以免發(fā)生意外情況。tms320f206的中斷有許多特殊的地方,如hold和int1共用一個(gè)中斷向量,int2與int3也共用一個(gè)中斷向量。如果在實(shí)際應(yīng)用中用到的中斷比較多時(shí),那么控制中斷就是一件比較難的事,此時(shí)就要對它的三個(gè)中斷寄存器靈活運(yùn)用。下面就來介紹這三個(gè)寄存器。
(1) 16位的中斷標(biāo)志寄存器(ifr),地址為0006h,各位情況如圖1所示。當(dāng)有一個(gè)可屏蔽中斷到達(dá)cpu時(shí),ifr的相應(yīng)標(biāo)志位就置1,這表明相應(yīng)的中斷正在被掛起或正在等待響應(yīng)。將1寫入到相應(yīng)的標(biāo)志位,可清除相應(yīng)的位并清除其中斷請求。
在圖1中,0表示一般情況下讀的數(shù)為0,r表示讀,w1c表示寫1時(shí)把這位清為0。-0表示復(fù)位后這位為0。(2) 16位的中斷屏蔽寄存器(imr),地址為0004h,各位情況如圖2所示。它用來屏蔽外部和內(nèi)部硬件中斷(nmi和rs除外)。當(dāng)要屏蔽某硬件中斷時(shí),就把相應(yīng)位清0當(dāng)要開放某硬件中斷時(shí),就把相應(yīng)位置1,并且它的每一位不受硬件復(fù)位的影響。
在圖2中,0表示一般情況下讀的數(shù)為0,r表示讀,w表示寫,-0表示復(fù)位后這位為0.2位是定時(shí)器中斷,該位為1表示開放定時(shí)器中斷。(3)16位的中斷控制寄存器(icr),地址為0ffech,各位情況如圖3所示。主要用來控制hold/int1和int2/int3。在圖3中,0位為0時(shí)表示屏蔽中斷2(int2),0位為1時(shí)表示開放中斷2;1位為0時(shí)表示屏蔽中斷3(int3),1位為1時(shí)表示開放中斷3;2、3位分別為int2、int3的標(biāo)志位,當(dāng)其為1時(shí)表示對應(yīng)的中斷有中斷請求;4位1時(shí)表示單邊沿觸發(fā)模式,int1引腳下降沿到來時(shí),向cpu發(fā)出中斷請求,用于int1中斷。4位為0時(shí)表示雙邊沿觸發(fā)模式,這種模式適用于hold操作。
此外,tms320f206還有兩個(gè)不能由這三種寄存器來操作和控制的中斷,即:
(1)rs(reset),rs上一旦有請求,將中止程序的流程?使程序執(zhí)行重新從程序存儲(chǔ)器地址為0000h處開始執(zhí)行。
(2)nmi,當(dāng)nmi引腳激活時(shí),程序?qū)?qiáng)行轉(zhuǎn)移到中斷向量在24h的位置,并且其它可屏蔽中斷都將禁止。所以當(dāng)nmi引腳不用時(shí),通常應(yīng)把它接到高電平,以免發(fā)生意外情況。3 tms320f206的中斷實(shí)現(xiàn)
在應(yīng)用實(shí)際中,讓int2引腳測交流電壓頻率和相位而交流電流相位則由int3引