DSP技術及應用課件_第1頁
DSP技術及應用課件_第2頁
DSP技術及應用課件_第3頁
DSP技術及應用課件_第4頁
DSP技術及應用課件_第5頁
已閱讀5頁,還剩438頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章:TMS320LF240x概述1.1TMS320系列DSP概況1.2TMS320LF240x芯片概述1.3TMS320LF240xDSPCPU控制器的功能結構圖1.4TMS320LF240xDSP引腳功能介紹1.5TMS320LF240xDSP存儲器映射圖

1.1TMS320系列DSP概況數字信號處理系統(tǒng)框圖

1.1TMS320系列DSP概況1.DSP與DSP技術☉DSP(DigitalSignalProcessing)數字信號處理的理論和方法。☉DSP(DigitalSignalProcessor)用于數字信號處理的可編程微處理器。☉DSP技術(DigitalSignalProcess)是利用專門或通用數字信號處理芯片,通過數字計算的方法對信號進處理的方法與技術。

1.1TMS320系列DSP概況2.CPU、MCU、DSP區(qū)別與聯系

20世紀70年代微處理器問世以來,一直沿著3個方向發(fā)展。這三類微處理器各有其特點。雖然在技術上不斷借鑒和交融,但又有各自不同的應用領域。☉CPU:微型計算機中央處理器。(如:奔騰等)☉MCU:單片微型計算機(如MCS-51,MCS-96等)☉DSP:可編程的數字信號處理器。

1.1TMS320系列DSP概況3.DSP技術發(fā)展的兩個領域☉理論:數字信號處理的理論和方法近年來得到迅速的發(fā)展,為各種實時處理的應用提供了方法基礎。如:聲音圖像壓縮編碼,加密解密,調制解調,智能天線。☉應用:為了滿足市場需求,隨著微電子科學與技術的進步,DSP的性能在迅速提高。如:時鐘頻率達到1.1GHZ;處理速度每秒90億次,32位浮點運算,吞吐率達到2Gbit/s☉兩者關系:理論推動了應用,應用促進理論的發(fā)展。

1.1TMS320系列DSP概況4.DSP的理論基礎它以眾多的經典理論體系作為自己的理論基礎,同時它又是新興學科理論基礎。經典理論體系:微積分,概率統(tǒng)計,隨機過程,數值分析,網絡理論,通信理論,控制論。新興學科:人工智能,模擬識別,神經網絡。

1.1TMS320系列DSP概況5.DSP的實現方法☉PC機軟件實現。☉PC機+專用處理機。☉通用單片機(51、96系列等)☉專用DSP芯片。☉通用可編程DSP芯片。1.1TMS320系列DSP概況6.DSP系統(tǒng)的特點(與模擬信號處理系統(tǒng)相比)☉接口簡單、方便☉精度高、抗干擾能力強,穩(wěn)定性好☉編程方便、易于實現復雜算法☉可程控☉集成方便1.1TMS320系列DSP概況7.DSP芯片的結構特點(1)改進的哈佛結構

1.1TMS320系列DSP概況

(2)多總線結構

多總線結構可以保證在一個機器周期內多次訪問程序空間和數據空間。如:TMS320C54x內部有P、C、D、E4條總線(每條總線又包括地址總線和數據總線),可以在一個機器周期內從程序存儲器取1條指令、從數據存儲器讀2個操作數和向數據存儲器寫1個操作數,大大提高了DSP的運行速度。1.1TMS320系列DSP概況

(3)流水線技術(pipeline)DSP處理器流水線技術是將各指令的各個步驟重疊起來執(zhí)行,而不是一條指令執(zhí)行完成之后,才開始執(zhí)行下一條指令。1.1TMS320系列DSP概況

(4)多處理單元

DSP內部一般包括多個處理單元,如算術邏輯運算單元(ALU)、輔助寄存器運算單元(ARAU)、累加器(ACC)及硬件乘法器(MUL)等。它們可以在一個指令周期內同時進行運算。多處理單元結構,特別適用于大量乘加操作的矩陣運算、濾波、FFT、Viterbi譯碼等。1.1TMS320系列DSP概況

(5)指令周期短、功能強采用4μmNMOS制造工藝,早期DSP的指令周期約400ns,運算速度為5MIPS。采用高性能CMOS制造工藝,其運行速度更快。TMS320LF240x運行速度可達30MIPS,使得指令周期縮短到30MHz。TMS320C54x運行速度可達100MIPS。TMS320C6203的時鐘為300MHz,運行速度達到2400MIPS。

DSP指令功能強大,一條特殊指令可完成十分復雜的功能。如:TMS320C54x中的FIRS和LMS指令,分別用于系數對稱的FIR濾波器和LMS算法。1.1TMS320系列DSP概況

(6)運算精度高早期DSP的字長為8位,后來逐步提高到16位、24位、32位。為防止運算過程中溢出,有的累加器達到40位。浮點DSP提供了更大的動態(tài)范圍,如TMS320C3x、TMS320C4x等。

1.1TMS320系列DSP概況

(7)豐富的外設片內具有主機接口(HPI)

直接存儲器訪問控制器(DMAC)

外部存儲器擴展口串行通信口中斷處理器鎖相環(huán)時鐘產生器測繪訪問口(實現符合IEEE1149.1標準在片仿真)1.1TMS320系列DSP概況

(8)功耗低一般DSP芯片功耗為0.5~4W。

采用低功耗技術的DSP芯片只有0.1W,(電池供電)如:TMS3205510僅0.25mW,特別適用于便攜式數字終端。

1.1TMS320系列DSP概況DSP最重要的特點:特殊的內部結構、強大的信息處理能力及較高的運行速度。DSP芯片是高性能系統(tǒng)的核心:DSP能實時處理大量數據,特別是在聲音、圖像等不允許時間延遲領域的應用十分理想。如:DSP已成了全球70%數字電話的“心臟”,同時DSP在網絡領域也有廣泛的應用。1.1TMS320系列DSP概況8.DSP芯片的分類(1)按用途分類通用型DSP芯片(本課程主要討論的芯片)一般指可以用指令編程的DSP芯片,適合普通的DSP應用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用型DSP芯片為特定的DSP運算而設計,如數字濾波、卷積和FFT等,通過加載數據、控制參數或在管腳上加控制信號的方法使其具有有限的可編程能力。如Motorola公司的DSP56200。

1.1TMS320系列DSP概況(2)按數據格式分定點DSP

數據以定點格式工作的DSP芯片稱為定點DSP芯片,該芯片簡單、成本較低。兩種基本表示方法:

?整數表示方法:主要用于控制操作、地址計算和其他非信號處理的應用。

?小數表示方法:主要用于數字和各種信號處理算法的計算中。定點表示并不意味著一定是整數表示。1.1TMS320系列DSP概況(2)按數據格式分浮點DSP

數據以浮點格式工作的DSP芯片稱為浮點DSP芯片,該芯片運算精度高、運行速度快。浮點數在運算中,表示數的范圍由于其指數可自動調節(jié),因此可避免數的規(guī)格化和溢出等問題。但浮點DSP一般比定點DSP復雜,成本較高。1.1TMS320系列DSP概況9.DSP芯片的發(fā)展及趨勢

(1)DSP芯片的發(fā)展歷程

☉1978年第一片DSP誕生S2811(Microsystems公司AMI子公司)

☉1986年以來得到突飛猛進的發(fā)展。☉現今:生產DSP廠家80多個,品種300多種。TI公司市場份額:60%;AD公司市場份額:15%;Motorola市場份額:10%;Lucent市場份額:5%;

1.1TMS320系列DSP概況(2)TI公司DSP芯片簡介

?

第一代:TMS32010及其系列產品(1982年)

?

第二代:TMS32020、TMS320C25/C26/C28

?

第三代:TMS320C30/C31/C32,

?

第四代:TMS320C40/C44,

?

第五代:TMS320C50/C51/C52/C53/C54和集多個DSP于一體的高性能DSP芯片TMS320C80/C82等

?

第六代:TMS320C62x/C67x等。

1.1TMS320系列DSP概況(3)國內DSP的發(fā)展概況☉1983年引進(TMS32010)☉我國DSP產品主要來自海外。TI公司的產品約占國內DSP市場的90%,其余為Lucent、AD、Motorola、ZSP和NEC等公司。☉現狀:DSP開發(fā)工具

/DSP硬件平臺開發(fā)

/DSP應用軟件開發(fā)☉國內較知名的公司:北京“聞亭”、“合眾達”等。

1.1TMS320系列DSP概況10.DSP芯片的應用☉通用數字信號處理☉語音識別與處理☉圖形/圖像處理☉儀器儀表

☉自動控制☉醫(yī)學工程☉家用電器☉通信☉計算機☉國防軍事

1.1TMS320系列DSP概況11.TMS320系列DSP發(fā)展歷程1.1TMS320系列DSP概況1.C1x系列簡介

?C1x是TMS320系列DSP的首要成員,包括C10、C14、C15、C16和C17五個版本。

?C1x是市場上最便宜的DSP之一,主要應用于防抱死制動、音樂器材、能量測量、馬達控制和數字無磁帶應答機等領域。1.1TMS320系列DSP概況2.C2x系列簡介

?C2x系列DSP控制器,具有很好的性能,集成了Flash存儲器、高速A/D、CAN模塊等。

?C2x系列DSP芯片價格低,具有較高的性能和適用于數字化控制領域的功能。因此在工業(yè)自動化、電動機控制、家用電器和消費電子等領域得到廣泛應用。1.1TMS320系列DSP概況3.C2xx系列簡介

?TMS320C2xx系列DSP是C2x的一個升級版本,它的指令周期縮減到25~50ns,增加了基于JTAG的仿真,有多達4.5K的片內數據/程序RAM。

?主要面向計算機、工業(yè)、用戶終端和電話等新的DSP應用。1.1TMS320系列DSP概況4.C5x系列簡介

C5x系列DSP芯片包括C54x和C55x兩大類

?C54x:具有高度的操作靈活性和運行速度。其結構采用改進的哈佛結構,具有專用硬件邏輯的CPU,片內存儲器,片內外設,以及一個效率很高的指令集。

16位定點DSP,適應遠程通信等實時嵌入式應用的需要。1.1TMS320系列DSP概況

?C55x:是C5000系列DSP中的子系列,是從C54x發(fā)展起來的,并與之原代碼兼容。

C55x工作在0.9V時,功耗低至0.005mW/MIPS。工作在400MHz鐘頻時,可達800MIPS。和120MHz的C54相比,300MHz的C55x性能提高5倍,功耗為C54系列的1/6。因此,C55x非常適合個人的和便攜式的應用,以及數字通信設施的應用。

1.1TMS320系列DSP概況5.C6x系列簡介

TMS320C6x系列是TI公司從1997年推出。采用TI的專利技術VeloiTI和新的超長指令字結構,性能達到很高的水平。

?

第一款芯片’C6201,在200MHz鐘頻時,達到1600MIPS。

?

2000年以后推出的’C64x,在鐘頻1.1GHz時,可以達到8800MIPS以上,即每秒執(zhí)行近90億條指令。片內DMA引擎和64個獨立的通道,使其I/O帶寬達到2GB/s。

1.1TMS320系列DSP概況C6x推出了C62x/C67x/C64x等3個子系列。

?

C62x是TI公司于1997年開發(fā)的一種新型定點DSP芯片。可同時執(zhí)行8條指令,其運算能力可達2400MIPS。

?

C67x是一種新型浮點DSP芯片。可同時執(zhí)行8條指令,其運算能力可達1GFLOPS。

?

C64x是C6000系列中最新的高性能定點DSP芯片,可以提供超過2GB/s的持續(xù)帶寬。與C62x相比,C64x的總性能提高了10倍。1.1TMS320系列DSP概況TMS320C6x系列主要應用

1)數字通信適合于FFT/IFFT,Read-Solomon編解碼,循環(huán)回聲綜合濾波器,星座編解碼,卷積編碼,Viterbi解碼等信號處理算法的實時實現。如

?ADSL(非對稱數字用戶線),

?

線纜調制解調器(cablemodem)

?

移動通信(移動電話基站、3G基站里的收發(fā)器、智能天線、)1.1TMS320系列DSP概況2)圖像處理

C6x系列DSP廣泛地應用在圖像處理領域。例如,數字電視、數字照相機與攝像機、打印機、數字掃描儀、雷達/聲吶及醫(yī)用圖像處理等,在這些應用中,DSP用來做圖像壓縮、圖像傳輸、模式及光學特性識別、加密/解密及圖像增強等。

1.2TMS320LF240x芯片概述TMS320LF240x系列是TMS320C2x家族中最新、功能強大的DSP芯片,是為了滿足控制應用而設計的。高性能、高速度:集成了高性能的DSP內核和微處理器的片內外設;每秒3000萬條指令(30MIPS)的處理速度。高可靠性、可編程性:LF240xDSP的16位定點DSP內核為模擬系統(tǒng)的設計者提供了一個不犧牲系統(tǒng)精度和性能的數字解決方案。1.2TMS320LF240x芯片概述兩個事件管理器模塊EVA和EVB,為開發(fā)者提供完整的、高效的馬達控制方案,提供所有的PWM和IO,可以控制所有類型的電機。采用高性能靜態(tài)CMOS技術,使得供電電壓降為3.3V,減少了控制器的損耗;30MIPS的執(zhí)行速度使得指令周期縮短到33ns,從而提高了控制器的實時控制能力。片內有高達32K×16位的Flash程序存儲器;高達2.5K字×16位的數據/程序RAM;544字節(jié)雙端口RAM(DARAM);2K字的單口RAM(SARAM)??蓴U展的外部存儲器總共具有192K×16位的空間,分別為64K字程序存儲器空間、64K字的數據存儲空間和64K字的I/O空間。1.2TMS320LF240x芯片概述10位ADC轉換器,其特性為:最小轉換時間為500ns、8個或16個多路復用的輸入通道,采集時間和轉換時間分開,提高了采樣率和輸入阻抗,并且支持自動順序采樣,不需CPU干預。CAN總線控制器,可以為控制器、傳感器、激勵源以及其它節(jié)點提供良好的通訊,特別適用于工業(yè)現場和汽車等強噪聲和惡劣的環(huán)境中。5個外部中斷(兩個驅動保護、復位和兩個可屏蔽中斷)。1.3TMS320LF240xDSPCPU控制器的功能結構圖1.4TMS320LF240xDSP引腳功能介紹TMS320LF2407控制器具有144個引腳,如圖1.1所示(p.2)TMS320LF2407控制器是所有240x控制器中的一種功能最全的控制器,有該系列所有的信號。引腳功能如表1.1所示(p.3)1.5TMS320LF240xDSP存儲器映射圖第2章:TMS320LF240xDSP內部資源介紹2.1TMS320LF240xDSP的CPU內部功能模塊介紹2.2存儲器和I/O空間2.3系統(tǒng)配置和中斷2.4程序控制

2.1TMS320LF240xDSP的CPU內部功能模塊介紹中央處理單元(CPU)輸入定標器乘法單元中央算術邏輯單元

2.1TMS320LF240xDSP的CPU內部功能模塊介紹1、輸入定標移位器是一個16位到32位的滾動式左向移位器;能將輸入的16位數據的0~15位在本周期內向左移位以得到32位的輸出;本操作不需要額外的周期。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹移位器的輸入來源數據讀總線(DRDB),該輸入值來自指令操作數據所引用的數據存儲單元;程序讀總線(PRDB),改輸入是指令操作數給出的常數。移位量的來源嵌在指令字中的常數。把移位量放在指令字中,該程序代碼使用特定的數據比例;臨時寄存器TREG的提位。根據TREG的值移位,數據的定標因子是動態(tài)確定的,可適應不同的系統(tǒng)要求。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹輸入移位器的輸出值最低有效位LSBs段填0;未使用的最高有效位MSBs填0或者根據狀態(tài)寄存器ST1的SXM位的值來確定是否需要進行符號擴展

2.1TMS320LF240xDSP的CPU內部功能模塊介紹2、乘法器16×16位的硬件乘法器,在單個周期內產生一個32位乘積結果的有符號或無符號數;除了MPYU指令,所有的乘法指令都執(zhí)行有符號的乘法操作。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹乘法器的輸入16位臨時寄存器(TREG),在乘法之前把數據讀總線的值加載到TREG;數據讀總線的數據存儲器值和程序讀總線的程序存儲器值。乘法器的輸出兩個輸入值相乘后的32位結果保存在乘積寄存器(PREG)中;PREG的輸出連接到32位的乘積定標移位器(PSCALE),通過PSCALE將乘積結果送到CALU或數據存儲器。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹乘法定標移位器(PSCALE)輸入:該移位器的32位輸入練到PREG的輸出。輸出:完成移位后,全部32位送到CALU,或將結果的16位存到數據存儲器。移位模式:該移位器可用4中移位模式,這些模式由狀態(tài)寄存器ST1的乘積移位方式(PM)位確定。注:PREG的內容保持不變,其值被復制到PSCALE中,進行移位。PM移位說明00不移位乘積結果沒有移位地送到CALU單元或數據總線01左移1位移去在一次2的補碼乘法運算中產生的1位附加符號位,以得到一個Q31的乘積10左移4位當與一個13位的常數相乘時,移去在16×13位的2的補碼乘法運算中產生的4位附加符號位,以生成一個Q31的乘積11右移6位對乘積結果進行定標,以使得運行128次的乘積累加器不會溢出

2.1TMS320LF240xDSP的CPU內部功能模塊介紹乘法器相關指令及操作用LT指令將數據從數據總線載入TREG提供1操作數,MPY指令提供第2個操作數或從數據總線上得到。使用MPY指令時,可以對一個13位的立即數進行操作,每兩個指令周期得到一個乘積。代碼執(zhí)行多路乘法和乘積求和運算時,CPU支持流水線操作。指令操作LT把通過CALU得到的前次乘積結果裝載到TREGLTP把PREG的值裝載入ACCLTA把PREG的值加載到ACCDMOV,LTD把PREG的值加到ACC,移位TREG輸入數據到數據存儲器的下一地址LTS從ACC中減去PREG的值

2.1TMS320LF240xDSP的CPU內部功能模塊介紹乘法器相關指令及操作乘且累加并帶動數據移動指令MAC和MACD充分利用了乘法器的計算寬度,允許兩個操作數被同時處理。無符號乘法運算MPYU指令執(zhí)行大大方便了用于擴展精度的算術運算。平行并累加前次乘積指令SQRA和平方并減去前次乘積指令SQRS傳送相同的數到乘法器的兩個輸入端,以對一個數據存儲器單元的值進行平方運算。存儲乘積的高字節(jié)指令SPH和低字節(jié)指令SPL,可將裝入PREG的32位乘積結果傳送到CALU單元或數據存儲器。在執(zhí)行中斷服務程序前必須對PREG的值進行保存。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹3、中央算術邏輯部分中央算術邏輯單元(CALU):實現各種算術、邏輯功能;32位累加器(ACC):接收來自CALU的輸出,并可以根據進位位(C)的值來實現移位;輸出移位器:將ACC的高位字和低位字在送入數據存儲器之前進行移位。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹中央算術邏輯單元(CALU)運算功能:16位加、16位減、布爾邏輯操作、位測試、移動和循環(huán)。輸入:一個由累加器提供,另一個由乘積定標移位器或輸入數據定標移位器提供。輸出:其結果送至32位累加器,進行移位。相關狀態(tài)位:符號擴展模式位SXM(ST1第10位)確定CALU是否進行符號擴展。SXM=0,抑制符號擴展;SXM=1,進行符號擴展。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹累加器(ACC)功能:對送到ACC的CALU的運算結果進行單個移位和循環(huán)操作。輸入:CALU的運算結果。輸出:ACC的高16位和低16位中任何一個都可送到輸出定標移位器,經定標移位后存入數據存儲器。相關狀態(tài)位狀態(tài)位狀態(tài)寄存器說明進位位CST1第9位C=0:減結果產生借位/加結果未產生進位;C=1:加結果產生進位/減結果未產生借位;左移或左循環(huán),ACC最高位送至C,否則最低位送至C。溢出方式位OVMST0第11位決定ACC如何反映算術運算的溢出。OVM=1:正溢出,ACC填充最大正數,否則填充最大負數;OVM=0:正常溢出。溢出標志位OVST0第12位ACC未發(fā)生溢出時,OV=0;否則OV=1且被莎存。測試/控制標志位TCST1第11位根據被測試位的值,該位被置0或1。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹輸出定標移位器將累加器輸出的內容左移0~7位,移動位數由存儲器指令指定,然后用SACH或SACL指令將移位器中的高位字或低位字保存到數據存儲器中,ACC的內容不變。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹4、輔助寄存器算術邏輯單元(ARAU)在CALU操作的同時執(zhí)行8個輔助寄存器(AR7~AR0)上的算術運算。8個輔助寄存器提供了靈活而有效的間接尋址。通過把數值0~7寫入狀態(tài)寄存器ST0第3位的輔助寄存器指針(ARP),選擇一個輔助寄存器作為當前AR。當前AR存放被訪問的數據存儲器的地址,根據指令的需要分別向數據讀/寫地址總線讀/寫數據,使用完該數據后,當前AR的內容可以被ARAU增減,可實現無符號16位算術運算。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹ARAU可執(zhí)行的操作將輔助寄存器值增、減1,或者增、減一個變址量(借助任何支持間接尋址的指令)。使輔助寄存器的值加/減一個常數(ADRK/SBRK指令),該常數是指令字的低8位。將AR0的內容與當前AR的內容進行比較,并把結果放入狀態(tài)寄存器ST1的測試/控制位TC(CMPR指令)。結果經數據寫總線DWEB傳送到TC。輔助寄存器的用途數據存儲器地址存儲器;通過CMPR指令,使輔助寄存器支持條件分支、調用及返回;用作暫存單元;用作軟件計數器,按需要對其進行加、減。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹5、狀態(tài)寄存器兩個狀態(tài)寄存器ST0和ST1,含有各種狀態(tài)和控制位;可保存在數據存儲器,也可從數據存儲器加載,可以保存和恢復子程序的機器狀態(tài);加載狀態(tài)寄存器LST指令寫ST0和ST1,保存狀態(tài)寄存器SST指令讀ST0和ST1;INTM位不受LST指令的影響;寄存器中每一位均可由SETC和CLRC指令單獨置位和清0。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹ARB輔助寄存器指針緩沖器:當ARP被加載到ST0,除了使用LST指令外,原有的ARP值被復制到ARB中;當通過LST#1指令加載ARB時,把相同的值復制到ARP。ARP輔助寄存器指針:ARP選擇間接尋址時使用的當前AR;當ARP被加載時,原有的ARP值被復制到ARB寄存器中;在講解尋址時,ARP可由存儲器相關指令改變,也可由LARP、MAR和LST指令改變;當執(zhí)行LST#1時,ARP也可加載與ARB相同的值。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹OV溢出標志位:該位鎖存的值指出CALU是否發(fā)生了溢出;發(fā)生溢出,OV=1,直到復位、溢出時條件轉移、無溢出時條件轉移或LST指令執(zhí)行時才被清0。OVM溢出方式位:該位決定如何管理CALU的溢出。SETC和CLRC指令分別可將該位置1或清0;LST指令也可修改該位;OVM=0,ACC結果正常溢出;OVM=1,根據發(fā)生的溢出,把ACC置為最大正值或負值。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹CNF片內DARAM配置位:CNF=0,可配置雙口RAM被映射到數據存儲空間;CNF=1,可配置雙口RAM被映射到程序;該位可通過SETC、CLRC和LST指令修改;RS復位時該位清0。TC測試/控制標志位:TC=1,由BIT或BITT指令測試位為1;利用NORM指令測試時,ACC的2個最高有效位“異或”為真;CMRP所測試的當前AR和AR0之間的比較條件成立。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹INTM中斷模式位:該位用來允許或禁止所有可屏蔽中斷。通過SETC和CLRC指令置1或清0;該位不影響不可屏蔽中斷RS和NMI;LST指令不影響該位;發(fā)生中斷及復位時置1;INTM=0,允許全部沒有被屏蔽的中斷;INTM=1,禁止全部沒有被屏蔽的中斷。DP數據存儲器頁指針:當指令使用直接尋址方式時,這個9位的DP寄存器與指令寄存器的低7位一起形成一個完整的數據存儲器16位地址。LST和LDP指令可修改該字段。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹SXM符號擴展模式位:SXM=1數據通過定標移位器傳送到累加器時產生符號擴展,SXM=0抑制符號擴展;該位不影響某些指令的基本操作,如ADDS指令不管SXM位的狀態(tài)如何都抑制符號擴展;通過SECT、CLRC和LST指令對該位進行置1、清0和加載;復位時該位置1。C進位位:C=1,加法結果產生進位或減法結果未產生借位;C=0,反之;移位16位的ADD指令只能使C位置1,SUB指令只能使C位清0,不會對C位產生其他影響;移1位、循環(huán)指令、SETC、CLRC和LST指令均影響該標志位;條件轉移、調用和返回指令可根據C的狀態(tài)執(zhí)行;復位時該位置1。

2.1TMS320LF240xDSP的CPU內部功能模塊介紹XF引腳狀態(tài)位:該位確定通用輸出引腳XF的狀態(tài);通過SECT、CLRC和LST指令對該位進行置1、清0和加載;復位時該位置1。PM乘積移位模式:該位決定PREG的值是送往CALU或數據存儲器時如何移位;SPM和LST指令可以對該位加載;復位時該位清0。

PM=00,乘法器32位乘積不經移位送到CALU或數據存儲器;

PM=01,送到CALU之前,PREG的輸出左移1位(低位填0);

PM=10,送到CALU之前,PREG的輸出左移4位(低位填0);

PM=11,PREG輸出進行符號擴展右移6位。注:PREG的內容保持不變,其值被拷貝到乘積移位器中進行移位。

2.2存儲器和I/O空間增強的哈佛結構,三組并行總線程序地址總線(PAB)數據讀地址總線(DRAB)數據寫地址總線(DWAB)三個可獨立選擇的空間程序存儲器(64K字)數據存儲器(64K字)I/O空間(64K字)注意:LF240xDSP的所有片內外設的寄存器均映射在數據存儲器空間。

2.2存儲器和I/O空間1、程序存儲器保存程序代碼及數據表信息和常量尋址范圍為64K,包括片內DARAM和片內FLASH訪問片外程序地址空間時,DSP自動產生一個訪問外部程序地址空間的信號PSLF2407的程序存儲器空間映射圖

2.2存儲器和I/O空間決定程序存儲器的配置兩個因素CNF位。CNF位是狀態(tài)寄存器ST1的第12位,決定DARAM中的B0塊配置在數據存儲器空間,還是配置在程序存儲器空間。CNF=0,256字的B0塊被映射到數據存儲器空間。CNF=1,256字的B0塊被映射到程序存儲器空間。

復位時,CNF=0,B0塊被映射到數據存儲器空間。MP/MC引腳。該引腳決定是從片內Flash讀取指令,還是從外部程序存儲器讀取指令。MP/MC=0:微控制器方式。此時訪問的是片內程序存儲器(片內Flash)0000h-7FFFh空間。MP/MC=1:微處理器方式。此時訪問的是片外程序存儲器的0000h-7FFFh空間。注:無論MP/MC引腳為何值,LF240xDSP都是從程序存儲器空間的0000h單元開始執(zhí)行程序。

2.2存儲器和I/O空間2、數據存儲器尋址范圍64K字:前32K字(0000h-7FFFh)是內部數據存儲器空間,包括了DARAM和片內外設的映射寄存器;后32K字(8000h-FFFFh)空間的存儲器為外部數據存儲器。片內有3個DARAM塊:B0、B1和B2塊。B0塊:即可為數據存儲器,也可配置為程序存儲器。B1、B2塊:只能配置為數據存儲器。LF2407的數據存儲器空間映射圖

2.2存儲器和I/O空間兩種尋址方式:直接尋址和間接尋址。直接尋址時,128字為一頁的數據塊來對數據存儲器進行尋址。右圖顯示了這些塊是如何被尋址的。全部64K的數據存儲器分為512個數據頁,其標號從0-511。當前頁由狀態(tài)寄存器ST0中的9位數據頁指針(DP)值來確定。因此,當使用直接尋址指令時,用戶必須事先指定數據頁,并在訪問數據存儲器的指令中指定偏移量,偏移量為7位。數據存儲器頁

2.2存儲器和I/O空間編程時要注意,訪問下面的數據存儲器的地址空間是非法的,并會對NMI置位。除了以下地址,任何對外設寄存器映射中的保留地址的訪問也是非法的。

0080h-00FFh

701Fh-71FFh(CAN內部的)

0500h-07FFh

7230h-73FFh(部分在CAN內部)

1000h-700Fh

7440h-74FFh

7030h-703Fh

7540h-75FFh

7060h-706Fh

7600h-77EFh

77F4h-7FFFh

7080h-708Fh

2.2存儲器和I/O空間第0頁數據地址映射數據存儲器中包括存儲器映射寄存器,它們位于數據存儲器的第0頁(地址0000h-007Fh),下表是對第0頁數據地址映射的詳細說明。應用中必須注意以下幾點:以零等待狀態(tài)訪問兩個映射寄存器:中斷屏蔽寄存器(IMR)和中斷標志寄存器(IFR)測試/仿真保留區(qū)被測試和仿真系統(tǒng)用于特定信息發(fā)送。因此不能對測試/仿真地址進行操作。地址名稱描述0000h~0003h—保留0004hIMR中斷屏蔽寄存器0005h—保留0006hIFR中斷標志寄存器0023h~0027h—保留002Bh~002Fh—保留用作測試和仿真0060h~007FhB2雙口RAM(DARAMB2)第0頁數據地址映射

2.2存儲器和I/O空間數據存儲器配置

CNF位決定B0塊的配置,CNF位是狀態(tài)寄存器ST1的第12位。CNF=0,B0塊被映射為數據存儲器空間;復位時,CNF=0;CNF=1,B0塊被映射到程序存儲器空間;

2.2存儲器和I/O空間3、I/O空間尋址范圍為64K字。I/O空間訪問的控制信號為IS。所有64K的I/O空間均可以用IN和OUT指令來訪問。當執(zhí)行IN或OUT指令時,信號IS*變?yōu)橛行?可作為外部I/O設備的片選信號。訪問外部I/O端口與訪問程序存儲器、數據存儲器復用相同的的地址總線和數據總線。數據總線的寬度為16位,若使用8位的外設,即可使用高8位數據總線,也可使用低8位數據總線,以適應特定應用的需要。當訪問片內的I/O空間時,信號IS和STRB變成無效,外部地址和數據總線僅僅當訪問外部I/O地址時有效。LF2407I/O空間地址映射圖

2.2存儲器和I/O空間下面是使用匯編語言的直接訪問I/O空間的實際例子:IN

DAT2,0AFEEh;從端口地址為AFEEh的外設

;讀數據,并存入DAT2寄存器OUT

DAT2,0CFEFh;輸出數據存儲器DAT2的內容

;到端口地址為CFEFh的外設下面是訪問等待狀態(tài)發(fā)生器的寄存器的實例:IN

DAT2,0FFFFh;從等待狀態(tài)發(fā)生器讀取數據到DAT2寄存器OUT

DAT2,0FFFFh;將DAT2寄存器的數據寫入等待狀態(tài)發(fā)生器,使用等待狀態(tài)發(fā)生器

2.3系統(tǒng)配置和中斷本節(jié)介紹LF240xDSP的系統(tǒng)配置寄存器和中斷模塊。系統(tǒng)配置:用來對DSP片內的功能模塊進行用戶配置,根據具體用途來進行模塊定制。中斷模塊:主要包括-中斷優(yōu)先級和中斷向量表、外設中斷擴展控制器(PIE)、中斷向量、中斷響應的流程、中斷響應的延時、CPU中斷寄存器、外設中斷寄存器、復位、無效地址檢測、外部中斷控制寄存器。

2.3系統(tǒng)配置和中斷1、系統(tǒng)配置寄存器(1)、系統(tǒng)控制和狀態(tài)寄存器1(SCSR1)

SCSR1映射到數據存儲器空間的7018h,各位如下:位15:保留位14:CLKSRC,為CLKOUT引腳輸出時鐘源的選擇位0-CLKOUT引腳輸出CPU時鐘;1-CLKOUT引腳輸出WDCLK時鐘。位13、12:LPM1,LPM0,低功耗模式選擇,指明在執(zhí)行IDLE

指令后進入哪一種低功耗模式。00-進入IDLE1(LPM0)模式;01-進入IDLE2(LPM1)模式;1x-進入HALT(LPM2)模式。

2.3系統(tǒng)配置和中斷位11-9:CLKPS2-CLKPS0,(PLL)時鐘預定標選擇位,選擇輸入時鐘頻率fin的倍頻系數,如下表(P.28)所示。CLKPS2CLKPS1CLKPS0系統(tǒng)時鐘頻率0004×fin0012×fin0101.33×fin0111×fin1000.8×fin1010.66×fin1100.57×fin1110.5×fin

2.3系統(tǒng)配置和中斷位8:保留位7:ADCCLKEN,ADC模塊時鐘使能控制位0-禁止ADC模塊時鐘(節(jié)能)1-使能ADC模塊時鐘,且正常運行位6:SCICLKEN,,SCI模塊時鐘使能控制位0-禁止SCI模塊時鐘(節(jié)能)1-使能SCI模塊時鐘,且正常運行位5:SPICLKEN,,SPI模塊時鐘使能控制位0-禁止SPI模塊時鐘(節(jié)能)1-使能SPI模塊時鐘,且正常運行

2.3系統(tǒng)配置和中斷位4:CANCLKEN,CAN模塊時鐘使能控制位0-禁止CAN模塊時鐘(節(jié)能)1-使能CAN模塊時鐘,且正常運行位3:EVBCLKEN,EVB模塊時鐘使能控制位0-禁止EVB模塊時鐘(節(jié)能)1-使能EVB模塊時鐘,且正常運行位2:EVACLKEN,EVA模塊時鐘使能控制位0-禁止EVA模塊時鐘(節(jié)能)1-使能EVA模塊時鐘,且正常運行位1:保留位0:ILLADR,無效地址檢測位檢測到無效地址時,該位置1。置1后需軟件來清0,即向該位寫0即可。復位時該位為0。注意:任何無效的地址會導致不可屏蔽中斷(NMI)事件發(fā)生。

2.3系統(tǒng)配置和中斷(2)、系統(tǒng)控制和狀態(tài)寄存器2(SCSR2)

SCSR2映射到數據存儲器空間的7019h,各位如下:位15-7:保留位6:I/PQUAL,時鐘輸入限定,它限定輸入到LF240x的CAP1-6、XINT1-2、ADCSOC、PDPINTA/PDPINTB引腳上的最小脈沖寬度。脈沖寬度只有達到這個寬度之后,內部的輸入狀態(tài)才會改變。0-鎖存脈沖至少需要5個時鐘周期;1-鎖存脈沖至少需要11個時鐘周期。如這些引腳作I/O使用,則不使用輸入時鐘限定電路。

2.3系統(tǒng)配置和中斷位5:WD保護位,該位可用來禁止WD工作。該位是—個只能清除的位,復位后=1。通過向該位寫1對其清0。0-保護WD,防止WD被軟件禁止1-復位時的默認值,禁止WD工作位4:XMIFHI-Z。該位控制外部存儲器接口信號(XMIF)。0-所有XMIF信號為正常驅動模式(非高阻態(tài))1-所有XMIF信號處于高阻態(tài)

注意:該位僅對LF2407/LF2407A型號有效,對其它型號為保留位

2.3系統(tǒng)配置和中斷位3:使能位。這位反映了BOOTEN引腳在復位時的狀態(tài)。0-使能引導ROM。地址0000h-00FFh被片內引導ROM塊占用。禁止用FLash存儲器1-禁止引導ROM。LF2407片內Flash程序存儲器映射地址范圍為0000h-7FFFh。位2:MP/MC(微處理器/微控制器選擇)。0-DSP設置為微控制器方式,片內FLASH映射到程序存儲器空間,地址為0000h-7FFFh。1-DSP設置為微處理器方式,程序空間0000h-7FFFh被映射到片外程序存儲器空間(必須外擴外部程序存儲器)位1-0:SARAM的程序/數據空間選擇00-地址空間不被映射,該空間被分配到外部存儲器0l-SARAM被映射到片內程序空間10-SARAM被映射到片內數據空間11-SARAM被映射到片內程序空間,又被映射到片內數據空間

2.3系統(tǒng)配置和中斷2、中斷優(yōu)先級和中斷向量表LF2407DSP具有3個不可屏蔽中斷和6個級別的可屏蔽中斷(INT1-INT6)。對多個外設的中斷需求采用了中斷擴展設計來滿足。在每級可屏蔽中斷(INT1-INT6)中又有多個中斷源,有唯一的中斷入口地址向量。中斷優(yōu)先級中斷名稱外設中斷向量描述1Reset0000h復位引腳和WD溢出2保留0026h用于仿真3NMI0004h軟件中斷不可屏蔽中斷源的優(yōu)先級和中斷入口地址向量表

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述4PDPINTA0020h功率驅動保護中斷5PDPINTB0019h功率驅動保護中斷6ADCINT0004h高優(yōu)先級ADC中斷7XINT10001h高優(yōu)先級外中斷8XINT20011h高優(yōu)先級外中斷9SPINT0005h高優(yōu)先級SPI中斷10RXINT0006h高優(yōu)先級SCI接收中斷11TXINT0007h高優(yōu)先級SCI發(fā)送中斷12CANMBINT0040h高優(yōu)先級CAN郵箱中斷可屏蔽中斷源的優(yōu)先級和中斷入口地址向量表INT1(級別1)

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述13CANMBINT0041h高優(yōu)先級CAN錯誤中斷14CMP1INT0021h比較器1中斷15CMP2INT0022h比較器2中斷16CMP3INT0023h比較器3中斷17T1PINT0027h定時器1周期溢中斷18T1CINT0028h定時器1比較溢中斷19T1UFINT0029h定時器1下溢中斷20T1OFINT0029h定時器1上溢中斷21CMP4INT0024h比較器4中斷22CMP5INT0025h比較器5中斷23CMP6INT0026h比較器6中斷24T3PINT002Fh定時器3周期溢中斷25T3CINT0030h定時器3比較溢中斷26T3UFINT0031h定時器3下溢中斷27T10FINT0032h定時器3上溢中斷INT2(級別2)

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述28T2PINT002Bh定時器2周期溢中斷29T2CINT002Ch定時器2比較溢中斷30T2UFINT002Dh定時器2下溢中斷31T2OFINT002Eh定時器2上溢中斷32T4PINT0039h定時器4周期溢中33T4CINT003Ah定時器4比較溢中斷INT3(級別3)

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述34T4UFINT003Bh定時器4下溢中斷35T4OFINT003Ch定時器4上溢中斷36CAP1INT0033h比較器1中斷37CAP2INT0034h比較器2中斷38CAP3INT0035h比較器3中斷39CAP4INT0036h比較器4中斷40CAP5INT0037h比較器5中斷41CAP6INT0038h比較器6中斷INT4(級別4)

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述42SPINT0005h低優(yōu)先級SPI中斷43RXINT0006h低優(yōu)先級SCI接收中斷44TXINT0007h低優(yōu)先級SCI發(fā)送中斷45CANMBINT0040h低優(yōu)先級CAN郵箱中斷46CANERINT0040h低優(yōu)先級CAN錯誤中斷INT5(級別5)

2.3系統(tǒng)配置和中斷中斷優(yōu)先級中斷名稱外設中斷向量描述47ADCINT0004h低優(yōu)先級ADC中斷48XINT10001h低優(yōu)先級外中斷49XINT20011h低優(yōu)先級外中斷INT6(級別6)

2.3系統(tǒng)配置和中斷3、外設中斷擴展控制器LF240xCPU內核提供給用戶:6級可屏蔽中斷INT1-INT6。每1級別又包含多個外設中斷請求,所以用一個外設中斷擴展(PIE)控制器專門來管理來自各種外設或外部引腳的數十個中斷請求。外設中斷擴展模塊圖

2.3系統(tǒng)配置和中斷中斷請求層次和結構外設中斷個數很多,用一個兩級中斷結構來擴展可響應的中斷個數。中斷請求/應答硬件邏輯和中斷服務程序軟件都有兩級層次的中斷。在低層次中斷,從幾個外設來的外設中斷請求(PIRQ)在中斷控制器處進行或運算,產生一個INTn(n=1-6)中斷請求。在高層次中斷,從INTn中斷請求產生一個到CPU的中斷請求。

2.3系統(tǒng)配置和中斷如果一個引起中斷的外設事件發(fā)生且相應的中斷使能位被置1,則會產生一個外設到中斷控制器的中斷請求。如果一個外設既可產生高級的中斷請求,又可產生低級中斷請求(如SCI、SPI、ADC等),對應的中斷優(yōu)先級位的值也被送到PIE來進行判斷。中斷請求(PIRQ)標志位一直保持到中斷應答自動清除或用軟件將其清除。在高層次中斷,或邏輯運算的多個外設中斷請求INTn產生一個到CPU的中斷請求,它是2個CPU時鐘脈沖寬的低電平脈沖。當多個外設同時發(fā)出中斷請求時,CPU總是響應優(yōu)先級高的中斷請求。注意:外設中斷請求標志位是在CPU響應中斷時自動清除,即在高層次中斷時清0,而不是在低層次中斷時,清0。

2.3系統(tǒng)配置和中斷4、中斷向量當CPU接受中斷請求時,它并不知道是哪一外設事件引起的中斷請求。為了使CPU能夠區(qū)別不同外設引起的中斷事件,需經PIE譯碼,決定哪個中斷請求被響應。某個外設的中斷請求有效時,都會產生唯一的外設中斷向量,被裝載到外設中斷向量寄存器(PIVR)。CPU應答外設中斷請求時,從PIVR中讀取相應的中斷向量,并產生一個轉到該中斷服務子程序(GISR)入口的向量。

2.3系統(tǒng)配置和中斷LF240x有兩個中斷向量表:CPU向量表和外設向量表CPU向量表用來得到響應中斷請求的一級通用中斷服務子程序(GISR)。外設向量表用來獲取響應某外設事件的特定中斷服務子程序(SISR)。在一級通用中斷服務子程序GISR中可讀出PIVR中的值,保護現場后,用PIVR中的值來產生一個轉到SISR的向量。例如,可屏蔽中斷XINT1(高級模式級別為INT1,優(yōu)先級為7)產生一個中斷請求,CPU對其響應。這時,0001h(XINT1的外設中斷向量)被裝載到PIVR中,CPU獲取被裝載到PIVR中的值之后,用這個值來判斷是哪一個外設引起的中斷,接著轉移到相應的SISR。將PIVR中的值裝載入累加器時需先左移,再加上一個固定的偏移量,然后程序轉到累加器指定的地址入口,這個地址將指向SISR,從而執(zhí)行XINT1的中斷服務子程序。

2.3系統(tǒng)配置和中斷(1)、假中斷向量如果一個中斷應答被響應,但沒有獲得相應的外設的中斷請求,那么就使用假中斷。假中斷向量特性可以保證中斷系統(tǒng)的完整性,從而使中斷系統(tǒng)一直可靠安全地運行,而不會進入無法預料的中斷死循環(huán)中。以下兩種情況會產生假中斷:CPU執(zhí)行一個軟件中斷指令INTR,使用參數1-6,用于請求服務6個可屏蔽中斷(INT1-INT6)之一。當外設發(fā)出中斷請求,但是其INTn標志位卻在CPU應答請求之前已經被清0。在上述兩種情況下,并沒有外設中斷請求送到中斷控制器,因此中斷控制器不知道哪個外設中斷向量裝入到PIVR,此時向PIVR中裝入假中斷向量0000h。從而避免程序進入中斷死循環(huán)中。

2.3系統(tǒng)配置和中斷(2)、軟件結構中斷服務子程序有兩級:通用中斷服務子程序(GISR)和特定中斷服務子程序(SISR)。在GISR中保存必要的上下文,從外設中斷向量寄存器(PIVR)中讀取外設外設中斷向量,這個向量用來產生轉移到SISR的地址入口。程序一旦進入特定中斷服務子程序后,所有的可屏蔽中斷都被屏蔽。外設中斷擴展(PIE)不包括象復位和NMI這樣的不可屏蔽中斷。

2.3系統(tǒng)配置和中斷(3)、不可屏蔽中斷LF240xDSP無NMI引腳,在訪問無效的地址時,不可屏蔽中斷(NMI)就會發(fā)出請求。當NMI被響應后,程序將轉到不可屏蔽中斷向量入口地址0024h處

2.3系統(tǒng)配置和中斷5、中斷響應的過程下面介紹某一外設中斷請求的響應過程。(1)某一外設發(fā)出中斷請求。(2)如該外設的中斷請求標志位(IF)為1,且該外設的中斷使能位(IE)為1,則產生一個到PIE控制器的中斷請求標志位(IF)為1的狀態(tài)保持到被軟件清0。(3)如果不存在相同優(yōu)先級(INTn)的中斷請求,那么PIRQ會使PIE控制器產生一個到CPU的中斷請求(INTn),為2個CPU時鐘寬度的低電平脈沖。

2.3系統(tǒng)配置和中斷(4)CPU的中斷請求設定CPU的中斷標志寄存器(IFR),如果CPU中斷已被使能,中斷屏蔽寄存器(IMR)CPU會中止當前的任務,將INTM置1,以屏蔽所有可屏蔽的中斷,保存上下文,并且開始為高斷請求;如果中斷沒有被使能,則中優(yōu)先級的中斷(INTn)執(zhí)行通用中斷服務子程序(GISR)。CPU自動產生一個中斷應答,并向與被響應的高優(yōu)先級中斷的相應程序地址總線(PAB)送一個中斷向量值。例如,如果INT2被響應了,它的中斷向量0004h被裝入PAB。(5)外設中斷擴展(PIE)控制器會對PAB的值進行譯碼,并產生一個外設響應應答,清除與被應答的CPU中斷相關的PIRQ位。外設中斷擴展控制器然后將相應的中斷向量(或假中斷向量)載入外設中斷向量寄存器(PIVR)。當GISR已經完成了現場保護,然后就可讀入PIVR,并使用中斷向量,使程序轉入到特定中斷服務子程序(SISR)的入口處去執(zhí)行。

2.3系統(tǒng)配置和中斷6、中斷響應的延時導致中斷響應延時的因素包括:外設同步接口時間、CPU響應時間、ISR轉移時間。(1)外設同步接口時間是指PIE識別出外設發(fā)來的中斷請求,經判斷優(yōu)先級、轉換后將中斷請求發(fā)送至CPU的時間。(2)CPU的響應時間指的是CPU識別出已經被使能的中斷請求、響應中斷、清除流水線、并且開始捕獲來自CPU中斷向量的第一條指令所花費的時間。最小的CPU的響應時間是4個CPU指令周期。(3)ISR轉移時間是指為了轉移ISR中特定部分而必須執(zhí)行一些轉移所花費的時間。該時間長短根據用戶所實現的ISR的不同而有所變化。

2.3系統(tǒng)配置和中斷7、CPU的中斷寄存器CPU中斷寄存器包括:(1)中斷標志寄存器(IFR);(2)中斷屏蔽寄存器(IMR)。(1)、CPU中斷標志寄存器(IFR)

IFR映射到數據存儲器空間為0006h。各位意義如下:位15-6:保留位。位5-0:分別為INT6-INT1的中斷標志位。0-無INTn(n=1-6)的中斷掛起,1-表示有INTn(n=1-6)的中斷掛起。

2.3系統(tǒng)配置和中斷中斷標志寄存器包含了所有可屏蔽中斷INT6-INT1的標志位。當一個外設發(fā)出可屏蔽中斷請求時,中斷標志寄存器的相應標志位被置1。如果該外設對應中斷屏蔽寄存器中的中斷使能位也為1,則該中斷請求被送到CPU,此時該中斷正被掛起或等待響應。讀取IFR可以識別掛起的中斷,向相應的IFR位寫1將清除已掛起的中斷。CPU響應中斷或復位都能將IFR標志清除。

2.3系統(tǒng)配置和中斷在對IFR操作時應注意以下幾點:(1)要想清除某一IFR位,必須向該位寫1,而不是0;(2)當一個可屏蔽中斷被響應時,只有IFR位被清除,而相應的外設控制寄存器中的中斷請求標志位不會被清除。如果需要清除這些標志位,應該使用軟件來清除。(3)當通過INTR指令來請求中斷,且相應的IFR位被置1時,CPU不會自動清除該位,該位必須由軟件來清除。(4)IFR和IMR控制的是核心級的中斷,所有外設在它們各自的配置/控制寄存器都有相應的中斷屏蔽和標志位。

2.3系統(tǒng)配置和中斷(2)、CPU中斷屏蔽寄存器(IMR)

IMR映射在數據存儲器空間中的地址為0004h,各位意義如下:IMR中包含所有可屏蔽中斷級(INT1-INT6)的屏蔽位,讀IMR可以識別出已屏蔽或使能的中斷級,而向IMR中寫,則可屏蔽中斷或使能中斷。為了使能中斷,應設置相應的IMR位為1,而屏蔽中斷時只需將相應的IMR位設為0。位15-6:保留位。位5-0:分別為INT6-INT1中斷的屏蔽位。0-中斷INTn被屏蔽。1-中斷INTn被使能。

2.3系統(tǒng)配置和中斷8、外設中斷寄存器外設中斷寄存器包括:外設中斷向量寄存器(PIVR)、外設中斷請求寄存器0/1/2(PIRQR0/1/2)、外設中斷應答寄存器0/1/2(PIACKR0/1/2)。外設中斷請求寄存器和外設中斷應答寄存器都屬于外設中斷擴展模塊用來向CPU產生INT1-INT6中斷請求的內部寄存器。這些寄存器用于測試目的,非用戶應用目的,編程時可忽略。

2.3系統(tǒng)配置和中斷外設中斷向量寄存器(PIVR)外設中斷向量寄存器(PIVR)映射在數據存儲器空間中的地址為701Eh,該寄存器的16位V15-V0,為最近一次被應答的外設中斷的地址向量。外設中斷請求寄存器0(PIRQR0)外設中斷請求寄存器0(PIRQR0)映射在數據存儲器空間中的地址為7010h,寄存器的格式如下:位15-0:外設請求標志位IRQ0.15-IRQ0.00-無相應外設的中斷請求1-相應外設的中斷請求被掛起注:寫入1會發(fā)出一個中斷請求到DSP核,寫入0無影響。該寄存器16個位所對應的外設如表2.5所示。

2.3系統(tǒng)配置和中斷外設中斷請求寄存器1(PIRQR1)外設中斷請求寄存器1(PIRQR1)映射在數據存儲器空間中的地址為7011h,該寄存器的格式如下:位15:保留位,讀出為0,寫入無影響。位14-0:外設請求標志位IRQ1.14-IRQ1.00-無相應外設的中斷請求1-相應外設的中斷請求被掛起注:寫入1會發(fā)出一個中斷請求到DSP核,寫入0無影響。該寄存器16個位所對應的中斷如表2.6所示。

2.3系統(tǒng)配置和中斷外設中斷請求寄存器2(PIRQR2)外設中斷請求寄存器2(PIRQR2)映射在數據存儲器空間中的地址為7012h,寄存器的格式如下:位15:保留位位14-0:外設請求標志位IRQ2.14-IRQ2.00-無相應外設的中斷請求1-相應外設的中斷請求被掛起注:寫1會發(fā)出一個中斷請求到DSP核,寫0無影響。該寄存器16個位所對應的中斷如表2.7所示。

2.3系統(tǒng)配置和中斷外設中斷應答寄存器0(PIACKR0)外設中斷應答寄存器0(PIACKR0)映射在數據存儲器空間中的地址為7014h,寄存器的格式如下:位15-0:外設中斷應答位ICK0.15-ICK0.0寫入1-引起相應外設的中斷應答被插入,將相應外設中斷請求位清0。注:通過向寄存器寫1來插入中斷應答,而非更新PIVR寄存器的內容,讀該寄存器的結果通常為0

該寄存器16個位所對應的中斷如表2.8所示。

2.3系統(tǒng)配置和中斷外設中斷應答寄存器1(PIACKR1)外設中斷應答寄存器1(PIACKR1)的映射地址7015h,格式如下:位15:保留位位14-0:外設中斷應答位IAK1.14-IAK1.0,作用同PIACKP0一樣。該寄存器各個位所對應的中斷如表2.9所示。外設中斷應答寄存器2(PIACKR2)外設中斷應答寄存器2(PIACKR2)的映射地址7016h,該寄存器的格式如下:位15-0:外設中斷應答位IAK2.15-IAK2.0,作用同PIACKP0一樣。該寄存器各個位所對應的中斷如表2.10所示。

2.3系統(tǒng)配置和中斷9、復位

LF2407DSP器件有兩個復位來源:外部復位引腳的電平變化引起的復位;看門狗定時器溢出引起的復位。復位時,復位引腳被設置為輸出方式,且被驅動為低,向外部電路表明LF240x器件正在自己復位。10、無效地址檢測無效地址是不可執(zhí)行的地址(例如:外設存儲器映射中的保留寄存器)。LF240x一旦檢測到對無效地址的訪問,就將系統(tǒng)控制和狀態(tài)寄存器1(SCSRl)中的無效地址標志位(ILLADR)置1,從而產生一個不可屏蔽中斷(NMI)。無論何時檢測到對無效地址的訪問,都會產生插入一個無效地址條件,無效地址標志位(ILLADR)在無效地址條件發(fā)生之后被置1,并一直保持,直到軟件將其清除。產生原因:是不正確的數據頁面初始化。

2.3系統(tǒng)配置和中斷11、外部中斷控制寄存器

寄存器XINT1CR和XINT2CR為用來控制和監(jiān)視XINT1和XINT2兩個引腳狀態(tài)的兩個外部中斷控制寄存器。在LF240x中,XINT1和XINT2引腳必須被拉為低電平至少6個(或12個)CLKOUT周期才能被CPU內核識別。

2.3系統(tǒng)配置和中斷外部中斷1控制寄存器XINT1CR

映射到數據存儲器空間的7070h,格式如下:位15:XINT1標志位。在XINT1引腳上是否檢測到一個所選擇的中斷跳變,無論中斷是否使能,該位都可被置1。0-沒有檢測到跳變;1-檢測到跳變位14-3:保留位位2:XINT1極性。該讀/寫位決定是在XINT1引腳信號的上升沿還是下降沿產生中斷。0-在下降沿產生中斷;1-在上升沿產生中斷位1:XINT1優(yōu)先級。該讀/寫位決定哪一個中斷優(yōu)先級被請求。0-高優(yōu)先級;1-低優(yōu)先級位0:XINTl使能位。該讀/寫位可使能或屏蔽外部中斷XINTl0-屏蔽中斷;1-使能中斷

2.3系統(tǒng)配置和中斷外部中斷2控制寄存器XINT2CR

映射到數據存儲器空間的7071h,格式如下:位15:XINT2中斷請求標志位。該位表示在XINT2引腳上是否檢測到一個中斷請求跳變,無論該中斷是否使能,該位都可以被置1。當XINT2的中斷請求被應答時,該位被自動清0。0-沒有檢測到跳變;1-檢測到跳變軟件向該位寫1(寫0無效)或器件復位時,該位也被清0位14-13:保留位位2:XINT2極性。該位決定XINT2引腳信號的上升沿還是下降沿產生中斷。0-在下降沿產生中斷;1-在上升沿產生中斷位1:XINT2的中斷優(yōu)先級。0-高優(yōu)先級;1-低優(yōu)先級位0:XINT2的中斷使能位。0-屏蔽該中斷;1-使能該中斷

2.4程序控制程序控制執(zhí)行一個或多個指令塊的次序調動通常

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論