您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第三章-系统时钟与中断
CPU定时器3.2‘28x系列DSP中断3.3‘28x的时钟和系统控制3.1第三章系统时钟与中断‘28x的时钟和系统控制3.1‘28xDSP芯片内部的时钟和复位电路C28X中央处理器看门狗功耗模式控制外设复位系统控制寄存器外设寄存器外设寄存器外设寄存器ADC寄存器16路ADC输入外设总线高速外设EVA/B12位ADC低速外设SCIA/B,SPI,McBSP时钟使能‘28xDSP芯片内部的时钟和复位电路C28X中央处理器看门狗功耗模式控制外设复位系统控制寄存器外设寄存器外设寄存器外设寄存器ADC寄存器16路ADC输入外设总线高速外设EVA/B12位ADC低速外设SCIA/B,SPI,McBSP时钟使能看门狗模块:用于监控程序的运行状态,是提高系统可靠性的重要环节‘28xDSP芯片内部的时钟和复位电路C28X中央处理器看门狗功耗模式控制外设复位系统控制寄存器外设寄存器外设寄存器外设寄存器ADC寄存器16路ADC输入外设总线高速外设EVA/B12位ADC低速外设SCIA/B,SPI,McBSP时钟使能PLL锁相环和OSC振荡器提供可编程的时钟‘28xDSP芯片内部的时钟和复位电路C28X中央处理器看门狗功耗模式控制外设复位系统控制寄存器外设寄存器外设寄存器外设寄存器ADC寄存器16路ADC输入外设总线高速外设EVA/B12位ADC低速外设SCIA/B,SPI,McBSP时钟使能寄存器设置,实现对芯片或者外设的时钟频率按需设定时钟、锁相环、看门狗以及低功耗模式寄存器名称地址描述HISPCP0x0000701A高速外设时钟预分频寄存器LOSPCP0x0000701B低速外设时钟预分频寄存器PCLKCR0x0000701C外设时钟控制寄存器LPMCR00x0000701E低功耗模式控制寄存器0LPMCR10x0000701F低功耗模式控制寄存器1PLLCR0x00007021PLL控制寄存器SCSR0x00007022系统控制和状态寄存器WDCNTR0x00007023看门狗计数寄存器WDKEY0x00007025看门狗复位密钥寄存器WDCR0x00007029看门狗控制寄存器16位;EAllOW保护;外设时钟控制寄存器PCLKCR使能(1)或禁止(0)相关外设的时钟;写入该寄存器的值将在2个SYSCLKOUT系统时钟周期后有效高速外设时钟设置寄存器HISPCP控制高速外设的时钟;低三位HSPCLK配置高速外设时钟相对于系统时钟SYSCLKOUT的分频系数;如果HSPCLK等于零,则高速外设时钟等同于SYSCLKOUT;如果HSPCLK不等于零,则高速外设时钟为SYSCLKOUT/(HSPCLK×2);默认为001。低速外设时钟设置寄存器LOSPCP控制低速外设的时钟;LSPCLK配置低速外设时钟相对于系统时钟SYSCLKOUT的分频系数;如果LSPCLK等于零,则低速外设时钟等同于SYSCLKOUT;如果LSPCLK不等于零,则低速外设时钟为SYSCLKOUT/(LSPCLK×2);默认为010。锁相环单元PLL锁相环Phase-LockedLoop(PLL);数字通信系统中的一种反馈电路。通过软件程序实时地配置CPU系统时钟和片内外设时钟;在DSP任务繁重时提高CPU时钟频率,可以在更短的时间内完成所需工作;在DSP空闲时,降低CPU时钟频率,从而降低芯片功耗,延长电池寿命。‘28xDSP芯片内部的晶体振荡器和锁相环模块为CPU内核提供时钟信号。片上晶振电路模块允许采用两种方式:内部振荡器或外部时钟源为CPU内核提供时钟;使用片上晶振模块的内部振荡器时,应当在X1/XCLKIN和X2两个引脚之间连上一个石英晶振,片上晶振模块输出与石英晶振频率相同的时钟信号,典型的晶振频率是30MHz。采用外部时钟。外部时钟应该是一定频率的方波信号,利用外部时钟应把时钟信号直接接到X1/XCLKIN引脚,X2引脚则必须悬空,这时内部振荡器不工作,片上晶振模块输出该外部时钟信号。PLL禁止,系统时钟等于OSCCLK;PLL旁路(上电时默认配置,PLLCR寄存器div为零),系统时钟等于OSCCLK/2PLL使能(PLLCR寄存器div有一个非零值n),系统时钟等于OSCCLK的(n/2)倍锁相环控制寄存器PLLCR分频或者倍频系数位于低4位DIV。如果DIV等于零,锁相环旁路,系统时钟等于OSCCLK/2;如果DIV不等于零,锁相环使能,系统时钟等于OSCCLK的(n/2)倍。DIV的取值为0001-1010,即1-10,其它保留。高速和低速外设时钟控制。CPU主频看门狗单元看门狗单元,又称为看门狗定时器WatchDogTimer(WDT),其本质是一个定时器电路;若使能看门狗单元,则在系统运行时,看门狗定时器自动计数;如果不能定时清除看门狗计数器(俗称“喂狗”,或“踢狗”KickDog),那么看门狗定时器就会溢出从而引起看门狗中断,强行系统复位。看门狗单元可以防止系统程序发生死循环(俗称“程序跑飞”),监测软件和硬件的运行状态,从而提高系统的可靠性。’28XDSP芯片有独立的看门狗模块,看门狗计数器WDCNTR为8位,计数器超过最大值28-1=255时,看门狗模块输出一个DSP系统复位脉冲。喂狗操作:在看门狗计数器达到最大值之前向看门狗复位密钥寄存器WDKEY先后写入0x55和0xAA,则看门狗计数器清零,并自动开始下一轮的递增计数;写入其他任何数据都会引起DSP系统复位。看门狗单元TMS320F2812的看门狗模块结构看门狗计数器寄存器(WDCNTR)利用低8位的计数器进行计数,在看门狗时钟WDCLK驱动下连续增加。计数器溢出时看门狗初始化复位。用一个有效的组合写WDKEY寄存器,那么计数清零。看门狗时钟WDCLK由WDCR寄存器设置。看门狗复位密钥寄存器(WDKEY)用于看门狗计数器寄存器清零,以便在系统正常状态下防止看门狗计数器溢出产生系统复位中断。对8位WDKEY写入0x55之后紧跟着再写入0xAA,将清除WDCNTR位。写入任何其他值则会立即产生看门狗复位。看门狗控制寄存器(WDCR)WDCR用于控制看门狗模块的状态和使能情况,并可以设置看门狗计数器的时钟频率。WDFLAG:看门狗复位状态标志位。1表示看门狗复位引起了系统复位;0表示是上电或者外部器件引起系统复位;WDDIS:看门狗禁止位,1禁止看门狗模块;WDCHK:看门狗逻辑校验位,必须向WDCHK位写入101,否则会引起系统复位;WDPS:看门狗预分频设置位,配置看门狗计数器时钟WDCLK频率与OSCCLK/512的倍率。系统控制与状态寄存器(SCSR)WDINTS:看门狗中断状态位,反映了看门狗模块的中断信号的当前状态,这一位比中断信号延迟2个SYSCLKOUT周期。WDENINT:看门狗中断屏蔽/使能位。如果值为1,则看门狗复位信号被禁止,看门狗中断信号被使能,复位后默认状态为0。WDOVERRIDE:看门狗溢出位,如果值为1,则允许用户改变看门狗控制寄存器(WDCR)中的WDDIS位。向该位写1将其清0。TMS320F2812的看门狗模块结构喂狗周期?TMS320F2812内部有3个CPU定时器;均为32位的递减计数器;定时器以系统时钟SYSCLKOUT作为定时时钟;定时器寄存器与存储器总线相连;CPU-Timer0可以在用户程序中使用;CPU-Timer1和CPU-Timer2留给实时操作系统使用。CPU定时器3.2定时器结构框图CPU定时器的寄存器CPU定时器计数器寄存器(TIMERxTIM)CPU定时器的计数器寄存器是一个32位的寄存器,其中高16位是TIMH,低16位是TIM。每个(TDDRH:TDDR+1)时钟周期减1,当减到0时,产生中断信号,由周期寄存器重新装载。TDDRH:TDDR是定时器预分频的值。CPU定时器的寄存器CPU定时器周期寄存器(TIMERxPRD)存放计数周期值CPU定时器的周期寄存器(PRDH:PRD)的高16位是PRDH,低16位是PRD。当计数器寄存器减到0时,下一个定时器输入时钟周期开始,DSP将周期寄存器内所包含的值写入计数器寄存器中。当用户在定时器控制寄存器(TCR)中对重装位(TRB)置位时,周期寄存器内容重装入计数器寄存器。CPU定时器的寄存器CPU定时器预分频计数器(TIMERxTPR)该寄存器为32位,低16位为PSC:TDDR,高16位为PSCH:TDDRH。PSCH:PSC是定时器预分频计数器。只要值大于0,则在每个定时器输入时钟周期sysclkout,PSCH:PSC减1,当减到0时,产生1位借位信号。此时计数器减1,并控制分频计数器重装。当TRB位被软件置1时,也会重装。可以通过寄存器检查PSCH:PSC的值,但不能直接设置。CPU定时器的寄存器CPU定时器预分频计数器(TIMERxTPR)PSCH:PSC的值只能通过TDDRH:TDDR获得。复位时,计数器清零。TDDRH:TDDR是定时器分频器,每过(TDDRH:TDDR+1)个时钟周期,定时器计数器寄存器减1。复位时被清除。PSCH:PSC减到0时,在1个时钟周期后,装载PSCH:PSC中,并且计数器寄存器减1。定时器控制寄存器TIMERxTCRTIF:定时器中断标志。当定时器计数器减到0时,该标志置1TIE:定时器中断使能,为1时,定时器减到0发出中断请求。FREESOFTCPU定时器仿真模式(高级语言,断点状态)00在TIMH:TIM下一个计数后(硬停止);01在TIMH:TIM减到0后停止(软停止);1x自由运行。TRB:CPU定时器重装位。当向TRB写1时,PRDH:PRD的值装入TIMH:TIM,分频寄存器(TDDRH:TDDR)中的值装入预分频计数器(PSCH:PSC)TSS:停止状态位,为1时,停止定时器;为0则启动定时器。定时器工作示意图CPU定时器的中断周期值Ttimer=SYSCLKOUT*(TDDRH:TDDR+1)*(PRDH:PRD+1)中断(Interrupt)是硬件和软件驱动的事件。中断信号使得CPU暂停目前执行的主程序,转而去执行一个中断服务子程序。中断机制的存在使得单片机或DSP等嵌入式处理器能够及时、迅速地对紧急情况进行处理。‘28x系列DSP中断3.34个步骤:一、接收中断请求。由软件中断或者硬件中断提出请求去暂停当前主程序。二、响应中断。如果是可屏蔽中断(可以通过软件禁止或使能),cpu满足一定条件响应。对于不可屏蔽硬件中断和软件中断,cpu立即响应。‘28x系列DSP中断3.34个步骤:三、准备执行中断服务程序并且保存寄存器值。四、执行中断服务程序。‘28x系列DSP中断3.3‘28x系列DSP的中断可以由软件触发(指令)或硬件触发(如引脚、外设等);多路复用的外设中断扩展PIE模块为中断处理提供附加的控制,使一个CPU中断实现多个外设的中断请求;‘28x系列DSP中断3.3PIE中断扩展‘28x系列DSP处理器具有众多外设,每个外设能够生成一个或多个中断;CPU级别无法处理所有外设中断请求;需要一个集中式外设中断扩展(PIE)控制器来扩展和仲裁各种中断源(如外设和其它外部引脚)的中断请求;PIE向量表存放各个中断服务子程序的地址,每个中断都有自己的中断向量;外设中断和外部中断被分成12组连接至PIE模块,每组有8个中断复用1个CPU中断。CPU中断PIE中断INTx.8INTx.7INTx.6INTx.5INTx.4INTx.3INTx.2INTx.1INT1_yWAKEINTLPM/WDTINT0TIMER0ADCINT(ADC)XINT2XINT1保留PDPINTB(EVB)PDPINTA(EVA)INT2_y保留T1OFINT(EVA)T1UFINT(EVA)T1CINT(EVA)T1PINT(EVA)CMP3INT(EVA)CMP2INT(EVA)CMP1INT(EVA)INT3_y保留CAPINT3(EVA)CAPINT2(EVA)CAPINT1(EVA)T2OFINT(EVA)T2UFINT(
本文标题:第三章-系统时钟与中断
链接地址:https://www.777doc.com/doc-7858128 .html