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

下載本文檔

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

文檔簡介

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

2、0025H0031HPRD定時器周期寄存器,當TIM減為0后,CPU自動將PRD的值裝入TIM0026H0032HTCR定時器控制寄存器,包含定時器的控制和狀態(tài)位邏輯控制電路 用來控制定時器協調工作。 16位存儲器映像寄存器,包含定時器的控制位和狀態(tài)位。定時控制寄存器TCR 15 1211109 6543 0TDR0026h保留 Soft Free PSC TRB TSS TDDR 保留位軟件調試控制位 預定標計數器 重新加載位 停止狀態(tài)位 分 頻系 數 圖4-2 TCR位結構圖 TDDR:定時器分頻系數,用來對CLKOUT進行分頻,以改變定時周期。 最大預定標值為16,最小預定標值為1。 當

3、PSC減到0后,以TDDR中的數加載PSC。 定時控制寄存器TCR PSC:定時器預定標計數器,其標定范圍為116。當PSC減到0后,TDDR位域中的數加載到PSC, TIM減1。 TRB:定時器重新加載位,用來復位片內定時器。 當TRB置1時,以PRD中的數加載TIM,以及以TDDR中的值加載PSC。TRB總是讀成0。 定時控制寄存器TCR TSS:定時器停止狀態(tài)位,用于停止或啟動定時器 復位時,TSS位清0,定時器立即定時。 TSS=0,定時器啟動工作; TSS=1,定時器停止工作。 Free、Soft:軟件調試控制位。Free和Soft位結合使用,用來控制調試程序斷點操作情況下的定時器工

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

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

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

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

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

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

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

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

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

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

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

15、不同組合,軟件PLL共有31個乘系數,分別為: 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 復位時鐘方式 當芯片復位后,時鐘方式寄存器CLKMD的值是由3個外部引腳(CLKMD1、CLKMD2和CLKMD3)的狀態(tài)設定,從而確定了芯片的時鐘方式。 C5402復位時設置的時鐘方式: CLKMD1 CLKMD2 CLKMD3 CLKMD的復位

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

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

18、的關系返回本節(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方式 ;測試PLLSTATUS位 ;若A0,則轉移, ;表明還沒有切換到DIV方式 ;若A=0,已切換到DIV方式,則 ; 順序執(zhí)行 STM #03EFH,CLKMD ;切換到PLL1方式注意:2分頻與4分頻之間也不能直接切換。 5.3 定時器/計數器編

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

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

21、out=1000,所以定時時間:1ms1000=1sTIM0.set0024H;定時器0寄存器地址PRD0.set0025HTCR0.set0026H .data TIMES.int TVAL ;定時器時間常數 .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;定時器中斷向量 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;主機中斷 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) ;計數器設置為 1000(1s)SSBX INTM;關全部中斷 LD #TIMES,A READA TIM0;初

24、始化 TIM,PRD READA PRD0 STM #669h,TCR0;初始化TCR0 STM #8,IMR;初始化 IMR, 使能 timer0 中斷 RSBX INTM;開放全部中斷WAIT:B WAIT*;定時器0中斷服務子程序timer:ADDM #-1,*(t0_cout);計數器減1CMPM *(t0_cout),#0;判斷是否為0BC next,NTC;不是0,退出循環(huán)ST#1000,*(t0_cout) ;為0,設置計數器,并將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、原理框圖及信號接口5.4.2 McBSP控制寄存器5.4.3 時鐘和幀同步5.4.4 McBSP數據的接收和發(fā)送5.4.5 有關的幾個概念返回首頁5.4.1 McBSP原理框圖及信號接口TMS320C54xx多通道緩沖串口(McBSP)由引腳、接收發(fā)送部分、時鐘及幀同步信號產生、多通道選擇以及CPU中斷信號和DMA同步信號組成。McBSP通過這7個引腳為外部設備提供了數據通道和控制通道。McBSP通過DX和DR實現DSP與外部設備的通信和數據交換。兼容多種通信格式:SPI、IIS、AC97,T1/E1。多達128通道數據大?。?,12,16,20,24,32u律、A律壓擴 圖5-4 McBSP

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

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

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

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

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

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

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

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

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

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

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

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

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

40、x寫入HPIC寄存器的數據圖8-37 標準HPI-8的HPIC寄存器位結構圖主機從HPIC寄存器讀出數據主機寫入HPIC寄存器的數據C54xx從HPIC寄存器讀出的數據C54xx寫入HPIC寄存器的數據圖8-38 增強HPI-8的HPIC寄存器位結構圖表8-29 HPI-8接口信號名稱及其功能難點:HAS、HDS1、HDS2、HCS的功能返回本節(jié)5.6.3 HPI-8接口與主機的連接框圖圖8-39 C54x HPI與主機鏈接框圖返回本節(jié)5.6.4 HPI的8條數據線作通用的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 外部總線接口定時返回首頁5.7.1 外部總線接口引腳地址總線:A0-A15( A19 /A19/ A22 )數據總線:D0-D15外部存儲器選通:程序存儲空間選擇:數據存儲空間選擇:I/O設備選通:I/O設備選擇:讀寫信號:數據準備好:REDAY保持請求:保持響應:微狀態(tài)完成:指令地址采集信號:中斷響應:注:所謂保持狀態(tài),就是DSP接收到其它cpu的總線請求hold信號后,自己處于保持狀態(tài),交出存儲器的控制權。5.7.2 軟件等待狀態(tài)發(fā)生器表8-31 軟件等待狀態(tài)寄存器(SWWSR)各字段的功能表8-32 軟件等待狀態(tài)控

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

溫馨提示

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

評論

0/150

提交評論