DSP技術(shù)應(yīng)用電子通信_第1頁
DSP技術(shù)應(yīng)用電子通信_第2頁
DSP技術(shù)應(yīng)用電子通信_第3頁
DSP技術(shù)應(yīng)用電子通信_第4頁
DSP技術(shù)應(yīng)用電子通信_第5頁
已閱讀5頁,還剩78頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DSP技術(shù)應(yīng)用電子通信2 片內(nèi)外設(shè)是集成在片內(nèi)外設(shè)是集成在DSP芯片內(nèi)部的外部設(shè)備,芯片內(nèi)部的外部設(shè)備,CPU核核對片內(nèi)外設(shè)的訪問是通過對相應(yīng)控制寄存器的訪問來完成對片內(nèi)外設(shè)的訪問是通過對相應(yīng)控制寄存器的訪問來完成的。所有的的。所有的C54x DSP的的CPU結(jié)構(gòu)及功能完全相同,但是片結(jié)構(gòu)及功能完全相同,但是片內(nèi)的外設(shè)配置多少不同。內(nèi)的外設(shè)配置多少不同。優(yōu)點(diǎn):優(yōu)點(diǎn): n 片內(nèi)外設(shè)訪問速度快。片內(nèi)外設(shè)訪問速度快。 n 可以簡化電路板的設(shè)計(jì)。如將可以簡化電路板的設(shè)計(jì)。如將A/D轉(zhuǎn)換、轉(zhuǎn)換、D/A轉(zhuǎn)換、定時轉(zhuǎn)換、定時器集成在片內(nèi)。器集成在片內(nèi)。(3) 提供一些必須的特殊功能。如提供一些必須的特殊功能

2、。如JTAG口、軟件等待狀態(tài)口、軟件等待狀態(tài)發(fā)生器等。發(fā)生器等。 3一、一、C54x的主機(jī)接口的主機(jī)接口 HPI n 功能功能 主機(jī)接口主機(jī)接口HPI專門提供了專門提供了C54xDSP與外部其它主與外部其它主處理器(如其它處理器(如其它 DSP、微處理器、單片機(jī)等)的通信、微處理器、單片機(jī)等)的通信接口,接口, 主機(jī)接口為主從分布式系統(tǒng)和多處理器并行處主機(jī)接口為主從分布式系統(tǒng)和多處理器并行處理系統(tǒng)提供了方便。理系統(tǒng)提供了方便。 C54xDSP主機(jī)接口是一個并行的主機(jī)接口是一個并行的 8 位或位或 16 位接位接口,外部主機(jī)是口,外部主機(jī)是HPI的主控者。的主控者。C54x系列中提供了標(biāo)系列中提

3、供了標(biāo)準(zhǔn)的準(zhǔn)的 8位位HPI接口或接口或 8位增強(qiáng)的位增強(qiáng)的HPI接口或接口或16位增強(qiáng)的位增強(qiáng)的HPI接口。接口。4TMS320C54x系列系列DSP具有并行接口具有并行接口類型(類型(3種)種): 標(biāo)準(zhǔn)標(biāo)準(zhǔn)8位位HPI-8 增強(qiáng)型增強(qiáng)型8位位HPI-8 增強(qiáng)型增強(qiáng)型16位位HPI-16功能:用于主機(jī)功能:用于主機(jī)(其他其他DSP或單片機(jī)或單片機(jī))與與C54x DSP的通信,的通信, 通信的主控方為其他主機(jī)。通信的主控方為其他主機(jī)。優(yōu)點(diǎn):優(yōu)點(diǎn):HPI不需要或只需要很少外部邏輯就能和很多不同不需要或只需要很少外部邏輯就能和很多不同 的主機(jī)設(shè)備相連。的主機(jī)設(shè)備相連。5nHPI-8的特點(diǎn)的特點(diǎn)n是

4、一個是一個8位并行口位并行口n用于主機(jī)用于主機(jī)(其他控制器其他控制器)與與C54x DSP之間的通信,實(shí)現(xiàn)之間的通信,實(shí)現(xiàn)主機(jī)訪問主機(jī)訪問DSP內(nèi)部內(nèi)部2K的雙訪問的雙訪問RAM(HPI存儲器存儲器)。nHPI具有兩種工作模式:具有兩種工作模式:n共用訪問模式共用訪問模式(SAM):主機(jī)和:主機(jī)和C54x DSP都能訪問都能訪問HPI存儲器。當(dāng)訪問發(fā)生沖突時主機(jī)具有優(yōu)先訪問權(quán),而存儲器。當(dāng)訪問發(fā)生沖突時主機(jī)具有優(yōu)先訪問權(quán),而C54x DSP需等待一個周期。需等待一個周期。n僅主機(jī)訪問模式僅主機(jī)訪問模式(HOM), C54x DSP休眠狀態(tài)。休眠狀態(tài)。nHPI支持主機(jī)與支持主機(jī)與C54x DSP

5、之間高速數(shù)據(jù)傳輸。之間高速數(shù)據(jù)傳輸。 6標(biāo)準(zhǔn)標(biāo)準(zhǔn)HPIHPI的兩種工作模式:的兩種工作模式: (1)共享模式()共享模式(SAM)(2)主機(jī)模式()主機(jī)模式(HOM) HPI存儲器存儲器 主機(jī)主機(jī) C54x HPI存儲器存儲器 主機(jī)主機(jī) C54x 72. HPI-8結(jié)構(gòu)框圖結(jié)構(gòu)框圖8(1)HPI存儲器(存儲器(2k字字DARAM)(2)HPI地址寄存器(地址寄存器(HPIA)(3)HPI數(shù)據(jù)鎖存器(數(shù)據(jù)鎖存器(HPID) (4)PHI控制寄存器(控制寄存器(HPIC)(5)PHI控制邏輯控制邏輯工作過程工作過程HPIHPI存儲存儲空間訪問空間訪問主機(jī)數(shù)據(jù)主機(jī)數(shù)據(jù)寄存器寄存器HPIDHPID主機(jī)

6、地址主機(jī)地址寄存器寄存器HPIAHPIA外部外部主機(jī)主機(jī)外部控制信號外部控制信號9 外部主機(jī)通過訪問主機(jī)接口的外部主機(jī)通過訪問主機(jī)接口的3個寄存器實(shí)現(xiàn)對個寄存器實(shí)現(xiàn)對DSP內(nèi)內(nèi)部部HPI存儲器的訪問:存儲器的訪問:HPIA: 地址寄存器。主機(jī)直接訪問該寄存器地址寄存器。主機(jī)直接訪問該寄存器HPIC(002Ch): 控制寄存器,可以由主機(jī)或控制寄存器,可以由主機(jī)或C54x DSP直接訪直接訪問,包含了問,包含了HPI操作的控制和狀態(tài)位操作的控制和狀態(tài)位.HPID: 數(shù)據(jù)寄存器,只能由主機(jī)直接訪向。包含從數(shù)據(jù)寄存器,只能由主機(jī)直接訪向。包含從HPI存儲存儲器讀出的數(shù)據(jù),或者要寫到器讀出的數(shù)據(jù),或者

7、要寫到HPI存儲器的數(shù)據(jù)存儲器的數(shù)據(jù)HPI控制邏輯控制邏輯: 用于處理用于處理HPI與主機(jī)之間的接口信號與主機(jī)之間的接口信號HPI存儲器存儲器(DARAM):用于:用于C54x DSP與主機(jī)之間傳送數(shù)據(jù)與主機(jī)之間傳送數(shù)據(jù)103. 控制寄存器控制寄存器HPIC HPIC共有共有4 個位用于控制個位用于控制HPI操作。操作。BOB :字節(jié)選擇位,:字節(jié)選擇位,BOB會影響數(shù)據(jù)和地址傳輸。會影響數(shù)據(jù)和地址傳輸。SMOD :尋址方式選擇位。:尋址方式選擇位。DSPINT :主機(jī)向:主機(jī)向C54x DSP發(fā)出中斷位;發(fā)出中斷位;HINT : C54x DSP向主機(jī)發(fā)出中斷位。向主機(jī)發(fā)出中斷位。11標(biāo)準(zhǔn)標(biāo)

8、準(zhǔn)HPI-8的的HPIC控制寄存器各位設(shè)置控制寄存器各位設(shè)置 12 4. 主機(jī)接口的操作主機(jī)接口的操作 n 8 位數(shù)據(jù)總線位數(shù)據(jù)總線(HD0HD7)與主機(jī)之間交換信息。與主機(jī)之間交換信息。 16位位 字,由字,由HBIL引腳和引腳和HPIC的的BOB位決定;位決定;n 兩個控制輸入兩個控制輸入(HCNTL0和和HCNTL1)表示哪個表示哪個HPI寄存器寄存器 被訪問;被訪問; n HPIA寄存器可以使用自動增尋址方式寄存器可以使用自動增尋址方式 ;n 主機(jī)可以中斷主機(jī)可以中斷C54x DSP,C54x DSP也可用也可用HPIC中的中的 HINT來中斷主機(jī);來中斷主機(jī); n HPI存儲器為存儲

9、器為2K字字16位的雙訪問位的雙訪問RAM塊,其地址范圍塊,其地址范圍 為數(shù)據(jù)存儲空間的為數(shù)據(jù)存儲空間的1000h17FFh 。13C54x HPI-8與主機(jī)的連接:與主機(jī)的連接: 14HPI的中斷過程的中斷過程主機(jī)主機(jī)HPI中斷中斷寫寫DSPINT=1HCNTL0HCNTL100HPIC15 應(yīng)用舉例:應(yīng)用舉例: 設(shè)為雙設(shè)為雙DSP通過通過HPI口通信。口通信。DSP1向向DSP2的數(shù)據(jù)空間的數(shù)據(jù)空間發(fā)送數(shù)據(jù),并讀回到發(fā)送數(shù)據(jù),并讀回到DSP1的存儲器中。的存儲器中。 DSP2的的HPI口的口的HPIC映射到映射到DSP1的的0 x8008、0 x8009; HPIA映射到映射到DSP1的的

10、0 x800C、0 x800D; HPID映射到映射到DSP1的的0 x800A、0 x800B。 由于由于DSP2在被訪問過程中不需要操作,所以,以下為在被訪問過程中不需要操作,所以,以下為DSP1的程序。的程序。 16 STM 0 x1000, AR1 ST0 x00, *AR1PORTW*AR1, 0 x8008 ;將將0 x00寫入寫入HPICST0 x00, *AR1PORTW*AR1, 0 x8009 ;高低位都為高低位都為0 x00NOPST0 x10, *AR1PORTW*AR1, 0 x800C ;將將0 x10寫入寫入HPIA高位高位ST0 x20, *AR1NOPPORT

11、W*AR1, 0 x800D ;將將0 x20寫入寫入HPIA低位低位NOP ;地址為地址為0 x1020loop:ST 0 x1A,*AR1PORTW *AR1,0 x800A ;將將0 x1A2B寫入寫入DSP2的的0 x1020ST 0 x2B,*AR1PORTW *AR1,0 x800B NOPSTM 0 x1010,AR2PORTR 0 x800A,*AR2 ;將讀到的數(shù)放入將讀到的數(shù)放入0 x1010和和0 x1011 NOP ;兩個單元,每個為;兩個單元,每個為8位數(shù)位數(shù) STM 0 x1011,AR2 PORTR 0 x800B,*AR2 ST 0 x3C,*AR1PORTW

12、*AR1,0 x800A ;利用自動增量模式將利用自動增量模式將0 x3C4D寫入寫入 ;DSP2的的0 x1021 18 ST 0 x4D,*AR1NOPPORTW *AR1, 0 x800B STM 0 x1012, AR2NOPPORTR 0 x800A,*AR2 ;將將DSP2中的數(shù)通過中的數(shù)通過HPI讀到讀到 ;DSP1的的0 x1012和和0 x1013中,中,NOP ; DSP1兩個單元中分別為兩個兩個單元中分別為兩個8位數(shù)位數(shù)STM0 x1013, AR2 PORTR 0 x800B,*AR2 hearB hear .end19定時器的結(jié)構(gòu)及特點(diǎn):定時器的結(jié)構(gòu)及特點(diǎn):n C54

13、x的片內(nèi)定時器根據(jù)所選型號不同有的片內(nèi)定時器根據(jù)所選型號不同有23個不等,定時器個不等,定時器0、1、2,其結(jié)構(gòu)相同。,其結(jié)構(gòu)相同。n 每個定時器有每個定時器有3個寄存器,都是存儲器映像寄存器個寄存器,都是存儲器映像寄存器(24-26H)定時寄存器定時寄存器TIM :是減:是減1計(jì)數(shù)器,可加載周期寄存器計(jì)數(shù)器,可加載周期寄存器PRD的的值,并隨計(jì)數(shù)減少。值,并隨計(jì)數(shù)減少。定時周期寄存器定時周期寄存器PRD :PRD中存放定時器的周期計(jì)數(shù)值,提中存放定時器的周期計(jì)數(shù)值,提供供TIM重載用。重載用。定時控制寄存器定時控制寄存器TCR :TCR包含定時器的控制和狀態(tài)位,控包含定時器的控制和狀態(tài)位,控

14、制定時器的工作過程。制定時器的工作過程。二、二、C54x的可編程定時器的可編程定時器 201. C54x的定時器結(jié)構(gòu)的定時器結(jié)構(gòu) 結(jié)結(jié)構(gòu)構(gòu)圖圖分分 頻系頻系 數(shù)數(shù)時時 間常間常 數(shù)數(shù)主定時器模塊主定時器模塊(由由PRD和和TIM組成組成)預(yù)定標(biāo)器模塊預(yù)定標(biāo)器模塊(由由TCR的的TDDR和和PSC位組成位組成)。 21主要特點(diǎn):主要特點(diǎn):(1) 定時器是一個減計(jì)數(shù)器。定時器是一個減計(jì)數(shù)器。(2) 由由16位計(jì)數(shù)器和位計(jì)數(shù)器和4位預(yù)分頻計(jì)數(shù)器組成。位預(yù)分頻計(jì)數(shù)器組成。16位計(jì)數(shù)器位計(jì)數(shù)器 的觸發(fā)脈沖由預(yù)分頻計(jì)數(shù)器提供,預(yù)分頻計(jì)數(shù)器由的觸發(fā)脈沖由預(yù)分頻計(jì)數(shù)器提供,預(yù)分頻計(jì)數(shù)器由 CPU工作時鐘決定。

15、工作時鐘決定。(3) 有復(fù)位功能。有復(fù)位功能。(4) 可以選擇調(diào)試斷點(diǎn)時定時器的工作方式。可以選擇調(diào)試斷點(diǎn)時定時器的工作方式。22TSS保留保留15 12soft11free10PSC9 6TRB5TDDR3 04TCR中的控制位和狀態(tài)位中的控制位和狀態(tài)位定時器定時器停止停止/ /啟動啟動定時器定時器工作狀態(tài)工作狀態(tài)定時器定時器預(yù)定標(biāo)預(yù)定標(biāo)計(jì)數(shù)器計(jì)數(shù)器復(fù)位復(fù)位片內(nèi)片內(nèi)定時器定時器預(yù)定標(biāo)預(yù)定標(biāo)分頻分頻系數(shù)系數(shù)23PSC (96位位):定時器預(yù)定標(biāo)計(jì)數(shù)器。當(dāng):定時器預(yù)定標(biāo)計(jì)數(shù)器。當(dāng)PSC中的數(shù)值減到中的數(shù)值減到0后,后, TIM減減1 , TDDR中的數(shù)加載到中的數(shù)加載到PSC;TRB (5位位)

16、:定時器重新加載控制位。復(fù)位片內(nèi)定時器。當(dāng):定時器重新加載控制位。復(fù)位片內(nèi)定時器。當(dāng)TRB置位時,置位時,TIM重新裝載重新裝載PRD的值,的值,PSC重新裝載重新裝載TDDR中的值。中的值。TSS (4位位):定時器停止位,:定時器停止位,TSS=0 定時器開始工作,定時器開始工作,TSS=1 定時器停止定時器停止TDDR (30位位):當(dāng):當(dāng)PSC減為減為0時,時,TDDR中的值被裝載到中的值被裝載到PSC中中24 2. 定時中斷周期的計(jì)算定時中斷周期的計(jì)算 定時中斷周期定時中斷周期= TCLKOUT(TTDDR+1)(TPRD+1)定時器輸出信號定時器輸出信號TOUT定時脈沖輸出定時脈沖

17、輸出TINT 定時中斷輸出定時中斷輸出25定時器的操作過程:定時器的操作過程: n PSC由由CPU提供時鐘提供時鐘,每個,每個CPU時鐘信號將使時鐘信號將使PSC減減1 。 n TDDR的內(nèi)容重新加載到的內(nèi)容重新加載到PSC。n TIM由預(yù)定標(biāo)器由預(yù)定標(biāo)器PSC提供時鐘,每個來自預(yù)定標(biāo)塊的輸出提供時鐘,每個來自預(yù)定標(biāo)塊的輸出時鐘使時鐘使TIM減減l。 PRD中的內(nèi)容重新加載到中的內(nèi)容重新加載到TIM。 26初始化定時器:初始化定時器:(1) 將將TCR中的中的TSS位置位置1,關(guān)閉定時器。,關(guān)閉定時器。(2) 加載加載PRD。(3) 重新加載重新加載TCR以初始化以初始化TDDR。(4) 重

18、新啟動定時器。重新啟動定時器。TSS位為位為0,TRB位為位為l,以重載定時,以重載定時 器周期值,使能定時器。器周期值,使能定時器。3. 定時器初始化步驟定時器初始化步驟 27使能定時器中斷使能定時器中斷(假定假定ST1寄存器中寄存器中INTM=1):(1) 將將IFR中的中的TINT位置位置1,清除尚未處理完,清除尚未處理完(掛起掛起)的定時的定時 器中斷。器中斷。(2) 將將IMR中的中的TINT位置位置l,使能定時器中斷。,使能定時器中斷。(3) 將將ST1中的中的INTM位清位清0,使能全局中斷。,使能全局中斷。28【例例】 利用利用C54x定時器可以實(shí)現(xiàn)方波信號發(fā)生器。要求利用定時

19、器可以實(shí)現(xiàn)方波信號發(fā)生器。要求利用定時器定時器0在通用在通用I/O引腳引腳XF輸出周期為輸出周期為1s的方波。的方波。分析:設(shè)分析:設(shè) f =100MHz,已知定時最大值為:已知定時最大值為: =10(ms),要輸出要輸出1s的方波,的方波,1和和0分別為分別為500ms.可定時可定時5ms,再在中斷程序中加個,再在中斷程序中加個100計(jì)數(shù)器,計(jì)數(shù)器,定時器周期定時器周期 =10ns(1+9)(1+49999)=5ms。 41610(ns)2229CounterSet.set 100 ;定義計(jì)數(shù)次數(shù);定義計(jì)數(shù)次數(shù)PERIOD .set 49999 ;定義計(jì)數(shù)周期;定義計(jì)數(shù)周期 .asg AR1

20、, Counter ;AR1做計(jì)數(shù)指針,重做計(jì)數(shù)指針,重 ; 新命名以便識別新命名以便識別 STM #CounterSet, Counter ;設(shè)計(jì)數(shù)器初值;設(shè)計(jì)數(shù)器初值 STM #0000000000010000B, TCR ;停止計(jì)數(shù)器;停止計(jì)數(shù)器 STM #PERIOD, TIM ;給;給TIM設(shè)定初值設(shè)定初值49999 STM #PERIOD, PRD ;PRD與與TIM一樣一樣 STM #0000001001101001B, TCR ;開始定時器;開始定時器 STM #0008H, IMR ;開;開TIME0的中斷的中斷 RSBX INTM ;開總中斷;開總中斷End: NOP B

21、End30中斷服務(wù)程序:中斷服務(wù)程序:TINT0_ISRTINT0_ISR: PSHM ST0 ;保護(hù);保護(hù)ST0,因要改變,因要改變TC BANZ Next,*Counter- ;計(jì)數(shù)器不為計(jì)數(shù)器不為0,計(jì)數(shù)器,計(jì)數(shù)器 減減1,退出中斷,退出中斷 STM #CounterSet,Counter ; BITF *AR2,#1 ;計(jì)數(shù)器為;計(jì)數(shù)器為0, 根據(jù)當(dāng)前根據(jù)當(dāng)前XF狀態(tài)狀態(tài) ;分別到;分別到setXF或或ResetXF BC ResetXF,TC setXF: SSBX XF ;置;置XF為高為高 ST #1,*AR2 B NextResetXF: RSBX XF ;置;置XF為低為低

22、ST #0, *AR231Next: POPM ST0 RETE end 32三、三、C54x的串行口的串行口 C54x 具有功能強(qiáng)、且使用靈活的高速、全雙工串行具有功能強(qiáng)、且使用靈活的高速、全雙工串行口,可實(shí)現(xiàn)多種標(biāo)準(zhǔn)通訊形式;可提供豐富的多路及時分口,可實(shí)現(xiàn)多種標(biāo)準(zhǔn)通訊形式;可提供豐富的多路及時分復(fù)用功能,高效地實(shí)現(xiàn)和雙向串口器件的通訊或多微處理復(fù)用功能,高效地實(shí)現(xiàn)和雙向串口器件的通訊或多微處理器之間的通訊。器之間的通訊。n標(biāo)準(zhǔn)同步串行口(標(biāo)準(zhǔn)同步串行口(SP)n緩沖同步串行口(緩沖同步串行口(BSP)n多通道緩沖串行口(多通道緩沖串行口(McBSP)n時分多路同步串行口(時分多路同步串行

23、口(TDM)串串行行口口分分類類當(dāng)緩沖串行口和時分多路串行口工作在標(biāo)準(zhǔn)方式時,它們的功能與標(biāo)準(zhǔn)串行口相同當(dāng)緩沖串行口和時分多路串行口工作在標(biāo)準(zhǔn)方式時,它們的功能與標(biāo)準(zhǔn)串行口相同 33配置配置: DSP芯片不同串口配置也不盡相同。芯片不同串口配置也不盡相同。訪問訪問: 串行接口一般通過中斷來實(shí)現(xiàn)與核心串行接口一般通過中斷來實(shí)現(xiàn)與核心CPU的同步。的同步。功能功能: 串行接口可以用來與串行外部器件相連,如編碼解串行接口可以用來與串行外部器件相連,如編碼解 碼器、串行碼器、串行A/D或或D/A以及其他串行設(shè)備。以及其他串行設(shè)備。 34芯片型號芯片型號SPBSPMcBSPTDMC5412000C542

24、0101C5430101C5451100C5461100C5480201C5490201C54020020C54100030C54200060部分部分C54x系列系列DSP芯片串行口配置芯片串行口配置351)、標(biāo)準(zhǔn)同步串行口)、標(biāo)準(zhǔn)同步串行口 SP 36組成:組成: n16位數(shù)據(jù)接收寄存器(位數(shù)據(jù)接收寄存器(DRR)n16位數(shù)據(jù)發(fā)送寄存器(位數(shù)據(jù)發(fā)送寄存器(DXR)n接收移位寄存器(接收移位寄存器(RSR)n發(fā)送移位寄存器(發(fā)送移位寄存器(XSR)n接收時鐘和發(fā)送時鐘接收時鐘和發(fā)送時鐘n接收幀同步和發(fā)送幀同步接收幀同步和發(fā)送幀同步n控制電路控制電路37標(biāo)準(zhǔn)串口標(biāo)準(zhǔn)串口SPSP特點(diǎn):特點(diǎn): n可

25、有多個相互獨(dú)立的標(biāo)準(zhǔn)同步串口可有多個相互獨(dú)立的標(biāo)準(zhǔn)同步串口n發(fā)送和接收是雙向緩沖的發(fā)送和接收是雙向緩沖的n3個存儲器映像寄存器用于傳送數(shù)據(jù)個存儲器映像寄存器用于傳送數(shù)據(jù)n每個口有時鐘、幀同步脈沖以及串行移位寄存器每個口有時鐘、幀同步脈沖以及串行移位寄存器n可以按可以按8位字節(jié)或位字節(jié)或16位字節(jié)轉(zhuǎn)換位字節(jié)轉(zhuǎn)換n可以產(chǎn)生自己的可屏蔽收發(fā)中斷可以產(chǎn)生自己的可屏蔽收發(fā)中斷n可以工作在多種時鐘頻率上可以工作在多種時鐘頻率上n標(biāo)準(zhǔn)串行口的最高工作頻率是標(biāo)準(zhǔn)串行口的最高工作頻率是CLKOUT的的1/4。38串行口控制寄存器串行口控制寄存器 SPC 功能:控制串行口的操作功能:控制串行口的操作 39標(biāo)準(zhǔn)串口

26、標(biāo)準(zhǔn)串口SPSP的使用的使用 nSTM #0038H ,SPC ;串口初始化;串口初始化nSTM #00C0H ,IFR ;清除掛起的串口中斷;清除掛起的串口中斷nAND #00C0H ,IMR ;使能中斷;使能中斷 nRSBX INTM ;使能全局中斷;使能全局中斷nSTM #00F8H ,SPC ;開始串口傳輸;開始串口傳輸nSTM DATA1,DXR ;寫第一個數(shù)據(jù)到;寫第一個數(shù)據(jù)到DXR 40 操作過程操作過程:發(fā)送數(shù)據(jù)時,數(shù)寫到發(fā)送數(shù)據(jù)時,數(shù)寫到DXRXSR DX引腳輸出。發(fā)送期引腳輸出。發(fā)送期間,間,DXR中的數(shù)據(jù)復(fù)制到中的數(shù)據(jù)復(fù)制到XSR后,串行口控制寄存器后,串行口控制寄存器(

27、SPC)中的發(fā)送準(zhǔn)備好中的發(fā)送準(zhǔn)備好(XRDY)位由位由0變?yōu)樽優(yōu)?,隨后產(chǎn)生一個串行口,隨后產(chǎn)生一個串行口發(fā)送中斷發(fā)送中斷(XINT)信號,通知信號,通知CPU可以對可以對DXR重新加載。重新加載。接收數(shù)據(jù)時,來自接收數(shù)據(jù)時,來自DR引腳的數(shù)據(jù)引腳的數(shù)據(jù) RSR DRR,CPU從從DRR中讀出數(shù)據(jù)。當(dāng)中讀出數(shù)據(jù)。當(dāng)RSR的數(shù)據(jù)復(fù)制到的數(shù)據(jù)復(fù)制到DRR后,后,SPC中的中的接收數(shù)據(jù)準(zhǔn)備好接收數(shù)據(jù)準(zhǔn)備好(RRDY)位由位由0變?yōu)樽優(yōu)閘,隨后產(chǎn)生一個串行口,隨后產(chǎn)生一個串行口接收中斷接收中斷(RINT)信號,通知信號,通知CPU可以從可以從DRR中讀取數(shù)據(jù)。中讀取數(shù)據(jù)。串行口是雙緩沖的,發(fā)送和接收

28、都是自動完成,用戶只需串行口是雙緩沖的,發(fā)送和接收都是自動完成,用戶只需檢測檢測RRDY或或XRDY位來判斷可否繼續(xù)發(fā)送或接收數(shù)據(jù)。位來判斷可否繼續(xù)發(fā)送或接收數(shù)據(jù)。41連接方法之一:連接方法之一: 數(shù)據(jù)發(fā)送工作過程數(shù)據(jù)發(fā)送工作過程 數(shù)據(jù)接收工作過程數(shù)據(jù)接收工作過程 42實(shí)例實(shí)例: (操作以中斷的方式完成操作以中斷的方式完成)1) 串口的初始化串口的初始化(1) 復(fù)位,并將復(fù)位,并將0 x0038寫入寫入SPC,初始化串口。,初始化串口。(2) 將將0 x00C0h寫入寫入IMR,清除任何掛起的串行接口中斷。,清除任何掛起的串行接口中斷。(3) 將將0 x00C0h和和IMR求或邏輯運(yùn)算,使能串

29、行接口中斷。求或邏輯運(yùn)算,使能串行接口中斷。(4) 清除清除ST1的的INTM位,使能全局中斷。位,使能全局中斷。(5) 將將0 x00F8h寫入寫入SPC,啟動串行接口。,啟動串行接口。(6) 將第一個數(shù)據(jù)寫入將第一個數(shù)據(jù)寫入DXR。43串行口 2) 串口中斷服務(wù)程序串口中斷服務(wù)程序(1) 保存當(dāng)前工作狀態(tài)到堆棧中。保存當(dāng)前工作狀態(tài)到堆棧中。(2) 讀讀DRR或?qū)懟驅(qū)慏XR或同時操作,從或同時操作,從DRR讀出的數(shù)據(jù)寫入讀出的數(shù)據(jù)寫入存儲器中,將要發(fā)送的數(shù)據(jù)從存儲器中取出寫入存儲器中,將要發(fā)送的數(shù)據(jù)從存儲器中取出寫入DXR。(3) 恢復(fù)現(xiàn)場。恢復(fù)現(xiàn)場。(4) 用用RETE從中斷子程序返回。從

30、中斷子程序返回。44結(jié)構(gòu)和特點(diǎn)結(jié)構(gòu)和特點(diǎn):n 緩沖串行口在標(biāo)準(zhǔn)同步串行口基礎(chǔ)上增加了一個自動緩沖串行口在標(biāo)準(zhǔn)同步串行口基礎(chǔ)上增加了一個自動 緩沖單元緩沖單元(ABU),并以,并以CLKOUT頻率計(jì)時。頻率計(jì)時。n ABU利用獨(dú)立于利用獨(dú)立于CPU的專用總線,讓串行口直接讀的專用總線,讓串行口直接讀/寫寫 C54x內(nèi)部存儲器。這樣可使串行口處理事務(wù)的開銷最內(nèi)部存儲器。這樣可使串行口處理事務(wù)的開銷最 省,并能達(dá)到較快的數(shù)據(jù)率。省,并能達(dá)到較快的數(shù)據(jù)率。n BSP有兩種工作方式:非緩沖方式和自動緩沖方式。有兩種工作方式:非緩沖方式和自動緩沖方式。n ABU具有自身的循環(huán)尋址寄存器組,每個都與地址產(chǎn)生

31、具有自身的循環(huán)尋址寄存器組,每個都與地址產(chǎn)生 單元相關(guān)。發(fā)送和接收緩沖存儲器位于一個指定的單元相關(guān)。發(fā)送和接收緩沖存儲器位于一個指定的C54x DSP內(nèi)部存儲器的內(nèi)部存儲器的2K字塊中。該塊可作為通用的存儲字塊中。該塊可作為通用的存儲 器,但卻是唯一的自動緩沖能使用的存儲塊。器,但卻是唯一的自動緩沖能使用的存儲塊。2)、緩沖同步串行口()、緩沖同步串行口(BSP) 45BDRBDRBCLKRBCLKRBFSRBFSRBCLKXBCLKXBFSXBFSXBDXBDXBRINTBRINTBMINTBMINTBXINTBXINTC54xC54x內(nèi)存界面內(nèi)存界面自動緩沖單元自動緩沖單元 ABUABU控

32、制控制XRDY RRDY BXINT BMINT BRINTXRDY RRDY BXINT BMINT BRINTBDXRBDXRBSPCEBSPCEBXSRBXSRBRSRBRSR串口控串口控制邏輯制邏輯BSPCBSPCBDRRBDRR中斷中斷控制控制C54xC54xCPUCPU界面界面中斷中斷邏輯邏輯161146組成:組成:數(shù)據(jù)接收寄存器數(shù)據(jù)接收寄存器BDRR數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器BDXR控制寄存器控制寄存器BSPC 控制擴(kuò)展寄存器控制擴(kuò)展寄存器BSPCE數(shù)據(jù)接收移位寄存器數(shù)據(jù)接收移位寄存器BRSR數(shù)據(jù)發(fā)送移位寄存器數(shù)據(jù)發(fā)送移位寄存器BXSR 串口控制邏輯串口控制邏輯中斷控制邏輯中斷

33、控制邏輯自動緩沖單元自動緩沖單元ABU47緩沖串行口的工作模式緩沖串行口的工作模式 (1 1)緩沖串行口標(biāo)準(zhǔn)模式)緩沖串行口標(biāo)準(zhǔn)模式(2 2)緩沖串行口增強(qiáng)模式)緩沖串行口增強(qiáng)模式 可編程串口時鐘頻率可編程串口時鐘頻率時鐘和幀同步信號的極性可選時鐘和幀同步信號的極性可選除除8 8、1616位字長外,位字長外,1010、1212位字長數(shù)據(jù)位字長數(shù)據(jù)轉(zhuǎn)換可選轉(zhuǎn)換可選新增新增功能功能 48自動緩沖單元自動緩沖單元 ABU可獨(dú)立于可獨(dú)立于CPU自動完成控制串口與固定緩自動完成控制串口與固定緩沖內(nèi)存區(qū)中的直接數(shù)據(jù)交換,實(shí)現(xiàn)串行口沖內(nèi)存區(qū)中的直接數(shù)據(jù)交換,實(shí)現(xiàn)串行口與與CPU并行操作。并行操作。功能功能組

34、成組成地址寄存器地址寄存器AXR塊長度發(fā)送寄存器塊長度發(fā)送寄存器BKX地址接收寄存器地址接收寄存器ARR塊長度接收寄存器塊長度接收寄存器BKR串口控制寄存器串口控制寄存器BSPCE 5個存儲器映射寄存器個存儲器映射寄存器49自動緩沖過程可歸納為:自動緩沖過程可歸納為: ABU完成對緩沖存儲器的存取。完成對緩沖存儲器的存取。 工作過程中地址寄存器自動增加,直至緩沖區(qū)的底部。工作過程中地址寄存器自動增加,直至緩沖區(qū)的底部。到底部后,地址寄存器內(nèi)容恢復(fù)到緩沖存儲器區(qū)頂部。到底部后,地址寄存器內(nèi)容恢復(fù)到緩沖存儲器區(qū)頂部。 如果數(shù)據(jù)到了緩沖區(qū)的一半或底部,就會產(chǎn)生中斷,并如果數(shù)據(jù)到了緩沖區(qū)的一半或底部,

35、就會產(chǎn)生中斷,并更新更新BSPEC中的中的XH/RH,以表明那一部分?jǐn)?shù)據(jù)已經(jīng)被發(fā)送,以表明那一部分?jǐn)?shù)據(jù)已經(jīng)被發(fā)送或接收。或接收。 如果選擇禁止自動緩沖功能,當(dāng)數(shù)據(jù)過半或到達(dá)緩沖區(qū)如果選擇禁止自動緩沖功能,當(dāng)數(shù)據(jù)過半或到達(dá)緩沖區(qū)底部時,底部時,ABU會自動停止緩沖功能。會自動停止緩沖功能。50循環(huán)尋址原理循環(huán)尋址原理 裝載裝載BKX/R確定緩沖區(qū)長度,裝載確定緩沖區(qū)長度,裝載ARX/R給出給出2K字緩字緩沖區(qū)基地址和緩沖區(qū)數(shù)據(jù)起始地址實(shí)現(xiàn)初始化。沖區(qū)基地址和緩沖區(qū)數(shù)據(jù)起始地址實(shí)現(xiàn)初始化。BKX/R從從高位至低位方向第一個高位至低位方向第一個1的位置的位置N位將位將ARX/R分為分為ARH和和AR

36、L兩部分,緩沖區(qū)頂部地址兩部分,緩沖區(qū)頂部地址(TBA)由高位為由高位為ARH,而低,而低位為位為N+1個個0組成的數(shù)定義。緩沖區(qū)底部地址組成的數(shù)定義。緩沖區(qū)底部地址(BBA)由由ARH和和BKL-1決定。而當(dāng)前數(shù)據(jù)緩沖區(qū)的位置由決定。而當(dāng)前數(shù)據(jù)緩沖區(qū)的位置由ARX/R的內(nèi)容的內(nèi)容決定。決定。ARX/R的內(nèi)容會隨著每一次訪問繼續(xù)增加直至到下的內(nèi)容會隨著每一次訪問繼續(xù)增加直至到下一個允許的緩沖區(qū)開始地址。然后在后續(xù)的存取操作中,一個允許的緩沖區(qū)開始地址。然后在后續(xù)的存取操作中,作為更新的循環(huán)緩沖開始地址,新的作為更新的循環(huán)緩沖開始地址,新的ARX/R內(nèi)容用來進(jìn)行內(nèi)容用來進(jìn)行正確的循環(huán)緩沖地址計(jì)算

37、。正確的循環(huán)緩沖地址計(jì)算。 51循環(huán)尋址原理示意圖循環(huán)尋址原理示意圖 BKX/RBKX/RARX/RARX/RARHARHARLARL000011BBABBATBATBA緩沖區(qū)當(dāng)前位置緩沖區(qū)當(dāng)前位置 ARHARHBKLBKLARHARHBKL1BKL1ARHARH0000下半部開始下半部開始 緩沖區(qū)頂部緩沖區(qū)頂部 上半部分上半部分 緩沖區(qū)底部緩沖區(qū)底部下半部分下半部分 523)、時分多路串行口)、時分多路串行口 TDM 時分多路串行口允許時分多路串行口允許C54x可以與最多可以與最多 8個其它器件個其它器件進(jìn)行時分復(fù)用串行通信,從而提供了簡單有效的多處理進(jìn)行時分復(fù)用串行通信,從而提供了簡單有效

38、的多處理器應(yīng)用接口。器應(yīng)用接口。 時分復(fù)用:是將與不同器件的通信接口時間依次劃時分復(fù)用:是將與不同器件的通信接口時間依次劃分為不同的時間段,周期性地分別按時間順序與不同器分為不同的時間段,周期性地分別按時間順序與不同器件通信的工作方式。件通信的工作方式。53非非TDM方式方式 =標(biāo)準(zhǔn)串口標(biāo)準(zhǔn)串口 TDM方式方式 當(dāng)當(dāng)TSPC的的TDM=1 工作工作方式方式相相關(guān)關(guān)寄寄存存器器TDM數(shù)據(jù)接收寄存器數(shù)據(jù)接收寄存器TRCVTDM數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器TDXRTDM串口控制發(fā)送寄存器串口控制發(fā)送寄存器TSPCTDM通道選擇寄存器通道選擇寄存器TCSRTDM發(fā)送發(fā)送/接收地址寄存器接收地址寄存器T

39、RTATDM接收地址寄存器接收地址寄存器TRADTDM數(shù)據(jù)接收移位寄存器數(shù)據(jù)接收移位寄存器TRSRTDM數(shù)據(jù)發(fā)送移位寄存器數(shù)據(jù)發(fā)送移位寄存器TXSR 54C54xTDX TDR TFSX TFSR TCLKX TCLKR器件器件0 0器件器件1 1器件器件7 7TDM時分多路串口連接時分多路串口連接554)、多通道緩沖同步串行口()、多通道緩沖同步串行口(McBSP) 特點(diǎn):特點(diǎn):l 全雙工通信全雙工通信l雙倍的發(fā)送緩沖和雙倍的發(fā)送緩沖和3倍的接收緩沖數(shù)據(jù)寄存器,允許倍的接收緩沖數(shù)據(jù)寄存器,允許連續(xù)的數(shù)據(jù)流傳輸連續(xù)的數(shù)據(jù)流傳輸l獨(dú)立的接收、發(fā)送幀和時鐘信、極性可編程獨(dú)立的接收、發(fā)送幀和時鐘信、

40、極性可編程l具有外部移位時鐘發(fā)生器和內(nèi)部頻率可編程移位時鐘具有外部移位時鐘發(fā)生器和內(nèi)部頻率可編程移位時鐘l可直接利用多種串行協(xié)議接口通訊可直接利用多種串行協(xié)議接口通訊l發(fā)送和接收通道數(shù)最多可達(dá)發(fā)送和接收通道數(shù)最多可達(dá)128路路l數(shù)據(jù)傳輸格式可選擇數(shù)據(jù)傳輸格式可選擇8、12、16、20、24、32位字長位字長l內(nèi)置內(nèi)置u律和律和A律硬件壓縮擴(kuò)展通信律硬件壓縮擴(kuò)展通信l8位數(shù)據(jù)傳輸可選擇位數(shù)據(jù)傳輸可選擇LSB或或MSB先傳先傳l可以直接與工業(yè)標(biāo)準(zhǔn)的編解碼器、模擬接口芯片及串可以直接與工業(yè)標(biāo)準(zhǔn)的編解碼器、模擬接口芯片及串行行A/D D/A器件接口器件接口5657McBSP的結(jié)構(gòu)的結(jié)構(gòu)n 一個一個Mc

41、BSP串口有串口有7個引腳。個引腳。n DSP核通過片內(nèi)外設(shè)總線訪問和控制核通過片內(nèi)外設(shè)總線訪問和控制McBSP的內(nèi)部控制的內(nèi)部控制 寄存器和數(shù)據(jù)接收寄存器和數(shù)據(jù)接收/發(fā)送寄存器。發(fā)送寄存器。n 寄存器的寄存器的子尋址子尋址的工作方式,指的是多路復(fù)用技術(shù),可的工作方式,指的是多路復(fù)用技術(shù),可 以實(shí)現(xiàn)一組寄存器共享存儲器中的一個單元??梢允褂靡詫?shí)現(xiàn)一組寄存器共享存儲器中的一個單元??梢允褂?少量的寄存器映射存儲器空間來訪問少量的寄存器映射存儲器空間來訪問McBSP的的20多個寄多個寄 存器存器 。58McBSP控制寄存器控制寄存器 McBSP通過兩個通過兩個16比特串口控制寄存器比特串口控制寄存

42、器1和和2(SPCR1,2)和管腳控制寄存器和管腳控制寄存器(PCR)進(jìn)行配置,這些寄存器包含進(jìn)行配置,這些寄存器包含McBSP的狀態(tài)信息和控制信息。的狀態(tài)信息和控制信息。 串行接口接收控制寄存器串行接口接收控制寄存器SPCR1 、SPCR2 引腳控制寄存器引腳控制寄存器PCR 接收控制寄存器接收控制寄存器RCR1 、RCR2 發(fā)送控制寄存器發(fā)送控制寄存器XCR1 、XCR2 除除SPCR1,2和和PCR之外,之外,McBSP還配置了接收控制寄存還配置了接收控制寄存器器RCR1,2和發(fā)送控制寄存器和發(fā)送控制寄存器XCR1,2來確定接收和發(fā)送操來確定接收和發(fā)送操作的參數(shù)作的參數(shù) 。59McBSP

43、的數(shù)據(jù)發(fā)送和接收的操作流程的數(shù)據(jù)發(fā)送和接收的操作流程3個階段:串口的復(fù)位、串口的初始化、數(shù)據(jù)發(fā)送和接收。個階段:串口的復(fù)位、串口的初始化、數(shù)據(jù)發(fā)送和接收。 串口的復(fù)位串口的復(fù)位n 芯片復(fù)位芯片復(fù)位 引發(fā)的串行復(fù)位使整個串行口復(fù)位,包引發(fā)的串行復(fù)位使整個串行口復(fù)位,包括接口發(fā)送器、接收器、采樣率發(fā)生器的復(fù)位。括接口發(fā)送器、接收器、采樣率發(fā)生器的復(fù)位。 n 串行接口的發(fā)送器和接收器可以利用串行接口控制寄存串行接口的發(fā)送器和接收器可以利用串行接口控制寄存器器(SPCR1和和SPCR2)中的中的 和和 位分別獨(dú)自復(fù)位分別獨(dú)自復(fù)位。位。 RS0XPSTRRST60串口的初始化串口的初始化(1) 設(shè)定串口

44、控制寄存器設(shè)定串口控制寄存器SPCR1,2中的中的 。如果剛剛復(fù)位完畢,不必進(jìn)行這一步操作。如果剛剛復(fù)位完畢,不必進(jìn)行這一步操作。(2) 編程配置特定的編程配置特定的McBSP的寄存器。的寄存器。(3) 等待等待2個時鐘周期,以保證適當(dāng)?shù)膬?nèi)部同步。個時鐘周期,以保證適當(dāng)?shù)膬?nèi)部同步。(4) 按照寫按照寫DXR的要求,給出數(shù)據(jù)。的要求,給出數(shù)據(jù)。(5) 設(shè)置設(shè)置 ,以使能串行接口。,以使能串行接口。(6) 如果要求內(nèi)部幀同步信號,設(shè)置如果要求內(nèi)部幀同步信號,設(shè)置 。(7) 等待等待2個時鐘周期后,激活接收器和發(fā)送器。個時鐘周期后,激活接收器和發(fā)送器。XRST=RRST=FRST=0XRST=RRS

45、T=1FRST=161數(shù)據(jù)發(fā)送和接收的操作數(shù)據(jù)發(fā)送和接收的操作 n接收操作是三緩沖的接收操作是三緩沖的 接收數(shù)據(jù)接收數(shù)據(jù)數(shù)據(jù)接收引腳數(shù)據(jù)接收引腳DR 接收移位寄存器接收移位寄存器RSR1,2 接收緩沖寄存器接收緩沖寄存器RBR1,2 數(shù)據(jù)接收寄存器數(shù)據(jù)接收寄存器DRR1,2。n發(fā)送操作是雙緩沖的發(fā)送操作是雙緩沖的CPU或或DMA將發(fā)送數(shù)據(jù)將發(fā)送數(shù)據(jù)數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器DXR1,2中中 發(fā)送移位寄存器發(fā)送移位寄存器XSR1,2; 從從DX移出發(fā)送數(shù)據(jù)移出發(fā)送數(shù)據(jù) 62 McBSP串口應(yīng)用舉例串口應(yīng)用舉例McBSP的初始化程序:的初始化程序:STM SPCR1, McBSP1_SPSA ;

46、將將SPCR1 對應(yīng)的子地址放到對應(yīng)的子地址放到 子地址寄存器子地址寄存器SPSA中中STM #0000h, McBSP1_SPSD ;將將#0000h加載到加載到SPCR1中,中, 使接收中斷由幀有效信號觸發(fā),使接收中斷由幀有效信號觸發(fā), ;靠右對齊高位添靠右對齊高位添0STM SPCR2, McBSP1_SPSA ;將將SPCR2對應(yīng)的子地址放到對應(yīng)的子地址放到 子地址寄存器子地址寄存器SPSA中中STM 0000h,McBSP1_SPSD ;幀同步發(fā)生器復(fù)位,發(fā)送器復(fù)位幀同步發(fā)生器復(fù)位,發(fā)送器復(fù)位STM RCR1, McBSP1_SPSA ;將將RCR1 對應(yīng)的子地址放到子地對應(yīng)的子地址

47、放到子地 址寄存器址寄存器SPSA中中STM #0040h, McBSP1_SPSD ;接收幀長度為接收幀長度為16位位STM RCR2, McBSP1_SPSA ;將將RCR2 對應(yīng)的子地址放到子對應(yīng)的子地址放到子 地址寄存器地址寄存器SPSA中中STM #0040h, McBSP1_SPSD ;接收為單相,每幀接收為單相,每幀16位位STM XCR1, McBSP1_SPSA ;將將XCR1 對應(yīng)的子地址放到子對應(yīng)的子地址放到子 地址寄存器地址寄存器SPSA中中STM #0040h, McBSP1_SPSD ;接收每幀接收每幀16位位STM XCR2, McBSP1_SPSA ;將將XCR

48、2對應(yīng)的子地址放到子對應(yīng)的子地址放到子 地址寄存器地址寄存器SPSA中中STM #0040h, McBSP1_SPSD ;發(fā)送為單相,每幀發(fā)送為單相,每幀16位位STM PCR, McBSP1_SPSA ;將將PCR對應(yīng)的子地址放到子地對應(yīng)的子地址放到子地 址寄存器址寄存器SPSA中中STM #000eh, McBSP1_SPSD ;工作于從模式工作于從模式64CPU終止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行一個請求中終止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行一個請求中斷的內(nèi)部或外部的中斷服務(wù)程序,待處理完畢后,又返斷的內(nèi)部或外部的中斷服務(wù)程序,待處理完畢后,又返回到被終止的源程序處繼續(xù)執(zhí)行。這一過程稱為中斷;回到被終止

49、的源程序處繼續(xù)執(zhí)行。這一過程稱為中斷;為實(shí)現(xiàn)中斷功能而設(shè)置的各種硬件和軟件。為實(shí)現(xiàn)中斷功能而設(shè)置的各種硬件和軟件。 C54x DSP既支持軟件中斷,也支持硬件中斷。當(dāng)同既支持軟件中斷,也支持硬件中斷。當(dāng)同時有多個硬件中斷出現(xiàn)時,時有多個硬件中斷出現(xiàn)時,C54x DSP按照中斷優(yōu)先級別按照中斷優(yōu)先級別的高低對它們進(jìn)行服務(wù)。的高低對它們進(jìn)行服務(wù)。 四、四、C54x的中斷系統(tǒng)的中斷系統(tǒng)65n受外部中斷口信號觸發(fā)的受外部中斷口信號觸發(fā)的 外部硬件中斷外部硬件中斷n受片內(nèi)外圍電路信號觸發(fā)受片內(nèi)外圍電路信號觸發(fā)的內(nèi)部硬件中斷的內(nèi)部硬件中斷 程序指令程序指令I(lǐng)NTRTRAPRESET 中斷來源中斷來源軟件驅(qū)

50、動軟件驅(qū)動硬件驅(qū)動硬件驅(qū)動66C54x DSP的中斷可以分成兩大類:的中斷可以分成兩大類:第一類是可屏蔽中斷。這些都是可以用軟件來屏蔽或開第一類是可屏蔽中斷。這些都是可以用軟件來屏蔽或開放的硬件和軟件中斷。放的硬件和軟件中斷。C5402只使用只使用14個可屏蔽中斷。個可屏蔽中斷。 ; RINT0、XINT0、RINT1和和XINT2(串行口中斷串行口中斷)。 TINT0、TINT1(定時器中斷定時器中斷)。 HPINT(主機(jī)接口中斷主機(jī)接口中斷)DMAC0DMAC5。(2) 第二類是非屏蔽中斷。這些中斷是不能夠屏蔽的,第二類是非屏蔽中斷。這些中斷是不能夠屏蔽的,C54x對這一類中斷總是響應(yīng),并

51、從主程序轉(zhuǎn)移到中斷服務(wù)程對這一類中斷總是響應(yīng),并從主程序轉(zhuǎn)移到中斷服務(wù)程序。序。C54x DSP的非屏蔽中斷包括所有的軟件中斷,以的非屏蔽中斷包括所有的軟件中斷,以及兩個外部硬件中斷:及兩個外部硬件中斷: (復(fù)位復(fù)位)和和 。 INT0INT3RSNMI67可屏蔽中斷可屏蔽中斷非屏蔽中斷非屏蔽中斷中斷中斷可以用軟件可以用軟件屏蔽中斷屏蔽中斷或開放中斷或開放中斷C54xC54x總是響應(yīng)所有總是響應(yīng)所有軟件中斷和兩個外軟件中斷和兩個外部硬件中斷部硬件中斷、 (非屏蔽中斷)(非屏蔽中斷)RSNMI68非屏蔽中斷:不能由用戶用軟件來屏蔽的中斷。非屏蔽中斷:不能由用戶用軟件來屏蔽的中斷。一旦有非屏蔽中斷

52、請求,一旦有非屏蔽中斷請求,CPU必須予以響應(yīng)。必須予以響應(yīng)。:用于某些十分重要的事件發(fā)生,如:掉電;:用于某些十分重要的事件發(fā)生,如:掉電;可屏蔽中斷:用戶根據(jù)需要可用軟件開放或禁止中斷??善帘沃袛啵河脩舾鶕?jù)需要可用軟件開放或禁止中斷。軟件指令控制,靈活方便。軟件指令控制,靈活方便。一般事件處理。一般事件處理。 69中斷處理一般過程:中斷處理一般過程: 中斷源請求中斷;中斷標(biāo)志寄存器中斷源請求中斷;中斷標(biāo)志寄存器(IFR) CPU響應(yīng)中斷;預(yù)定義條件的滿足響應(yīng)中斷;預(yù)定義條件的滿足 保護(hù)現(xiàn)場;保護(hù)現(xiàn)場; 轉(zhuǎn)中斷服務(wù);轉(zhuǎn)中斷服務(wù); 恢復(fù)現(xiàn)場;恢復(fù)現(xiàn)場; 中斷返回;中斷返回; 701. 中斷標(biāo)志

53、寄存器(中斷標(biāo)志寄存器(IFR) 當(dāng)一個中斷出現(xiàn)的時候,當(dāng)一個中斷出現(xiàn)的時候,IFR中相應(yīng)的中斷標(biāo)志位中相應(yīng)的中斷標(biāo)志位置置1,直到中斷得到處理為止。,直到中斷得到處理為止。 共共14個有效標(biāo)志位(可屏蔽中斷):個有效標(biāo)志位(可屏蔽中斷): 外部中斷外部中斷4個(個(INT0-INT3) 定時器中斷定時器中斷2個(個(TINT0-TINT1) 串口定時器串口定時器4個(兩發(fā)個(兩發(fā)/兩收)兩收) DMA中斷中斷3個(個(DMAC0. 4. 5) HPI中斷中斷1個個 ;71 2. 中斷屏蔽寄存器(中斷屏蔽寄存器(IMR) 是一個存儲器映像的是一個存儲器映像的CPU寄存器,主要用來屏蔽外部寄存器

54、,主要用來屏蔽外部和內(nèi)部中斷和內(nèi)部中斷 共共14個有效位(與個有效位(與IFR對應(yīng))對應(yīng)) (2) 當(dāng)當(dāng)IMRi=0 屏蔽該中斷;屏蔽該中斷; IMRi =1 不屏蔽該中斷不屏蔽該中斷 72 3. 中斷方式控制位(中斷方式控制位(INTM)說明:說明:a) INTM是是CPU狀態(tài)寄存器狀態(tài)寄存器ST1中的中的1位(第位(第11位)位) b) 功能:功能:開放所有可屏蔽中斷關(guān)閉所有可屏蔽中斷0 1 c) 操作:操作: ;/0/1INTMRSBXRETEINTMSSBX軟件清零:;指令執(zhí)行后自動清中斷服務(wù)程序中的清零軟件置位:,將不影響其它中斷中斷響應(yīng)后,會自動置置位 d) 該控制位不影響不可屏蔽

55、中斷該控制位不影響不可屏蔽中斷 RS , NMI。 e) 該控制位不能用存儲操作命令設(shè)置。該控制位不能用存儲操作命令設(shè)置。 73接收、應(yīng)答及處理中斷接收、應(yīng)答及處理中斷1. 接收中斷請求接收中斷請求 產(chǎn)生一個中斷請求時,產(chǎn)生一個中斷請求時,IFR中相應(yīng)的中斷標(biāo)志位被中相應(yīng)的中斷標(biāo)志位被置位。不管中斷是否被處理器應(yīng)答,該標(biāo)志位都會被置置位。不管中斷是否被處理器應(yīng)答,該標(biāo)志位都會被置位。當(dāng)相應(yīng)的中斷響應(yīng)后,該標(biāo)志位自動被清除。一個位。當(dāng)相應(yīng)的中斷響應(yīng)后,該標(biāo)志位自動被清除。一個中斷由硬件器件或軟件指令請求。中斷由硬件器件或軟件指令請求。 (1) 硬件中斷請求硬件中斷請求 硬件中斷有外部和內(nèi)部兩種。

56、硬件中斷有外部和內(nèi)部兩種。 30INTINTHPIDMA外部中斷:等、行口、片內(nèi)外設(shè):定時器、串74 (2) 軟件中斷請求軟件中斷請求 軟件中斷由程序中的指令軟件中斷由程序中的指令I(lǐng)NTR、TRAP和和 RESET產(chǎn)生。產(chǎn)生。注:注: PC=中斷向量地址指針中斷向量地址指針+中斷向量號中斷向量號 該指令允許執(zhí)行任何可屏蔽中斷該指令允許執(zhí)行任何可屏蔽中斷 該指令不影響該指令不影響IFR標(biāo)志位標(biāo)志位 不允許中斷嵌套不允許中斷嵌套禁止其它可屏蔽中斷12)715(0,INTMKIPTRPCSTPCSPa) ;75 b) ;除;除INTM不變外,其它同上。不變外,其它同上。 注:注: 可實(shí)現(xiàn)中斷嵌套可實(shí)

57、現(xiàn)中斷嵌套 可用軟件指令在可用軟件指令在TRAP中服中置位中服中置位INTM c) 注:注: 功能:使處理器返回一個預(yù)定狀態(tài)功能:使處理器返回一個預(yù)定狀態(tài) 復(fù)位指令:可在程序的任何時候產(chǎn)生;復(fù)位指令:可在程序的任何時候產(chǎn)生; 該指令影響該指令影響ST0, ST1,不影響,不影響PMST 76 2. 應(yīng)答中斷應(yīng)答中斷 硬件或軟件中斷發(fā)送了一個中斷請求后,硬件或軟件中斷發(fā)送了一個中斷請求后,CPU必須必須決定是否應(yīng)答中斷請求。決定是否應(yīng)答中斷請求。 軟件中斷和非屏蔽硬件中斷會立刻被應(yīng)答軟件中斷和非屏蔽硬件中斷會立刻被應(yīng)答; 屏蔽中斷僅僅在如下條件被滿足后才被應(yīng)答。屏蔽中斷僅僅在如下條件被滿足后才被應(yīng)答。 (1) 優(yōu)先級別最高優(yōu)先級別最高(當(dāng)同時出現(xiàn)一個以上中斷時當(dāng)同時出現(xiàn)一個以上中斷時)。 (2) 狀態(tài)寄存器狀態(tài)寄存器 ST1中的中的INTM位為位為0。 (3) 中斷屏蔽寄存器中斷屏蔽寄存器IMR中的相應(yīng)位為中的相應(yīng)位為1。 CPU響應(yīng)中斷時,讓響應(yīng)中斷時,讓PC轉(zhuǎn)到適當(dāng)?shù)牡刂啡〕鲋袛嘞蜣D(zhuǎn)到適當(dāng)?shù)牡刂啡〕鲋袛嘞蛄?,并發(fā)出中斷響應(yīng)信號,清除相應(yīng)的中斷標(biāo)志位。量,并發(fā)出中斷響應(yīng)信號,清除相應(yīng)的中斷標(biāo)志位。773. 執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序(ISR) (1) 將將PC值值

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論