DSP原理及應(yīng)用:第五章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例_第1頁(yè)
DSP原理及應(yīng)用:第五章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例_第2頁(yè)
DSP原理及應(yīng)用:第五章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例_第3頁(yè)
DSP原理及應(yīng)用:第五章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例_第4頁(yè)
DSP原理及應(yīng)用:第五章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩132頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 TMS320C54x片內(nèi)外設(shè)及應(yīng)用實(shí)例5.1 定時(shí)器5.2 時(shí)鐘發(fā)生器5.3 定時(shí)器/計(jì)數(shù)器編程舉例5.4 多通道緩沖串口(McBSP)5.5 多通道緩沖串口應(yīng)用實(shí)例5.6 主機(jī)接口(HPI)5.7 外部總線操作及擴(kuò)展圖5-1 定時(shí)器組成框圖主定時(shí)模塊預(yù)定標(biāo)模塊周期寄存器PRD定時(shí)寄存器TIM(減計(jì)數(shù))借位13預(yù)定標(biāo)計(jì)數(shù)器PSC(減計(jì)數(shù))借位預(yù)定標(biāo)分頻系數(shù)TDDR12111&SRESETTRBCLKOUT(系統(tǒng)時(shí)鐘)TSSTINTTOUT5.1 定時(shí)器1. 定時(shí)器的組成定時(shí)器的三個(gè)寄存器Timer0地址Timer1地址寄存器說(shuō)明0024H0030HTIM定時(shí)器寄存器,每計(jì)數(shù)一次自動(dòng)減1

2、0025H0031HPRD定時(shí)器周期寄存器,當(dāng)TIM減為0后,CPU自動(dòng)將PRD的值裝入TIM0026H0032HTCR定時(shí)器控制寄存器,包含定時(shí)器的控制和狀態(tài)位邏輯控制電路 用來(lái)控制定時(shí)器協(xié)調(diào)工作。 16位存儲(chǔ)器映像寄存器,包含定時(shí)器的控制位和狀態(tài)位。定時(shí)控制寄存器TCR 15 1211109 6543 0TDR0026h保留 Soft Free PSC TRB TSS TDDR 保留位軟件調(diào)試控制位 預(yù)定標(biāo)計(jì)數(shù)器 重新加載位 停止?fàn)顟B(tài)位 分 頻系 數(shù) 圖4-2 TCR位結(jié)構(gòu)圖 TDDR:定時(shí)器分頻系數(shù),用來(lái)對(duì)CLKOUT進(jìn)行分頻,以改變定時(shí)周期。 最大預(yù)定標(biāo)值為16,最小預(yù)定標(biāo)值為1。 當(dāng)

3、PSC減到0后,以TDDR中的數(shù)加載PSC。 定時(shí)控制寄存器TCR PSC:定時(shí)器預(yù)定標(biāo)計(jì)數(shù)器,其標(biāo)定范圍為116。當(dāng)PSC減到0后,TDDR位域中的數(shù)加載到PSC, TIM減1。 TRB:定時(shí)器重新加載位,用來(lái)復(fù)位片內(nèi)定時(shí)器。 當(dāng)TRB置1時(shí),以PRD中的數(shù)加載TIM,以及以TDDR中的值加載PSC。TRB總是讀成0。 定時(shí)控制寄存器TCR TSS:定時(shí)器停止?fàn)顟B(tài)位,用于停止或啟動(dòng)定時(shí)器 復(fù)位時(shí),TSS位清0,定時(shí)器立即定時(shí)。 TSS=0,定時(shí)器啟動(dòng)工作; TSS=1,定時(shí)器停止工作。 Free、Soft:軟件調(diào)試控制位。Free和Soft位結(jié)合使用,用來(lái)控制調(diào)試程序斷點(diǎn)操作情況下的定時(shí)器工

4、作狀態(tài)。定時(shí)控制寄存器TCR Soft Free 定時(shí)器狀態(tài) 0 0 定時(shí)器立即停止工作 1 0 當(dāng)計(jì)數(shù)器減至0時(shí)停止工作 X 1 定時(shí)器繼續(xù)工作 保留:讀成0。 定時(shí)器的基準(zhǔn)工作脈沖由CLKOUT提供,每來(lái)一個(gè)脈沖預(yù)定標(biāo)計(jì)數(shù)器PSC減1,當(dāng)PSC減至0時(shí),下一個(gè)脈沖到來(lái),PSC產(chǎn)生借位。 借位信號(hào)分別控制定時(shí)計(jì)數(shù)器TIM減1和或門2的輸出,重新將TDDR的內(nèi)容加載預(yù)定標(biāo)計(jì)數(shù)器PSC,從而完成定時(shí)工作的一個(gè)基本周期。2. 定時(shí)器的初始化 定時(shí)器的定時(shí)時(shí)間為: 定時(shí)周期 = CLKOUT(TDDR+1)(PRD+1) 定時(shí)器初始化步驟如下: TCR的TSS位置1,關(guān)閉定時(shí)器,停止定時(shí); 裝載PR

5、D值; 重新裝入TCR,初始化TDDR,設(shè)置TSS=0和TRB=1,重裝載定時(shí)器周期。啟動(dòng)定時(shí)器。 定時(shí)器的初始化 設(shè)置定時(shí)器中斷方法(INTM=1)如下: 將IFR中的TINT置1,以清除尚未處理完的定時(shí)器中斷; 將IMR中的TINT置1,啟動(dòng)定時(shí)器中斷。 將INTM置0,啟動(dòng)全部中斷。 復(fù)位時(shí),TIM和PRD被設(shè)置為最大值(0FFFFH),TCR中的TDDR置0,定時(shí)器可以通過(guò)啟動(dòng)定時(shí)控制寄存器(TCR)完成以下操作: 設(shè)定定時(shí)器的工作方式; 設(shè)定預(yù)定標(biāo)計(jì)數(shù)器中的當(dāng)前數(shù)值; 啟動(dòng)或停止定時(shí)器; 重新裝載定時(shí)器; 設(shè)置定時(shí)器的分頻值。 定時(shí)器的初始化 定時(shí)器的初始化 【例7.2.1】定時(shí)器自

6、動(dòng)裝載定時(shí)。 TSS=0:啟動(dòng)定時(shí)器;TRB=1:自動(dòng)裝載;TDDR=Ah:分頻系數(shù)10 soft=1,free=0:計(jì)數(shù)器減至0時(shí),停止工作;TCR=0AAAH。 定時(shí)周期:0101H;關(guān)閉定時(shí)器中斷:IFR=0008H; 開(kāi)放定時(shí)器中斷:IMR=0008H。 STM #0000H,SWWSR STM #0010H,TCR STM #0101H,PRD STM #0AAAH,TCR STM #0080H,IFR STM #0080H,IMR RSBX INTM ;不插等待時(shí)間 ;TSS=0關(guān)閉定時(shí)器 ;加載周期寄存器(PRD) ;裝入定時(shí)器控制字,啟動(dòng)定時(shí)器 ;消除尚未處理完的定時(shí)器中斷 ;

7、開(kāi)放定時(shí)器中斷 ;開(kāi)放中斷5.2 時(shí)鐘發(fā)生器5.2.1時(shí)鐘信號(hào)的產(chǎn)生5.2.2鎖相環(huán)PLL 返回首頁(yè) 時(shí)鐘電路用來(lái)為C54x芯片提供時(shí)鐘信號(hào),由一個(gè)內(nèi)部振蕩器和一個(gè)鎖相環(huán)PLL組成,可通過(guò)芯片內(nèi)部的晶體振蕩器或外部的時(shí)鐘電路驅(qū)動(dòng)。 5.2.1時(shí)鐘信號(hào)的產(chǎn)生 C54x時(shí)鐘信號(hào)的產(chǎn)生有兩種方法: 使用外部時(shí)鐘源; 使用芯片內(nèi)部的振蕩器。 5.2.1時(shí)鐘信號(hào)的產(chǎn)生 (1) 使用外部時(shí)鐘源 將外部時(shí)鐘信號(hào)直接加到DSP芯片的X2/CLKIN引腳,而X1引腳懸空。VDD 外部晶振 X2/CLKINX15.2.1時(shí)鐘信號(hào)的產(chǎn)生 (2)使用芯片內(nèi)部的振蕩器 在芯片的X1和X2/CLKIN引腳之間接入一個(gè)晶體

8、,用于啟動(dòng)內(nèi)部振蕩器。 C1C2 晶體 X1 X2/CLKINC1=C2=20pF5.2.2鎖相環(huán)PLL 鎖相環(huán)PLL具有頻率放大和時(shí)鐘信號(hào)提純的作用,利用PLL的鎖定特性可以對(duì)時(shí)鐘頻率進(jìn)行鎖定,為芯片提供高穩(wěn)定頻率的時(shí)鐘信號(hào)。 鎖相環(huán)還可以對(duì)外部時(shí)鐘頻率進(jìn)行倍頻,使外部時(shí)鐘源的頻率低于CPU的機(jī)器周期。 C54x的鎖相環(huán)有兩種形式: 硬件配置的PLL: 軟件可編程PLL: 用于C541、C542、C543、C545和C546; 用于C545A、C546A、C548、C549、C5402、C5410和C5420。 5.2.2 鎖相環(huán)PLL 硬件配置的PLL是通過(guò)設(shè)定C54x的3個(gè)時(shí)鐘模式引腳(

9、CLKMD1、CLKMD2和CLKMD3)的狀態(tài)來(lái)選擇時(shí)鐘方式。(1) 硬件配置的PLL 上電復(fù)位時(shí),C54x根據(jù)這三個(gè)引腳的電平,決定PLL的工作狀態(tài),并啟動(dòng)PLL工作。 (1) 硬件配置的PLL硬件PLL的配置方式引腳狀態(tài)時(shí)鐘方式CLKMD1CLKMD2CLKMD3方案一方案二001 工作頻率=外部時(shí)鐘源3 工作頻率=外部時(shí)鐘源5110 工作頻率=外部時(shí)鐘源2 工作頻率=外部時(shí)鐘源4100 工作頻率=內(nèi)部時(shí)鐘器3 工作頻率=內(nèi)部時(shí)鐘器5010 工作頻率=外部時(shí)鐘源1.5 工作頻率=外部時(shí)鐘源4.5001 工作頻率=外部時(shí)鐘源2 工作頻率=外部時(shí)鐘源2111 工作頻率=內(nèi)部時(shí)鐘器2 工作頻率

10、=內(nèi)部時(shí)鐘器2101 工作頻率=外部時(shí)鐘源1 工作頻率=外部時(shí)鐘源1011 停止工作 停止工作注意: 時(shí)鐘方式的選擇方案是針對(duì)不同的 C54x芯片而言。 停止工作方式等效于IDLE3省電方式。 (1) 硬件配置的PLL 進(jìn)行硬件配置時(shí),其工作頻率的是固定的。 若不使用PLL,則對(duì)內(nèi)部或外部時(shí)鐘分頻,CPU的時(shí)鐘頻率等于內(nèi)部振蕩器頻率或外部時(shí)鐘頻率的一半; 若使用PLL,則對(duì)內(nèi)部或外部時(shí)鐘倍頻,CPU的時(shí)鐘頻率等于內(nèi)部振蕩器或外部時(shí)鐘源頻率乘以系數(shù)N, 即: 時(shí)鐘頻率 = (PLLN) 5.2.1 鎖相環(huán)PLL 軟件配置的PLL具有高度的靈活性。它是利用編程對(duì)時(shí)鐘方式寄存器CLKMD的設(shè)定,來(lái)定

11、義PLL時(shí)鐘模塊中的時(shí)鐘配置。 軟件PLL的時(shí)鐘定標(biāo)器提供各種時(shí)鐘乘法器系數(shù),并能直接接通和關(guān)斷PLL。 軟件PLL的鎖定定時(shí)器可以用于延遲轉(zhuǎn)換PLL的時(shí)鐘方式,直到鎖定為止。 (2) 軟件配置的PLL(2) 軟件配置的PLL 時(shí)鐘方式寄存器CLKMD15 121110 3210CLKMD0058H PLLMULPLLDIVPLLCOUNTPLLON/OFFPLLNDIVPLLSTATUS 用來(lái)定義PLL時(shí)鐘模塊中的時(shí)鐘配置,為用戶提供各種時(shí)鐘乘系數(shù),并能直接通斷PLL。 PLL乘數(shù)PLL乘數(shù)PLLMUL:為PLL的倍頻乘數(shù),讀/寫(xiě)位。 與PLLDIV和PLLNDIV一起決定PLL的頻率。 P

12、LLMULPLL除數(shù)PLL除數(shù)PLLDIV:為PLL的分頻除數(shù),讀/寫(xiě)位。 與PLLMUL和PLL NDIV一起決定PLL的頻率。 PLLDIVPLL計(jì)數(shù)器PLL計(jì)數(shù)器PLLCOUNT:PLL的減法計(jì)數(shù)器,讀/寫(xiě)位。 用來(lái)對(duì)PLL開(kāi)始工作到鎖定時(shí)鐘信號(hào)之前的一段時(shí)間進(jìn)行計(jì)數(shù)定時(shí),以保證頻率轉(zhuǎn)換的可靠性。 PLLCOUNTPLL通/斷位PLL通/斷位PLLON/OFF:PLL的通/斷位,讀/寫(xiě)位。 與PLLNDIV一起決定PLL是否工作。 PLLON/OFFPLLNDIVPLL狀態(tài)PLLON/OFFPLLNDIVPLL狀態(tài)00斷開(kāi)10工作01工作11工作PLLON/OFF時(shí)鐘發(fā)生器選擇位時(shí)鐘發(fā)生

13、器選擇位PLLNDIV:時(shí)鐘發(fā)生器選擇位,讀/寫(xiě)位。 用來(lái)決定時(shí)鐘發(fā)生器的工作方式。與PLLMUL和PLLDIV位同時(shí)定義頻率的乘數(shù)。 當(dāng)PLLNDIV=0時(shí),采用分頻DIV方式; 當(dāng)PLLNDIV=1時(shí),采用倍頻PLL方式。PLLNDIVPLL工作狀態(tài)位PLL工作狀態(tài)位PLL STATUS:PLL的工作狀態(tài)位,只讀位。 用來(lái)指示時(shí)鐘發(fā)生器的工作方式。 當(dāng)PLL STATUS=0時(shí),時(shí)鐘發(fā)生器工作于分頻DIV方式; 當(dāng)PLL STATUS=1時(shí),時(shí)鐘發(fā)生器工作于倍頻PLL方式。PLLSTATUS(2) 軟件配置的PLL 軟件PLL的工作方式 通過(guò)軟件編程,可以使軟件PLL實(shí)現(xiàn)兩種工作方式: P

14、LL方式,即倍頻方式。 芯片的工作頻率等于輸入時(shí)鐘CLKIN乘以PLL的乘系數(shù),共有31個(gè)乘系數(shù),取值范圍為0.2515。 DIV方式,即分頻方式。 對(duì)輸入時(shí)鐘CLKIN進(jìn)行2分頻或4分頻。(2) 軟件配置的PLL 軟件PLL的乘系數(shù) 軟件PLL的乘系數(shù)可通過(guò)PLLNDIV、PLLDIV和PLLMUL的不同組合確定。 PLLNDIV PLLDIV PLLMUL PLL乘系數(shù) 001111XX001101415014150或偶數(shù)奇數(shù) 0.50.25PLLMUL+11(PLLMUL+1)2PLLMUL4 (2) 軟件配置的PLL 軟件PLL的乘系數(shù) 根據(jù)PLLNDIV、PLLDIV和PLLMUL的

15、不同組合,軟件PLL共有31個(gè)乘系數(shù),分別為: 0.25、 0.5、 0.75、 1、 1.25、 1.5、 1.75、 2、 2.25、 2.5、 2.75、 3、 3.25、 3.5、 3.75、 4、 4.5、 5、 5.5、 6、 6.5、 7、 7.5、 8、 9、 10、 11、 12、 13、 14、 15。 (2) 軟件配置的PLL 復(fù)位時(shí)鐘方式 當(dāng)芯片復(fù)位后,時(shí)鐘方式寄存器CLKMD的值是由3個(gè)外部引腳(CLKMD1、CLKMD2和CLKMD3)的狀態(tài)設(shè)定,從而確定了芯片的時(shí)鐘方式。 C5402復(fù)位時(shí)設(shè)置的時(shí)鐘方式: CLKMD1 CLKMD2 CLKMD3 CLKMD的復(fù)位

16、值 時(shí)鐘方式 000E007H PLL15 0019007H PLL10 0104007H PLL5 1001007H PLL2 110F007H PLL1 1110000H 2分頻(PLL無(wú)效) 101F000H 4分頻(PLL無(wú)效) 011 保留 (2) 軟件配置的PLL 復(fù)位時(shí)鐘方式 通常,DSP系統(tǒng)的程序需要從外部低速EPROM中調(diào)入,可以采用較低工作頻率的復(fù)位時(shí)鐘方式,待程序全部調(diào)入內(nèi)部快速RAM后,再用軟件重新設(shè)置CLKMD寄存器的值,使C54x工作在較高的頻率上。 例如,外部時(shí)鐘頻率為10MHz,CLKMD1CLKMD3=111,時(shí)鐘方式為2分頻。 復(fù)位后,工作頻率為10MHz2

17、=5MHz。 用軟件重新設(shè)置CLKMD寄存器,就可以改變DSP的工作頻率,如設(shè)定CLKMD=9007H,則工作頻率為1010MHz=100MHz。 (2) 軟件配置的PLL 倍頻切換 若要改變PLL的倍頻,必須先將PLL的工作方式從倍頻方式(PLL方式)切換到分頻方式(DIV方式),然后再切換到新的倍頻方式。 實(shí)現(xiàn)倍頻切換的步驟: 步驟1:復(fù)位PLLNDIV,選擇DIV方式; 步驟2:檢測(cè)PLL的狀態(tài),讀PLLSTATUS位; 步驟3:根據(jù)所要切換的倍頻,確定乘系數(shù); 步驟4:由牽引時(shí)間,計(jì)算PLLCOUNT的當(dāng)前值; 步驟5:設(shè)定CLKMD寄存器。 圖8-3 PLL鎖定時(shí)間和CLKOUT頻率

18、的關(guān)系返回本節(jié)(2) 軟件配置的PLL 倍頻切換 【例8.2.1】 從某一倍頻方式切換到PLL1方式。 必須先從倍頻方式切換到分頻方式,然后再切換到PLL1方式。 其程序如下: STM #00H,CLKMD Status:LDM CLKMD,A AND #01H,A BC Status,ANEQ STM #03EFH,CLKMD ;切換到DIV方式 ;測(cè)試PLLSTATUS位 ;若A0,則轉(zhuǎn)移, ;表明還沒(méi)有切換到DIV方式 ;若A=0,已切換到DIV方式,則 ; 順序執(zhí)行 STM #03EFH,CLKMD ;切換到PLL1方式注意:2分頻與4分頻之間也不能直接切換。 5.3 定時(shí)器/計(jì)數(shù)器編

19、程舉例【例5-1】設(shè)時(shí)鐘頻率為16.384MHz,在TMS320C5402的XF端輸出一個(gè)周期為2s的方波,方波的周期由片上定時(shí)器確定,采用中斷方法實(shí)現(xiàn)。1定時(shí)器0的初始化(1)設(shè)置定時(shí)控制寄存器TCR(地址0026H)。(2)設(shè)置定時(shí)寄存器TIM(地址0024H)。(3)設(shè)置定時(shí)周期寄存器PRD(地址0025H)。返回首頁(yè)2定時(shí)器對(duì)C5402的主時(shí)鐘CLKOUT進(jìn)行分頻CLKOUT與外部晶體振蕩器頻率(在本系統(tǒng)中外部晶體振蕩器的頻率為16.384MHz)之間的關(guān)系由C5402的三個(gè)引腳CLKMD1、CLKMD2和CLKMD3的電平值決定,為使主時(shí)鐘頻率為16.384MHz,應(yīng)使CLKMD1=

20、1、CLKMD2=1、CLKMD3=0,即PLL1。3中斷初始化(1)中斷屏蔽寄存器IMR中的定時(shí)屏蔽位TINT0置1,開(kāi)放定時(shí)器0中斷。(2)狀態(tài)控制寄存器ST1中的中斷標(biāo)志位INTM位清零,開(kāi)放全部中斷。4匯編源程序如下: .mmregs .def _c_int00STACK .usect STACK,100ht0_cout .usect vars,1 ;計(jì)數(shù)器 t0_flag .usect “vars”,1 ;當(dāng)前XF輸出電平標(biāo)志。 ;t0_flag=1,則XF=1; ;t0_flag=0,則XF=0TVAL.set 1639 ;16401061=1ms 因中斷程序中計(jì)數(shù)器初值;t0_c

21、out=1000,所以定時(shí)時(shí)間:1ms1000=1sTIM0.set0024H;定時(shí)器0寄存器地址PRD0.set0025HTCR0.set0026H .data TIMES.int TVAL ;定時(shí)器時(shí)間常數(shù) .text*; 中斷矢量表程序段_c_int00 b start nop nopNMI rete;非屏蔽中斷 nop nop nopSINT17 .space 4*16;各軟件中斷SINT18 .space 4*16SINT19 .space 4*16SINT20 .space 4*16SINT21 .space 4*16SINT22.space 4*16SINT23.space 4*

22、16SINT24.space 4*16SINT25.space 4*16SINT26.space 4*16SINT27.space 4*16SINT28.space 4*16SINT29.space 4*16SINT30.space 4*16INT0 rete ;外中斷0中斷nopnopnopINT1 rete ;外中斷1中斷nopnopnopINT2 rete ;外中斷2中斷 nop nop nopTINT: bdtimer;定時(shí)器中斷向量 nop nop nop RINT0:rete;串口0接收中斷 nop nop nopXINT0:rete;串口0發(fā)送中斷 nop nop nop SIN

23、T6.space 4*16;軟件中斷SINT7.space 4*16;軟件中斷INT3:rete;外中斷3中斷 nop nop nop HPINT: rete;主機(jī)中斷 nop nop nop RINT1: rete;串口1接收中斷 nop nop nopXINT1: rete;串口1發(fā)送中斷 nop nop nop*start:LD #0,DP STM#STACK+100h,SPSTM #07FFFh,SWWSRSTM #1020h,PMSTST #1000,*(t0_cout) ;計(jì)數(shù)器設(shè)置為 1000(1s)SSBX INTM;關(guān)全部中斷 LD #TIMES,A READA TIM0;初

24、始化 TIM,PRD READA PRD0 STM #669h,TCR0;初始化TCR0 STM #8,IMR;初始化 IMR, 使能 timer0 中斷 RSBX INTM;開(kāi)放全部中斷WAIT:B WAIT*;定時(shí)器0中斷服務(wù)子程序timer:ADDM #-1,*(t0_cout);計(jì)數(shù)器減1CMPM *(t0_cout),#0;判斷是否為0BC next,NTC;不是0,退出循環(huán)ST#1000,*(t0_cout) ;為0,設(shè)置計(jì)數(shù)器,并將XF取反BITF t0_flag,#1 ;TC為二者之與BC xf_out,NTCSSBX XFST #0,t0_flagB nextxf_out:R

25、SBX XFST #1,t0_flagnext:RSBX INTMRETE.end5鏈接命令文件times.cmd如下:MEMORY PAGE 0:RAM1: origin =1000h ,length =500h PAGE 1:SPRAM1: origin=0060h,length=20h SPRAM2: origin=0100h,length=200h SECTIONS .text :RAM1 PAGE 0 .data :RAM1 PAGE 0 vars :SPRAM1 PAGE 1 STACK:SPRAM2 PAGE 1 返回本節(jié)5.4 多通道緩沖串口(McBSP)5.4.1 McBSP

26、原理框圖及信號(hào)接口5.4.2 McBSP控制寄存器5.4.3 時(shí)鐘和幀同步5.4.4 McBSP數(shù)據(jù)的接收和發(fā)送5.4.5 有關(guān)的幾個(gè)概念返回首頁(yè)5.4.1 McBSP原理框圖及信號(hào)接口TMS320C54xx多通道緩沖串口(McBSP)由引腳、接收發(fā)送部分、時(shí)鐘及幀同步信號(hào)產(chǎn)生、多通道選擇以及CPU中斷信號(hào)和DMA同步信號(hào)組成。McBSP通過(guò)這7個(gè)引腳為外部設(shè)備提供了數(shù)據(jù)通道和控制通道。McBSP通過(guò)DX和DR實(shí)現(xiàn)DSP與外部設(shè)備的通信和數(shù)據(jù)交換。兼容多種通信格式:SPI、IIS、AC97,T1/E1。多達(dá)128通道數(shù)據(jù)大?。?,12,16,20,24,32u律、A律壓擴(kuò) 圖5-4 McBSP

27、原理框圖擴(kuò)展芯片表8-7 McBSP引腳說(shuō)明引腳I/O/Z說(shuō)明DRI串行數(shù)據(jù)接收DXO/Z串行數(shù)據(jù)發(fā)送CLKRI/O/Z接收數(shù)據(jù)位時(shí)鐘CLKXI/O/Z發(fā)送數(shù)據(jù)位時(shí)鐘FSRI/O/Z接收幀同步FSXI/O/Z發(fā)送幀同步CLKSI外部時(shí)鐘輸入表8-8 McBSP內(nèi)部信號(hào)說(shuō)明信號(hào)說(shuō)明RINT接收中斷,送往CPUXINT發(fā)送中斷,送往CPUREVTDMA接收到同步事件XEVT向DMA發(fā)出事件同步REVTADMA接收到同步事件AXEVTA向DMA發(fā)出事件同步A返回本節(jié)5.4.2 McBSP控制寄存器1控制寄存器及其映射地址表8-9列出了McBSP控制寄存器及其映射地址。子塊數(shù)據(jù)寄存器SPSDx用于指定

28、對(duì)應(yīng)子地址寄存器中數(shù)據(jù)的讀寫(xiě),其內(nèi)部連接方式如圖8-5所示。這種方法的好處是可以將多個(gè)寄存器映射到一個(gè)較小的存儲(chǔ)空間。表8-9 McBSP控制寄存器、數(shù)據(jù)寄存器及其映射地址圖8-5 子地址映射示意圖控制寄存器的讀寫(xiě):間接子地址寄存器:SPSA,指定待讀寫(xiě)的控制寄存器地址子塊數(shù)據(jù)寄存器: SPSD,讀寫(xiě)控制寄存器接收、發(fā)送數(shù)據(jù)寄存器的讀寫(xiě):直接2串行口的配置串口控制寄存器(SPCR1、SPCR2)和引腳控制寄存器(PCR)用于對(duì)串口進(jìn)行配置,接收控制寄存器(RCR1、RCR2)和發(fā)送控制寄存器(XCR1、XCR2)分別對(duì)接收和發(fā)送操作進(jìn)行控制。(1)串口控制寄存器(SPCR1、SPCR2)串口控

29、制寄存器1(SPCR1)結(jié)構(gòu)如圖8-6所示,表8-10為SPCR1控制位功能說(shuō)明。串口控制寄存器2(SPCR2)結(jié)構(gòu)如圖8-7所示,表8-11為SPCR2控制位功能說(shuō)明。(2)引腳控制寄存器(PCR)。引腳控制寄存器(PCR)結(jié)構(gòu)如圖8-8所示,表8-12為PCR控制位功能說(shuō)明。圖8-6 串口控制寄存器1(SPCR1)表8-10 SPCR1控制位功能說(shuō)明圖8-7 串口控制寄存器2(SPCR2)表8-11 SPCR2控制位功能說(shuō)明圖8-8 引腳控制寄存器(PCR)表8-12 PCR控制位功能說(shuō)明(3)接收控制寄存器(RCR1,2)。結(jié)構(gòu)如圖8-9所示,表8-13所示為RCR1控制位功能說(shuō)明,表8

30、-14所示為RCR2控制位功能說(shuō)明。(4)發(fā)送控制寄存器(XCR1,2)。發(fā)送控制寄存器(XCR1,2)結(jié)構(gòu)如圖8-10所示,表8-15所示為XCR1控制位功能說(shuō)明,表8-16所示為XCR2控制位功能說(shuō)明。(a)RCR1(b)RCR2圖8-9 接收控制寄存器(RCR1,2)表8-13 RCR1控制位功能說(shuō)明表8-14 RCR2控制位功能說(shuō)明(a)XCR1(b)XCR2圖8-10 發(fā)送控制寄存器(XCR1,2)表8-15 XCR1控制位功能說(shuō)明表8-16 XCR2控制位功能說(shuō)明 返回本節(jié)5.4.3 時(shí)鐘和幀同步采樣率發(fā)生器由三級(jí)時(shí)鐘分頻組成,如圖8-11所示,可以產(chǎn)生可編程的CLKG(數(shù)據(jù)位時(shí)鐘

31、)信號(hào)和FSG(幀同步時(shí)鐘)信號(hào)。CLKG和FSG是McBSP的內(nèi)部信號(hào),用于驅(qū)動(dòng)接收/發(fā)送時(shí)鐘信號(hào)(CLKR/X)和幀同步信號(hào)(FSR/X)。采樣率發(fā)生器時(shí)鐘既可以由內(nèi)部的CPU時(shí)鐘驅(qū)動(dòng)(CLKSM=1),也可以由外部時(shí)鐘源驅(qū)動(dòng)(CLKSM=0)。采樣率發(fā)生器寄存器SRGR1,2控制著采樣率發(fā)生器的各種操作,其結(jié)構(gòu)如圖8-12所示。表8-17所示為SRGR1控制位功能說(shuō)明,表8-18所示為SRGR2控制位功能說(shuō)明。圖8-11 采樣率發(fā)生器框圖(a)采樣率發(fā)生器寄存器1 (SRGR1) (b) 采樣率發(fā)生器寄存器2 (SRGR2)圖8-12 采樣率發(fā)生器寄存器SRGR1,2結(jié)構(gòu)圖表8-17 S

32、RGR1控制位功能說(shuō)明表8-18 SRGR2控制位功能說(shuō)明圖8-13 可編程幀周期和幀脈沖寬度返回本節(jié)5.4.4 McBSP數(shù)據(jù)的接收和發(fā)送數(shù)據(jù)的接收是通過(guò)三級(jí)緩沖完成的,例如,通過(guò)設(shè)置SPCR1寄存器的RINTM=00b,則可由RRDY信號(hào)驅(qū)動(dòng)產(chǎn)生接收中斷信號(hào)RINT,TMS320C54xx CPU響應(yīng)中斷,讀取DRR中的數(shù)據(jù)。接收時(shí)序如圖8-14所示。數(shù)據(jù)的發(fā)送通過(guò)兩級(jí)緩沖完成,通過(guò)設(shè)置SPCR2寄存器的XINTM=00b,可由XRDY驅(qū)動(dòng)產(chǎn)生發(fā)送中斷信號(hào)XINT,TMS320C54xx CPU響應(yīng)中斷,將下一個(gè)發(fā)送數(shù)據(jù)寫(xiě)入DXR中,隨后XRDY降為0。發(fā)送時(shí)序如圖8-15所示。圖8-14

33、 數(shù)據(jù)的接收?qǐng)D8-15 數(shù)據(jù)的發(fā)送返回本節(jié)5.4.5 有關(guān)的幾個(gè)概念1相的概念在McBSP中,幀同步信號(hào)表示一次數(shù)據(jù)傳輸?shù)拈_(kāi)始。幀同步信號(hào)之后的數(shù)據(jù)流可以有兩個(gè)相相1和相2。相的個(gè)數(shù)(1或2)可以通過(guò)設(shè)置RCR2和XCR2中的(R/X)PHASE位來(lái)實(shí)現(xiàn)。每幀的字?jǐn)?shù)和每字的位數(shù)分別由(R/X)FRLEN1,2和(R/X)WDLEN1,2決定(如圖8-6、8-18所示 )。 圖8-16 例8-2的圖圖8-17 例8-3的圖2數(shù)據(jù)延遲每一幀都是從幀同步信號(hào)有效時(shí)到來(lái)的第一個(gè)時(shí)鐘周期開(kāi)始的。實(shí)際的數(shù)據(jù)接收或傳輸開(kāi)始時(shí)刻相對(duì)于幀的開(kāi)始時(shí)刻可以有延時(shí),這一延時(shí)稱為數(shù)據(jù)延遲,用RDATDLY和XDATDL

34、Y分別指定接收和發(fā)送的數(shù)據(jù)延遲??删幊虜?shù)據(jù)延遲的范圍為0、1、2個(gè)時(shí)鐘周期(R/XDATDLY = 00b 10b),如圖8-18所示。圖8-18 數(shù)據(jù)延遲3SPI協(xié)議:McBSP時(shí)鐘停止模式SPI協(xié)議是一種主從配置的、支持一個(gè)主方、一個(gè)或多個(gè)從方的串行通信協(xié)議,一般使用4條信號(hào)線:串行移位時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出線(MISO)、主機(jī)輸出/從機(jī)輸入線(MOSI)、低電平有效的使能信號(hào)線( )。如圖8-198-22所示、表8-19、20所示。圖8-19 McBSP作為SPI模式的主設(shè)備 圖8-20 McBSP作為SPI模式的從設(shè)備圖8-21 CLKSTP=10b、CLKXP=0時(shí)鐘停

35、止模式1的時(shí)序圖圖8-22 CLKSTP=11b、CLKXP=1時(shí)鐘停止模式4的時(shí)序圖表8-19 McBSP寄存器位域設(shè)置(SPI模式的主設(shè)備)表8-20 McBSP寄存器位域設(shè)置(SPI模式的從設(shè)備)返回本節(jié)5.5 多通道緩沖串口應(yīng)用實(shí)例5.5.1 TLV1572高速串行ADC與TMS320C5402接口設(shè)計(jì)5.5.2 TLC5617串行DAC與TMS320C5402接口設(shè)計(jì)5.5.3 語(yǔ)音接口芯片TLC320AD50C與TMS320C5402接口設(shè)計(jì)返回首頁(yè)5.5.1 TLV1572高速串行ADC與TMS320C5402接口設(shè)計(jì)1TLV1572芯片簡(jiǎn)介TLV1572是高速同步串行的10位A

36、/D轉(zhuǎn)換芯片,單電源2.7 V至5.5 V供電,8引腳SOIC封裝。功耗較低(3V供電功耗3W,5V供電功耗25W),當(dāng)AD轉(zhuǎn)換不進(jìn)行期間自動(dòng)進(jìn)入省電模式。5V供電、時(shí)鐘速率20MHz時(shí)最高轉(zhuǎn)換速率為1.25 MSPS,3V供電、時(shí)鐘速率10MHz時(shí)最高轉(zhuǎn)換速率為625 KSPS。TLV1572 D封裝引腳排列如圖8-23所示,TLV1572的引腳說(shuō)明如表8-21所示。圖8-23 TLV1572的引腳排列表8-21 TLV1572引腳功能表2TLV1572與TMS320系列DSP的連接圖8-24 TLV1572與TMS320系列DSP連接框圖圖8-25 TLV1572 DSP工作方式時(shí)序圖 3

37、TLV1572與TMS320C5402的McBSP1接口軟件編程【例8-4】在本例應(yīng)用中,TMS320C5402的McBSP1以CPU中斷的方式讀取TLV1572模數(shù)轉(zhuǎn)換結(jié)果,并存放在DSP片內(nèi)的DARAM區(qū)的3000H開(kāi)始的單元中,共采樣256個(gè)點(diǎn),A/D轉(zhuǎn)換的速率為64kHz,由串口McBSP1的幀頻決定,TMS320C5402的主時(shí)鐘頻率為81.925MHz。其實(shí)現(xiàn)程序(略)返回本節(jié)5.6 主機(jī)接口(HPI)5.6.1 HPI-8接口的結(jié)構(gòu)5.6.2 HPI-8控制寄存器和接口信號(hào)5.6.3 HPI-8接口與主機(jī)的連接框圖5.6.4 HPI的8條數(shù)據(jù)線作通用的I/O引腳返回首頁(yè)5.6.1

38、 HPI-8接口的結(jié)構(gòu)HPI-8是一個(gè)8位的并行口(還有HPI-16)外部主機(jī)是HPI的主控者,HPI-8作為主機(jī)的從設(shè)備HPI包括:一個(gè)8比特的雙向數(shù)據(jù)總線及各種控制信號(hào)、控制邏輯、HPI存儲(chǔ)器以及3個(gè)寄存器 HPIC、 HPIA、 HPID僅DSP能修改HPI控制寄存器(HPIC)設(shè)置工作方式: SMOD=1,共用尋址(主機(jī)優(yōu)先),主機(jī)通信速度64Mb/s、 SMOD=0,僅主機(jī)尋址(DSP處于復(fù)位或IDEL2),主機(jī)通信速度160Mb/s。 主機(jī)通過(guò)設(shè)置HPI地址寄存器(HPIA)來(lái)指定要訪問(wèn)的片內(nèi)RAM單元,通過(guò)讀/寫(xiě)數(shù)據(jù)鎖存器(HPID)來(lái)對(duì)指定存儲(chǔ)器單元讀/寫(xiě)。主機(jī)通過(guò)HCNTL0

39、、HCNTLl管腳電平選擇3個(gè)寄存器中的一個(gè)( HPIC、 HPIA、 HPID )。圖8-36 HPI-8框圖返回本節(jié)HPI RAM:2KW,1000H-17FFH5.6.2 HPI-8控制寄存器和接口信號(hào)HPI控制寄存器(HPIC)狀態(tài)位控制著HPI操作:(1)BOB:字節(jié)次序位。 (2)SMOD:尋址方式位。 (3)DSPINT:主機(jī)向C54x發(fā)出中斷位。 (4)HINT:C54x向主機(jī)發(fā)出中斷位。 (5)XHPIA:增強(qiáng)HPI-8擴(kuò)展尋址使能位。(6)HPIENA:增強(qiáng)HPI-8使能狀態(tài)位。主機(jī)從HPIC寄存器讀出數(shù)據(jù)主機(jī)寫(xiě)入HPIC寄存器的數(shù)據(jù)C54x從HPIC寄存器讀出的數(shù)據(jù)C54

40、x寫(xiě)入HPIC寄存器的數(shù)據(jù)圖8-37 標(biāo)準(zhǔn)HPI-8的HPIC寄存器位結(jié)構(gòu)圖主機(jī)從HPIC寄存器讀出數(shù)據(jù)主機(jī)寫(xiě)入HPIC寄存器的數(shù)據(jù)C54xx從HPIC寄存器讀出的數(shù)據(jù)C54xx寫(xiě)入HPIC寄存器的數(shù)據(jù)圖8-38 增強(qiáng)HPI-8的HPIC寄存器位結(jié)構(gòu)圖表8-29 HPI-8接口信號(hào)名稱及其功能難點(diǎn):HAS、HDS1、HDS2、HCS的功能返回本節(jié)5.6.3 HPI-8接口與主機(jī)的連接框圖圖8-39 C54x HPI與主機(jī)鏈接框圖返回本節(jié)5.6.4 HPI的8條數(shù)據(jù)線作通用的I/O引腳表8-30 通用I/O控制寄存器(GPIOCR)各位的功能返回本節(jié)5.7 外部總線操作5.7.1 外部總線接口引

41、腳5.7.2 軟件等待狀態(tài)發(fā)生器5.7.3 可編程分區(qū)切換邏輯5.7.4 外部總線接口定時(shí)返回首頁(yè)5.7.1 外部總線接口引腳地址總線:A0-A15( A19 /A19/ A22 )數(shù)據(jù)總線:D0-D15外部存儲(chǔ)器選通:程序存儲(chǔ)空間選擇:數(shù)據(jù)存儲(chǔ)空間選擇:I/O設(shè)備選通:I/O設(shè)備選擇:讀寫(xiě)信號(hào):數(shù)據(jù)準(zhǔn)備好:REDAY保持請(qǐng)求:保持響應(yīng):微狀態(tài)完成:指令地址采集信號(hào):中斷響應(yīng):注:所謂保持狀態(tài),就是DSP接收到其它c(diǎn)pu的總線請(qǐng)求hold信號(hào)后,自己處于保持狀態(tài),交出存儲(chǔ)器的控制權(quán)。5.7.2 軟件等待狀態(tài)發(fā)生器表8-31 軟件等待狀態(tài)寄存器(SWWSR)各字段的功能表8-32 軟件等待狀態(tài)控

42、制寄存器(SWCR)的功能軟件等待周期數(shù)Tw的計(jì)算公式:芯片讀寫(xiě)時(shí)間:DSP時(shí)鐘周期:比如T=25nsEPROM ta=70ns;RAM ta=12nsI/O口:ta=120ns求Tw(3,0,5)5.7.3 可編程分區(qū)切換邏輯表8-33 分區(qū)轉(zhuǎn)換控制寄存器(BSCR)各字段的功能圖8-40 存儲(chǔ)器兩次讀操作之間分區(qū)切換圖8-41 程序存儲(chǔ)器讀切換到數(shù)據(jù)存儲(chǔ)器讀返回本節(jié)5.7.4 外部總線接口定時(shí)1存儲(chǔ)器尋址定時(shí)圖如圖8-42所示為存儲(chǔ)器讀讀寫(xiě)操作時(shí)序圖。如圖8-43所示為存儲(chǔ)器寫(xiě)寫(xiě)讀操作時(shí)序圖。寫(xiě)操作的地址線和數(shù)據(jù)線繼續(xù)保持有效約半個(gè)周期,緊跟著寫(xiě)操作之后的讀操作也要兩個(gè)機(jī)器周期。如圖8-44所示為程序空間讀插入一個(gè)等待周期的存儲(chǔ)器讀讀寫(xiě)操作時(shí)序圖。圖8-42 存儲(chǔ)器讀讀寫(xiě)操作時(shí)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論