第8章++TMS320C54x片內外設及應用實例.ppt_第1頁
第8章++TMS320C54x片內外設及應用實例.ppt_第2頁
第8章++TMS320C54x片內外設及應用實例.ppt_第3頁
第8章++TMS320C54x片內外設及應用實例.ppt_第4頁
第8章++TMS320C54x片內外設及應用實例.ppt_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 TMS320C54x片內外設及應用實例,8.1 定時器 8.2 時鐘發(fā)生器 8.3 定時器/計數器編程舉例 8.4 多通道緩沖串口(McBSP) 8.5 多通道緩沖串口應用實例 8.6 主機接口(HPI) 8.7 外部總線操作,8.1 定時器,定時器的組成框圖如圖8-1所示。它有3個存儲器映象寄存器:TIM、PRD和TCR。這3個寄存器在數據存儲器中的地址及其說明如表8-1所示。定時器控制寄存器(TCR)位結構如圖8-2所示,各控制位和狀態(tài)位的功能如表8-2所示。,返回首頁,圖8-1 定時器組成框圖,表8-1 定時器的三個寄存器,圖8-2 TCR位結構圖,表8-2 定時器控制寄存器(T

2、CR)的功能,返回本節(jié),8.2 時鐘發(fā)生器,8.2.1 硬件配置PLL 8.2.2 軟件可編程PLL,返回首頁,8.2.1 硬件配置PLL,用于C541、C542、C543、C545和C546芯片。 所謂硬件配置PLL,就是通過C54x的3個引腳CLKMD1、CLKMD2和CLKMD3的狀態(tài),選定時鐘方式,如表8-3所示。由表8-3可見,不用PLL時,CPU的時鐘頻率等于晶體振蕩器頻率或外部時鐘頻率的一半;若用PLL,CPU的時鐘頻率等于晶體振蕩器頻率或外部時鐘頻率乘以系數N(PLLN),使用PLL可以使用比CPU時鐘低的外部時鐘信號,以減少高速開關時鐘所造成的高頻噪聲。,表8-3 時鐘方式的

3、配置,返回本節(jié),8.2.2 軟件可編程PLL,軟件可編程PLL具有高度的靈活性,其時鐘定標器提供各種時鐘乘法器系數,并能直接接通和關斷PLL。PLL的鎖定定時器可以用于延遲轉換PLL的時鐘方式,直到鎖定為止。通過軟件編程,可以選用以下兩種時鐘方式(如表8-4 8-6、圖8-3所示)。 PLL方式,其比例系數共31種??挎i相環(huán)電路完成。 分頻(DIV)方式,其比例系數為1/2和1/4,在此方式下,片內PLL電路不工作以降低功耗。,表8-4 復位時的時鐘方式(C5402),表8-5 時鐘方式寄存器CLKMD各位域功能,表8-6 比例系數與CLKMD的關系,圖8-3 PLL鎖定時間和CLKOUT頻率

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

5、定,為使主時鐘頻率為16.384MHz,應使CLKMD1=1、CLKMD2=1、CLKMD3=0,即PLL1。,3中斷初始化 (1)中斷屏蔽寄存器IMR中的定時屏蔽位TINT0置1,開放定時器0中斷。 (2)狀態(tài)控制寄存器ST1中的中斷標志位INTM位清零,開放全部中斷。,4匯編源程序如下: .mmregs .def _c_int00 STACK .usect STACK,100h t0_cout.usect vars,1 ;計數器 t0_flag .usect “vars”,1 ;當前XF輸出電平標志。 t0_flag=1,則XF=1; ;t0_flag=0,則XF=0 TVAL.set 1

6、639 ;16401061=1ms 因中斷程序中計數器初值 ;t0_cout=1000,所以定時時間:1ms1000=1s TIM0.set0024H;定時器0寄存器地址 PRD0.set0025H TCR0.set0026H .data,TIMES.int TVAL ;定時器時間常數 .text * ; 中斷矢量表程序段 _c_int00 b start nop nop NMI rete;非屏蔽中斷 nop nop nop SINT17 .space 4*16;各軟件中斷 SINT18 .space 4*16 SINT19 .space 4*16 SINT20 .space 4*16 SIN

7、T21 .space 4*16,SINT22.space 4*16 SINT23.space 4*16 SINT24.space 4*16 SINT25.space 4*16 SINT26.space 4*16 SINT27.space 4*16 SINT28.space 4*16 SINT29.space 4*16 SINT30.space 4*16 INT0rsbx intm;外中斷0中斷 rete nop nop INT1rsbx intm;外中斷1中斷 rete nop nop INT2rsbx intm;外中斷2中斷,rete nop nop TINT: bdtimer;定時器中斷向

8、量 nop nop nop RINT0:rete;串口0接收中斷 nop nop nop XINT0:rete;串口0發(fā)送中斷 nop nop nop SINT6.space 4*16;軟件中斷 SINT7.space 4*16;軟件中斷,INT3:rete;外中斷3中斷 nop nop nop HPINT:rete;主機中斷 nop nop nop RINT1:rete;串口1接收中斷 nop nop nop XINT1:rete;串口1發(fā)送中斷 nop nop nop *,start: LD #0,DP STM#STACK+100h,SP STM #07FFFh,SWWSR STM #10

9、20h,PMST ST #1000,*(t0_cout) ;計數器設置為 1000(1s) SSBX INTM;關全部中斷 LD #TIMES,A READA TIM0;初始化 TIM,PRD READA PRD0 STM #669h,TCR0;初始化TCR0 STM #8,IMR;初始化 IMR, 使能 timer0 中斷 RSBX INTM;開放全部中斷 WAIT:B WAIT *,;定時器0中斷服務子程序 timer:ADDM #-1,*(t0_cout);計數器減1 CMPM *(t0_cout),#0;判斷是否為0 BC next,NTC;不是0,退出循環(huán) ST#1000,*(t0_

10、cout);為0,設置計數器,并將XF取反 BITF t0_flag,#1 BC xf_out,NTC SSBX XF ST #0,t0_flag B next xf_out:RSBX XF ST #1,t0_flag next:RSBX INTM RETE .end,5鏈接命令文件times.cmd如下: times.obj -o times.out -m times.map MEMORY PAGE 0:RAM1: origin =1000h ,length =500h PAGE 1:SPRAM1: origin=0060h,length=20h SPRAM2: origin=0100h,l

11、ength=200h SECTIONS .text :RAM1 PAGE 0 .data :RAM1 PAGE 0 vars :SPRAM1 PAGE 1 STACK:SPRAM2 PAGE 1 ,返回本節(jié),8.4 多通道緩沖串口(McBSP),8.4.1 McBSP原理框圖及信號接口 8.4.2 McBSP控制寄存器 8.4.3 時鐘和幀同步 8.4.4 McBSP數據的接收和發(fā)送 8.4.5 有關的幾個概念,返回首頁,8.4.1 McBSP原理框圖及信號接口,TMS320C54xx多通道緩沖串口(McBSP)由引腳、接收發(fā)送部分、時鐘及幀同步信號產生、多通道選擇以及CPU中斷信號和DMA同

12、步信號組成,如圖8-4所示。 表8-7給出了有關引腳的定義,McBSP通過這7個引腳為外部設備提供了數據通道和控制通道。McBSP通過DX和DR實現(xiàn)DSP與外部設備的通信和數據交換。,圖8-4 McBSP原理框圖,表8-7 McBSP引腳說明,表8-8 McBSP內部信號說明,返回本節(jié),8.4.2 McBSP控制寄存器,1控制寄存器及其映射地址 表8-9列出了McBSP控制寄存器及其映射地址。 子塊數據寄存器SPSDx用于指定對應子地址寄存器中數據的讀寫,其內部連接方式如圖8-5所示。這種方法的好處是可以將多個寄存器映射到一個較小的存儲空間。,表8-9 McBSP控制寄存器及其映射地址,圖8-

13、5 子地址映射示意圖,2串行口的配置 串口控制寄存器(SPCR1、SPCR2)和引腳控制寄存器(PCR)用于對串口進行配置,接收控制寄存器(RCR1、RCR2)和發(fā)送控制寄存器(XCR1、XCR2)分別對接收和發(fā)送操作進行控制。 (1)串口控制寄存器(SPCR1、SPCR2)串口控制寄存器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(SPC

14、R1),表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-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 RCR

15、1控制位功能說明,表8-14 RCR2控制位功能說明,(a)XCR1,(b)XCR2,圖8-10 發(fā)送控制寄存器(XCR1,2),表8-15 XCR1控制位功能說明,表8-16 XCR2控制位功能說明,返回本節(jié),8.4.3 時鐘和幀同步,采樣率發(fā)生器由三級時鐘分頻組成,如圖8-11所示,可以產生可編程的CLKG(數據位時鐘)信號和FSG(幀同步時鐘)信號。CLKG和FSG是McBSP的內部信號,用于驅動接收/發(fā)送時鐘信號(CLKR/X)和幀同步信號(FSR/X)。采樣率發(fā)生器時鐘既可以由內部的CPU時鐘驅動(CLKSM=1),也可以由外部時鐘源驅動(CLKSM=0)。采樣率發(fā)生器寄存器SRGR

16、1,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 SRGR1控制位功能說明,表8-18 SRGR2控制位功能說明,圖8-13 可編程幀周期和幀脈沖寬度,返回本節(jié),8.4.4 McBSP數據的接收和發(fā)送,數據的接收是通過三級緩沖完成的,例如,通過設置SPCR1寄存器的RINTM=00b,則可由RRDY信號驅動產生接收中斷

17、信號RINT,TMS320C54xx CPU響應中斷,讀取DRR中的數據。接收時序如圖8-14所示。 數據的發(fā)送通過兩級緩沖完成,通過設置SPCR2寄存器的XINTM=00b,可由XRDY驅動產生發(fā)送中斷信號XINT,TMS320C54xx CPU響應中斷,將下一個發(fā)送數據寫入DXR中,隨后XRDY降為0。發(fā)送時序如圖8-15所示。,圖8-14 數據的接收,圖8-15 數據的發(fā)送,返回本節(jié),8.4.5 有關的幾個概念,1相的概念 在McBSP中,幀同步信號表示一次數據傳輸的開始。幀同步信號之后的數據流可以有兩個相相1和相2。相的個數(1或2)可以通過設置RCR2和XCR2中的(R/X)PHAS

18、E位來實現(xiàn)。每幀的字數和每字的位數分別由(R/X)FRLEN1,2和(R/X)WDLEN1,2決定(如圖8-6、8-18所示 )。,圖8-16 例8-2的圖,圖8-17 例8-3的圖,2數據延遲 每一幀都是從幀同步信號有效時到來的第一個時鐘周期開始的。實際的數據接收或傳輸開始時刻相對于幀的開始時刻可以有延時,這一延時稱為數據延遲,用RDATDLY和XDATDLY分別指定接收和發(fā)送的數據延遲。可編程數據延遲的范圍為0、1、2個時鐘周期(R/XDATDLY = 00b 10b),如圖8-18所示。,圖8-18 數據延遲,3SPI協(xié)議:McBSP時鐘停止模式 SPI協(xié)議是一種主從配置的、支持一個主方

19、、一個或多個從方的串行通信協(xié)議,一般使用4條信號線:串行移位時鐘線(SCK)、主機輸入/從機輸出線(MISO)、主機輸出/從機輸入線(MOSI)、低電平有效的使能信號線( )。如圖8-198-22所示、表8-19、20所示。,圖8-19 McBSP作為SPI模式的主設備,圖8-20 McBSP作為SPI模式的從設備,圖8-21 CLKSTP=10b、CLKXP=0時鐘停止模式1的時序圖,圖8-22 CLKSTP=11b、CLKXP=1時鐘停止模式4的時序圖,表8-19 McBSP寄存器位域設置(SPI模式的主設備),表8-20 McBSP寄存器位域設置(SPI模式的從設備),返回本節(jié),8.5

20、多通道緩沖串口應用實例,8.5.1 TLV1572高速串行ADC與TMS320C5402接口設計 8.5.2 TLC5617串行DAC與TMS320C5402接口設計 8.5.3 語音接口芯片TLC320AD50C與TMS320C5402接口設計,返回首頁,8.5.1 TLV1572高速串行ADC與TMS320C5402接口設計,1TLV1572芯片簡介 TLV1572是高速同步串行的10位A/D轉換芯片,單電源2.7 V至5.5 V供電,8引腳SOIC封裝。功耗較低(3V供電功耗3W,5V供電功耗25W),當AD轉換不進行期間自動進入省電模式。5V供電、時鐘速率20MHz時最高轉換速率為1.

21、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工作方式時序圖,3TLV1572與TMS320C5402的McBSP1接口軟件編程 【例8-4】在本例應用中,TMS320C5402的McBSP1以CPU中斷的方式讀取TLV1572模數轉換結果,并存放在DSP片

22、內的DARAM區(qū)的3000H開始的單元中,共采樣256個點,A/D轉換的速率為64kHz,由串口McBSP1的幀頻決定,TMS320C5402的主時鐘頻率為81.925MHz。其實現(xiàn)程序(略),返回本節(jié),8.5.2 TLC5617串行DAC與TMS320C5402接口設計,1TLC5617工作原理 TLC5617是帶有緩沖基準輸入的雙路10位電壓輸出數模轉換器。 TLC5617通過與CMOS兼容的3線串行接口實現(xiàn)數字控制,器件接收的用于編程的16位字的前4位用于產生數據的傳送模式,中間10位產生模擬輸出,最后兩位為任意的LSB位(如圖8-268-28、表8-22、23所示)。,圖8-26 TL

23、C5617引腳排列,表8-22 TLC5617引腳功能說明,圖8-27 TLC5617功能框圖,圖8-28 TLC5617的時序圖,表8-23 可編程控制位(D15D12)功能表,2TLC5617與TMS320C5402的McBSP接口設計 TLC5617符合SPI數字通信協(xié)議,而TMS320C54xx系列DSP芯片的多通道緩沖串口(McBSP)工作于時鐘停止模式時與SPI協(xié)議兼容。TLC5617與TMS320C5402的McBSP0接口連接如圖8-29所示。,圖8-29 TMS320C5402與TLC5617的連接,3軟件設計 給出了較完整的軟件程序,包括主程序、串口初始化程序和CPU中斷服

24、務程序,中斷服務程序分別對數據進行處理,然后在TLC5617的A、B兩個通道同時輸出。TMS320C5402的主時鐘頻率為81.925MHz,數模轉換速率為128kHz。匯編源程序(略),返回本節(jié),8.5.3 語音接口芯片TLC320AD50C與TMS320C5402接口設計,1模擬接口芯片TLC320AD50C的工作原理 音頻接口芯片TLC320AD50C集成了16位A/D和D/A轉換器,使用過采樣(over sampling)技術提供16位A/D和D/A低速信號轉換,該器件包括兩個串行的同步轉換通道,工作方式和采樣速率均可由DSP編程設置。其內部ADC之后有抽樣濾波器,DAC之前有插值濾波

25、器,接收和發(fā)送可同時進行。,圖8-30 AD50C的引腳排列,圖8-31 AD50C的內部結構框圖,AD50C片內還包括一個定時器和控制器。該芯片可工作在單端或差分方式,支持3個從機級聯(lián),其參數設置模式采用單線串行口直接對內部寄存器編程,不受數據轉換串行口的影響。 (1)ADC信號通道(如圖8-32、8-33) (2)DAC信號通道(如圖8-34所示) (3)AD50C的控制寄存器(如表8-24所示),圖8-32 ADC通道主通信時序圖,圖8-33 ADC通道主通信和次通信時序圖,圖8-34 DAC信號通道主通信和次通信時序圖,表8-24 控制寄存器1位功能表,表8-25 控制寄存器2位功能表

26、,表8-26 控制寄存器3位功能表,表8-27 控制寄存器4位功能表,表8-28 寄存器映象表,2TLC320AD50C與TMS320C5402硬件接口設計 硬件連接采用AD50C為主控模式(=1),向C5402的McBSP0(從設備)提供SCLK(數據移位時鐘)和FS(幀同步脈沖),并控制數據的傳輸過程。TMS320C5402工作于SPI方式的從機模式,CLKX0和FSX0為輸入引腳,在接收數據和發(fā)送數據時都是利用外界時鐘和移位脈沖。C5402與TLC320AD50C的硬件連接如圖8-35所示。,圖8-35 TMS320C5402與TLC320AD50C的硬件連接示意圖,3軟件編制過程 (1

27、)TMS320C5402串口的初始化。 (2)AD50C初始化。 (3)用戶代碼的編寫。,返回本節(jié),8.6 主機接口(HPI),8.6.1 HPI-8接口的結構 8.6.2 HPI-8控制寄存器和接口信號 8.6.3 HPI-8接口與主機的連接框圖 8.6.4 HPI的8條數據線作通用的I/O引腳,返回首頁,8.6.1 HPI-8接口的結構,HPI-8是一個8位的并行口,外部主機是HPI的主控者,HPI-8作為主機的從設備,其框圖如圖8-36所示。其接口包括一個8比特的雙向數據總線、各種控制信號及3個寄存器。片外的主機通過修改HPI控制寄存器(HPIC)設置工作方式,通過設置HPI地址寄存器(

28、HPIA)來指定要訪問的片內RAM單元,通過讀/寫數據鎖存器(HPID)來對指定存儲器單元讀/寫。主機通過HCNTL0、HCNTLl管腳電平選擇3個寄存器中的一個。,圖8-36 HPI-8框圖,返回本節(jié),8.6.2 HPI-8控制寄存器和接口信號,HPI控制寄存器(HPIC)狀態(tài)位控制著HPI操作: (1)BOB:字節(jié)次序位。 (2)SMOD:標準HPI-8尋址方式位。 (3)DSPINT:主機向C54x發(fā)出中斷位。 (4)HINT:C54x向主機發(fā)出中斷位。 (5)XHPIA:增強HPI-8擴展尋址使能位。 (6)HPIENA:增強HPI-8使能狀態(tài)位。,主機從HPIC寄存器讀出數據,主機寫入HPIC寄存器的數據,C54x從HPIC寄存器讀出的數據,C54x寫入HPIC寄存器的數據,圖8-37 標準HPI-8的HPIC寄存器位結構圖,主機從HPIC寄存器讀出數據,主機寫入HPIC寄存器的數據,C54xx從HPIC寄存器讀出的數據,C54xx寫入HPIC寄存器的數據,圖8-38 增強HPI-8的HPIC寄存器位結構圖,表8-29 HPI-8接口信號名稱及其功能,返

溫馨提示

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

評論

0/150

提交評論