版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 TMS320C54x片内外设及应用实例5.1 定时器5.2 时钟发生器5.3 定时器/计数器编程举例5.4 多通道缓冲串口(McBSP)5.5 多通道缓冲串口应用实例5.6 主机接口(HPI)5.7 外部总线操作及扩展图5-1 定时器组成框图主定时模块预定标模块周期寄存器PRD定时寄存器TIM(减计数)借位13预定标计数器PSC(减计数)借位预定标分频系数TDDR12111&SRESETTRBCLKOUT(系统时钟)TSSTINTTOUT5.1 定时器1. 定时器的组成定时器的三个寄存器Timer0地址Timer1地址寄存器说明0024H0030HTIM定时器寄存器,每计数一次自动减1
2、0025H0031HPRD定时器周期寄存器,当TIM减为0后,CPU自动将PRD的值装入TIM0026H0032HTCR定时器控制寄存器,包含定时器的控制和状态位逻辑控制电路 用来控制定时器协调工作。 16位存储器映像寄存器,包含定时器的控制位和状态位。定时控制寄存器TCR 15 1211109 6543 0TDR0026h保留 Soft Free PSC TRB TSS TDDR 保留位软件调试控制位 预定标计数器 重新加载位 停止状态位 分 频系 数 图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:定时器停止状态位,用于停止或启动定时器 复位时,TSS位清0,定时器立即定时。 TSS=0,定时器启动工作; TSS=1,定时器停止工作。 Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工
4、作状态。定时控制寄存器TCR Soft Free 定时器状态 0 0 定时器立即停止工作 1 0 当计数器减至0时停止工作 X 1 定时器继续工作 保留:读成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 时钟发生器5.2.1时钟信号的产生5.2.2锁相环PLL 返回首页 时钟电路用来为C54x芯片提供时钟信号,由一个内部振荡器和一个锁相环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锁相环PLL 锁相环PLL具有频率放大和时钟信号提纯的作用,利用PLL的锁定特性可以对时钟频率进行锁定,为芯片提供高稳定频率的时钟信号。 锁相环还可以对外部时钟频率进行倍频,使外部时钟源的频率低于CPU的机器周期。 C54x的锁相环有两种形式: 硬件配置的PLL: 软件可编程PLL: 用于C541、C542、C543、C545和C546; 用于C545A、C546A、C548、C549、C5402、C5410和C5420。 5.2.2 锁相环PLL 硬件配置的PLL是通过设定C54x的3个时钟模式引脚(
9、CLKMD1、CLKMD2和CLKMD3)的状态来选择时钟方式。(1) 硬件配置的PLL 上电复位时,C54x根据这三个引脚的电平,决定PLL的工作状态,并启动PLL工作。 (1) 硬件配置的PLL硬件PLL的配置方式引脚状态时钟方式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 锁相环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状态PLLON/OFFPLLNDIVPLL状态00断开10工作01工作11工作PLLON/OFF时钟发生器选择位时钟发生
13、器选择位PLLNDIV:时钟发生器选择位,读/写位。 用来决定时钟发生器的工作方式。与PLLMUL和PLLDIV位同时定义频率的乘数。 当PLLNDIV=0时,采用分频DIV方式; 当PLLNDIV=1时,采用倍频PLL方式。PLLNDIVPLL工作状态位PLL工作状态位PLL STATUS:PLL的工作状态位,只读位。 用来指示时钟发生器的工作方式。 当PLL STATUS=0时,时钟发生器工作于分频DIV方式; 当PLL STATUS=1时,时钟发生器工作于倍频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)的状态设定,从而确定了芯片的时钟方式。 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系统的程序需要从外部低速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的状态,读PLLSTATUS位; 步骤3:根据所要切换的倍频,确定乘系数; 步骤4:由牵引时间,计算PLLCOUNT的当前值; 步骤5:设定CLKMD寄存器。 图8-3 PLL锁定时间和CLKOUT频率
18、的关系返回本节(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方式,则 ; 顺序执行 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与外部晶体振荡器频率(在本系统中外部晶体振荡器的频率为16.384MHz)之间的关系由C5402的三个引脚CLKMD1、CLKMD2和CLKMD3的电平值决定,为使主时钟频率为16.384MHz,应使CLKMD1=
20、1、CLKMD2=1、CLKMD3=0,即PLL1。3中断初始化(1)中断屏蔽寄存器IMR中的定时屏蔽位TINT0置1,开放定时器0中断。(2)状态控制寄存器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发送中断 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发送中断 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,退出循环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 返回本节5.4 多通道缓冲串口(McBSP)5.4.1 McBSP
26、原理框图及信号接口5.4.2 McBSP控制寄存器5.4.3 时钟和帧同步5.4.4 McBSP数据的接收和发送5.4.5 有关的几个概念返回首页5.4.1 McBSP原理框图及信号接口TMS320C54xx多通道缓冲串口(McBSP)由引脚、接收发送部分、时钟及帧同步信号产生、多通道选择以及CPU中断信号和DMA同步信号组成。McBSP通过这7个引脚为外部设备提供了数据通道和控制通道。McBSP通过DX和DR实现DSP与外部设备的通信和数据交换。兼容多种通信格式:SPI、IIS、AC97,T1/E1。多达128通道数据大小:8,12,16,20,24,32u律、A律压扩 图5-4 McBSP
27、原理框图扩展芯片表8-7 McBSP引脚说明引脚I/O/Z说明DRI串行数据接收DXO/Z串行数据发送CLKRI/O/Z接收数据位时钟CLKXI/O/Z发送数据位时钟FSRI/O/Z接收帧同步FSXI/O/Z发送帧同步CLKSI外部时钟输入表8-8 McBSP内部信号说明信号说明RINT接收中断,送往CPUXINT发送中断,送往CPUREVTDMA接收到同步事件XEVT向DMA发出事件同步REVTADMA接收到同步事件AXEVTA向DMA发出事件同步A返回本节5.4.2 McBSP控制寄存器1控制寄存器及其映射地址表8-9列出了McBSP控制寄存器及其映射地址。子块数据寄存器SPSDx用于指定
28、对应子地址寄存器中数据的读写,其内部连接方式如图8-5所示。这种方法的好处是可以将多个寄存器映射到一个较小的存储空间。表8-9 McBSP控制寄存器、数据寄存器及其映射地址图8-5 子地址映射示意图控制寄存器的读写:间接子地址寄存器:SPSA,指定待读写的控制寄存器地址子块数据寄存器: SPSD,读写控制寄存器接收、发送数据寄存器的读写:直接2串行口的配置串口控制寄存器(SPCR1、SPCR2)和引脚控制寄存器(PCR)用于对串口进行配置,接收控制寄存器(RCR1、RCR2)和发送控制寄存器(XCR1、XCR2)分别对接收和发送操作进行控制。(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)发送控制寄存器(XCR1,2)。发送控制寄存器(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 发送控制寄存器(XCR1,2)表8-15 XCR1控制位功能说明表8-16 XCR2控制位功能说明 返回本节5.4.3 时钟和帧同步采样率发生器由三级时钟分频组成,如图8-11所示,可以产生可编程的CLKG(数据位时钟
31、)信号和FSG(帧同步时钟)信号。CLKG和FSG是McBSP的内部信号,用于驱动接收/发送时钟信号(CLKR/X)和帧同步信号(FSR/X)。采样率发生器时钟既可以由内部的CPU时钟驱动(CLKSM=1),也可以由外部时钟源驱动(CLKSM=0)。采样率发生器寄存器SRGR1,2控制着采样率发生器的各种操作,其结构如图8-12所示。表8-17所示为SRGR1控制位功能说明,表8-18所示为SRGR2控制位功能说明。图8-11 采样率发生器框图(a)采样率发生器寄存器1 (SRGR1) (b) 采样率发生器寄存器2 (SRGR2)图8-12 采样率发生器寄存器SRGR1,2结构图表8-17 S
32、RGR1控制位功能说明表8-18 SRGR2控制位功能说明图8-13 可编程帧周期和帧脉冲宽度返回本节5.4.4 McBSP数据的接收和发送数据的接收是通过三级缓冲完成的,例如,通过设置SPCR1寄存器的RINTM=00b,则可由RRDY信号驱动产生接收中断信号RINT,TMS320C54xx CPU响应中断,读取DRR中的数据。接收时序如图8-14所示。数据的发送通过两级缓冲完成,通过设置SPCR2寄存器的XINTM=00b,可由XRDY驱动产生发送中断信号XINT,TMS320C54xx CPU响应中断,将下一个发送数据写入DXR中,随后XRDY降为0。发送时序如图8-15所示。图8-14
33、 数据的接收图8-15 数据的发送返回本节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分别指定接收和发送的数据延迟。可编程数据延迟的范围为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模式的从设备)返回本节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区的3000H开始的单元中,共采样256个点,A/D转换的速率为64kHz,由串口McBSP1的帧频决定,TMS320C5402的主时钟频率为81.925MHz。其实现程序(略)返回本节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,共用寻址(主机优先),主机通信速度64Mb/s、 SMOD=0,仅主机寻址(DSP处于复位或IDEL2),主机通信速度160Mb/s。 主机通过设置HPI地址寄存器(HPIA)来指定要访问的片内RAM单元,通过读/写数据锁存器(HPID)来对指定存储器单元读/写。主机通过HCNTL0
39、、HCNTLl管脚电平选择3个寄存器中的一个( HPIC、 HPIA、 HPID )。图8-36 HPI-8框图返回本节HPI RAM:2KW,1000H-17FFH5.6.2 HPI-8控制寄存器和接口信号HPI控制寄存器(HPIC)状态位控制着HPI操作:(1)BOB:字节次序位。 (2)SMOD:寻址方式位。 (3)DSPINT:主机向C54x发出中断位。 (4)HINT:C54x向主机发出中断位。 (5)XHPIA:增强HPI-8扩展寻址使能位。(6)HPIENA:增强HPI-8使能状态位。主机从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的功能返回本节5.6.3 HPI-8接口与主机的连接框图图8-39 C54x HPI与主机链接框图返回本节5.6.4 HPI的8条数据线作通用的I/O引脚表8-30 通用I/O控制寄存器(GPIOCR)各位的功能返回本节5.7 外部总线操作5.7.1 外部总线接口引
41、脚5.7.2 软件等待状态发生器5.7.3 可编程分区切换逻辑5.7.4 外部总线接口定时返回首页5.7.1 外部总线接口引脚地址总线:A0-A15( A19 /A19/ A22 )数据总线:D0-D15外部存储器选通:程序存储空间选择:数据存储空间选择:I/O设备选通:I/O设备选择:读写信号:数据准备好:REDAY保持请求:保持响应:微状态完成:指令地址采集信号:中断响应:注:所谓保持状态,就是DSP接收到其它cpu的总线请求hold信号后,自己处于保持状态,交出存储器的控制权。5.7.2 软件等待状态发生器表8-31 软件等待状态寄存器(SWWSR)各字段的功能表8-32 软件等待状态控
42、制寄存器(SWCR)的功能软件等待周期数Tw的计算公式:芯片读写时间:DSP时钟周期:比如T=25nsEPROM ta=70ns;RAM ta=12nsI/O口:ta=120ns求Tw(3,0,5)5.7.3 可编程分区切换逻辑表8-33 分区转换控制寄存器(BSCR)各字段的功能图8-40 存储器两次读操作之间分区切换图8-41 程序存储器读切换到数据存储器读返回本节5.7.4 外部总线接口定时1存储器寻址定时图如图8-42所示为存储器读读写操作时序图。如图8-43所示为存储器写写读操作时序图。写操作的地址线和数据线继续保持有效约半个周期,紧跟着写操作之后的读操作也要两个机器周期。如图8-44所示为程序空间读插入一个等待周期的存储器读读写操作时序图。图8-42 存储器读读写操作时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省宝鸡市眉县2024年一级造价工程师《土建计量》预测密卷含解析
- 退役风机规模化回收利用现状及投资前景分析
- 《无刷励磁系统讲解》课件
- 2024年新销售工作计划
- 河北某公司万吨复合肥m造粒塔工程施工组织设计
- 《永州市乡村教师支持计划实施细则》
- 幼儿园班级新整整学期教学工作计划
- 六五普法工作计划与工作总结
- 学生创业计划书 学生创业计划书粥店店
- 英语作文我的寒假旅行计划
- 即兴配奏与弹唱智慧树知到期末考试答案章节答案2024年成都师范学院
- 《3DMAX》课程标准(高职环境艺术设计专业)
- 2023年健康管理师(基础)考题及答案
- 说课大赛作品于素玲9-《药物制剂技术》课程设计
- ISO28000:2022供应链安全管理体系
- 2025届高三复习备考工作计划暨行动方案
- 三位数乘以三位数-计算题-竖式-50题-
- 医疗器械商贸公司简介
- 《逻辑的力量》课件++2023-2024学年统编版高中语文选择性必修上册
- 内科主任职责
- 搬迁保密工作方案
评论
0/150
提交评论