




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
DSP技術(shù)及應(yīng)用
前導(dǎo)課程:微機原理,單片機原理,數(shù)字信號處理理論教學(xué):32學(xué)時實驗:16學(xué)時一DSP概念及相關(guān)知識簡介1.DSP與DSP技術(shù)
1)DSP(DigitalSignalProcessing)數(shù)字信號處理的理論和方法。
2)DSP(DigitalSignalProcessor)用于數(shù)字信號處理的可編程微處理器。
DSP技術(shù)(DigitalSignalProcess)是利用專門或通用數(shù)字信號處理芯片,通過數(shù)字計算的方法對信號進處理的方法與技術(shù)。
第一章:緒論__1.1概述2.CPU、MCU、DSP區(qū)別與聯(lián)系
20世紀(jì)70年代微處理器問世以來,一直沿著3個方向發(fā)展。這三類微處理器各有其特點。雖然在技術(shù)上不斷借鑒和交融,但又有各自不同的應(yīng)用領(lǐng)域。☉CPU:微型計算機中央處理器。(如:奔騰等)
CenterProcessorUnit☉MCU:單片微型計算機(如MCS-51,MCS-96等)
MicroControllerUnit(SingleChipMicrocomputer)☉DSP:可編程的數(shù)字信號處理器。
DSP(DigitalSignalProcessor第一章:緒論__1.1概述第一章:緒論__1.1概述
3.DSP技術(shù)發(fā)展的兩個領(lǐng)域☉理論:數(shù)字信號處理的理論和方法近年來得到迅速的發(fā)展,為各種實時處理的應(yīng)用提供了方法基礎(chǔ)。如:聲音圖像壓縮編碼,加密解密,調(diào)制解調(diào),智能天線。☉應(yīng)用:為了滿足市場需求,隨著微電子科學(xué)與技術(shù)的進步,DSP的性能在迅速提高。如:時鐘頻率達到1.1GHZ;處理速度每秒90億次,32位浮點運算,吞吐率達到2Gbit/s☉兩者關(guān)系:理論推動了應(yīng)用,應(yīng)用促進理論的發(fā)展。
4.DSP的理論基礎(chǔ)它以眾多的經(jīng)典理論體系作為自己的理論基礎(chǔ),同時它又是新興學(xué)科理論基礎(chǔ)。經(jīng)典理論體系:微積分,概率統(tǒng)計,隨機過程,數(shù)值分析,網(wǎng)絡(luò)理論,通信理論,控制論。新興學(xué)科:人工智能,模擬識別,神經(jīng)網(wǎng)絡(luò)。
第一章:緒論__1.1概述5.DSP的實現(xiàn)方法☉PC機軟件實現(xiàn)。(C語言、MATLAB語言等)主要用于DSP算法的模擬與仿真,驗證算法的正確性和性能。優(yōu)點是靈活方便,缺點是速度較慢。
☉PC機+專用處理機。專用性強,應(yīng)用受到很大的限制,不便于系統(tǒng)的獨立運行。
☉通用單片機(51、96系列等)適用于簡單的DSP算法,完成一些不太復(fù)雜的數(shù)字信號處理任務(wù),如數(shù)字控制等。
第一章:緒論__1.1概述5.DSP的實現(xiàn)方法(續(xù)一)☉專用DSP芯片。(特殊功能:如:FFT、數(shù)字濾波、卷積、相關(guān)等算法)這種芯片將相應(yīng)的信號處理算法在芯片內(nèi)部用硬件實現(xiàn),無須進行編程。處理速度極高,但專用性強,應(yīng)用受到限制。
☉通用可編程DSP芯片。具有更加適合于數(shù)字信號處理的軟件和硬件資源,可用于復(fù)雜的數(shù)字信號處理算法,特點是靈活、速度快,可實時處理。第一章:緒論__1.1概述5.DSP的實現(xiàn)方法(續(xù)二)本課程主要討論數(shù)字信號處理的軟硬件實現(xiàn)方法,即利用數(shù)字信號處理器(DSP芯片),通過配置硬件和編程,實現(xiàn)所要求的數(shù)字信號處理任務(wù)。
第一章:緒論__1.1概述二DSP系統(tǒng)的特點(與模擬信號處理系統(tǒng)相比)☉接口簡單、方便。電氣特性簡單,數(shù)據(jù)流采用標(biāo)準(zhǔn)協(xié)議。☉精度高、抗干擾能力強,穩(wěn)定性好。僅受量化誤差,有限字長影響,信噪比高,器件性能影響小。☉編程方便、易于實現(xiàn)復(fù)雜算法(含自適應(yīng)算法)。DSP芯片提供高速計算平臺,可實現(xiàn)復(fù)雜的信號處理。
第一章:緒論__1.1概述DSP系統(tǒng)的特點(續(xù)一)☉可程控。當(dāng)系統(tǒng)的功能和性能發(fā)生改變時,不需要重新設(shè)計、裝配、調(diào)試。如:數(shù)字濾波:低通、高通、帶通…。軟件無線電:不同工作模式電臺通信。虛擬儀器:濾波器、頻譜儀等。☉集成方便。因為DSP芯片內(nèi)除DSP芯片還有一定的外圍電路。
第一章:緒論__1.1概述第一章:緒論__1.2可編程DSP芯片
三DSP芯片的結(jié)構(gòu)特點
(1)改進的哈佛結(jié)構(gòu)
(2)多總線結(jié)構(gòu)
多總線結(jié)構(gòu)可以保證在一個機器周期內(nèi)多次訪問程序空間和數(shù)據(jù)空間。如:TMS320C54x內(nèi)部有P、C、D、E4條總線(每條總線又包括地址總線和數(shù)據(jù)總線),可以在一個機器周期內(nèi)從程序存儲器取1條指令、從數(shù)據(jù)存儲器讀2個操作數(shù)和向數(shù)據(jù)存儲器寫1個操作數(shù),大大提高了DSP的運行速度。第一章:緒論__1.2可編程DSP芯片
(3)流水線技術(shù)
DSP處理器流水線技術(shù)是將各指令的各個步驟重疊起來執(zhí)行,而不是一條指令執(zhí)行完成之后,才開始執(zhí)行下一條指令。第一章:緒論__1.2可編程DSP芯片(4)多處理單元
DSP內(nèi)部一般包括多個處理單元,如算術(shù)邏輯運算單元(ALU)、輔助寄存器運算單元(ARAU)、累加器(ACC)及硬件乘法器(MUL)等。它們可以在一個指令周期內(nèi)同時進行運算。多處理單元結(jié)構(gòu),特別適用于大量乘加操作的矩陣運算、濾波、FFT、Viterbi譯碼等。第一章:緒論__1.2可編程DSP芯片第一章:緒論__1.2可編程DSP芯片(5)指令周期短、功能強
采用4mNMOS制造工藝,其運算速度為5MIPS(每秒執(zhí)行百萬條指令)。采用亞微米CMOS制造工藝,其運行速度更快。TMS320C54x:運行速度可達100MIPS。TMS320C6203的時鐘為300MHz,運行速度達到2400MIPS。
DSP指令功能強大,一條特殊指令可完成十分復(fù)雜的功能。如:TMS320C54x中的FIRS和LMS指令,分別用于系數(shù)對稱的FIR濾波器和LMS算法。
(6)運算精度高
早期DSP的字長為8位,后來逐步提高到16位、24位、32位。為防止運算過程中溢出,有的累加器達到40位。浮點DSP提供了更大的動態(tài)范圍,如TMS320C3x、TMS320C4x、ADSP21020等。
第一章:緒論__1.2可編程DSP芯片(7)豐富的外設(shè)片內(nèi)具有主機接口(HPI),直接存儲器訪問控制器(DMAC),外部存儲器擴展口,串行通信口,中斷處理器,鎖相環(huán)時鐘產(chǎn)生器測繪訪問口(實現(xiàn)符合IEEE1149.1標(biāo)準(zhǔn)在片仿真)第一章:緒論__1.2可編程DSP芯片(8)功耗低一般DSP芯片功耗為0.5~4W。
采用低功耗技術(shù)的DSP芯片只有0.1W,(電池供電)如:TMS3205510僅0.25mW,特別適用于便攜式數(shù)字終端。
第一章:緒論__1.2可編程DSP芯片DSP最重要的特點:特殊的內(nèi)部結(jié)構(gòu)、強大的信息處理能力及較高的運行速度。
DSP芯片是高性能系統(tǒng)的核心:DSP能實時處理大量數(shù)據(jù),特別是在聲音、圖像等不允許時間延遲領(lǐng)域的應(yīng)用十分理想。如:DSP已成了全球70%數(shù)字電話的“心臟”,同時DSP在網(wǎng)絡(luò)領(lǐng)域也有廣泛的應(yīng)用。第一章:緒論__1.2可編程DSP芯片2.DSP芯片的分類
(1)按用途分類通用型DSP芯片(本課程主要討論的芯片)一般指可以用指令編程的DSP芯片,適合普通的DSP應(yīng)用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用型DSP芯片為特定的DSP運算而設(shè)計,如數(shù)字濾波、卷積和FFT等,通過加載數(shù)據(jù)、控制參數(shù)或在管腳上加控制信號的方法使其具有有限的可編程能力。如Motorola公司的DSP56200。
第一章:緒論__1.2可編程DSP芯片2.DSP芯片的分類(2)按數(shù)據(jù)格式分
定點DSP
數(shù)據(jù)以定點格式工作的DSP芯片稱為定點DSP芯片,該芯片簡單、成本較低。兩種基本表示方法:
?整數(shù)表示方法:主要用于控制操作、地址計算和其他非信號處理的應(yīng)用。
?小數(shù)表示方法:主要用于數(shù)字和各種信號處理算法的計算中。定點表示并不意味著一定是整數(shù)表示。第一章:緒論__1.2可編程DSP芯片浮點DSP
數(shù)據(jù)以浮點格式工作的DSP芯片稱為浮點DSP芯片,該芯片運算精度高、運行速度快。浮點數(shù)在運算中,表示數(shù)的范圍由于其指數(shù)可自動調(diào)節(jié),因此可避免數(shù)的規(guī)格化和溢出等問題。但浮點DSP一般比定點DSP復(fù)雜,成本較高。
第一章:緒論__1.2可編程DSP芯片3.DSP芯片的發(fā)展及趨勢
(1)DSP芯片的發(fā)展歷程
☉1978年第一片DSP誕生S2811(Microsystems公司AMI子公司)☉1986年以來得到突飛猛進的發(fā)展。☉現(xiàn)今:生產(chǎn)DSP廠家80多個,品種300多種。TI公司市場份額:60%;AD公司市場份額:15%;Motorola市場份額:10%;Lucent市場份額:5%;
第一章:緒論__1.2可編程DSP芯片第一章:緒論__1.2可編程DSP芯片(2)TI公司DSP芯片簡介
?第一代:TMS32010及其系列產(chǎn)品(1982年)
?第二代:TMS32020、TMS320C25/C26/C28?第三代:TMS320C30/C31/C32,
?第四代:TMS320C40/C44,
?第五代:TMS320C50/C51/C52/C53/C54和集多個DSP于一體的高性能DSP芯片TMS320C80/C82等
?第六代:TMS320C62x/C67x等。
第一章:緒論__1.2可編程DSP芯片(3)國內(nèi)DSP的發(fā)展概況☉1983年引進(TMS32010)☉我國DSP產(chǎn)品主要來自海外。TI公司的產(chǎn)品約占國內(nèi)DSP市場的90%,其余為Lucent、AD、Motorola、ZSP和NEC等公司。☉現(xiàn)狀:DSP開發(fā)工具
/DSP硬件平臺開發(fā)
/DSP應(yīng)用軟件開發(fā)☉國內(nèi)較知名的公司:北京“聞亭”、“合眾達”等。
第一章:緒論__1.2可編程DSP芯片
國內(nèi)引入的主流產(chǎn)品:
?TMS320F2407(電機控制)?TMS320C5409(信息處理)?TMS320C6201(圖像處理)
第一章:緒論__1.2可編程DSP芯片4.DSP芯片的應(yīng)用
☉通用數(shù)字信號處理:濾波、自適應(yīng)、卷積、FFT、希伯特變換、頻譜分析等;☉語音識別與處理:語音編碼/會議/識別/信箱等;☉圖形/圖像處理:二維/三維圖形變換、模式識別、圖像識別、電子地圖、機器人視覺等;☉儀器儀表:函數(shù)發(fā)生器、數(shù)據(jù)采集等;
第一章:緒論__1.2可編程DSP芯片4.DSP芯片的應(yīng)用(續(xù)一)
☉自動控制:機器人控制、發(fā)動機控制、升空作業(yè)等;☉醫(yī)學(xué)工程:心/腦電圖、監(jiān)護、超聲、X—射線掃描等;☉家用電器:HDTV(高清度電視)、高保真音響、數(shù)字電話、電子玩具等;☉通信:糾錯編/譯碼、自適應(yīng)均衡、回波抵消、同步、分集接收、數(shù)字調(diào)制/解調(diào)、擴頻通信、軟件無線電等;
第一章:緒論__1.2可編程DSP芯片4.DSP芯片的應(yīng)用(續(xù)二)
☉計算機:陣列處理器、圖形加速器、工作站和多媒體計算機等。☉國防軍事:雷達與聲吶信號處理、導(dǎo)航、導(dǎo)彈制導(dǎo)、保密通信、全球定位、電子對抗、情報收集與處理等。
第一章:緒論__1.3TMS320系列DSP概述
TI公司常用的DSP芯片可以歸納為三大系列:
?TMS320C2000系列:TMS320C2xx/C24x/C28x等;
?TMS320C5000系列:TMS320C54x/C55x等;
?TMS320C6000系列:TMS320C62x/C67x/C64x。
說明:同一代TMS320系列DSP產(chǎn)品的CPU結(jié)構(gòu)是相同的,但其片內(nèi)存儲器及外設(shè)電路的配置不一定相同。一些派生器件,諸如片內(nèi)存儲器和外設(shè)電路的不同組合,滿足了世界電子市場的各種需求。第一章:緒論__1.3TMS320系列DSP概述1.C2000系列簡介
?TMS320C2000系列DSP控制器,具有很好的性能,集成了Flash存儲器、高速A/D、CAN模塊等。
?C2000系列DSP芯片價格低,具有較高的性能和適用于數(shù)字化控制領(lǐng)域的功能。因此在工業(yè)自動化、電動機控制、家用電器和消費電子等領(lǐng)域得到廣泛應(yīng)用。
?TI目前主推C24x和C28x兩個子系列第一章:緒論__1.3TMS320系列DSP概述
?C24x系列:20MIPS或以上,比傳統(tǒng)的16位MCU的性能要高出很多。使用DSP后,可以應(yīng)用自適應(yīng)控制、Kalman濾波、狀態(tài)控制等先進的控制算法,使控制系統(tǒng)的性能大大提高。
?C28x系列:用于數(shù)字控制領(lǐng)域性能最好的DSP芯片。采用32位的定點DSP核,最高速度可達400MIPS,可以在單個指令周期內(nèi)完成32×32位的乘累加運算,具有增強的電機控制外設(shè),高性能A/D和改進的通信接口,8GB的線性地址空間,低壓供電(3.3V外設(shè)/1.8VCPU核)。
第一章:緒論__1.3TMS320系列DSP概述2.C5000系列簡介
C5000系列DSP芯片包括C54x和C55x兩大類
?C54x:具有高度的操作靈活性和運行速度。其結(jié)構(gòu)采用改進的哈佛結(jié)構(gòu),具有專用硬件邏輯的CPU,片內(nèi)存儲器,片內(nèi)外設(shè),以及一個效率很高的指令集。
16位定點DSP,適應(yīng)遠(yuǎn)程通信等實時嵌入式應(yīng)用的需要。本課程將以C54x為主介紹DSP技術(shù),第一章:緒論__1.3TMS320系列DSP概述
?C55x:是C5000系列DSP中的子系列,是從C54x發(fā)展起來的,并與之原代碼兼容。
C55x工作在0.9V時,功耗低至0.005mW/MIPS。工作在400MHz鐘頻時,可達800MIPS。和120MHz的C54相比,300MHz的C55x性能提高5倍,功耗為C54系列的1/6。因此,C55x非常適合個人的和便攜式的應(yīng)用,以及數(shù)字通信設(shè)施的應(yīng)用。
第一章:緒論__1.3TMS320系列DSP概述舉例:
DSP在手機中的應(yīng)用:(1)2G手機:基帶體系結(jié)構(gòu)由兩部分組成DSP/MCUDSP:早期的2G手機中,這些功能由C54X實現(xiàn),工作頻率約40MHZ。2.5G手機中,這些功能由C55X實現(xiàn),工作頻率約>100MHZ第一章:緒論__1.3TMS320系列DSP概述
MCU:負(fù)責(zé)支持手機的用戶界面,并處理通信協(xié)議棧中的上層協(xié)議
芯片:32位RISC內(nèi)核:ARM7TDMI,f=10MHZ//40MHZ(2.5G)第一章:緒論__1.3TMS320系列DSP概述(2)2.5G手機:典型例子:GPRS(通用分組無線業(yè)務(wù))利用多個GSM時隙,通過分組交換,始終在線的信道,可以為用戶提供高達155kbps的數(shù)據(jù)傳輸速率(3G室內(nèi)達2Mbps)(3)3G手機:將實時通信功能與用戶交互式應(yīng)用分開,實現(xiàn)多媒體通信。☉開放式多媒體應(yīng)用平臺OMAP含多個DSP、MCU☉動態(tài)的應(yīng)用環(huán)境可不斷將新的應(yīng)用軟件下栽到DSP、MCU內(nèi)第一章:緒論__1.3TMS320系列DSP概述3.C6000系列簡介
TMS320C6000系列是TI公司從1997年推出。采用TI的專利技術(shù)VeloiTI和新的超長指令字結(jié)構(gòu),性能達到很高的水平。
?第一款芯片C6201,在200MHz鐘頻時,達到1600MIPS。
?2000年以后推出的C64x,在鐘頻1.1GHz時,可以達到8800MIPS以上,即每秒執(zhí)行近90億條指令。片內(nèi)DMA引擎和64個獨立的通道,使其I/O帶寬達到2GB/s。
第一章:緒論__1.3TMS320系列DSP概述C6000推出了C62x/C67x/C64x等3個子系列。
?C62x是TI公司于1997年開發(fā)的一種新型定點DSP芯片??赏瑫r執(zhí)行8條指令,其運算能力可達2400MIPS。
?C67x是一種新型浮點DSP芯片。可同時執(zhí)行8條指令,其運算能力可達1GFLOPS。
?C64x是C6000系列中最新的高性能定點DSP芯片,可以提供超過2GB/s的持續(xù)帶寬。與C62x相比,C64x的總性能提高了10倍。第一章:緒論__1.3TMS320系列DSP概述TMS320C6000系列主要應(yīng)用
1)數(shù)字通信適合于FFT/IFFT,Read-Solomon編解碼,循環(huán)回聲綜合濾波器,星座編解碼,卷積編碼,Viterbi解碼等信號處理算法的實時實現(xiàn)。如
?ADSL(非對稱數(shù)字用戶線),
?線纜調(diào)制解調(diào)器(cablemodem)?移動通信(移動電話基站、3G基站里的收發(fā)器、智能天線、)第一章:緒論__1.3TMS320系列DSP概述
2)圖像處理
C6000系列DSP廣泛地應(yīng)用在圖像處理領(lǐng)域。例如,數(shù)字電視、數(shù)字照相機與攝像機、打印機、數(shù)字掃描儀、雷達/聲吶及醫(yī)用圖像處理等,在這些應(yīng)用中,DSP用來做圖像壓縮、圖像傳輸、模式及光學(xué)特性識別、加密/解密及圖像增強等。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
1.DSP系統(tǒng)設(shè)計過程
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
(1)算法研究與優(yōu)化
?根據(jù)系統(tǒng)需求進行算法仿真和高級語言(如MATLAB)模擬實現(xiàn),通過仿真驗證算法的正確性、精度和效率,以確定最佳算法,并初步確定相應(yīng)的參數(shù)。
?核算算法需要的DSP處理能力。一是選擇DSP的重要因素,另一影響目標(biāo)板的DSP結(jié)構(gòu)(如采用單DSP還是多DSP,并行結(jié)構(gòu)還是串行結(jié)構(gòu)等)。
?優(yōu)化算法。一方面提高算法的效率,另一方面使算法更加適合DSP的體系結(jié)構(gòu)(如對算法進行并行處理的分解或流水處理的分解等),以便獲得運算量最小和使用資源最少的算法。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
(2)DSP芯片及外圍芯片的確定
根據(jù)算法的運算速度、精度和存儲要求等參數(shù)選擇DSP芯片及外圍芯片。每種DSP芯片都有它特別適合處理的領(lǐng)域。如:TMS320C54x系列適合通信領(lǐng)域的應(yīng)用(對Vertbi譯碼、FFT等算法的支持,保證了通信信號處理算法的實現(xiàn)效率)。
TMS320C24xx系列適合家電產(chǎn)品領(lǐng)域,不論是對算法的支持、存儲器配置,還是外設(shè)支持,都能充分保證應(yīng)用的效率。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
(3)軟硬件設(shè)計階段(三步)①按選定的算法和DSP芯片對系統(tǒng)的各項功能進行軟硬件分工。如FFT、數(shù)字上/下變頻器、RAKE分集接收是否需要專門芯片或FPGA芯片實現(xiàn),譯碼判決算法是用軟件判決還是硬件判決等。②根據(jù)系統(tǒng)技術(shù)指標(biāo)進行硬件設(shè)計,完成DSP芯片外圍電路和其他電路(如轉(zhuǎn)換、控制、存儲、輸出輸入等電路)的設(shè)計。③根據(jù)系統(tǒng)技術(shù)指標(biāo)要求和所確定的硬件編寫相應(yīng)的DSP匯編程序,完成軟件設(shè)計(在實際應(yīng)用系統(tǒng)中常常采用高級語言和匯編語言的混合編程方法,即在算法運算量大的地方,用手工編寫的方法編寫匯編語言,而運算量不大的地方則采用高級語言)。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
(4)硬件和軟件調(diào)試階段
?硬件調(diào)試:一般采用硬件仿真器進行;
?軟件調(diào)試:一般借助DSP開發(fā)工具(如軟件模擬器、DSP開發(fā)系統(tǒng)或仿真器)進行。通過比較在DSP上執(zhí)行的實時程序和模擬程序執(zhí)行情況來判斷軟件設(shè)計是否正確。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
(5)系統(tǒng)集成與測試階段
系統(tǒng)軟硬件分別調(diào)試完成后,可以將軟件脫離開發(fā)系統(tǒng)而直接在應(yīng)用系統(tǒng)上運行,評估是否完成設(shè)計目標(biāo)。將模擬算法移植到實時系統(tǒng)后,算法是否能夠?qū)崟r運行要進行測試,如果算法運算量太大而不能在硬件上實時運行,則必須重新修改或簡化算法。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要2.DSP芯片的選擇(考慮因素)(1)DSP芯片的運算速度
首先由輸入信號的頻率范圍確定系統(tǒng)的最高采樣頻率,再根據(jù)算法的運算量和實時處理限定的完成時間確定DSP運算速度的下限。DSP芯片運算速度主要衡量指標(biāo):①指令周期②
MAC時間③
FFT執(zhí)行時間④
MIPS:即每秒執(zhí)行百萬條指令第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(2)DSP芯片的運算精度
?由系統(tǒng)所需要的精度確定是采用定點還是浮點運算。
?大多數(shù)定點DSP都采用16位數(shù)據(jù)格式(除少數(shù)DSP處理器采用20位、24位或32位的格式外
),實際應(yīng)用的DSP處理器絕大多數(shù)是定點處理器。
?浮點DSP的數(shù)據(jù)格式多數(shù)為32位(數(shù)據(jù)總線、寄存器、存儲器等的寬度也相應(yīng)是32位)。在實時性要求很高的場合,往往考慮使用浮點DSP處理器。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(3)片內(nèi)硬件資源
?由系統(tǒng)數(shù)據(jù)量的大小確定所使用的片內(nèi)RAM及需要擴展的RAM;根據(jù)系統(tǒng)用途(計算&控制)確定I/O接口的多少。
?不同DSP芯片提供的硬件資源不同,如片內(nèi)RAM、ROM的數(shù)量,外部可擴展的程序和數(shù)據(jù)空間,總線接口、I/O接口等。
?同一系列的(如TI的C54x系列)不同型號DSP芯片具有不同的內(nèi)部硬件資源,以適應(yīng)不同的需要。
?在一些特殊的控制場合有一些專門的芯片可供選用,如TMS320C2xx系列自身帶有2路A/D輸入和6路PWM輸出及強大的人機接口,特別適合于電動機控制場合。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(4)DSP芯片的功耗及價格
?某些DSP應(yīng)用場合,功耗是一個很重要的問題。如便攜式的DSP設(shè)備、手持設(shè)備(手機)和野外應(yīng)用的DSP設(shè)備,對功耗都有特殊的要求。
?在選擇DSP芯片時一定要考慮其性能價格比。如應(yīng)用于民用品或批量生產(chǎn)的產(chǎn)品中就需要較低廉的價格。注:在開發(fā)階段可選擇性能高、價格稍貴的DSP芯片,等開發(fā)完成后,會具有較高的性價比(DSP芯片發(fā)展迅速,價格不斷下降)。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(5)DSP芯片的開發(fā)工具快捷、方便的開發(fā)工具和完善的軟件支持是開發(fā)大型復(fù)雜DSP系統(tǒng)必備的條件。常用的軟硬件開發(fā)工具:Simulator軟件仿真器、Emulator在線仿真器和C編譯器等。如TI公司的CCS集成開發(fā)環(huán)境、XDSP實時軟件技術(shù)等,為用戶快速開發(fā)實時高效的應(yīng)用系統(tǒng)可提供巨大幫助。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(6)其他因素除了上述因素外,選擇DSP芯片還應(yīng)考慮到以下因素:
?封裝的形式(DIP、PGA、PLCC、PQFP等)
?質(zhì)量標(biāo)準(zhǔn)(工業(yè)級或軍用級標(biāo)準(zhǔn))
?供貨情況(如果所設(shè)計的DSP系統(tǒng)不僅僅是一個實驗系統(tǒng),而是需要批量生產(chǎn)并可能有幾年甚至十幾年的生命周期,那么需要考慮所選的DSP芯片供貨情況如何)
?生命周期第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要確定DSP的運算量是非常重要的,考慮兩種情況。1)按樣點處理所謂按樣點處理,就是DSP算法對每一個輸入樣點循環(huán)一次。數(shù)字濾波就是這種情況,在數(shù)字濾波器中,通常需要對每一個輸入樣點計算一次。例如,一個采用LMS算法的256抽頭的自適應(yīng)FIR濾波器,假定每個抽頭的計算需要3個MAC周期。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
256抽頭計算需要256×3=768個MAC周期如果采樣頻率為8kHz,即樣點之間的間隔為125s,DSP芯片的MAC周期為200ns,則768個MAC周期需要
768×200ns=153.6s由于計算1個樣點所需的時間153.6s大于樣點之間的間隔125s,顯然無法實時處理,需要選用速度更高的DSP芯片。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要2)按幀處理有些數(shù)字信號處理算法不是每個輸入樣點循環(huán)一次,而是每隔一定的時間間隔(通常稱為幀)循環(huán)一次。中低速語音編碼算法通常以10ms或20ms為一幀,每隔10ms或20ms語音編碼算法循環(huán)一次。所以,選擇DSP芯片時應(yīng)該比較一幀內(nèi)DSP芯片的處理能力和DSP算法的運算量。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
DSP芯片在一幀內(nèi)所能提供的最大運算量為例如TMS320VC5402―100的指令周期為10ns,設(shè)幀長為20ms,則一幀內(nèi)TMS320VC5402―100所能提供的最大運算量為因此,只要語音編碼算法的運算量不超過200萬條指令(單周期指令),就可以在TMS320VC5402―100上實時運行。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要
3.DSP應(yīng)用系統(tǒng)的開發(fā)工具
?設(shè)計人員在為實時系統(tǒng)選擇處理器時,都極為看重先進的、易于使用的開發(fā)環(huán)境與工具。
?DSP廠商及第三方公司為DSP系統(tǒng)集成和硬軟件的開發(fā)提供了大量有用的工具。
?用匯編語言或C語言編寫的源程序,通過編譯、連接工具產(chǎn)生DSP的執(zhí)行代碼。在調(diào)試階段,利用軟仿真(simulator)在計算機上仿真運行;或利用硬件調(diào)試工具(如XDS510)將代碼下載到DSP中,并通過計算機監(jiān)控、調(diào)試運行該程序。調(diào)試完成后,將該程序代碼固化到EPROM中,以便DSP目標(biāo)系統(tǒng)脫離計算機單獨運行。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要幾種常用的開發(fā)工具。(1)代碼生成工具代碼生成工具包括編譯器、連接器、優(yōu)化C編譯器、轉(zhuǎn)換工具等。使用匯編語言或C語言(最新版的CCS中帶的代碼生成工具可以支持C++)編寫源程序代碼。使用代碼生成工具進行編譯、連接,最終形成機器代碼。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(2)軟仿真器(simulator)
軟仿真器是一個使用主機的處理器和存儲器來仿真TMS320DSP的微處理器的軟件程序,用來進行軟件開發(fā)和非實時的程序驗證??梢栽跊]有目標(biāo)硬件的情況下作DSP軟件的開發(fā)和調(diào)試。在PC上,典型的軟仿真速度是每秒幾百條指令。新型軟仿真器作為CCS的一個標(biāo)準(zhǔn)插件已經(jīng)被廣泛應(yīng)用于DSP的開發(fā)中。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(3)硬仿真器(emulator)?硬仿真器由插在PC內(nèi)PCI卡或接在USB口上的仿真器和目標(biāo)板組成。C54x硬件掃描仿真口通過仿真頭(JTAG)將PC中的用戶程序代碼下載到目標(biāo)板的存儲器中,并在目標(biāo)板內(nèi)實時運行。
?TMS320擴展開發(fā)系統(tǒng)XDS(eXtendedDevelopmentSystem)是功能強大的全速仿真器,用于系統(tǒng)級的集成與調(diào)試。掃描式仿真(Scan-BasedEmulator)是一種獨特的、非插入式的系統(tǒng)仿真與集成調(diào)試方法。程序可以從片外或片內(nèi)的目標(biāo)存儲器實時執(zhí)行,在任何時鐘速度下都不會引入額外的等待狀態(tài)。
?XDS510/XDS510WS仿真器是以PC或SUN工作站為基礎(chǔ)的開發(fā)系統(tǒng),可對C2000、C5000、C6000等實施全速掃描式仿真。第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(4)集成開發(fā)環(huán)境CCS(CodeComposerStudio)
CCS是一個完整的DSP集成開發(fā)環(huán)境,包括編輯、編譯、匯編、鏈接、軟件模擬、調(diào)試等軟件,是目前使用最為廣泛的DSP開發(fā)軟件之一。
兩種工作模式:
?軟件仿真器,即脫離DSP芯片,在PC上模擬DSP指令集與工作機制,主要用于前期算法和調(diào)試;
?硬件開發(fā)板相結(jié)合在線編程,即實時運行在DSP芯片上,可以在線編制和調(diào)試應(yīng)用程序(第5章)。
第一章:緒論__1.4DSP系統(tǒng)設(shè)計概要(5)DSK套件及EVM評估板
DSP入門套件DSK、評估板EVM是TI或第三方為TMS320DSP的使用者設(shè)計和生產(chǎn)的一種評估平臺。
DSK或EVM除了提供一個完整的DSP硬件系統(tǒng)外(A/D、D/A、外部程序/數(shù)據(jù)存儲器、外部接口等),還提供有完整的代碼生成工具及調(diào)試工具。
DSK或EVM不僅可用作DSP實驗(如控制系統(tǒng)、語音處理等),而且可用來編寫和運行實時源代碼,并對其進行評估。
第二章:TMS320C54x的硬件結(jié)構(gòu)2.1TMS320C54x硬件結(jié)構(gòu)框圖2.2總線結(jié)構(gòu)2.3中央處理單元(CPU)2.4存儲器和I/O空間2.5中斷系統(tǒng)2.6片上外設(shè)2.1TMS320C54x硬件結(jié)構(gòu)框圖1.TMS320C54x內(nèi)部結(jié)構(gòu)(3大塊)
(1)CPU:包括算術(shù)邏輯運算單元(ALU)、乘法器、累加器、移位寄存器、各種專門用途的寄存器、地址生成器及內(nèi)部總線。
(2)存儲器系統(tǒng):包括片內(nèi)程序ROM、片內(nèi)單訪問的數(shù)據(jù)RAM和雙訪問的數(shù)據(jù)RAM、外接存儲器接口。
(3)片內(nèi)外設(shè)與專用硬件電路:包括片內(nèi)定時器、各種類型的串口、主機接口、片內(nèi)鎖相環(huán)(PLL)、時鐘發(fā)生器及各種控制電路。
2.TMS320C54x主要特性
C54x是一款低功耗、高性能的定點DSP芯片
(1)CPU部分
?
先進的多總線結(jié)構(gòu)(1條程序總線、3條數(shù)據(jù)總線和4條地址總線)。
?
40位算術(shù)邏輯運算單元(ALU),包括1個40位桶形移位寄存器和2個獨立的40位累加器。
?17位并行乘法器,與40位專用加法器相連,用于非流水線式單周期乘法/累加(MAC)運算。
(1)CPU部分(續(xù))
?
比較、選擇、存儲單元(CSSU):用于加法/比較選擇。
?指數(shù)編碼器:可以在單個周期內(nèi)計算40位累加器中數(shù)值的指數(shù)。
?雙地址生成器:包括8個輔助寄存器和2個輔助寄存器算術(shù)運算單元(ARAU)。
(2)存儲器系統(tǒng)
?192K字可尋址存儲空間:64K字程序存儲空間、64K字?jǐn)?shù)據(jù)存儲空間及64K字I/O空間,對于C548、C549、C5402、C5410和C5416等可將其程序空間擴展至8M。
?片內(nèi)雙尋址
RAM(DARAM)。C54x中的DARAM被分成若干塊。在每個機器周期內(nèi),CPU可以對同一個DARAM塊尋址(訪問)2次,即CPU可以在一個機器周期內(nèi)對同一個DARAM塊讀出1次和寫入1次。DARAM可以映射到程序空間和數(shù)據(jù)空間。但一般情況下,DARAM總是映射到數(shù)據(jù)空間,用于存放數(shù)據(jù)。
?片內(nèi)單尋址RAM(SARAM)。如C548、C5402、C5416等。
(3)片內(nèi)外設(shè)
?軟件可編程等待狀態(tài)發(fā)生器。
?可編程分區(qū)轉(zhuǎn)換邏輯電路。
?片內(nèi)鎖相環(huán)(PLL)和時鐘發(fā)生器。
?可編程串行接口(4種)
?可編程定時器16位(1~2個)
?8位或16位主機接口(HPI)。
?多種節(jié)電模式:軟件控制片外總線、CLKOUT、器件電壓等。(4)指令系統(tǒng)單指令重復(fù)和塊指令重復(fù)操作。用于程序和數(shù)據(jù)管理的塊存儲器傳送指令。32位長操作數(shù)指令。同時讀入2或3個操作數(shù)的指令。可以并行存儲和并行加載的算術(shù)指令。條件存儲指令。從中斷快速返回的指令。2.2總
線
結(jié)
構(gòu)
TMS320C54X總線結(jié)構(gòu)是圍繞8組16比特總線建立的。☉一組程序總線PB:傳送從程序存儲器來的指令代碼和立即數(shù);☉三組數(shù)據(jù)總線(CB、DB):傳送從數(shù)據(jù)存儲器讀出的操作數(shù);
(EB):傳送寫入到數(shù)據(jù)存儲器中的數(shù)據(jù);☉四組地址總線(PAB、CAB、DAB、EAB):傳送執(zhí)行指令所需的地址;
2.3中央處理單元(CPU)
C54X的CPU由運算部件、控制部件和各種寄存器組成。1.CPU狀態(tài)和控制寄存器
C54xDSP有三個狀態(tài)和控制寄存器:
(1)狀態(tài)寄存器0(ST0);
(2)狀態(tài)寄存器1(ST1);
(3)處理器工作模式狀態(tài)寄存器(PMST)。
ST0和ST1中包含各種工作條件和工作方式的狀態(tài),
PMST中包含存儲器的設(shè)置狀態(tài)及其他控制信息。(1)狀態(tài)寄存器(ST0)
功能:反映尋址要求和計算中的狀態(tài);
ST0的結(jié)構(gòu)圖:含義:
ARP——輔助寄存器指針
TC——測試/控制標(biāo)志位
C——進位位。
OVA/OVB——累加器A/B的溢出標(biāo)志位
DP——數(shù)據(jù)存儲器頁指針(2)狀態(tài)寄存器(ST1)功能:反映尋址要求、計算初始狀態(tài)、I/O終端控制
含義:
BRAF——塊重復(fù)操作標(biāo)志位。CPL——直接尋址編輯方式位
XF——XF引腳狀態(tài)位。HM——保持方式位
INTM——中斷方式位。OVM——溢出方式位
SXM——符號位擴展方式位。C16——雙16位/雙精度算術(shù)運算方式位
FRCT——小數(shù)方式位。
CMPT——修正方式位
ASM——累加器移位方式位
(3)工作方式寄存器(PMST—ProcessorModeStatus)
功能:設(shè)定并控制處理器的工作方式,反映處理器工作狀態(tài);含義:IPTR——中斷向量指針。
——微處理器/微型計算機工作方式位OVLY——RAM重復(fù)占位位。
AVIS——地址可見位2.運算部件(6個)(1)算術(shù)邏輯單元(ALU)功能:①C54X使用40bit的ALU和2個40bit累加器(A、B)完成二進制補碼的算術(shù)運算:②ALU可完成布爾運算;③同時完成兩個16bit運算(具有兩個16位的ALU)
組成:ALU組成框圖見下圖ALU組成框圖(2)累加器
功能:存放參加運算的數(shù)據(jù)或存放運算的結(jié)果(ALU或MAC)
組成:三個部分(保護位作用:數(shù)據(jù)位余量,防止溢出,迭代運算)累加器A和B的差別僅在于累加器A的31~16位可以作為乘法器的一個輸入。
(3)桶形移位器
功能:能把輸入的數(shù)據(jù)進行0~31bit左移和0~16bit右移移位數(shù)可以用以下方式定義:用一個立即數(shù)(-16~15)表示。用狀態(tài)寄存器ST1的累加器移位方式(ASM)位表示,共5位,移位數(shù)為-16~15。用T寄存器中最低6位的數(shù)值(移位數(shù)為-16~31)表示。
用途:位提取、數(shù)字定標(biāo)、擴展算術(shù)和溢出保護等,如:桶形移位器和指數(shù)譯碼器,可把A/B中的值在一個周期內(nèi)進行歸一化。
(4)乘/加單元
組成:17×17bit乘法器、40bit加法器、符號控制、小數(shù)控制、零檢測器、舍入器、溢出/飽和邏輯、暫存器;
功能:一個單指令周期內(nèi)完成17×17bit的二進制補碼運算;
用途:卷積、相關(guān)、濾波(LMS)、歐氏距離等運算;
(5)比較、選擇和存儲單元
功能:從累加器(32bit)選擇出較大的字(16bit)并存儲在數(shù)據(jù)M;
用途:在數(shù)據(jù)通信、模式識別等領(lǐng)域,經(jīng)常要用到Viterbi(維特比)算法。C54xDSP的CPU的比較、選擇和存儲單元(CSSU)就是專門為Viterbi算法設(shè)計的進行加法/比較/選擇(ACS)運算的硬件單元。
(6)指數(shù)編碼器
組成:完成EXP單周期指令的專用硬件;
功能:將累加器中的指數(shù)值能以二進制補碼的形式存儲在T中;
指數(shù)值含義:累加器中為消除非有效符號位所需移動的位數(shù);
計算:累加器的冗余位數(shù)-8;
范圍:8~13,超過32位,該操作產(chǎn)生負(fù)值;
用途:累加器內(nèi)容歸一化;
3.特殊功能寄存器(P41)(1)第一類(26個)
功能:主要用于程序的運算處理和尋址方式的選擇及設(shè)定
含義:☉輔助寄存器AR0-AR7:產(chǎn)生16bit數(shù)據(jù)空間,通用R;☉暫存器TREG:乘(加)法指令存放一乘數(shù)、EXP指令結(jié)果;☉過渡寄存器TRN(狀態(tài)轉(zhuǎn)移寄存器):用來得到新的度量值存放中間結(jié)果→Viterbi(用于在Viterbi算法中記錄轉(zhuǎn)移路徑);☉堆棧指針寄存器SP:指示棧頂在數(shù)據(jù)M位置,向下生長;
☉緩沖區(qū)大小寄存器BK:在循環(huán)尋址中確定緩沖區(qū)中數(shù)據(jù)的大??;☉塊循環(huán)寄存器BRC:確定一代碼循環(huán)的次數(shù);塊循環(huán)起始地址RSA:循環(huán)的開始地址;塊循環(huán)結(jié)束地址REA:循環(huán)的結(jié)束地址;☉中斷標(biāo)志寄存器IFR:指明各中斷源的狀態(tài);中斷屏蔽寄存器IMR:獨立的屏蔽特定的中斷;☉其它:累加器A、B,方式控制R:PMST,狀態(tài)R:ST0/ST1等。(2)第二類(17個)功能:用于控制片內(nèi)外設(shè)(串口、定時器、機器周期設(shè)定等)串口控制:
緩沖串口ABU收發(fā)地址:定時器:
其它:
小結(jié)(CPU):①DSP的內(nèi)部控制邏輯完成各種具體流水線指令操作,它對于使用者是保密的。②使用DSP實質(zhì)上就是掌握上述特殊功能寄存器的功能及用法。③對SFR功能的了解程度,直接關(guān)系到所設(shè)計程序的質(zhì)量(運行速度、運算精度、代碼效率、可靠性等)④學(xué)習(xí)DSP硬件結(jié)構(gòu),很大程度上是掌握SFR的正確使用。本章首先掌握ST0;ST1;PMST2.4存儲器和I/O空間
?C54x的總存儲空間為192K字
存儲器的組成(分為3個可選擇的存儲空間):
?C54x片內(nèi)有隨機存儲器(RAM)和只讀存儲器(ROM)。RAM有兩種類型:單尋址RAM(SARAM)和雙尋址RAM(DARAM)。
?C54x片內(nèi)有26個映像到數(shù)據(jù)存儲空間的CPU寄存器和外圍電路寄存器。
?
C54結(jié)構(gòu)上的并行性及在片RAM的雙尋址能力,使它能夠在任何一個給定的機器周期內(nèi)同時執(zhí)行4次存儲器操作,即1次取指、讀2個操作數(shù)和寫1個操作數(shù)。
1.存儲空間的分配
在C54x中,片內(nèi)存儲器的形式有DARAM、SARAM和ROM3種,取決于芯片的型號。RAM總是安排到數(shù)據(jù)存儲空間,但也可以構(gòu)成程序存儲空間,ROM一般構(gòu)成程序存儲空間,也可以部分地安排到數(shù)據(jù)存儲空間。
C54x通過PMST的3個狀態(tài)位(MP/MC、OVLY、DROM),可以很方便地“使能”和“禁止”程序和數(shù)據(jù)空間中的片內(nèi)存儲器。以C5402為例給出了數(shù)據(jù)和程序存儲區(qū)圖,并說明了與MP/、OVLY及DROM3個狀態(tài)位的關(guān)系。
說明:(1)DSP的工作方式控制寄存器中的OVLY(D5)位控制0000~3FFFH存儲空間的片內(nèi)/片外分配;(2)DSP的工作方式控制寄存器中的MP/MC(D6)位控制4000~FFFFH存儲空間的片內(nèi)/片外分配;(3)TMS320C5402的23條程序地址線可擴展外部程序儲存器到1M字。共16頁,每頁64k字。
2.程序存儲器多數(shù)C54xDSP的外部程序存儲器可尋址64K字的存儲空間。它們的片內(nèi)ROM、雙尋址DARAM以及單尋址SARAM,都可以通過軟件映像到程序空間。當(dāng)存儲單元映像到程序空間時,處理器就能自動地對它們所處的地址范圍尋址。如果程序地址生成器(PAGEN)發(fā)出的地址處在片內(nèi)存儲器地址范圍以外,處理器就能自動地對外部尋址。
(1)程序存儲器片內(nèi)程序存儲器
☉片內(nèi)存儲器是否作為程序存儲器,取決于軟件對PMST的狀態(tài)位MP/MC和OVLY的編程。表2-7。
☉TMS320C54X片內(nèi)ROM容量范圍2K~48K字;
☉為了增強處理器的性能,對片內(nèi)ROM再細(xì)分為若干塊,這樣就可以在片內(nèi)ROM的一個塊內(nèi)取指的同時,又在別的塊中讀取數(shù)據(jù)。圖2.14。
☉片內(nèi)高2K字ROM中的內(nèi)容是由TI公司定義的,這2K字程序空間(F800h~FFFFh)中包含的內(nèi)容。如圖2.15。
自舉加載程序。(bootloader從串行口、外部存儲器、I/O接口自舉加載\HPI。)
256字A律壓擴表。
256字μ律壓擴表。
256字正弦函數(shù)值查找表。中斷向量表。
自舉加載程序,可以將用戶代碼調(diào)入到程序存儲器的任何一個位置。☉MP/MC硬件復(fù)位時=0,CPU從FF80H單元(通常存放轉(zhuǎn)移指令→自舉加載程序)開始執(zhí)行。BOOTLOADER介紹在進行硬件產(chǎn)品和系統(tǒng)設(shè)計時,用戶程序通常保存在非遺失的存儲器中。這些非遺失存儲器的訪問速度較慢,一般不能直接作為程序存儲器來使用,需要在上電時引導(dǎo)到CPU的高速存儲器中,這個過程稱為Bootloader。
VC54xx系列DSP的片上ROM存放有引導(dǎo)程序,可以很方便地在DSP上電復(fù)位時,將用戶的應(yīng)用程序從外部存儲設(shè)備,裝入到DSP片內(nèi)存儲器和高速片外程序存儲器中。(2)程序存儲器片外程序存儲器
最多可擴展到1M,分為0~15頁(16*64K)
20位地址線代替16位的地址線(C5402為20位的地址總線,C5420為18位),擴展程序存儲器的頁號由XPC寄存器設(shè)定。為了通過軟件切換程序存儲器的頁面,有6條專用的影響XPC值的指令。
3.
數(shù)據(jù)存儲器
(1)片內(nèi)數(shù)據(jù)存儲器
☉C54X片內(nèi)數(shù)據(jù)存儲器容量范圍10K~200K字節(jié)☉組成:片上ROM、DARAM、SARAM(表2-8)☉空間分配:
☉為了提高處理器的性能,片內(nèi)RAM也細(xì)分為若干塊。分塊以后,用戶可以在同一周期內(nèi)從同一DARAM中取出兩個操作數(shù),將數(shù)據(jù)寫入另一塊DARAM中。圖2.18(2)片外數(shù)據(jù)存儲器☉TMS320C54X片外數(shù)據(jù)存儲器容量范圍最大為48K☉根據(jù)CPU產(chǎn)生的地址自動尋址
4.I/O空間
C54X器件除了程序和數(shù)據(jù)存儲空間外,還提供了64K字的I/O空間,位于器件外部:☉有兩條指令用來訪問此空間(輸入指令PORTR和輸出指令PORTW)對I/O空間尋址;☉訪問I/O空間是對I/O映射的外部器件進行訪問,而不是訪問存儲器;☉所有C54xDSP只有兩個通用I/O,即和XF。為了訪問更多的通用I/O,可以對主機通信并行接口和同步串行接口進行配置,以用作通用I/O。
2.5
中
斷
系
統(tǒng)
2.5.1中斷系統(tǒng)概述中斷:CPU終止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行一個請求中斷的內(nèi)部或外部的中斷服務(wù)程序,待處理完畢后,又返回到被終止的源程序處繼續(xù)執(zhí)行。這一過程稱為中斷;
中斷系統(tǒng):為實現(xiàn)中斷功能而設(shè)置的各種硬件和軟件。
C54xDSP既支持軟件中斷,也支持硬件中斷。當(dāng)同時有多個硬件中斷出現(xiàn)時,C54xDSP按照中斷優(yōu)先級別的高低對它們進行服務(wù)。
1.中斷分類C54xDSP的中斷可以分成兩大類:第一類是可屏蔽中斷。這些都是可以用軟件來屏蔽或開放的硬件和軟件中斷。C5402只使用14個可屏蔽中斷。①~;②RINT0、XINT0、RINT1和XINT2(串行口中斷)。③TINT0、TINT1(定時器中斷)。④HPINT(主機接口)DMAC0~DMAC5。(2)第二類是非屏蔽中斷。這些中斷是不能夠屏蔽的,C54x對這一類中斷總是響應(yīng),并從主程序轉(zhuǎn)移到中斷服務(wù)程序。C54xDSP的非屏蔽中斷包括所有的軟件中斷,以及兩個外部硬件中斷:(復(fù)位)和。
?非屏蔽中斷:不能由用戶用軟件來屏蔽的中斷。
特點:一旦有非屏蔽中斷請求,CPU必須予以響應(yīng)。
用途:用于某些十分重要的事件發(fā)生,如:掉電;
?可屏蔽中斷:用戶根據(jù)需要可用軟件開放或禁止CPU響應(yīng)中斷。
特點:軟件指令控制,靈活方便。
用途:一般事件處理。
2.中斷處理一般過程:
?中斷源請求中斷;中斷標(biāo)志寄存器(IFR)
?CPU響應(yīng)中斷;預(yù)定義條件的滿足
?保護現(xiàn)場;
?轉(zhuǎn)中斷服務(wù);
?恢復(fù)現(xiàn)場;
?中斷返回;
2.5.2中斷標(biāo)志寄存器(IFR)和中斷屏蔽寄存器(IMR)
1.中斷標(biāo)志寄存器(IFR)當(dāng)一個中斷出現(xiàn)的時候,IFR中相應(yīng)的中斷標(biāo)志位置1,直到中斷得到處理為止。(1)
共14個有效標(biāo)志位(可屏蔽中斷):外部中斷4個(INT0--INT3)
定時器中斷2個(TINT0--TINT1)
串口定時器4個(兩發(fā)/兩收)
DMA中斷3個(DMAC0.4.5)
HPI中斷1個
;(2)
IFR的操作
?置位:當(dāng)硬件或軟件中斷發(fā)生時,相應(yīng)位置“1”(掛起)。
?識別:CPU通過讀IFR來識別掛起的中斷。
?清除:四種方法:(3)串口中斷:應(yīng)在中服程序中清除IFR相應(yīng)位,以免串口的重復(fù)中斷(每接收/發(fā)送一個字符,產(chǎn)生一次)
2.中斷屏蔽寄存器(IMR)
是一個存儲器映像的CPU寄存器,主要用來屏蔽外部和內(nèi)部中斷說明(1)
共14個有效位(與IFR對應(yīng))
(2)當(dāng)IMRi=0屏蔽該中斷;
IMRi=1不屏蔽該中斷
(3)
IMR的操作
3.中斷方式控制位(INTM)說明:a)INTM是CPU狀態(tài)寄存器ST1中的1位(第11位)
b)功能:
c)操作:
d)該控制位不影響不可屏蔽中斷RS,NMI。
e)該控制位不能用存儲操作命令設(shè)置。
2.5.3接收、應(yīng)答及處理中斷1.接收中斷請求產(chǎn)生一個中斷請求時,IFR中相應(yīng)的中斷標(biāo)志位被置位。不管中斷是否被處理器應(yīng)答,該標(biāo)志位都會被置位。當(dāng)相應(yīng)的中斷響應(yīng)后,該標(biāo)志位自動被清除。一個中斷由硬件器件或軟件指令請求。(中斷源說明如表2-10所示。)(1)硬件中斷請求硬件中斷有外部和內(nèi)部兩種。
(2)軟件中斷請求軟件中斷都是由程序中的指令I(lǐng)NTR、TRAP和RESET產(chǎn)生的。注:?PC=中斷向量地址指針+中斷向量號
?該指令允許執(zhí)行任何可屏蔽中斷
?該指令不影響IFR標(biāo)志位
?不允許中斷嵌套a)INTRK;
b)TRAPK;除INTM不變外,其它同上。注:?可實現(xiàn)中斷嵌套
?可用軟件指令在TRAP中服中置位INTM
c)
RESET
注:?功能:使處理器返回一個預(yù)定狀態(tài);
?復(fù)位指令:可在程序的任何時候產(chǎn)生;
?該指令影響ST0,ST1,不影響PMST<CPU方式控制R>
2.應(yīng)答中斷硬件或軟件中斷發(fā)送了一個中斷請求后,CPU必須決定是否應(yīng)答中斷請求。軟件中斷和非屏蔽硬件中斷會立刻被應(yīng)答;
屏蔽中斷僅僅在如下條件被滿足后才被應(yīng)答。
(1)優(yōu)先級別最高(當(dāng)同時出現(xiàn)一個以上中斷時)。
(2)狀態(tài)寄存器ST1中的INTM位為0。
(3)中斷屏蔽寄存器IMR中的相應(yīng)位為1。CPU響應(yīng)中斷時,讓PC轉(zhuǎn)到適當(dāng)?shù)牡刂啡〕鲋袛嘞蛄?,并發(fā)出中斷響應(yīng)信號,清除相應(yīng)的中斷標(biāo)志位。3.執(zhí)行中斷服務(wù)程序(ISR)(1)將PC值(返回地址)存到數(shù)據(jù)存儲器堆棧的棧頂;
(2)將中斷向量的地址加載到PC;
(3)在中斷向量地址上取指;
(4)執(zhí)行分支轉(zhuǎn)移指令,轉(zhuǎn)至中斷服務(wù)程序(如果延遲分支轉(zhuǎn)移,則在轉(zhuǎn)移前先執(zhí)行附加的指令);
(5)執(zhí)行中斷服務(wù)程序;
(6)中斷返回,從堆棧彈出返回地址加到PC中;
(7)繼續(xù)執(zhí)行被中斷了的程序。中斷操作流程(2.5.4)
2.5.5中斷向量(地址)①組成:IPTR+中斷向量序號<<2
(9位)(5位)→(7位)注:?中斷向量地址指針I(yè)PTR位于PMST(CPU方式控制R)
的高9位(D15~D7),可用程序設(shè)置;
?
中斷向量序號由相應(yīng)的中斷源(硬件或軟件)提供②向量中斷實現(xiàn)過程舉例:
[例1]:軟硬件復(fù)位分析:①復(fù)位時:IPTR全為“1”,指向程序存儲器最后一頁(第511頁)②軟硬件復(fù)位中斷向量序號為00000B解:中斷向量=1111,1111,1000,0000B=FF80H
中斷服務(wù)程序:從FF80H單元開始存放(通常放一條轉(zhuǎn)移指令,轉(zhuǎn)到應(yīng)用程序的入口處)
[例2]:已知外部中斷1的中斷服務(wù)入口地址為2500H,中斷向量地址指針為1F0H,試述向量中斷實現(xiàn)過程。
分析:INTI中斷向量序號為17(11H)
TMS320C54X的中斷系統(tǒng)(小結(jié))
?中斷源:最多32個(4個保留)其中:硬件14個/軟件16
?非屏蔽(不可)中斷16個/可屏蔽中斷16個
?優(yōu)先級:最多14級//復(fù)位中斷:1級(最高),NMI:2級…
?可實現(xiàn)多級嵌套
?軟件和非屏蔽中斷:
CPU立即響應(yīng),并進入中斷服務(wù)程序。
?
硬件可屏蔽中斷:滿足以下三個條件后,在3--8機器周期之間響應(yīng)。
①當(dāng)前的中斷源相應(yīng)IFR標(biāo)志為=1,且優(yōu)先級為最高;
②IMR=1(不屏蔽);
③
INTM=0(中斷允許);
?
中斷向量(地址):IPTR+中斷向量序號<<2第三章:TMS320C54x指令系統(tǒng)
教學(xué)要求:
C54xDSP的指令系統(tǒng)包括匯編語言指令、匯編偽指令、宏指令,本章主要介紹C54x的7種尋址方式和匯編語言指令,其他指令將在第4章介紹。了解匯編源程序的書寫格式,掌握常見的7種尋址方式,尤其是間接尋址方式。掌握算術(shù)運算、邏輯運算、程序控制、存儲和裝入4種基本類型的匯編語言指令。第三章:C54x指令系統(tǒng)__3.1匯編源程序格式
C54x匯編語言語句格式如下(4個部分):
[標(biāo)號][:]指令
[操作數(shù)列表][;注釋]
begin:LD#40,AR1;將立即數(shù)40傳送給ARl
其中:(1)標(biāo)號供本程序的其他部分或其他程序調(diào)用。
(2)指令域包括以下指令碼之一:
?助記符指令
(如STM,MAC,MPVD,STL);
?匯編偽指令(如.data,.list,.set);
?宏指令(如.macro,.var,.mexit);
?宏調(diào)用。注:作為助記符指令,一般用大寫;匯編偽指令和宏指令,以句點“.”開始,且為小寫。
第三章:C54x指令系統(tǒng)__3.1匯編源程序格式
(3)操作數(shù)可以是常量、符號,或是常量和符號的混合表達式,操作數(shù)之間用逗號分開。匯編器允許在操作數(shù)前使用前綴來指定操作數(shù)(常數(shù)、符號或表達式)是地址還是立即數(shù)或間接地址。前綴的使用規(guī)則如下:
前綴#表示其后的操作數(shù)為立即數(shù)。例如:Label:ADD#123,A;第三章:C54x指令系統(tǒng)__3.1匯編源程序格式
前綴*表示其后的操作數(shù)為間接地址。例如:Label:LD*AR4,A;以AR4的內(nèi)容為地址,將該地址的內(nèi)容裝入累加器A
前綴@表示其后的操作數(shù)是采用直接尋址或絕對尋址的地址。例如:
ADD#10,@XYZ(4)注釋可以從一行的任一列開始直到行尾。任一ASCII碼(包括空格)都可以組成注釋。如果注釋從第一列開始,用“;”號或“*”號開頭。第三章:C54x指令系統(tǒng)__3.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通信號控制系統(tǒng)操作規(guī)程
- 三農(nóng)村電商售后服務(wù)與客戶關(guān)系管理實戰(zhàn)指南
- 安裝光伏發(fā)電劃算不
- 汽車 充電樁 新能源
- 課題研究可行性分析格式模板
- 項目進度管理與風(fēng)險控制的工作計劃
- 三農(nóng)產(chǎn)品三農(nóng)村市場風(fēng)險防控方案
- 消防中級監(jiān)控練習(xí)試題及答案
- 中級養(yǎng)老護理練習(xí)試題
- 茶藝師復(fù)習(xí)測試題
- 機械工程原理真題集
- 燃油加油機計量檢定操作規(guī)范
- 中國兒童肥胖診斷評估與管理專家共識
- 霧化吸入常見并發(fā)癥的預(yù)防與處理
- 顯微鏡的使用方法專題培訓(xùn)課件
- 民俗學(xué)概論 教學(xué)大綱
- 控制工程基礎(chǔ)教案第四章
- 盾構(gòu)機同步注漿及二次注漿施工技術(shù)總結(jié)
- 粱昆淼第四版數(shù)學(xué)物理方法第10章
- 采礦學(xué)之采礦方法
- 急診腦卒中病人分診流程圖4.8
評論
0/150
提交評論