第9讲TMS320C54xDSP的片内外设第一页,共三十三页。C54xDSP具有的主要外设通用I/O引脚定时器时钟发生器软件可编程的等待状态发生器可编程的分区转换模块主机接口(HPI)串行接口,包括标准同步串行接口、带缓冲的串行接口(BSP)、多通道缓冲串行接口(McBSP)和时分复用串行接口(TDM)直接存储器访问(DMA)控制器第二页,共三十三页。§9.1片内外设映射寄存器地址范围:0020h—005Fh(第0页数据页面)存储器映射控制寄存器可以控制外设:设置和清除控制寄存器的位可以使能、禁止、初始化和动态重配置外设器件。存储器映射数据寄存器可以从外设取数据或者将数据传输到外设。C5402的片内外设映射寄存器第三页,共三十三页。第四页,共三十三页。第五页,共三十三页。§9.2通用I/OC54xDSP提供了两个通用I/O引脚分支转移控制输入引脚(/BIO):用于监视外设器件的状态。外部标志输出引脚(XF):为外设提供信号,XF引脚由软件控制。设置ST1寄存器的XF位为1:SSBXXF清除XF位为0:RSBX1,13第六页,共三十三页。BC和XC指令第七页,共三十三页。BC和XC指令的条件第八页,共三十三页。§9.3定时器片内定时器可以用于周期地产生中断。最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,获得较大范围的定时器频率。§9.3.1定时器寄存器片内定时器是可编程的,由三个16位的寄存器组成定时器寄存器(TIM):减1计数器,可加载周期寄存器(PRD)的值。定时器周期寄存器(PRD):时间常数寄存器,用于重载定时器寄存器(TIM)。定时器控制寄存器(TCR):包含定时器的控制和状态位。第九页,共三十三页。§9.3.1定时器寄存器—续定时器的寄存器定时器号定时器地址寄存器描述定时器00024hTIM定时器寄存器0025hPRD定时器周期寄存器0026hTCR定时器控制寄存器定时器1(仅C5402有)0030hTIM1定时器1寄存器0031hPRD1定时器1周期寄存器0032hTCR1定时器1控制寄存器第十页,共三十三页。§9.3.1定时器寄存器—TCR位名称复位时的值功能位15~12保留位-读总为0位11位10SoftFree00Soft与Free位一起结合使用,决定当在高级语言调试时遇到断点时定时器的状态。FreeSoft定时器状态00定时器立即停止工作01定时器减到0时,停止工作1X定时器继续运行位9~6PSC-4位的预定标计数器(减1计数器)当PSC减到0时或者定时器复位:PSC加载TDDR的内容,TIM减少1位5TRB-定时器重载。当TRB复位时(=1),复位片内定时器。TIM加载PRD中的值,而PSC加载TDDR的值,TRB读总为0位4TSS0定时器停止状态。停止或启动片内定时器。复位时,TSS被清除并且定制其立即启动计数。TSS=0时,计数器开始工作TSS=1时,计数器停止工作位3~0TDDR0000定时器分频系数。指定片内定时器的分频系数(周期)。当PSC减计数到0时,PSC载入TDDR的内容第十一页,共三十三页。§9.3.2定时器操作主定时器模块:由PRD和TIM组成预定标器模块:由TCR的TDDR和PSC位组成定时器由CPU提供时钟系统复位定时器重载定时器分频系数(4bit)预定标计数器(4bit)0:启动1:停止定时器中断送到CPU定时器输出引脚(84)第十二页,共三十三页。§9.3.2定时器操作—续定时器中断的周期:TOUT周期=(TDDR+1)×(PRD+1)×CLKOUTCLKOUT为CPU时钟周期,PRD为定时器周期值,TDDR为定时器分频系数。当复位时,PRD=FFFFH,TIM=FFFFH,TDDR=0H,TSS=0(可见复位时,定时器已经开始工作)第十三页,共三十三页。§9.3.2定时器操作—续定时器可用于产生外设电路(如模拟接口电路)所需的采样时钟信号。一种方法是使用TOUT信号为外设提供时钟;另一种方法是利用中断,周期地读一个寄存器。1.初始化定时器的步骤:(1)将TCR中的TSS位置1,停止定时器。(2)加载PRD。(3)重新加载TCR:加载TDDR,TSS=0重新启动定时器TRB=1复位片内定时器(TIM加载PRD中的值,而PSC加载TDDR的值)第十四页,共三十三页。§9.3.2定时器操作—续2.开放定时器中断的操作步骤(假定INTM=1:所有可屏蔽中断被禁止):(1)将IFR中的TINT位置1,清除尚未处理完(挂起)的定时器中断。(2)将IMR中的TINT位置1,使能定时器中断。(3)将ST1中的INTM位清0,全局使能中断。例:CPU时钟频率10MHz,...