TMS320F28335外部中断总结
在这里我们要十分清楚DSP的中断系统。C28XX一共有16个中断源,其中有2个不可屏蔽的中断RESET和NMI、定时器1和定时器2分别使用中断13和14。这样还有12个中断都直接连接到外设中断扩展模块PIE上。说的简单一点就是PIE通过12根线与28335核的12个中断线相连。而PIE的另外一侧有12*8根线分别连接到外设,如AD、SPI、EXINT等等。这样PIE共管理12*8=96个外部中断。这12组大中断由28335核的中断寄存器IER来控制,即IER确定每个中断到底属于哪一组大中断(如IER |= M_INT12;说明我们要用第12组的中断,但是第12组里面的什么中断CPU并不知道需要再由PIEIER确定
)。接下来再由PIE模块中的寄存器PIEIER中的低8确定该中断是这一组的第几个中断,这些配置都要告诉CPU(我们不难想象到PIEIER共有12总即从PIEIER1-PIEIER12)。另外,PIE模块还有中断标志寄存器PIEIFR,同样它的低8位是来自外部中断的8个标志位,同样CPU的IFR寄存器是中断组的标志寄存器。由此看来,CPU的所有中断寄存器控制12组的中断,PIE的所有中断寄存器控制每组内8个的中断。
除此之外,我们用到哪一个外部中断,相应的还有外部中断的寄存器,需要注意的就是外部中断的标志要自己通过软件来清零。而PIE和CPU的中断标志寄存器由硬件来清零。
EALLOW; // This is needed to
write to EALLOW protected registers
PieVectTable.XINT2 = &ISRExint; //告诉中断入口地址
EDIS; // This is needed to
disable write to EALLOW protected registers
PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block使能PIE
PieCtrlRegs.PIEIER1.bit.INTx5= 1;
//使能第一组中的中断5
IER |= M_INT1; // Enable CPU 第一组中断
EINT; // Enable Global interrupt
INTM
ERTM; // Enable Global realtime
interrupt DBGM
也就是说,12组中的每个中断都要完成上面的相同配置,剩下的才是去配置自己的中断。如我们提到的EXINT,即外面来个低电平我们就进入中断,完成我们的程序。在这里要介绍一下,DSP的GPIO口都可以配置为外部中断口,其配置方法如下:
GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 0; //选择他们是GPIO口
GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 0;
GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0;
GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO54 = 0;//选择他们都是输入口
GpioCtrlRegs.GPBDIR.bit.GPIO55 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO57 = 0;
GpioCtrlRegs.GPBQSEL2.bit.GPIO54= 0;//GPIO时钟和系统时钟一样且支持GPIO
GpioCtrlRegs.GPBQSEL2.bit.GPIO55= 0;
GpioCtrlRegs.GPBQSEL2.bit.GPIO56= 0;
GpioCtrlRegs.GPBQSEL2.bit.GPIO57= 0;
GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 54;//中断3选择GPIO
GpioIntRegs.GPIOXINT4SEL.bit.GPIOSEL = 55;
GpioIntRegs.GPIOXINT5SEL.bit.GPIOSEL = 56;
GpioIntRegs.GPIOXINT6SEL.bit.GPIOSEL = 57;
XIntruptRegs.XINT3CR.bit.POLARITY= 0;//触发模式为下降沿触发
XIntruptRegs.XINT4CR.bit.POLARITY= 0;
XIntruptRegs.XINT5CR.bit.POLARITY= 0;
XIntruptRegs.XINT6CR.bit.POLARITY= 0;
XIntruptRegs.XINT3CR.bit.ENABLE = 1;//使能中断
XIntruptRegs.XINT4CR.bit.ENABLE = 1;
XIntruptRegs.XINT5CR.bit.ENABLE = 1;
XIntruptRegs.XINT6CR.bit.ENABLE = 1;
注意一点就是外部中断1和2只能对GPIO0—GPIO31配置;外部中断3和4、5、6、7只对GPIO32—GPIO63配置。
分享到:
相关推荐
本文档基于基于TMS320F28335实现外部中断配置过程。
文章包含TMS320的ADC ,TMS320的时钟介绍 TMS320外部中断总结 TMS320的存储空间 CMD配置文件等的介绍,分享出来供大家学习。
TMS320F2833x TMS320F2823x DSC .................................................................................. 10 1.1 特性 ..............................................................................
该实验报告DSP采用TMS320F2812,实验箱采用ICETEK-F2812-A-EDU实验箱。设计的DSP实验有:数据存取实验;指示灯与拨码开关控制实验;DSP的定时器实验;外中断实验;单路、多路模数转换(A/D)实验;单路、多路数模...
1 TMS320F2833x,TMS320F2823x DSC .................................................................................. 10 1.1 特性............................................................................
TMS320F2407多个外部中断应用程序
TMS320F2812是高精度的DSP,其运算速度快,工作时钟频率达150 MHz,指令周期可达6.67 ns以内,低功耗(核心电压1.8 V,I/O口电压3.3 V)。采用哈佛总线结构,具有强大的操作能力、迅速的中断响应和处理能力以及统一...
零基础DSP实战TMS320F28035:第四节,外部中断XINT1实战经验,介绍外部中断配置方法及工程应用方法。
本例程对DSP芯片TMS320F2812的外部中断进行的操作控制
全书共13章,第1章是对TMS320F28335的概述第2章介绍系统控制与中断,第3章介绍外部接口,第4章介绍ePWM模块,第5章介绍增强捕捉eCAP模块,第6章介绍增强正交编码脉冲eQEP模块,第7章介绍模数(A/D)转换器,第8章介绍串行...
17、 提供4个按键输入,用于GPIO键盘试验,其中一个兼顾外部中断试验 18、 提供4位拨码开关 19、 提供复位芯片MAX811,复位可靠,独立复位按钮可手工复位 20、 提供1 路RS-232 接口,可连接PC 进行通信 21、 提供1 ...
该例程为初始化TMS320F28377D之CAN通讯模块和为与外部终端通讯的中断程序
3.2.13 外部中断(XINT1,XINT2,XINT13,XNMI) ............................................................... 35 3.2.14 振荡器和锁相环(PLL) .................................................................
TMS320F2812的外部中断XINT1、XINT2程序代码
DSP320F28035综合例程,内置sci,硬件i2c,io口i2c,驱动oled,adc,pwm,外部中断等模块,中文注释,简单易懂
摘要:讨论TMS320F2812与PC之间的串行通信方案,给出TI公司的TMS320F2812型DSP和Maxim公司的MAX3160型收发器的硬件接口电路,以及在此基础上使用中断和查询方法实现的串行通信软件流程,同时给出DSP SCI的初始化、...
摘要:讨论TMS320F2812与PC之间的串行通信方案,给出TI公司的TMS320F2812型DSP和Maxim公司的MAX3160型收发器的硬件接口电路,以及在此基础上使用中断和查询方法实现的串行通信软件流程,同时给出DSP SCI的初始化、...
6,简述TMS320F2802X的外部中断和eCAP的联系与区别。 7,看门狗的作用是什么?如何避免看门狗计数器溢出? 8, 简述F28027的ePWM模块中TB、CC、AQ和ET子模块的功能。 9, F28027的ADC实现过采样的机制。 10, CCS...
以DSP TMS320F28335为核心设计了数据通信及处理模块。该模块采用硬件协议栈芯片W5300实现与上位机的TCP/IP通信,同时利用双口RAM实现与电控系统主控板的数据通信,与主控板通信的实时性由同步时钟触发外部中断的方式...