第二讲 TMS320F281xDSP控制器的总体结构_第1页
第二讲 TMS320F281xDSP控制器的总体结构_第2页
第二讲 TMS320F281xDSP控制器的总体结构_第3页
第二讲 TMS320F281xDSP控制器的总体结构_第4页
第二讲 TMS320F281xDSP控制器的总体结构_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 TMS320X2812的结构、资源及性能的结构、资源及性能 本章内容:本章内容: 2.1 DSP的性能指标的性能指标 DSP芯片引脚及其功能芯片引脚及其功能 2.2 DSP片内硬件资源片内硬件资源 片内片内FLASH和和OTP存储器存储器 2.3 时钟与系统控制时钟与系统控制 32位位CPU定时器定时器 2.4 通用输入通用输入/输出输出GPIO 2.5 外设中断扩展外设中断扩展PIE 2.6 中央处理器单元中央处理器单元2.1 TMS320F2812的性能指标的性能指标 F2812的主要特点:的主要特点: 采用高性能的静态采用高性能的静态CMOS技术,时钟频率可达技术,时钟频率

2、可达150MHz(6.67ns);核心电压:);核心电压:1.8V;I/O口口电压和电压和Flash编程电压:编程电压:3.3V 32位位CPU,可实现,可实现1616位和位和3232位乘法位乘法操作,哈佛总线结构,寻址程序空间可达操作,哈佛总线结构,寻址程序空间可达4MB,寻址数据空间可达寻址数据空间可达4GB 采用采用PLL来控制系统各模块所需频率来控制系统各模块所需频率 3个个32位的位的CPU定时器和适合电机等控制的事件定时器和适合电机等控制的事件管理模块管理模块EVA和和EVB 很强的外围通信功能,包括同步串行口很强的外围通信功能,包括同步串行口SPI,通,通用异步串行口用异步串行口

3、SCI,增强的,增强的eCAN和多通道缓存串行和多通道缓存串行口口MCBSP 16个通道、个通道、12位精度的位精度的A/D转换器转换器 56个多路通用输入个多路通用输入/输出输出(GPIO)引脚等等引脚等等2.1 TMS320F2812的性能指标特特 征征F2810F2812指令周期(指令周期(150MHz)6.67ns6.67nsSRAM(16位位/字)字)18K18K3.3V片内片内Flash(16位位/字)字)64K128K片内片内Flash/SRAM的密钥的密钥有有有有Boot ROM有有有有掩膜掩膜ROM有有有有外部存储器接口外部存储器接口无无有有事件管理器事件管理器A和和B(EV

4、A和和EVB)EVA、EVBEVA、EVB *通用定时器通用定时器44 *比较寄存器比较寄存器/脉宽调制脉宽调制1616 *捕获捕获/正交解码脉冲电路正交解码脉冲电路6/26/2看门狗定时器看门狗定时器有有有有12位的位的ADC有有有有 *通道数通道数1616F2810F2810和和F2812F2812的的硬件特征(硬件特征(1 1)F2810F2810和和F2812F2812的的硬件特征(硬件特征(2 2)特特 征征F2810F281232位的位的CPU定时器定时器33串行外围接口串行外围接口有有有有串行通信接口(串行通信接口(SCI)A和和BSCIA、SCIBSCIA、SCIB控制器局域网

5、络控制器局域网络有有有有多通道缓冲串行接口多通道缓冲串行接口有有有有数字输入数字输入/输出引脚(共享)输出引脚(共享)有有有有外部中断源外部中断源33供电电压供电电压核心电压核心电压1.8VI/O电压电压3.3V核心电压核心电压1.8VI/O电压电压3.3V封装封装128针针PBK179针针GHH,176针针PGF温度选择:温度选择:A:- -40 +85 S:- -40 +125PBK仅适用于仅适用于TMSPGF和和GHH仅适用于仅适用于TMS TMS320F281x芯片引脚及其功能芯片引脚及其功能了解引脚信号了解引脚信号名称、功能、名称、功能、特性、状态特性、状态图图1 TMS320F28

6、12的顶视图的顶视图F2812-176引脚封装底视图引脚封装底视图 F281x的引脚的引脚1、GPIO(General Purpose Input/Output pin):56个,既个,既可作为一般的数字可作为一般的数字I/O口,又可作为外设功能引脚,口,又可作为外设功能引脚,如如PWM、eCAN等等2、外部存储器接口、外部存储器接口XINTF:45个个3、电源和地:、电源和地:38个个4、A/D转换相关:转换相关:23个个5、JTAG接口有关:接口有关:7个个 所有所有数字输入数字输入引脚的电平均与引脚的电平均与TTL兼容兼容,输出输出引脚引脚均为均为3.3V CMOS电平电平,输入不能承受

7、输入不能承受5V电压电压上拉电流上拉电流/下拉电流均为下拉电流均为100A(20A) 所有引脚的输出缓冲器驱动能力(有输出功能的)典型值是所有引脚的输出缓冲器驱动能力(有输出功能的)典型值是4mA。2.2 DSP片内硬件资源片内硬件资源 TMS320F281x主要由主要由C28x核的核的CPU(C28x CPU)、)、系统时钟控制模块(系统控制部分)、事件和外设管理模块系统时钟控制模块(系统控制部分)、事件和外设管理模块(EVA、EVB和外设中断控制等),片内存储模块(和外设中断控制等),片内存储模块(FLASH、ROM、RAM等)、等)、CPU定时器模块定时器模块(CPU定时器定时器)、12

8、位位A/D转换模块(转换模块(12bit ADC)、扩展接口模块(扩展接口)、以)、扩展接口模块(扩展接口)、以及内部总线等构成。及内部总线等构成。图图2 F281x2 F281x片内外设连接框图片内外设连接框图 外部扩展总线和内部总线外部扩展总线和内部总线 扩展接口:扩展接口:A18-A0和和D15-D0是表示是表示2812外部扩存储外部扩存储器的能力,器的能力,2812外扩的存储空间最大是外扩的存储空间最大是219*16 bit(512K)。)。 F281x的内部存储器空间被分成了的内部存储器空间被分成了2块,一块是程序块,一块是程序空间,一块是数据空间,对它们的访问通过地址总空间,一块是

9、数据空间,对它们的访问通过地址总线和数据总线进行。线和数据总线进行。281x的存储器接口具有的存储器接口具有3条地条地址总线和址总线和3条数据总线。条数据总线。PAB (Program Address Bus):):32位程序地址总位程序地址总线,用于传送程序空间的读写地址。线,用于传送程序空间的读写地址。 DRAB(Data-Read Address Bus):):32位数据读地位数据读地址总线,用于传送数据空间的读地址。址总线,用于传送数据空间的读地址。 DWAB(Data-Write Address Bus):):32位数据写地位数据写地址总线,用于传送数据空间写地址。址总线,用于传送数

10、据空间写地址。 PRDW(Program-Read Data Bus):):32位程序读位程序读数据总线,用于传送读取程序空间时的指令或者数据。数据总线,用于传送读取程序空间时的指令或者数据。DRDB(Data-Read Data Bus):):32位数据读数据位数据读数据总线,用来读取数据空间的数据。总线,用来读取数据空间的数据。 DWDB(Data/Program-Write Data Bus):):32位数位数据据/程序写数据总线,向数据空间程序写数据总线,向数据空间/程序空间写相应的数程序空间写相应的数据。据。l128K16位位FLASHl18K16位位RAM:分成:分成 M0,M1(

11、4k)、)、L0,L1(1k) 和和 H0(8k) 5块块l1K16位位OTP ROMl4K16位位BootROMlBoot ROM出厂时固化了出厂时固化了Boot Loader软件,根据引导信号确定上电软件,根据引导信号确定上电引导装载方式,可从引导装载方式,可从Flash引导装载程序,也可从外部存引导装载程序,也可从外部存储器引导程序储器引导程序包括一些标准的数学运算表(数学函数库)等。包括一些标准的数学运算表(数学函数库)等。F2812内存内存TMS320F2812存储空间的映射存储空间的映射SP复位时指向复位时指向M1块的起块的起始地址始地址;FLASH存储器由存储器由4个个8K16位

12、的扇区和位的扇区和6个个16K16位的扇区组成,位的扇区组成,用户可对其中任何一个扇用户可对其中任何一个扇区进行擦除、编程和校验区进行擦除、编程和校验18K16位位RAM:分成:分成 M0,M1(4k)、)、L0,L1(1k) 和和 H0(8k) 5块块外部存储器外部存储器XINTF 提供提供5个扩展地址空间(个扩展地址空间(Zone0、1、2、6、7),每个空间设置一个片选(低电平有效),每个空间设置一个片选(低电平有效) XINTF外部引脚有外部引脚有16位数据总线访问数据、位数据总线访问数据、19位地址总线访问程序。位地址总线访问程序。 XINTF访问时序分成三个阶段访问时序分成三个阶段

13、 1、起始阶段、起始阶段 2、激活阶段、激活阶段 3、收尾阶段、收尾阶段DSP片内片内FLASH和和OTP存储器存储器l 片内片内Flash存储器的特点存储器的特点可映射到程序空间或数据空间可映射到程序空间或数据空间程序可分成多段,代码安全保护(程序可分成多段,代码安全保护(CSM)低功耗模式低功耗模式流水线模式可提高线性代码执行效率流水线模式可提高线性代码执行效率l OTP 存放工程和制造信息,余下空间,用户存放工程和制造信息,余下空间,用户可以用来存放自己的代码或数据可以用来存放自己的代码或数据CSM:代码安全模块:代码安全模块 可以防止未被授权的人看到内存储器里的内容,同时防止收安全保护

14、的代码被修改和复制。(FLASH、RAM、OTP)l Flash和和OTP存储器功耗模式存储器功耗模式 睡眠(睡眠(sleep)模式或复位模式:功耗最低)模式或复位模式:功耗最低 备用(备用(standby)模式:在该状态或睡眠模式下进行)模式:在该状态或睡眠模式下进行CPU读或取操作,将自动使读或取操作,将自动使DSP工作模式变为活跃模工作模式变为活跃模式式 活跃(活跃(active)模式或读模式:功耗最高)模式或读模式:功耗最高l CPU对对Flash/OTP的操作,形式的操作,形式 32位取指令位取指令 16或或32位数据空间读取位数据空间读取 16位程序空间读位程序空间读片内片内Fla

15、sh和和OTP存储器的配置寄存器存储器的配置寄存器名称名称地址地址功能描述功能描述FOPT0 x0000 0A80 Flash 选择寄存器选择寄存器Reserved0 x0000 0A81 保留保留FPWR0 x0000 0A82 Flash电源方式寄存器电源方式寄存器FSTATUS0 x0000 0A83 状态寄存器状态寄存器FSTDBYWAIT0 x0000 0A84 Flash睡眠到待机等待寄存器睡眠到待机等待寄存器FACTIVEWAIT0 x0000 0A85 Flash待机到活动等待寄存器待机到活动等待寄存器FBANKWAIT0 x0000 0A86 Flash读访问等待状态寄存器读

16、访问等待状态寄存器FOTPWAIT0 x0000 0A87 OTP读访问等待状态寄存器读访问等待状态寄存器Flash和和OTP存储器的工作状态通过配置寄存器进行设置存储器的工作状态通过配置寄存器进行设置注意:注意: 执行执行Flash寄存器配置任务的代码不能放在寄存器配置任务的代码不能放在Flash或或OTP存储器中执行,而应放在其他的存储器中执行,而应放在其他的RAM存储器空间中。而且当存储器空间中。而且当Flash或或OTP存储器存储器中正在运行程序时,也不要对中正在运行程序时,也不要对Flash或或OTP寄存寄存器进行操作,程序结束后才可以进行操作。在器进行操作,程序结束后才可以进行操作

17、。在Flash/OTP中运行的代码可以读中运行的代码可以读Flash寄存器中寄存器中的内容,但不要将内容写进去,要避免时序上的的内容,但不要将内容写进去,要避免时序上的混乱。混乱。锁相环锁相环PLL 振荡器振荡器OSC 时钟时钟看门狗看门狗WD 给给DSP做做“身体检查身体检查” 维持其正常工作的。维持其正常工作的。2.3 F281x的时钟及系统控制的时钟及系统控制1、振荡器、振荡器OSC和和PLL模块(模块(P38)F2812内的振荡器和内的振荡器和PLL模块模块PLL模式模式说明说明SYSCLKOUTPLL禁止禁止复位时如果复位时如果XPLLDIS引脚是低电平,引脚是低电平,则则PLL完全

18、被禁止。处理器直接使用完全被禁止。处理器直接使用引脚引脚X1/XCLKIN输入的时钟信号。输入的时钟信号。XCLKINPLL旁路旁路上电时的默认配置,如果上电时的默认配置,如果PLL没有被没有被禁止,则禁止,则PLL将变成旁路,在将变成旁路,在X1/XCLKIN引脚输入的时钟经过引脚输入的时钟经过2分分频后提供给频后提供给CPU。XCLKIN/2PLL使能使能使能使能PLL,在,在PLLCR寄存器中写入一寄存器中写入一个非零值个非零值n(P39)(XCLKINn)/2PLL配置模式配置模式F2812内部各种时钟信号产生情况内部各种时钟信号产生情况SYSOUTCLK组:组:CPU定时器和定时器和

19、eCAN总线总线OSCCLK:看门狗电路:看门狗电路低速组:低速组:SCI、SPI、McBSP高速组:高速组:EVA、EVB、ADC片上外设按输入时钟划分片上外设按输入时钟划分PCLKCR:外设时钟控制寄存器外设时钟控制寄存器SYSCR:系统控制寄存器:系统控制寄存器PLLCR:PLL控制寄存器控制寄存器HISPCP:高速片上外设分频器:高速片上外设分频器LOSPCP:低速片上外设分频器:低速片上外设分频器与与PLL、时钟配置相关的寄存器(、时钟配置相关的寄存器(P36-P39)高速外设时钟寄存器(高速外设时钟寄存器(HISPCP)153 20ReservedHSPVALR-0R/W-001如

20、果如果HISPCP不等于不等于0, HSPCLK=SYSCLKOUT/(HISPCP2)如果如果HISPCP等于等于0,HSPCLK=SYSCLKOUT低速外设时钟寄存器(低速外设时钟寄存器(LOSPCP)153 20ReservedLSPVALR-0R/W-001如果如果LOSPCP不等于不等于0,LSPCLK=SYSCLKOUT/(LOSPCP2)如果如果LOSPCP等于等于0,LSPCLK=SYSCLKOUTDIV=000:旁路方式:旁路方式DIV=0001B1010B,对应表中,对应表中n=110DIV=1011B1111B,保留,保留154 30ReservedDIVR-0R/W-0

21、PLL控制寄存器(控制寄存器(PLLCR)用来监视用来监视DSP程序的运行情况。当系统进入不可预程序的运行情况。当系统进入不可预知的状态而造成知的状态而造成“死机死机”时,时,WD将产生一个复位操作,将产生一个复位操作,从而使从而使DSP进入一个已知的起始位置重新运行。进入一个已知的起始位置重新运行。看门狗看门狗CPU定时器定时器1、什么是定时器?(计时工具)、什么是定时器?(计时工具) F2812内部有内部有3个个32位的位的CPU定时器:定时器:Time0、 Time1、Time2(系统保留)(系统保留)2、CPU定时器内部结构(定时器内部结构(P43)定时器的工作示意图定时器的工作示意图

22、TIMCLK值如何确定?值如何确定?1)给给PRDH:PRD赋值赋值2)装载装载TIMH:TIM3)每隔一个每隔一个TIMCLK计数计数 器的值减少器的值减少1,一直减到,一直减到0 完成一个周期的计数。完成一个周期的计数。1)给给TDDRH:TDDR赋值赋值2)装载装载PSCH:PSC3)每隔一个每隔一个SYSCLKOUT PSCH:PSC值减少值减少1,直,直 到为到为0,就会输出一个,就会输出一个 TIMCLK。n 计数器每走一步所需要的时间:n CPU一个周期所计量的时间为:其中:X为系统时钟SYSCLKOUT的值(MHz)。3、定时器寄存器(书本、定时器寄存器(书本P44-P45)2

23、.4 通用输入通用输入/输出输出I/O口(口(GPIO)()(P45)u GPIO:通用输入输出(:通用输入输出(56个);个);u GPIO引脚是多功能复用的,即可作为数字引脚是多功能复用的,即可作为数字I/O口,也可作为特殊功能接口(如口,也可作为特殊功能接口(如SCI、SPI)。)。u GPIO分分A、B、D、E、F、G六组,通过六组,通过GPxMux、 GPxDIR、 GPxQUAL寄存器进行寄存器进行控制。控制。u 如果如果GPIO配置为数字配置为数字I/O,则可通过,则可通过GPxDAT 、 GPxSET 、GPxCLEAR、GPxTOGGLE寄寄存器对其引脚进行操作。存器对其引脚

24、进行操作。GPxDAT: GPIOx数据寄存器数据寄存器GPxSET: GPIO x置位寄存器置位寄存器GPxCLEAR: GPIOx清楚寄存器清楚寄存器GPxTOGGLE: GPIOx取反寄存器取反寄存器GPxMux:GPIOx功能控制选择寄存器功能控制选择寄存器GPxDIR:GPIOx方向控制寄存器方向控制寄存器GPxQUAL:GPIOx输入限定寄存器输入限定寄存器控控制制数数字字x: ABDEFGu GPxMux:GPIOx功能选择控制寄存器功能选择控制寄存器 每各每各I/O口都有一个对应的功能选择寄存器位,控制口都有一个对应的功能选择寄存器位,控制该口位特殊功能口或通用数字该口位特殊功

25、能口或通用数字I/O口;口; 如:如: GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; /设置设置GPIO A0口为数字口为数字I/O口口 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; /设置设置GPIO A0口为特殊功能口(口为特殊功能口(PWM1输出口)输出口)u GPxDIR:GPIOx方向控制寄存器方向控制寄存器 每各每各I/O口都有一个对应的方向控制寄存器位,控制口都有一个对应的方向控制寄存器位,控制该口输入输出方向;该口输入输出方向; 如:如: GpioMuxRegs.GPADIR.bit.GPIOA0=0; /设置设置GP

26、IO A0口为数字输入口口为数字输入口 GpioMuxRegs.GPADIR.bit.GPIOA0=1; /设置设置GPIO A0口为数字输出口口为数字输出口u GPxQUAL:GPIOx输入限制寄存器输入限制寄存器 控制控制GPIO引脚输入信号的采样周期,目的是消除输引脚输入信号的采样周期,目的是消除输入信号的噪声。入信号的噪声。 如:如: GpioMuxRegs.GPAQUAL.BIT.QUALPRD=5; /设置设置GPIO A组全部引脚输入信号采用周期为组全部引脚输入信号采用周期为5u GPxDAT:GPIOx数据寄存器数据寄存器 每各每各I/O口都有一个对应的数据寄存器位,控制该口口

27、都有一个对应的数据寄存器位,控制该口状态;状态; 如:如: GpioDataRegs.GPADAT.bit.GPIOA0=0;/设置设置GPIO A0口为低电平口为低电平 GpioDataRegs.GPADAT.bit.GPIOA0=1;/设置设置GPIO A0口为高电平口为高电平u GPxSET:GPIOx置位寄存器置位寄存器 每各每各I/O口都有一个对应的置位寄存器位,控制该口口都有一个对应的置位寄存器位,控制该口状态;状态; GpioDataRegs.GPASET.bit.GPIOA0=0;/没影响没影响 GpioDataRegs.GPASET.bit.GPIOA0=1;/将将A0引脚引

28、脚置位高电平置位高电平u GPxCLEAR: GPIOx清除寄存器清除寄存器 每各每各I/O口都有一个对应的清除寄存器位,将该口清口都有一个对应的清除寄存器位,将该口清楚位低电平;楚位低电平; GpioDataRegs.GPACLEAR.bit.GPIOA0=0;/没影响没影响 GpioDataRegs.GPACLEAR.bit.GPIOA0=1;/将将A0引脚置位低电平引脚置位低电平u GPxTOGGLE: GPIOx取反寄存器取反寄存器 每各每各I/O口都有一个对应的取反口都有一个对应的取反寄存器位,将该口电寄存器位,将该口电平取反;平取反; GpioDataRegs.GPATOGGLE.

29、bit.GPIOA0=0;/没影没影响响 GpioDataRegs.GPATOGGLE.bit.GPIOA0=1;/将将A0引脚置电平取反引脚置电平取反2.5 F281x外设中断扩展模块外设中断扩展模块(P55)1、什么是中断?、什么是中断? 中断(中断(Interrupt)是硬件和软件驱动事件,它使得)是硬件和软件驱动事件,它使得 CPU 暂停当前的主程序,并转而去执行一个中断服务程序。暂停当前的主程序,并转而去执行一个中断服务程序。写代码写代码电话铃电话铃声响声响接电话接电话接完电话接完电话继续写代码继续写代码执行主程序有一个中断请求暂停主程序,执行中断服务子程序返回主程序继续执行u PI

30、E 可以支持可以支持 96 个不同的中断,这些中断分成了个不同的中断,这些中断分成了 12 个个组组,每个组有,每个组有 8 个中断个中断,而且每个组都被反馈到,而且每个组都被反馈到 CPU 内内核的核的 12 条中断线中的某一条上条中断线中的某一条上(INT1-INT12),),我们平我们平时用到的所有的外设中断都被归入了这时用到的所有的外设中断都被归入了这 96 个中断中,被个中断中,被分布在不同的组里,使用多路复用的原理。分布在不同的组里,使用多路复用的原理。PIE 目前只使目前只使用用 了了 96 个中断中的个中断中的 45 个,其他的等待将来的功能扩展。个,其他的等待将来的功能扩展。

31、P62 F2812 的中断是的中断是 3 级中断机制,分别是级中断机制,分别是外设级,外设级,PIE 级以及级以及 CPU 级,级,对于某一个具体的外设中断请求,任意一级的不许可对于某一个具体的外设中断请求,任意一级的不许可,CPU 最终都不会执行该外设中断。就像一个文件需要三级领最终都不会执行该外设中断。就像一个文件需要三级领导批示一样,导批示一样, 任意一级领导的不同意,都不能被送至上一级领任意一级领导的不同意,都不能被送至上一级领导,更不可能得到最终的批准,中断机制的原理也是如此。导,更不可能得到最终的批准,中断机制的原理也是如此。F2812 的中断工作过程的中断工作过程(1)外设级中断

32、)外设级中断 假如在程序的执行过程中,某一个外设产生了一个中断假如在程序的执行过程中,某一个外设产生了一个中断事件,那么在这个外设的某个寄存器中与该中断事件相事件,那么在这个外设的某个寄存器中与该中断事件相关的关的中断标志位(中断标志位(IF=Interrupt Flag)被置为)被置为 1。此时。此时,如果该中断相应的,如果该中断相应的中断使能位中断使能位(IE=Interrupt Flag)已经已经被置位被置位,也就是为,也就是为 1,外设就会,外设就会向向 PIE 控制器控制器发出发出一个一个中断请求中断请求。相反的,如果虽然中断事件产生了,相。相反的,如果虽然中断事件产生了,相应的中断

33、标志位也被置应的中断标志位也被置 1 了,但是该中断没有被使能(了,但是该中断没有被使能(相应的使能位为相应的使能位为 0),那么外设就不会向),那么外设就不会向 PIE 发出中断发出中断请求。但是,相应的中断标志位会一直保持置位状态,请求。但是,相应的中断标志位会一直保持置位状态,直到用程序清楚它为止。当然,在中断标志位保持在直到用程序清楚它为止。当然,在中断标志位保持在 1 的时候,一旦该中断被使能了,那么外设立马会向的时候,一旦该中断被使能了,那么外设立马会向 PIE 发发 出中断申请。出中断申请。(2)PIE 级中断级中断当外设把中断请求提交给当外设把中断请求提交给 PIE 模块。模块

34、。PIE 控制器中的每组都有一个控制器中的每组都有一个中断标志寄存器中断标志寄存器 PIEIFRx 和和中断使能寄存中断使能寄存器器 PIEIERx。因为因为 PIE 模块是多路复用的,那么每一组同一时间应该只能是一个中断被模块是多路复用的,那么每一组同一时间应该只能是一个中断被响应,响应,PIE 是怎么做到的呢?是怎么做到的呢?PIE 除了每组具有除了每组具有 PIEIERx,PIEIFRx 寄存寄存器之外,还有一个器之外,还有一个 PIEACK 寄存器,它的低寄存器,它的低 12 位分别对应着位分别对应着 12 个组,个组,即即 INT1-INT12,高位保留。,高位保留。假如假如 T1

35、的周期中断被响应了,则的周期中断被响应了,则 PIEACK 寄存器的第寄存器的第 2 位(对应于位(对应于 INT2)就会被置位,并且一直保持直到手动清)就会被置位,并且一直保持直到手动清除这个标志位。当除这个标志位。当 CPU 在响应在响应 T1PNT 的时候,的时候,PIEACK 的第的第 2 位一直位一直是是 1, 这时候如果这时候如果 PIE的第的第2 组内发生其他的外设中断,则暂时不会把组内发生其他的外设中断,则暂时不会把 PIE 响应送给响应送给 CPU,必须等到,必须等到 PIEACK 的第的第 2 位被复位之后,如果该中位被复位之后,如果该中断请求还存在,那么立马由断请求还存在

36、,那么立马由 PIE 控制块将中断请求送至控制块将中断请求送至 CPU。所以,每个外设中断被响应之后,一定要对所以,每个外设中断被响应之后,一定要对 PIEACK 的相关位进行手动的相关位进行手动服务,否则同组内的其他中断都不会被响应。服务,否则同组内的其他中断都不会被响应。(3)CPU 级级 CPU 也有也有中断标志寄存器中断标志寄存器 IFR 和和使能寄存器使能寄存器 IER。当某一个当某一个外设中断请求通过外设中断请求通过 PIE 发送到发送到 CPU 时,与时,与 INTx 相关的中断相关的中断标志位就会被置位。标志位就会被置位。 CPU 接到了中断的请求,就得暂停正在执行的程序,转而

37、去接到了中断的请求,就得暂停正在执行的程序,转而去响应中断程序,但是此时,它必须得做一响应中断程序,但是此时,它必须得做一 些准备工作,以便于些准备工作,以便于执行完中断程序之后回过头来还能找到原来的地方和原来的状执行完中断程序之后回过头来还能找到原来的地方和原来的状态。如果态。如果CPU中断响应开始了,中断响应开始了,CPU 会将相应的会将相应的 IER 和和 IFR 位进行清除,位进行清除,就是不能响应其他中断了,就是不能响应其他中断了,CPU 向其他中断发向其他中断发出了通知,正在忙,没空来处理你们的请求了,得等到处理完出了通知,正在忙,没空来处理你们的请求了,得等到处理完手上的中断之后

38、才能再来处理其他请求。手上的中断之后才能再来处理其他请求。TI 例程中与中断相关的几个文件例程中与中断相关的几个文件 DSP28_PieCtrl.h,这个文件定义了和这个文件定义了和 PIE 相关的寄存器的相关的寄存器的数据结构,我们对应于相关寄存器的定义会发现,两者是一数据结构,我们对应于相关寄存器的定义会发现,两者是一样的。样的。 DSP28_PieVect.h,这个头文件定义了这个头文件定义了 PIE 的中断向量。的中断向量。DSP28_PieCtrl.c 文件里只有文件里只有 1 个函数,个函数,InitPieCtrl(),(),其作用是对其作用是对 PIE 模块进行初始化的,例如在程

39、序开始的时候模块进行初始化的,例如在程序开始的时候使能某些外设中断。使能某些外设中断。DSP28_PieVect.c 文件是对文件是对 PIE 中断向量表进行初始化的。中断向量表进行初始化的。执行完这个程序之后,各个中断函数都有了明确的入口地址执行完这个程序之后,各个中断函数都有了明确的入口地址了,这样了,这样 CPU 执行起来就方便了。执行起来就方便了。DSP28_DefaultIsr.c 文件,文件,2812 所有的与外设相关的中断所有的与外设相关的中断函数都在这里定义,如函数都在这里定义,如 T1 周期中断周期中断 T1PINT。我们自己在。我们自己在写的时候,只要将具体的函数内容写进去就可以了。写的时候,只要将具体的函数内容写进去就可以了。与与PIEPIE中断扩展模块相关的寄存器(中断扩展模块相关的寄存器(P63-P66P63-P66)PIECTRL: PIE控制寄存器控制寄存器PIEACK: PIE应答寄存器应答寄存器PIEIFRx(x=112): PIE中断标志寄存器中断标志寄存器PIEIERx(x=112): PIE中断使能寄存器中断使能寄存器IFR: CPU中断标志寄存器中断标志寄存器IER: CPU

温馨提示

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

评论

0/150

提交评论