第五章TMS320C2xx系统功能和其他模块功能_第1页
第五章TMS320C2xx系统功能和其他模块功能_第2页
第五章TMS320C2xx系统功能和其他模块功能_第3页
第五章TMS320C2xx系统功能和其他模块功能_第4页
第五章TMS320C2xx系统功能和其他模块功能_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 TMS320C2xx系统功能和其系统功能和其他模块功能他模块功能5.1 系统接口模块系统接口模块5.2 系统配置系统配置5.3 时钟模块及低功耗模式时钟模块及低功耗模式5.4 DSP复位复位5.5 等待状态发生器等待状态发生器5.6 中断系统中断系统5.7 数字输入输出(数字输入输出(I/O)5.8 看门狗(看门狗(WD)和实时中断()和实时中断(RTI)5.1 系统接口模块系统接口模块系统接口模块是为外设提供支持服务的一个系统接口模块是为外设提供支持服务的一个接口。该外设接口通过一条外设总线沟通接口。该外设接口通过一条外设总线沟通CPU与外设的联系,绝大多数片内外设都与与外设的

2、联系,绝大多数片内外设都与该总线相连。只有事件管理外设模块直接连该总线相连。只有事件管理外设模块直接连至至CPU数据总线。数据总线。外设总线最多可接外设总线最多可接16个片内外设,且总线都个片内外设,且总线都是是16位宽度。位宽度。5.2 系统配置系统配置系统配置系统配置:用来对:用来对DSP片内的功能模块进行用片内的功能模块进行用户配置,根据具体用途来进行模块定制。户配置,根据具体用途来进行模块定制。v系统配置寄存器系统配置寄存器系统配置寄存器规定系统的工作状态,包括中系统配置寄存器规定系统的工作状态,包括中断的有关控制。它们是:断的有关控制。它们是:系统控制寄存器系统控制寄存器SYSCR、

3、系统状态寄存器、系统状态寄存器SYSSR、系统中断矢量寄存器、系统中断矢量寄存器SYSIVR。5.2 系统配置系统配置v(一)(一)系统控制寄存器系统控制寄存器SYSCR 该寄存器主要用于规定系统的复位和时钟输出方式。它被该寄存器主要用于规定系统的复位和时钟输出方式。它被映射到数据存储器的映射到数据存储器的7018h单元。单元。 15 14 138 7 6 50 图图5-1 系统控制寄存器位布置图系统控制寄存器位布置图 1RESET1、RESET0:软件复位位。可以由软件读写,写入:软件复位位。可以由软件读写,写入要同时进行。无论是要同时进行。无论是RESET1为为1或者或者RESET0为为0

4、,都将引起全,都将引起全局复位。只有当局复位。只有当RESET1=0,RESET0=1时,系统无动作。即:时,系统无动作。即: 00:全局复位。:全局复位。01:无动作。:无动作。10:全局复位。:全局复位。11:全局复位。:全局复位。RESET1RESET0ReservedCLKSCR1 CLKSCR0Reserved5.2 系统配置系统配置2CLKSCR1、CLKSCR0:CLKOUT引脚功引脚功能选择位。可以由用户读写,复位时为能选择位。可以由用户读写,复位时为1。取值和作用如下:取值和作用如下: 00:数字:数字I/O模式,受特定器件的模式,受特定器件的I/O寄存寄存器控制。器控制。

5、01:看门狗时钟输出。(:看门狗时钟输出。(WDCLK) 10:系统时钟输出。(:系统时钟输出。(SYSCLK) 11:CPU时钟输出。(时钟输出。(CPUCLK)5.2 系统配置系统配置v(二)(二)系统状态寄存器系统状态寄存器SYSSR 该寄存器用于反映系统的复位原因等。它被映射该寄存器用于反映系统的复位原因等。它被映射到数据存储器的到数据存储器的701Ah单元,可以被用户读取判断复单元,可以被用户读取判断复位产生的原因。位产生的原因。 15 14-13 12 11 10 9 8-6 5 4 3 2-1 0 图图5-2 系统状态寄存器位布置图系统状态寄存器位布置图PORSTResILLAD

6、RResSWRSTWDRSTResHPOResVCCAORResVECRD5.2 系统配置系统配置v各位的具体如下:各位的具体如下: 1PORST:上电复位状态位。发生上电复位事件将置位。:上电复位状态位。发生上电复位事件将置位。 2Res:系统保留。:系统保留。 3ILLADR:访问非法地址复位状态位。发生了对非法地:访问非法地址复位状态位。发生了对非法地址的访问时,将引起复位此时该位被置址的访问时,将引起复位此时该位被置1。 4SWRST:软件复位状态位。该位为:软件复位状态位。该位为1指示发生了软件复指示发生了软件复位操作。位操作。将将0写如写如SYSCR的的BIT14或将或将1写入写入

7、SYSCR的的BIT15将引发软件复位。将引发软件复位。 5WDRST:看门狗复位状态位。该位为:看门狗复位状态位。该位为1时,指示发生了时,指示发生了看门狗溢出导致的系统复位。看门狗溢出导致的系统复位。5.2 系统配置系统配置 6HPO:硬件保护补偿位。当:硬件保护补偿位。当RS为低,且为低,且Vccp为稳定的为稳定的5VDC时,系统进入时,系统进入EEPROM编辑状态。编辑状态。此时此时HPO被置被置1,表示,表示EEPROM编程被使能。编程被使能。 7VCCAOR:模拟电压:模拟电压VCCA超出稳压范围位。超出稳压范围位。当该电压超出规定范围时,该位为当该电压超出规定范围时,该位为1。

8、8VECRD:中断向量挂起位。当中断被响应且一:中断向量挂起位。当中断被响应且一个中断向量被装入中断向量寄存器时,该位被置位。个中断向量被装入中断向量寄存器时,该位被置位。当读当读SYSIVR时,该位被清除。时,该位被清除。5.2 系统配置系统配置(三)(三)系统中断向量寄存器系统中断向量寄存器SYSIVR 该寄存器用于暂存该寄存器用于暂存CPU响应中断请求时的中断响应中断请求时的中断向量。它被映射到数据存储器的向量。它被映射到数据存储器的701Eh单元,单元,是一是一个只读寄存器个只读寄存器。 寄存器的寄存器的0-7位用于存储来自挂在外设总线上位用于存储来自挂在外设总线上的外设提供的中断向量

9、的地址偏移量。其余各位保的外设提供的中断向量的地址偏移量。其余各位保留。留。v*注意注意:以上三个寄存器被映射到三个奇数单元,:以上三个寄存器被映射到三个奇数单元,紧跟在其后面的偶数单元,也可以用于同一寄存器紧跟在其后面的偶数单元,也可以用于同一寄存器的访问。的访问。5.3 时钟模块及低功耗模式时钟模块及低功耗模式5.3.1 时钟结构及时钟产生电路时钟结构及时钟产生电路DSP的时钟模块给各部分提供各种频率的时钟信号。的时钟模块给各部分提供各种频率的时钟信号。 如下三个引脚和时钟控制相关:如下三个引脚和时钟控制相关:vOSCBYP:用来选择是否旁路片内时钟振荡电路。:用来选择是否旁路片内时钟振荡

10、电路。低电平旁路内部电路,使用外部时钟;高电平使低电平旁路内部电路,使用外部时钟;高电平使用内部时钟,此时要外接晶振电路。用内部时钟,此时要外接晶振电路。vXTAL1/CLKIN:用外部时钟时,此脚为时钟输入:用外部时钟时,此脚为时钟输入脚。内部时钟时,此脚接脚。内部时钟时,此脚接4、6、8MHz的晶振。的晶振。vXTAL2:内部时钟时,此脚接:内部时钟时,此脚接4、6、8MHz的晶的晶振。振。 时钟模块结构框图如图时钟模块结构框图如图5.5 图图5.5 时钟模块结构框图时钟模块结构框图5.3 时钟模块及低功耗模式时钟模块及低功耗模式5.3.2 各种时钟信号及时钟模块编程各种时钟信号及时钟模块

11、编程1、时钟信号及时钟控制寄存器、时钟信号及时钟控制寄存器时钟模块产生时钟模块产生3个时钟信号:个时钟信号:vCPUCLK:CPU时钟。这是时钟。这是DSP最高频率的时钟,最高频率的时钟,所有直接挂在所有直接挂在CPU总线上的存储器、外设、总线上的存储器、外设、EMIF等等都使用该时钟。片内所有时钟都来自于该时钟的分都使用该时钟。片内所有时钟都来自于该时钟的分频信号。频信号。vSYSCLK:系统时钟。它是:系统时钟。它是CUPCLK的的1/2或或1/4。所有挂在片内外设总线上的外设都使用该信号。所有挂在片内外设总线上的外设都使用该信号。vWDCLK:看门狗时钟。用于看门狗定时器:看门狗时钟。用

12、于看门狗定时器/实时中实时中断模块的低频率时钟,额定频率断模块的低频率时钟,额定频率16KHz。5.3 时钟模块及低功耗模式时钟模块及低功耗模式 时钟模块有两个可用的控制寄存器:时钟模块有两个可用的控制寄存器:v时钟控制寄存器时钟控制寄存器0(CKCR0):用于模块整:用于模块整体工作方式的控制位,如时钟方式、低功耗体工作方式的控制位,如时钟方式、低功耗方式等。映射单元:数据寄存器方式等。映射单元:数据寄存器702Bh。v时钟控制寄存器时钟控制寄存器1(CKCR1):规定了:规定了PLL的倍频因子和输入时钟的频率。映射单元:的倍频因子和输入时钟的频率。映射单元:数据寄存器数据寄存器702Dh。

13、5.3 时钟模块及低功耗模式时钟模块及低功耗模式v(1)时钟控制寄存器)时钟控制寄存器CKCR0(地址(地址702Bh )lCLKMD(1:0):确定):确定CPUCLK时钟源。时钟源。00:输入时钟:输入时钟2分频后用做分频后用做CPUCLK。01:输入时钟直接用做:输入时钟直接用做CPUCLK。10:输入时钟用做:输入时钟用做PLL输入输入信号源(可倍频)。信号源(可倍频)。11:输入时钟用做:输入时钟用做PLL输入信号源(可倍频)。输入信号源(可倍频)。lPLLOCK(1):用来指示锁定计数器是否已经翻转。如果翻转:用来指示锁定计数器是否已经翻转。如果翻转(PLLOCK(1)=1),则表

14、示),则表示PLL电路已经锁定输入信号频率并获得稳定的电路已经锁定输入信号频率并获得稳定的时钟输出。时钟输出。 lPLLOCK(0):用于器件测试。:用于器件测试。lPLLPM(1)、)、PLLPM(0):规定):规定IDLE指令执行时的低功耗模式。指令执行时的低功耗模式。lPLLPS:预定标选择位。当:预定标选择位。当PLLPS=0时,时,SYSCLK=CPUCLK/4;PLLPS=1时,时,SYSCLK=CPUCLK/2。5.3 时钟模块及低功耗模式时钟模块及低功耗模式(2)时钟控制寄存器)时钟控制寄存器CKCR1(地址(地址702Dh )l CKINF(3:0):输入频率选择位:它占据:

15、输入频率选择位:它占据CKCR1的位的位7-4。这。这4位的编码分别是:位的编码分别是:0000-1111时,分别表示输入频率为时,分别表示输入频率为32、30、28、2的的16种频率。种频率。l PLLDIV(2):确定):确定PLL输入是否使用输入是否使用2分频,当该位分频,当该位=1时,时,使用使用2分频。分频。l PLLFB(2:0):): 确定确定PLL乘积因子乘积因子 ,具体对应关系为,具体对应关系为000-111对应对应1、2、3、4、5、9、1、1。 5.3 时钟模块及低功耗模式时钟模块及低功耗模式2、PLL工作方式工作方式要使用要使用PLL,首先使,首先使CLKMD(1)=0

16、,编程,编程PLL分频分频及乘积因子,再使及乘积因子,再使CLKMD(1)=1才能使才能使PLL锁定锁定新编程的频率。新编程的频率。3、各种内部时钟频率选择、各种内部时钟频率选择SYSCLKffCPUCLKCPUCLKfWDCLKf由由CKCR0的位的位0(PLLPS)决定是)决定是CPUCLK的的2或或4分频。分频。由由CKCR0的位的位7-6(CLKMD(1:0))控制)控制 通过分频电路,可得到约通过分频电路,可得到约16384Hz的的WDCLK信号。信号。 5.3 时钟模块及低功耗模式时钟模块及低功耗模式4、时钟模块编程、时钟模块编程(1)使时钟控制寄存器)使时钟控制寄存器CKCR0的

17、的CLKMD1=0,禁,禁止止PLL;(2)根据系统要求设置时钟控制寄存器)根据系统要求设置时钟控制寄存器CKCR1的的其他位;其他位;(3)使)使CLKMD1=1,允许,允许PLL工作。工作。正确编程需要如下正确编程需要如下3条指令:条指令: SPLK #0000000001000001,CKCR0 SPLK #0000000010111011, CKCR1 SPLK #0000000011000001,CKCR05.3 时钟模块及低功耗模式时钟模块及低功耗模式5.3.3 低功耗(省电)模式低功耗(省电)模式1、设置和进入低功耗模式、设置和进入低功耗模式 X24X系列有三个时钟域:系列有三个

18、时钟域: (1) CPU时钟域时钟域:CPU、片内存储器、外部存储器接口、事、片内存储器、外部存储器接口、事件管理器都使用件管理器都使用CPUCLK。 (2)系统时钟域系统时钟域:除:除EMIF及事件管理器外,所有外设都使用及事件管理器外,所有外设都使用SYSCLK。 (3)看门狗时钟域看门狗时钟域:看门狗定时器和实时中断模块。:看门狗定时器和实时中断模块。v降低功耗可以节省能源及提高系统性能,退出低功耗方式,降低功耗可以节省能源及提高系统性能,退出低功耗方式,不影响原来的运行状态。不影响原来的运行状态。v当执行一条当执行一条IDLE指令时,系统进入低功耗方式。指令时,系统进入低功耗方式。X2

19、4X系列系列DSP控制器具有控制器具有4种低功耗运行方式,具体进入哪种方式,种低功耗运行方式,具体进入哪种方式,由程序编辑由程序编辑CKCR0的的PLLPM位域(位位域(位3、2)来控制。)来控制。5.3 时钟模块及低功耗模式时钟模块及低功耗模式 在四个不同的低功耗方式下,这几个时钟域及振荡器可以分别被关在四个不同的低功耗方式下,这几个时钟域及振荡器可以分别被关闭。这四个方式是:闭。这四个方式是:(1)Idle1:仅仅关闭:仅仅关闭CPUCLK。任何中断和复位发生时,将退出。任何中断和复位发生时,将退出Idle1。(2)Idle2:关闭:关闭CPUCLK、SYSCLK。发生唤醒中断或复位时,退

20、出。发生唤醒中断或复位时,退出Idle2。看门狗定时器溢出时,将引发一次复位。看门狗定时器溢出时,将引发一次复位。(3) PLL低功耗低功耗:关闭:关闭CPUCLK、SYSCLK。如果允许,将关闭。如果允许,将关闭PLL,但,但WDCLK将继续运行。发生唤醒中断或复位时,退出将继续运行。发生唤醒中断或复位时,退出PLL低功耗。看低功耗。看门狗定时器溢出时,将引发一次复位。但门狗定时器溢出时,将引发一次复位。但PLL需要上电和等待输入时需要上电和等待输入时钟锁定,钟锁定,PLL才能高速运行。才能高速运行。(4)振荡器低功耗振荡器低功耗:三个时钟域及振荡器全部关闭。发生外部唤醒中断:三个时钟域及振

21、荡器全部关闭。发生外部唤醒中断(NMI、XINT)或复位时,退出该方式。此时,需要给振荡器、)或复位时,退出该方式。此时,需要给振荡器、PLL电路重新上电,完成前,器件不会高速操作。电路重新上电,完成前,器件不会高速操作。v四个方式功耗依次递减,但退出低功耗需要的时间则越长。四个方式功耗依次递减,但退出低功耗需要的时间则越长。v四种低功耗方式的四种低功耗方式的CKCR0/PLLPM位域(位位域(位3、2)设置分别为)设置分别为00、01、10、11。5.3 时钟模块及低功耗模式时钟模块及低功耗模式2、退出低功耗模式、退出低功耗模式 退出低功耗运行有如下这些信号:退出低功耗运行有如下这些信号:v

22、复位信号复位信号:可以退出所有的低功耗方式。:可以退出所有的低功耗方式。v看门狗复位看门狗复位:看门狗定时器溢出可以使得头三种低功耗方式退出。第:看门狗定时器溢出可以使得头三种低功耗方式退出。第四种方式由于振荡器电源被关闭,不存在看门狗时钟,所以不可能有四种方式由于振荡器电源被关闭,不存在看门狗时钟,所以不可能有该复位方式。该复位方式。v外部中断信号外部中断信号:即外部引脚中断。如:即外部引脚中断。如NMI、XINTx(可屏蔽中断),(可屏蔽中断),可以终止任何低功耗方式。但可以终止任何低功耗方式。但XINTx一定要在未被屏蔽时,才能使低一定要在未被屏蔽时,才能使低功耗方式结束;否则会恢复时钟

23、,但器件仍处于功耗方式结束;否则会恢复时钟,但器件仍处于IDLE状态。状态。v唤醒中断信号唤醒中断信号:NMI、XINTx属于唤醒中断。除此之外,部分外设可属于唤醒中断。除此之外,部分外设可以产生唤醒中断。但注意,振荡器低功耗方式下,由于振荡器被关闭,以产生唤醒中断。但注意,振荡器低功耗方式下,由于振荡器被关闭,因而片内外设不可能产生唤醒中断;此时,它只能通过因而片内外设不可能产生唤醒中断;此时,它只能通过NMI、XINTx来结束。来结束。5.3 时钟模块及低功耗模式时钟模块及低功耗模式v外设中断外设中断:普通的外设中断可以恢复:普通的外设中断可以恢复Idle1、Idle2、PLL低功耗方式。

24、但在低功耗方式。但在Idle2、PLL低功耗方式下,由于系统时低功耗方式下,由于系统时钟被关闭,只有不受钟被关闭,只有不受SYSCLK控制的未被屏蔽外设中断可控制的未被屏蔽外设中断可以起作用。以起作用。 但要注意,退出后系统的如下程序运行规律:但要注意,退出后系统的如下程序运行规律:使用使用NMI中断时,系统将执行对应的中断服务子程序。中断时,系统将执行对应的中断服务子程序。使用使用XINTx时,如果时,如果INTM=0,中断被使能,系统将执行,中断被使能,系统将执行对应的中断服务子程序;对应的中断服务子程序;INTM=1时,由于中断被禁止,时,由于中断被禁止,系统仍将恢复,但恢复后系统将执行

25、系统仍将恢复,但恢复后系统将执行IDLE后的那条指令。后的那条指令。因此,我们在编辑软件时,要根据不同操作需要,合理使因此,我们在编辑软件时,要根据不同操作需要,合理使用恢复低功耗的方式及合理设置用恢复低功耗的方式及合理设置INTM。5.3 时钟模块及低功耗模式时钟模块及低功耗模式3、DSP应用系统低功耗设计的具体措施应用系统低功耗设计的具体措施根据系统工作情况在适当时候使用根据系统工作情况在适当时候使用IDLE使使DSP进入进入低功耗方式;低功耗方式;根据系统要求来选择合适的根据系统要求来选择合适的DSP器件;器件;对对DSP外围电路应尽可能地选用低功耗的外围器件,外围电路应尽可能地选用低功

26、耗的外围器件,尽量少用小规模集成电路构成复杂逻辑电路,而采尽量少用小规模集成电路构成复杂逻辑电路,而采用可编程逻辑器件(用可编程逻辑器件(PLD)替代;)替代;DSP芯片中未使用的输入引脚应接地或接电源电压。芯片中未使用的输入引脚应接地或接电源电压。5.4 DSP复位复位5.4.1 引起引起DSP复位的原因复位的原因引起器件复位最多有引起器件复位最多有6个原因,如下图所示,个原因,如下图所示,其中欠电压检测复位没有画出。其中欠电压检测复位没有画出。5.4 DSP复位复位1、看门狗定时器复位:、看门狗定时器复位:当不正确的值写入期关键寄存器或控制寄存器时,当不正确的值写入期关键寄存器或控制寄存器

27、时,引起定时器复位。引起定时器复位。 2、软件复位:、软件复位:当通过编程使系统控制寄存器当通过编程使系统控制寄存器SYSCR的的RESET0=0,或者,或者RESET1=1时,引发系统复位。时,引发系统复位。3、 PORESET复位:复位:系统的上电复位引脚系统的上电复位引脚PORESET有效时,系统复位。有效时,系统复位。 4、非法地址复位:、非法地址复位:程序试图访问非法地址时,系统复位。程序试图访问非法地址时,系统复位。 5、RS复位:复位: 引脚接入低电平时,系统复位。引脚接入低电平时,系统复位。 6、欠电压复位:、欠电压复位:芯片电源芯片电源VDD超推荐范围,系统复位。超推荐范围,

28、系统复位。 系统复位后:系统复位后:CNF=0,将双口,将双口DARAM(B0)配置为数据存储器;)配置为数据存储器;INTM=1,禁止可屏蔽中断;,禁止可屏蔽中断;系统状态位为:系统状态位为:OV=0,XF=1,SXM=1,PM=00,C=1;全局存储器分配寄存器全局存储器分配寄存器GREG=xxxx xxxx 0000 0000B重复计数器重复计数器RPTC=0;等待状态发生器产生最大的等待状态数。等待状态发生器产生最大的等待状态数。RS5.4 DSP复位复位5.4.2 复位源识别复位源识别 当收到复位信号时,程序通过读取系当收到复位信号时,程序通过读取系统状态寄存器(统状态寄存器(SYS

29、SR)的内容可以决)的内容可以决定复位源。相应位为定复位源。相应位为1,表示对应事件引,表示对应事件引起了复位。起了复位。5.5 等待状态发生器等待状态发生器v由于外部存储器访问一般都比较慢,因此由于外部存储器访问一般都比较慢,因此DSP设置了片内设置了片内等等待状态发生器待状态发生器。它能在访问时插入一个等待周期,如果超过。它能在访问时插入一个等待周期,如果超过一个等待周期,则要使用外部等待状态产生逻辑电路。一个等待周期,则要使用外部等待状态产生逻辑电路。v外部等待状态产生逻辑可以和外部等待状态产生逻辑可以和DSP的的READY信号相连,如信号相连,如果果READY没有准备好,则系统自动插入

30、一个等待周期。没有准备好,则系统自动插入一个等待周期。DSP系统产生等待状态机器周期的方法有:系统产生等待状态机器周期的方法有:(1)利用外部等待状态产生逻辑与)利用外部等待状态产生逻辑与DSP的的READY信号。信号。vREDAY信号可以在当一个等待周期不够用时,产生多个等信号可以在当一个等待周期不够用时,产生多个等待周期。该信号不使用时,要接到高电平。待周期。该信号不使用时,要接到高电平。v一般地,当外部存储器或外设准备好被访问时,外部等待状一般地,当外部存储器或外设准备好被访问时,外部等待状态逻辑产生一个高电平送态逻辑产生一个高电平送READY,此时,此时,CPU和外部可以和外部可以直接

31、交互。如果直接交互。如果READY检测到低电平,则通知检测到低电平,则通知CPU等待到等待到下个周期重复检测,直到下个周期重复检测,直到READY变为高电平为止。这样,变为高电平为止。这样,READY可以控制产生多个等待周期。可以控制产生多个等待周期。5.5 等待状态发生器等待状态发生器(2)软件等待状态发生器。)软件等待状态发生器。v等待状态发生器用于在外部访问速度不匹配时,等待状态发生器用于在外部访问速度不匹配时,产生一个等待周期。它可以通过对产生一个等待周期。它可以通过对WSGR(等待(等待状态发生器控制寄存器)编程来实现。状态发生器控制寄存器)编程来实现。v有时,外部电路不可能在第一个

32、周期就产生等待有时,外部电路不可能在第一个周期就产生等待信号,所以第一个等待周期应该由内部等待状态信号,所以第一个等待周期应该由内部等待状态发生器来提供。发生器来提供。DSP设置了一个设置了一个等待状态发生器等待状态发生器控制寄存器(控制寄存器(WSGR),),它被映射到它被映射到I/O存储区存储区FFFFh处。处。 5.5 等待状态发生器等待状态发生器15-4 3 210Res AVIS ISWS DSWS PSWS WSGR位布置图位布置图 各位含义解释如下:各位含义解释如下:AVIS:地址可见方式位。复位时被置:地址可见方式位。复位时被置1。 0:清除,减少功耗与噪声,用于生产选通。:清

33、除,减少功耗与噪声,用于生产选通。 1:使能器件地址可见模式。在该模式下,器件提供一种跟踪内部代码执行的:使能器件地址可见模式。在该模式下,器件提供一种跟踪内部代码执行的方法。方法。ISWS:片外:片外I/O空间等待状态位。复位时,该位置空间等待状态位。复位时,该位置1。 0:不产生片外:不产生片外I/O等待状态。等待状态。 1:片外:片外I/O空间读写访问时,插入空间读写访问时,插入1个等待状态。个等待状态。DSWS:片外数据存储空间等待状态位。复位时,该位置:片外数据存储空间等待状态位。复位时,该位置1。 0:不产生片外数据存储器空间访问的等待状态。:不产生片外数据存储器空间访问的等待状态

34、。 1:片外数据存储器空间读写访问时,插入:片外数据存储器空间读写访问时,插入1个等待状态。个等待状态。PSWS:片外程序存储器空间等待状态位。复位时,该位置:片外程序存储器空间等待状态位。复位时,该位置1。 0:不产生片外程序存储器访问的等待状态。:不产生片外程序存储器访问的等待状态。 1:片外程序存储器空间读写访问时,插入:片外程序存储器空间读写访问时,插入1个等待状态。个等待状态。 WSGR可以分别通过编程使三种外部存储空间无条件插入一个等待周期。在系可以分别通过编程使三种外部存储空间无条件插入一个等待周期。在系统复位时,默认插入一个等待周期。统复位时,默认插入一个等待周期。5.6 中断

35、系统中断系统5.6.1 C2xx中断类型及结构中断类型及结构(一)中断分类(一)中断分类 软件中断:包括指令软件中断:包括指令INTR、NMI和和TRAP引起的中断(属于引起的中断(属于 非屏蔽中断)非屏蔽中断) 可屏蔽中断:可屏蔽中断:INTk(k =1-6),), INT1优先级最高优先级最高 复位引脚复位引脚RS中断中断 非屏蔽中断非屏蔽中断 上电复位引脚上电复位引脚PORESET中断中断 引脚引脚NMI中断中断中中断断硬件中断硬件中断5.6 中断系统中断系统(二)中断信号(二)中断信号 X24X的中断信号表见下表的中断信号表见下表 。这里共列出了。这里共列出了32个中断源的中个中断源的

36、中断名称、中断矢量地址、操作数及优先级等。断名称、中断矢量地址、操作数及优先级等。 这些中断大致有:这些中断大致有:v1) :硬件复位。不可以屏蔽。:硬件复位。不可以屏蔽。v2)INT1-INT6:来自于外部硬件(系统模块、事件管理器):来自于外部硬件(系统模块、事件管理器)的可屏蔽中断或的可屏蔽中断或INTR指令的中断。指令的中断。v3)INT8-INT16、INT20-INT31:用户自定义软件中断。:用户自定义软件中断。v4)NMI:不可屏蔽中断,来自于外部引脚或:不可屏蔽中断,来自于外部引脚或NMI指令。这指令。这两个方法使用了共同的中断向量:两个方法使用了共同的中断向量:24h。v5

37、)TRAP:TRAP指令中断。指令中断。v6)(无名):系统保留的中断。中断矢量:)(无名):系统保留的中断。中断矢量:Eh、26h,共,共两个。被系统保留,用户无法干预。两个。被系统保留,用户无法干预。 RS5.6 中断系统中断系统(三)中断信号的来源(三)中断信号的来源 中断信号有三个来源:中断信号有三个来源:DSP内核中断、事件管内核中断、事件管理器中断和系统模块中断。理器中断和系统模块中断。 DSP内核中断包括:由指令内核中断包括:由指令INTR、NMI和和TRAP产生的软件中断和来自复位产生的软件中断和来自复位RS、非屏蔽、非屏蔽NMI和可屏蔽和可屏蔽INTx(x=1-6)的硬件中断

38、;事件管理模)的硬件中断;事件管理模块中断包括:通用定时器的周期时间中断、通用定块中断包括:通用定时器的周期时间中断、通用定时器的比较事件中断、通用定时器的溢出事件中断、时器的比较事件中断、通用定时器的溢出事件中断、单比较中断、全比较中断、捕获中断和电源驱动保单比较中断、全比较中断、捕获中断和电源驱动保护中断;系统模块中断包括:护中断;系统模块中断包括:A/D转换中断、串行转换中断、串行通信通信SCI的接收中断、串行通信的接收中断、串行通信SCI的发送中断、串的发送中断、串行外设接口行外设接口SPI中断、外部引脚中断、外部引脚XINTx(x=1,2,3)产生的可屏蔽中断和外部非屏蔽引脚产生的可

39、屏蔽中断和外部非屏蔽引脚NMI中断。他中断。他们之间的关系见下图。们之间的关系见下图。5.6 中断系统中断系统5.6.2 C2xx中断流程中断流程1.CPU中断寄存器中断寄存器中断寄存器用于可屏蔽中断中断寄存器用于可屏蔽中断INT1-INT6的标志及屏蔽控制。它的标志及屏蔽控制。它又有:又有: (1)中断屏蔽寄存器中断屏蔽寄存器IMR 用于使能或屏蔽某一个中断级(用于使能或屏蔽某一个中断级(INT1-INT6)。它被映射到)。它被映射到0004h单元,可以由软件进行读写。单元,可以由软件进行读写。中断屏蔽寄存器位布置图中断屏蔽寄存器位布置图 只有当只有当INT1-INT6的屏蔽位为的屏蔽位为1

40、时,对应中断才被允许送时,对应中断才被允许送往往CPU。系统复位后,。系统复位后,IMR被清零。被清零。5.6 中断系统中断系统(2)中断标志寄存器中断标志寄存器IFR:v有有INT1-INT6共六个中断标志位,用于指示是否有可屏蔽共六个中断标志位,用于指示是否有可屏蔽中断被送至中断被送至CPU的六个中断级。的六个中断级。v它被映射到数据存储器的它被映射到数据存储器的0006h单元,可以进行读写。单元,可以进行读写。通常它由中断源置位,但也可以通过写入数据来清除挂通常它由中断源置位,但也可以通过写入数据来清除挂起的中断。相应位为起的中断。相应位为1时,表示至少有一个同级别中断被时,表示至少有一

41、个同级别中断被挂起等待处理。挂起等待处理。v当系统复位或当系统复位或CPU响应外部中断时,对应的标志位被清响应外部中断时,对应的标志位被清零。但如果零。但如果INT1-INT6是是INTR指令发出的,则指令发出的,则IFR标志要标志要用软件来解除。用软件来解除。中断标志寄存器位布置图中断标志寄存器位布置图 5.6 中断系统中断系统2. 外部硬件中断控制寄存器外部硬件中断控制寄存器 外部中断由挂在外部中断由挂在DSP中断请求引脚上的外部器中断请求引脚上的外部器件产生。它们的优先级和极性(上升沿件产生。它们的优先级和极性(上升沿/下降沿有效)下降沿有效)受可编程的受可编程的外部中断控制寄存器外部中

42、断控制寄存器控制。控制。(1)外部引脚)外部引脚XINT1中断控制寄存器中断控制寄存器XINT1CR-地地址址7070H 5.6 中断系统中断系统(2)外部引脚)外部引脚XINT2中断控制寄存器中断控制寄存器XINT2CR-地址地址7078H 5.6 中断系统中断系统(3)外部引脚)外部引脚XINT3中断控制寄存器中断控制寄存器XINT3CR-地址地址707A H5.6 中断系统中断系统(4)外部引脚)外部引脚NMI中断控制寄存器中断控制寄存器NMICR-地址地址7072 H5.6 中断系统中断系统3. 外设中断向量偏移地址外设中断向量偏移地址 如何区分各种中断源?如何区分各种中断源? 在系统

43、中断响应模块和事件管理模块都有确定在系统中断响应模块和事件管理模块都有确定的中断向量地址寄存器,该寄存器保存得到的中断向量地址寄存器,该寄存器保存得到CPU中中断响应的中断源的中断偏移地址,该地址为可屏蔽断响应的中断源的中断偏移地址,该地址为可屏蔽中断服务程序进入各中断源服务程序的偏移地址。中断服务程序进入各中断源服务程序的偏移地址。即只要在中断服务程序入口处读取中断向量地址寄即只要在中断服务程序入口处读取中断向量地址寄存器,则可判断中断源身份,并进入对应中断源的存器,则可判断中断源身份,并进入对应中断源的服务程序。下表列出了中断源及中断向量偏移地址服务程序。下表列出了中断源及中断向量偏移地址

44、。5.6 中断系统中断系统4. C2xx中断流程操作中断流程操作 编写相应中断初始化程序时要考虑开编写相应中断初始化程序时要考虑开放该单独中断屏蔽位,程序可以通过查询放该单独中断屏蔽位,程序可以通过查询方式读这些中断的单独标志位,以确定该方式读这些中断的单独标志位,以确定该中断源是否有中断申请。中断源是否有中断申请。 中断流程如下图所示。中断流程如下图所示。5.6 中断中断 系统系统 5.6.3 中断中断 编程编程1. 中断初始中断初始化编程化编程2.中断服务中断服务程序程序5.6 中断系统中断系统v非屏蔽中断的执行步骤非屏蔽中断的执行步骤(1)程序计数器)程序计数器PC的值返回堆栈顶部。的值

45、返回堆栈顶部。(2)将对应的中断矢量地址载入)将对应的中断矢量地址载入PC。(3)如为外部硬件中断或)如为外部硬件中断或INTR、NMI指令引发的中指令引发的中断,还要把断,还要把INTM置置1,以禁止所有可屏蔽中断。,以禁止所有可屏蔽中断。(4)执行中断矢量地址处的跳转指令,以转到中断)执行中断矢量地址处的跳转指令,以转到中断服务程序入口。服务程序入口。(5)执行中断服务子程序。)执行中断服务子程序。(6)遇到子程序后面的中断返回指令,将返回地址)遇到子程序后面的中断返回指令,将返回地址从堆栈顶部弹回从堆栈顶部弹回PC。(7)继续执行挂起的主程序。)继续执行挂起的主程序。5.6 中断系统中断

46、系统v可屏蔽中断响应过程如下:可屏蔽中断响应过程如下:(1)外部中断源发出中断申请。)外部中断源发出中断申请。(2)对应的外部中断控制寄存器的标志位()对应的外部中断控制寄存器的标志位(bit15)被置被置1,表示中断被请求。,表示中断被请求。(3)如果对应的外部中断控制寄存器的屏蔽位()如果对应的外部中断控制寄存器的屏蔽位(bit0)被置被置1,则该请求被送到仲裁逻辑。,则该请求被送到仲裁逻辑。(4)仲裁逻辑可能接收到多个请求信号,它通过比)仲裁逻辑可能接收到多个请求信号,它通过比较其优先级,将最高的中断申请送到较其优先级,将最高的中断申请送到CPU。(5)设置)设置IFR的对应优先级的标志

47、位,挂起该中断。的对应优先级的标志位,挂起该中断。(6)如果)如果IMR的对应屏蔽位为的对应屏蔽位为1,且,且ST0的的INTM位位(中断方式位)(中断方式位)=0,则该中断被,则该中断被CPU响应,并执行响应,并执行对应的中断服务子程序(对应的中断服务子程序(ISR)。)。5.6 中断系统中断系统v中断服务过程中断服务过程 (1)外部中断源发出中断申请。)外部中断源发出中断申请。(2)对应的外部中断控制寄存器的标志位()对应的外部中断控制寄存器的标志位(bit15)被置)被置1,表示中断被请求。表示中断被请求。(3)如果对应的外部中断控制寄存器的使能位()如果对应的外部中断控制寄存器的使能位

48、(bit0)被置)被置1,则该请求被送到仲裁逻辑。则该请求被送到仲裁逻辑。(4)仲裁逻辑可能接收到多个请求信号,它通过比较其优先)仲裁逻辑可能接收到多个请求信号,它通过比较其优先级,将最高的中断申请送到级,将最高的中断申请送到CPU。(5)设置)设置IFR的对应的标志位,挂起该中断。的对应的标志位,挂起该中断。(6)如果)如果IMR的对应屏蔽位为的对应屏蔽位为1,且,且ST0的的INTM位(中断方式位(中断方式位)位)=0,则该中断被,则该中断被CPU响应,并执行对应的中断服务子响应,并执行对应的中断服务子程序(程序(ISR,见(二)、(三)。,见(二)、(三)。(7)中断被响应的同时,对)中

49、断被响应的同时,对IFR相应位清零,相应位清零,INTM置置1(屏蔽(屏蔽其它中断),但中断源的标志位不清除。其它中断),但中断源的标志位不清除。5.6 中断系统中断系统(8)跳转到对应中断源()跳转到对应中断源(30个之一)的中断矢量地址。该地址个之一)的中断矢量地址。该地址可以放置去对应可以放置去对应GISR的跳转命令。我们可以对每一个可屏蔽的跳转命令。我们可以对每一个可屏蔽中断源设计一个这样的中断源设计一个这样的GISR,如,如GISR1-GISR6。(9)外部中断源会向系统中断矢量寄存器)外部中断源会向系统中断矢量寄存器SYSIVR自动写入一个自动写入一个具体的特定的中断矢量具体的特定

50、的中断矢量外设偏移矢量地址外设偏移矢量地址,GISR读取这读取这个地址。个地址。(10)保存必要的现场,跳转到特定的矢量地址入口。)保存必要的现场,跳转到特定的矢量地址入口。(11)执行该入口的跳转指令,跳转到特定的中断服务子程序)执行该入口的跳转指令,跳转到特定的中断服务子程序SISR。(12)执行)执行SISR程序,处理中断服务内容。程序,处理中断服务内容。(13)执行返回指令,堆栈地址弹回)执行返回指令,堆栈地址弹回PC,回到,回到GISR断点处继续断点处继续执行挂起的执行挂起的GISR。(14)GISR程序要恢复暂存的寄存器中间值等(现场)。程序要恢复暂存的寄存器中间值等(现场)。(1

51、5)把堆栈主程序地址返回)把堆栈主程序地址返回PC,回到主程序继续执行。,回到主程序继续执行。5.7 数字输入输出(数字输入输出(I/O)5.7.1 F/C240数字输入数字输入/输出模块及寄存器输出模块及寄存器 不同型号的不同型号的DSP器件,其器件,其I/O个数、位置、引个数、位置、引脚功能、是否复用等都不同,具体使用时,需要查脚功能、是否复用等都不同,具体使用时,需要查阅相关手册。本节以阅相关手册。本节以F/C240为例介绍。为例介绍。F/C240共有共有28个个I/O共享引脚,且被分为两组:共享引脚,且被分为两组:专门专门I/O端口端口A、B和和C的数据的数据I/O与其他基本功能共与其

52、他基本功能共享引脚,该组引脚共享引脚,该组引脚共20个。个。模块具有内置模块具有内置I/O功能。如功能。如SPI、SCI、外部中断和、外部中断和PLL等功能引脚,该组引脚共等功能引脚,该组引脚共8个。个。第一组共享第一组共享I/O引脚的结构如下图所示。引脚的结构如下图所示。共享引脚配置框图共享引脚配置框图5.7 数字输入输出(数字输入输出(I/O)v每个共享引脚有每个共享引脚有3位来定义其操作:位来定义其操作:MAX控制位控制位-确定引脚是确定引脚是I/O(0)还是功能引脚)还是功能引脚(1)I/O方向位方向位-确定引脚是输入(确定引脚是输入(0)或输出()或输出(1)I/O数据位数据位-引脚

53、为输入时,从该位读取数据;反之,引脚为输入时,从该位读取数据;反之,可将数据写向该位可将数据写向该位 它们由映射到内部数据存储器中的它们由映射到内部数据存储器中的5个个I/O控制控制寄存器来控制,用户通过读写这些内部数据单元,寄存器来控制,用户通过读写这些内部数据单元,可以实现对外部可以实现对外部I/O点的控制和查询。点的控制和查询。5.7 数字输入输出(数字输入输出(I/O)v(1)输出控制寄存器)输出控制寄存器A(OCRA)7090H 用户程序可以对该用户程序可以对该OCR进行读写,可以用于输出控进行读写,可以用于输出控制。制。1对应高电平、对应高电平、0对应低电平。复位后其状态为对应低电

54、平。复位后其状态为0。5.7 数字输入输出(数字输入输出(I/O)Table. I/O MUX Control Register A (OCRA) Configuration5.7 数字输入输出(数字输入输出(I/O)v(2)输出控制寄存器)输出控制寄存器B(OCRB)7092H5.7 数字输入输出(数字输入输出(I/O)v(3)I/O端口端口A数据和方向控制寄存器(数据和方向控制寄存器(PADATDIR)-7098H Bits 1512 ReservedBits 118 A3DIRA0DIR. Port A direction control bits. 0 = Configure corr

55、esponding pin as an INPUT. 1 = Configure corresponding pin as an OUTPUT.Bits 74 ReservedBits 30 IOPA3IOPA0. Port A data bits. If AnDIR = 0, then: 0 = Corresponding I/O pin is read as a LOW. 1 = Corresponding I/O pin is read as a HIGH. If AnDIR = 1, then: 0 = Set corresponding I/O pin to an output LO

56、W level. 1 = Set corresponding I/O pin to an output HIGH level.5.7 数字输入输出(数字输入输出(I/O)v(4)I/O端口端口B数据和方向控制寄存器(数据和方向控制寄存器(PBDATDIR)-709AHBits 158 B7DIRB0DIR. Port B direction control bits. 0 = Configure corresponding pin as an INPUT. 1 = Configure corresponding pin as an OUTPUT.Bits 70 IOPB7IOPB0. Port

57、 B data bits. If BnDIR = 0, then: 0 = Corresponding I/O pin is read as a LOW. 1 = Corresponding I/O pin is read as a HIGH. If BnDIR = 1, then: 0 = Set corresponding I/O pin to an output LOW level. 1 = Set corresponding I/O pin to an output HIGH level.5.7 数字输入输出(数字输入输出(I/O)v(5)I/O端口端口C数据和方向控制寄存器(数据和方

58、向控制寄存器(PCDATDIR)-709CHBits 158 C7DIRC0DIR. Port C direction control bits. 0 = Configure corresponding pin as an INPUT. 1 = Configure corresponding pin as an OUTPUT.Bits 70 IOPC7IOPC0. Port C data bits. If CnDIR = 0, then: 0 = Corresponding I/O pin is read as a LOW. 1 = Corresponding I/O pin is read

59、as a HIGH. If CnDIR = 1, then: 0 = Set corresponding I/O pin to an output LOW level. 1 = Set corresponding I/O pin to an output HIGH level.5.7 数字输入输出(数字输入输出(I/O)5.7.2 F/C240共享引脚配置共享引脚配置uF/C240的第一组的第一组20个共享引脚的配个共享引脚的配置如表置如表5.11所示。所示。uF/C240的第二组共享引脚共的第二组共享引脚共8个,个,其配置如表其配置如表5.12所示。所示。表表5.11 F/C240第一组共享

60、引脚配置第一组共享引脚配置表表5.12 F/C240第二组共享引脚配置第二组共享引脚配置5.8 看门狗(看门狗(WD)和实时中断()和实时中断(RTI) 看门狗看门狗/实时中断电路(实时中断电路(WD/RTI)的作用是出现程序跑)的作用是出现程序跑飞或死机等异常情况时使系统迅速复位飞或死机等异常情况时使系统迅速复位,可使系统自动恢复可使系统自动恢复工作。工作。 看门狗看门狗/实时中断模块的作用和原理实时中断模块的作用和原理 v该模块可以按照用户设定的时间间隔产生中断。如果软件运该模块可以按照用户设定的时间间隔产生中断。如果软件运行进入一个不正常的循环或行进入一个不正常的循环或CPU硬件运行出现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论