已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP 芯片 原理与应用 第3讲TMS320F2407DSP芯片的结构 3 1DSP2407概述3 2系统配置和中断3 3时钟和低功耗模式3 4数字输入输出3 5事件管理器3 6模数转换ADC模块3 7串行通信接口SCI3 8串行外设接口SPI3 9CAN接口3 10看门狗 3 1DSP2407概述 TMS320LF240 x系列DSP控制器专为数字电机控制和其它控制系统而设计的 是当前集成度最高 性能最强的运动控制芯片 不但有高性能的C2XXCPU内核 配置有高速数字信号处理的结构 且有控制电机的外设 它将数字信号处理的高速运算功能 与面向电机的强大控制功能结合在一起 成为传统的多微处理器单元和多片系统的理想替代品 返回首页 主要用途 1 电机 交流伺服 直流永磁 开关磁阻 的鲁棒控制器 2 无刷电机的全变速控制 3 使用先进的算法可降低传感器的数量 4 汽车电子制动系统 5 多电机系统的单处理器控制 6 与控制算法处理一起完成电源开关转换的控制 返回首页 DSP2407的特点 采用高性能静态CMOS技术 供电电压降为3 3V处理速度 LF240 x为30MIPS LF240 xA为40MIPS 25ns F281x为150MIPS 4级流水线结构 采用改进的哈佛结构 源代码和目标代码与24x同代产品兼容 源代码与C2x兼容 且与C5x向上兼容 片内外设及存储器等资源 1DSP芯片的资源配置及引脚说明 1 含有两个事件管理器EVA和EVB 每个事件管理器又包含有两个16位的通用定时器 8个PWM通道 可编程的PWM死区控制 3个捕获单元 正交编码脉冲电路 16通道的ADC电路等 2 采用静态CMOS技术 使得供电电压降为3 3V 40MIPS的执行速度使得频率在40MHz时指令周期缩短25ns 3 含有可扩展的192KB字外部存储器空间 其中64KB程序存储器空间 64KB数据存储器空间 64KBI O寻址空间 4 基于TMS320C2xxDSP芯片的内核 保证了TMS320LF240 x的代码与TMS320系列的其他DSP芯片代码兼容 退出 5 含有高达32KB字的Flash程序存储器 1 5KB的数据 程序RAM 544B的双口RAM和2KB的单口RAM 6 含有可实现半双工或全双工通信的串行通信接口 SCI 模块 7 含有可单独编程或复用的通用输入 输出引脚共40个 8 含有两个电动机驱动保护中断 复位中断和两个可屏蔽外部中断 9 含有16位的串行外设 SPI 接口模块 提供了一个高速同步串行总线 可与带有SPI接口的芯片连接 10 含有3种低功耗模式的电源管理 11 含有一个看门狗定时器模块 退出 12 含有基于锁相环的时钟发生器 13 它的10位A D转换器最小转换时间为500ns 可选择由两个事件管理器来触发两个8通道输入A D转换器或一个16通道输入的A D转换器 14 含有控制器局域网络 CAN 2 0B模块 退出 引脚功能介绍 TMS320LF2407A共有144个引脚 可分为以下几类 事件管理器A EVA 引脚 事件管理器B EVB 引脚 模数转换器 ADC 引脚 通信模块 CAN SPI SCI 引脚 外部中断与时钟引脚 振荡器 PLL FLASH 引导程序及其他引脚 JTAG仿真测试引脚 地址 数据和存储器控制信号引脚 电源引脚 退出 A0 A15 D0 D15 DS 数据空间选通 PS 程序空间选通 IS I O空间选通 R W 读写选通 指明与外围器件信号的传送方向 W R IOPC0 为R W 的反 WE 对外部3个空间写 地址 数据 存储器控制信号 RD 对外部3个空间读 STRB 外部存储器选通 READY 插入等待状态 MP MC 微处理器 微计算机 控制器 方式选择ENA 144 1 使能外部信号 0 无外部存储器 VIS OE 可视输出可能 可视输出的方式下 外部数据总线为输出时 该引脚有效 可用作外部编码逻辑 以防止数据总线冲突 地址 数据 存储器控制信号 CAP1 QEP1 IOPA3 捕捉输入1 正交编码脉冲输入 CAP2 QEP2 IOPA4 CAP3 IOPA5 PWM1 IOPA6 比较PWM输出或通用IO PWM2 IOPA7 PWM3 IOPB0 PWM4 IOPB1 PWM5 IOPB2 PWM6 IOPB3 T1PWM T1CMP IOPB4 T2PWM T2CMP IOPB5 TDIRA IOPB6 通用计数器方向选择 EVA 1 加计数 0 为减计数 TCLKINA IOPB7 通用计数器 EVA 外部时钟输 事件管理器A EVA CAP4 QEP3 IOPE7 CAP5 QEP4 IOPF0 CAP6 IOPF1 PWM7 IOPE1 PWM12 IOPE6 T3PWM T3CMP IOPF2 T4PWM T4CMP IOPF3 TDIRB IOPF4 通用计数器方向选择 EVB 1 加计数 0 减计数 TCLKINB IOPF5 通用计数器 EVA 外部时钟输入 事件管理器B EVB ADCIN00 ADCIN15 ADC的模拟输入VREFHI ADC的模拟参考电压高电平输入端VREFLO ADC的模拟参考电压低电平输入端VCCA ADC模拟供电电压 3 3V VSSA ADC模拟地 模数转换器 CANRX IOPC7 CAN接收数据脚或IO脚 CANTX IOPC6 CAN发送数据脚或IO脚 SCITXD IOPA0 SCI发送数据脚或IO脚 SCIRXD IOPA1 SCI接收数据脚或IO脚 SPICLK IOPC4 SPI时钟脚或IO脚 SPISIMO IOPC2 SPI从输入主输出或IO脚 SPISOMI IOPC3 SPI从输出主输入或IO脚 SPISTE IOPC5 SPI从发送使能或IO脚 CAN SCI SPI RS 复位引脚 当RS 为高电平时 从程序存储器的0地址开始执行程序 当WD定时器溢出时 在RS 脚产生一个系统复位脉冲 PDPINTA 功率驱动保护中断输入 当电机驱动不正常时 如出现过压 过流时 该中断有效 将PWM脚 EVA 置为高阻态 XINT1 IOPA2 外中断1或通用IO脚 极性可编程 XINT2 ADCSOC IOPD0 外中断2可做AD转换开始输入或通用IO脚 极性可编程 CLKOUT IOPE0 时钟输出或通用IO脚 PDPINTB 功率驱动保护中断输入 当电机驱动不正常时 如出现过压 过流时 该中断有效 将PWM脚 EVB 置为高阻态 外部中断 时钟 XTAL1 CLKIN PLL振荡器输入引脚 XTAL2 PLL振荡器输出引脚 PLLVCCA PLL电压 3 3V IOPF6 通用IO脚 BOOT EN XF 引导ROM使能 通用IOXF脚PLLF1 PLL外接滤波器输入1 PLLF2 PLL外接滤波器输入2 VCCP 5V 闪存编程电压输入端 在硬件仿真时 该脚可为5V或0V 运行时 该脚必须接地 TP1 Flash Flash阵列测试引脚 悬空 TP2 Flash Flash阵列测试引脚 悬空 BIO IOPC1 分支控制输入引脚或通用IO脚 0 执行分支程序 如不用该脚 必须为高电平 复位时 配置为分支控制输入 振荡器 锁相环 闪存 引导及其他 EMU0 EMU1 OFF TCK TDI TDO TMS TMS2 TRST 仿真和测试 VDD 内核电源电压 3 3V 数字逻辑电源电压 VDDO IO缓冲器电源电压 3 3V 数字逻辑和缓冲器电源电压 VSS 内核电源地 数字参考地 VSSO IO缓冲器电源地 数字逻辑和缓冲器电源地 电源电压 TMS320C24x中央处理单元 CPU 采用并行的体系结构 CPU可在单指令周期内执行高速的算术运算 CPU包括三个基本组成部分 输入定标单元 乘单元和中央算术逻辑单元 CALU输入定标单元乘单元中央算术逻辑单元 CALU TMS320C24x的CPU与系统结构 TMS320C24x的CPU与系统结构 输入定标单元 32位的输入数据定标移位器把存储器中送来的16位值调整送至32位的中央算术逻辑单元 CALU 数据调整对于算术运算 数据定标和逻辑运算时定标非常必要 作为程序 数据空间至CALU间数据通路一部分 乘单元 C24x使用16位 16位的硬件乘法器在单周期内产生有符号或无符号的32位结果 乘单元包括 1 用来保存一个乘数的16位暂时寄存器 TREG 2 乘法器3 32位乘积寄存器 PREG 4 乘积移位器 中央算术逻辑单元 中央算术逻辑单元主要组成部分包括 1 中央算术逻辑单元 CALU 2 32位累加器 ACC 3 输出移位器 中央算术逻辑单元 1 实现大部分的算术和逻辑运算功能 大多数只需1个机器周期 2 可进行布尔运算 使高速控制器所要求的位操作很容易 3 对大多数指令 状态寄存器ST1的第10位符号扩展位 SXM 决定在计算时是否使用符号扩展 若SXM 0 符号扩展无效 若SXM 1 符号扩展有效 中央算术逻辑单元 有关累加器的状态位和转移指令 1 进位标志位C状态寄存器ST1的第9位 2 溢出方式标志位OVM状态寄存器ST0的第11位 决定累加器如何反映算术运算的溢出 OVM 1 且运算溢出 ACC为下列两个特定值 若正溢出 ACC中填最大正数 7FFFFFFFh 若负溢出 ACC中填最大负数 80000000hOVM 0 ACC中的结果正常溢出 3 溢出标志位OVST0的第12位 4 测试 控制标志位TCST1的第11位 根据被测位的值置1或清0 状态寄存器ST0和ST1 特别重要 两个寄存器的内容可被读出并保存到数据存储器 用SST指令 或从数据存储器读出加载到ST0和ST1 用LST指令 在子程序调用或进入中断时实现CPU各种状态的保存 可用指令SETC和CLRC单独置1或清0 5状态寄存器 TMS320LF240 x芯片内含有两个状态寄存器ST0和ST1 它们含有各种状态和控制位 状态寄存器的内容可以被保存到数据寄存器 也可从数据寄存器中进行加载 1 状态寄存器ST0 ARP 辅助寄存器指针 利用MAR LST指令可以修改状态寄存器ST0中的辅助寄存器指针 ARP 在间接寻址时用于选择当前辅助寄存器 在ARP被装载时 原先的ARP值被复制到ARB中 OV 溢出标志位 当中央算术逻辑单元发生溢出时 OV 1 直到发生复位 执行以OV 溢出 或NOV 不溢出 为条件的转移指令 或执行LST指令时被清0 OVM 溢出方式位 OVM决定CALU发生溢出时的处理方式 当OVM 0时 累加器中结果正常溢出 当OVM 1时 根据溢出的情况 累加器被设置成它的最大正值 7FFFFFFFh 或负值 80000000h SETC CLRC LST指令均可修改OVM INTM 中断模式位 INTM可全局屏蔽或使能所有的可屏蔽中断 INTM 0时 使能所有未屏蔽的中断 INTM 1时 禁止所有的可屏蔽中断 复位或可屏蔽中断发生时 TRAP指令除外 INTM置1 禁止中断 DP 数据存储器页指针 9位的DP指针和指令字中的低7位连接在一起 形成直接寻址中的16位数据存储单元地址 可通过LST LDP指令对其修改 退出 2 状态寄存器ST1 ARB 辅助寄存器的缓冲器指针 当ARP被装载时 ARP原来的值就被复制到ARB中 当用LST指令装载ARB时 同样的值也被复制到ARP中 CNF 片内DARAM配置位 当CNF 0时 可配置的DARAM映射到数据存储空间 当CNF 1时 可配置的DARAM映射到程序存储空间 可通过SETC CLRC指令对其进行修改 TC 测试 控制标志位 在下列情况下TC位被置1 由BIT或BITT测试的某位为1时 用NORM指令对累加器最高的两位进行异或结果为真时 用CMPR指令对当前AR与AR0比较条件成立时 编程时 根据TC位的状态可进行程序的跳转 调用和返回 SXM 符号扩展方式位 SXM决定是否进行符号扩展 当SXM 0时 禁止符号扩展 当SXM 1时 数据被CALU使用之前进行符号扩展 执行ADDS和SUBS指令时禁止符号扩展 通过SETC CLRC指令可对其置位或复位 C 进位位 加法运算结果产生进位时置1 减法运算结果产生借位时被清0 在执行带16位移位的ADD指令 若产生进位时置1 否则不影响该位 在执行16位移位的SUB指令 若产生借位时置0 否则不影响该位 编程时 可根据C的状态进行程序的跳转 调用和返回 XF XF引脚状态位 该位决定XF引脚的状态 SETC指令可对该位进行置位 CLRC指令可对其进行清0 PM 乘积移位方式位 若PM 00 PREG中的32位乘积结果不移位直接装入CALU 若PM 01 PREG输出左移1位后装入CALU 最低位LSB以0填充 若PM 10 PREG输出左移4位后装入CALU 移空位以0填充 若PM 11 PREG输出进行符号扩展右移6位 在操作时 PREG中的内容保持不变 SPM LST指令可以修改PM的值 退出 ST0各位的含义 ARP 位15 13 辅助寄存器指针 间接寻址 选择当前的辅助寄存器AR AR被装载时 原ARP的值被复制到ARB中 OV 位12 溢出标志位 OVM 位11 溢出方式标志位 INTM 位9 中断总开关位 1 所有可屏蔽中断被禁止 0 所有可屏蔽中断有效 DP 位8 0 数据存储器页面指针9位的DP与指令字中的7位一起形成16位的数据存储器的直接地址 ST1各位的含义 ARB 位15 13 辅助寄存器指针缓冲器 当ARP被加载到ST0时 原来的ARP被复制到ARB中 也可将ARB复制到ARP中 CNF 位12 片内DARAM配置位 0 片内DARAM映射到数据存储器区 1 片内DARAM映射到程序存储器区 TC 位11 测试 控制标志位SXM 位10 符号扩展方式位 1 数据通过定标移位器传送到累加器时将产生符号扩展 0 不产生符号扩展 C 位9 进位标志位 XF 位4 XF引脚状态位 可用指令SETC置1 用指令CLRC清0PM 位1 0 乘积移位方式 辅助寄存器算术单元 ARAU ARAU的主要功能 在CALU操作的同时 执行8个辅助寄存器AR7 AR0中的算术运算 8个辅助寄存器提供了强大而灵活的间接寻址能力 利用辅助寄存器中的16位地址可访问64K字的数据空间任一单元 4辅助寄存器算术单元 ARAU CPU中还有一个与CALU无关的辅助寄存器算术单元 其主要功能是在CALU操作的同时执行8个辅助寄存器 AR0 AR7 中的算术运算 辅助寄存器提供了丰富 灵活而有效的间接寻址功能 使用任何一个辅助寄存器提供的16位地址 就可以访问64K字的数据空间 当前辅助寄存器或当前的AR 由状态寄存器ST0中的辅助寄存器指针 ARP 指定 在使用当前AR时 其内容即为将被访问的数据存储器的地址 如果当前程序指令需要从数据存储器中读取数据 则AR将该数据单元的地址送至数据读地址总线 如果当前程序指令需向某个数据寄存器单元写数据 则AR将该地址送至数据写地址总线 在执行完对数据存储器的操作后 可以通过对辅助寄存器的内容的加减来将辅助寄存器指向下一个即将被操作的数据单元 退出 3 5存储器和I O空间 在芯片的内部 已经对各部分存储器空间进行了分配 各个部分均有指定的应用条件 因此在开发DSP控制系统时 对芯片存储器映射图的清醒认识是很重要的 如程序存储器的0000h 003Fh为内部中断的向量表空间 该区间只能存储向量表 而不可存储任何其他内容 否则 中断系统将无法工作 再如程序存储器的0040h 0043h 数据存储器的0400h 04FFh I O空间的FF00h FF0Eh等均为系统的保留空间 用户不允许使用 否则将引起不可预见的后果 另外 还应清楚哪些地址范围是特定的内部存储器 如ADC SCI SPI等 指定的地址空间 这些空间也是禁止占用的 只允许进行访问 还有 应清楚哪些空间是系统留给外部扩展用的空间 这一点关系到系统资源的扩展 如外扩程序存储器或数据存储器以及外设接口等 退出 3 5 1程序存储器 寻址范围为64KB 包括片内DARAM和片内EEPROM ROM 当访问片外程序地址空间时 TMS320LF2407自动产生一个访问外部程序地址空间的信号 如PS和DS等 使用程序存储器中的FLASH空间时还要注意一点 即它有内部和外部两种工作方式 它是受状态系统配置寄存器2的位控制的 退出 系统复位后程序指针指向0000h处 程序从该处开始执行 一般要在该处加一条跳转指令使CPU自动转入用户程序的入口 0000h 003Fh用于存储系统的中断向量表 当有中断请求信号时 CPU从该处取出中断子程序的入口地址 FLASH的其他区域为用户程序区 8000h 87FFh为单口存储器 SARAM 仿真时 若程序较小 可将程序代码放入该区 8800h FDFFh为用户扩展区 退出 在DSP系统的开发阶段 通常芯片外部扩展一个SRAM作为片外程序存储器以存储被调试的软件代码 以避免频繁对片内FLASH的写操作 这样做的好处是既可节省开发时间 又可延长芯片的使用寿命 退出 3 5 2数据存储器 寻址范围为64KB 0000h 005Fh为专用寄存器区 0200h 02FFh为双口存储器DARAM B0 当CNF 0时为用户数据区 0300h 03FFh为双口存储器DARAM B1 只能配置为用户数据区 0800h 0FFFh为2K字的单口存储器SARAM 为用户数据区 0060h 007Fh为双口存储器DARAM B2 只能配置为用户数据区 退出 以上几个数据区为编程时经常用到的区域 用户可通过命令文件 CMD 将自己定义的某些变量安排到某个或某几个数据区中 DSP对数据存储器空间的寻址方式有两种 一种寻址方式为全16位地址的寻址 另一种寻址为按页进行寻址的方式 按页进行寻址方式时 首先利用9条高位地址线将64KB的数据空间划分成512段 每段称为一个数据页 共512个 每个数据页有128B 低7位地址决定 每个数据页用数据页指针DP值表示 DP值由状态寄存器ST0中的9位数据定义 变量在数据页中的具体位置是由指令中的偏移量确定的 偏移量由编程者确定 它对应16位地址中的低7位 寻址时首先找到变量的基地址 DP值 然后再加上地址偏移量即可 数据页指针的使用给编程者带来了很大的方便 在编程时经常使用 退出 数据页指针与其相应的地址分配关系 退出 3 5 3I O空间 I O空间的寻址范围为64KB 其中0000h FEFFh为片外I O端口使用 I O空间都可以用IN和OUT指令访问 当执行IN或OUT指令时 信号将变成有效 因此可用信号作为外围I O端口的片选信号 访问外部并行I O端口与访问程序 数据存储器共用相同的部分地址以及全部的数据总线 数据总线宽度为16位 退出 TMS320LF240 x系列DSP存储器映射 TMS320LF240 x系列DSP存储器映射 TMS320LF240 x系列DSP存储器映射 有16位地址线 可以访问3个独立的地址空间 总计192K字 1 程序存储器 64K字 2 数据存储器 64K字 3 I O空间 64K字 所有的片内外设寄存器均映射在数据存储器空间 片内32K字Falsh 片内RAM为544个字 为DARAM 双口RAM B0 256个 B1 256个 B2 32个 片内SARAM2K字 单口RAM 片内存储器 DARAM 双端口RAM DARAM 544个字 分为三块 B0 B1 B2 B0作程序存储器还是作数据存储器 由寄存器ST1的D12位CNF来决定 CNF 1 B0映射到程序存储器空间CNF 0 B0映射到数据存储器空间DARAM 双访问随机读 写存储器 在单个机器周期内可被访问2次 CPU在时钟的主相写入DARAM 在时钟的从相从DARAM读出数据 大大的提高了运行速度 片内存储器 SARAM 单端口RAM SARAM 2K字单访问随机读 写存储器 在单个机器周期内可被访问1次 例如 一条指令要将A的值保存 且装载一个新值到A在SARAM中需两个时钟周期 而在ARAM中需一个时钟周期 片内存储器 FLASH程序存储器 FLASH程序存储器LF2407 16K字 映射到程序存储空间 有片内程序存储器和片外程序存储器之分 MP MC 0 选择片内Falsh存储器MP MC 1 选择片外程序存储器 从片外程序存储器开始执行程序 I O空间 可寻址64K字 I O空间映射如下 0000h FEFFh 外部I O空间FF00h FF0Eh 保留FF0Fh FLASH控制方式寄存器FF10h FFFEh 保留FFFFh 等待状态发生寄存器对I O访问和对存储器访问可用IS 信号作为标志 用IN或OUT指令 此时 IS 有效 作外部I O片选 一 寻址方式 TMS320C24x指令集包括三种基本的存储器寻址方式 分别是立即寻址 直接寻址方式和间接寻址方式 1 立即寻址在立即寻址方式中 指令字中包含指令所使用的一个常数 C240支持两种立即寻址 1 短立即寻址 RPT 52 长立即寻址 ADD 17654 3 直接寻址方式 在直接寻址方式中 数据存储器按地址组织为以128个字为单位的若干块 称为数据页 全部64K数据存储器共包含512个数据页 从0到512 在使用直接寻址方式时 包括 9位数据页指针 DP 7位偏移量1 设置数据页2 指明偏移量例如 LDP 66ADD 6 2 直接寻址方式 间接寻址方式TMS320C24x中八个辅助寄存器 AR0 AR8 提供了灵活而强大的间接寻址能力 在使用时 包括 1 设置辅助寄存器指针 ARP 2 指明间接寻址选项 0 3 指明下一个辅助寄存器 可选 例如 MAR AR1ADD AR4 3 间接寻址方式 第3讲TMS320F2407DSP芯片的结构 3 1DSP2407概述3 2系统配置和中断3 3时钟和低功耗模式3 4数字输入输出3 5事件管理器3 6模数转换ADC模块3 7串行通信接口SCI3 8串行外设接口SPI3 9CAN接口3 10看门狗 3 2系统的中断管理 3 2 1中断简介 在正常情况下CPU按照程序预定的路线运行 当外围设备 片内或片外 有事件产生需要CPU来处理时 即发出中断请求信号 CPU暂停工作 保留现场后自动转到该中断请求对应的服务子程序的入口处 执行相应事件的处理程序 待服务子程序运行完毕后返回断点 自动恢复现场 继续执行被打断的程序 因此中断具有随机性 可恢复性及自动处理的特点 计算机采用中断方式 可以节省CPU资源 CPU可以不花时间去逐个寻找外围设备是否需要服务 当有多个中断源时 CPU对各中断的响应需按序进行 因此需要一个中断管理系统对中断源进行管理控制 中断的使用是系统设计中十分重要的问题 中断的设计是一个系统正常运行的关键之一 退出 软件中断 是指由指令INTR NMI TRAP请求的中断 硬件中断 中断 外部中断 由外部引脚引起的中断 内部中断 由片内外设的动作引发的中断 按处理方式分 可屏蔽中断 是指可以通过软件将它们禁止 屏蔽 或允许 使能 的中断 这样就可以通过设置软件的方法屏蔽掉那些不想响应的中断 不可屏蔽中断 是不能通过软件将它们禁止掉的中断 不可屏蔽中断包括所有的软件中断以及两个外部引脚 复位和不可屏蔽中断 这些中断总是被CPU响应的 TMS320LF240 x具有丰富的外设模块 每个外设模块都可以产生中断 为了处理众多的中断 TMS320LF240 x对可屏蔽的中断采用了两级中断处理的方法 将数量众多的外设中断扩展 PIE 映射为具有不同优先级的中断INT1 INT6 退出 3 2 2中断的过程 1 中断的中断服务程序采用两级层次的中断管理 1 从外设来的多个中断请求 PIRQ 在中断控制器处进行或运算 产生一个能被CPU直接识别的中断请求 INTn 2 在外设配置寄存器中 每个产生外设中断请求的事件都有一个中断使能位和中断标志位 如果中断使能位已被置1 则会产生一个从外设到中断控制器的中断请求 2 为了区别不同的外设中断 DSP控制器给每个中断分配了一个特定的入口地址 中断向量 每个外设中断请求有效时都会产生唯一的外设中断向量 该中断向量被装载到外设中断向量寄存器 PIVR 里面 CPU应答时 从PIVR寄存器中读取相应的中断向量 并产生到该中断服务程序入口的跳转 退出 3 实际上DSP有CPU和外设两个向量表 CPU的向量表用来获取响应CPU中断请求的一级通用中断服务子程序 GISR 外设向量表用来获取响应某一个特定外设事件的特定中断服务子程序 SISR 在GISR中读出PIVR中的值 在保存返回地址后 用PIVR中的值来产生一个转移到SISR的向量 4 需注意的是 在进入中断子程序之前 CPU只是保护断点地址 并不保护数据 如果在中断服务子程序中使用了主程序用到的某些内存单元 并且这些数据不允许被子程序改变 那么对这些数据一定要进行保护 保护的方法有两种 一是在子程序执行前 将要保护的一些变量数据或系统状态存放到一个特定的数据区 在子程序结束时再将这些数据返回给这些变量或状态寄存器 另外一种方法是在子程序执行前将需保护的变量数据或系统的状态压入堆栈 在子程序结束时再将堆栈的内容弹出 退出 综之 当某个中断发出请求且允许中断时 则CPU先将当前的PC加l压入堆栈 即保护返回 断点 地址 然后 CPU自动地将该请求中断的向量地址送入PC CPU便转入该请求中断的服务子程序运行 当碰到中断服务子程序的返回指令RET时 CPU自动将堆栈中的返回地址弹出到PC中 恢复中断前的程序继续运行 退出 3 2 3中断向量表和优先级分配 TMS320LF240 x利用CPU支持的6个可屏蔽中断 采用集中化的中断扩展设计来满足大量的外设中断需求 TMS320LF2407的中断源优先级和中断入口地址向量表见下表 退出 从表中可以看出两个相邻的CPU中断向量地址只相差2 要在这个空间中存放中断服务子程序显然是不够的 解决的方法是在这个空间存放一条跳转指令 如B BACC指令 通过这条指令可将程序跳转到真正的中断服务子程序入口处 3 2 4中断管理寄存器 DSP系统对中断的管理是通过中断寄存器来实现的 包括CPU中断寄存器 中断标志寄存器IFR和中断控制寄存器IMR 外设中断寄存器 外部中断控制寄存器三大类 其中 CPU中断寄存器是必须要彻底了解的 1 CPU中断标志寄存器 IFR 位于数据存储器中的0006h处 它记录着所有可屏蔽中断的状态标志 当有任何一个可屏蔽中断被请求时 并且该中断又被使能 则在IFR中的相应标志位被置1 表示该中断正在被挂起 等待响应 因此通过读IFR的相应状态位可以识别哪些中断源被挂起 通过向IFR的相应位写1可以清除该位的中断请求 另外 当CPU响应中断或者器件发生复位时都将IFR标志清除 退出 位5 第6级中断 INT6 标志位 该位用作连接INT6的所有中断标志 位4 第5级中断 INT5 标志位 该位用作连接INT5的所有中断标志 位3 第4级中断 INT4 标志位 该位用作连接INT4的所有中断标志 位2 第3级中断 INT3 标志位 该位用作连接INT3的所有中断标志 位1 第2级中断 INT2 标志位 该位用作连接INT2的所有中断标志 位0 第1级中断 INT1 标志位 该位用作连接INT1的所有中断标志 退出 2 中断控制寄存器 IMR IMR地址为0004h IMR的每一位代表一个可屏蔽中断的控制开关 向相应位写1表示使能 写0表示禁止 因此 为了使能某级中断 应设置相应的IMR位为1 而屏蔽某级中断时 只需将相应的IMR位设为0 位5 第6级中断 INT6 屏蔽位 位4 第5级中断 INT5 屏蔽位 位3 第4级中断 INT4 屏蔽位 位2 第3级中断 INT3 屏蔽位 位1 第2级中断 INT2 屏蔽位 位0 第1级中断 INT1 屏蔽位 退出 3 外部中断控制寄存器 XINT1CR XINT2CR 地址为7070h 用于控制两个外部输入引脚XINT1和XINT2的中断 这两个引脚用于一些特定的外部应急输入 如过电压 低电压 过电流等检测信号的输入 位15 XINT1标志位 当引脚 XINT1 检测到一个所选的跳变时 无论外部中断1是否被使能 该位都被置位 当相应的中断被响应时 该位自动清0 通过软件向该位写1或器件复位时 该位也清0 位2 XINT1极性 该位决定了是在XINT1引脚信号的上升沿还是下降沿产生中断 当该位为0时 在下降沿产生中断 为1时 在上升沿产生中断 位1 XINT1优先级 该位决定了中断优先级 当该位为0时 为高优先级 为1时 为低优先级 位0 XINT1使能位 该位可使能或禁止外部XINT1引脚中断 当该位为0时 禁止 屏蔽 中断 为1时 使能中断 退出 外部中断控制寄存器2 XINT2CR 在数据寄存器中的指定地址为7071h 各位的定义如表所示 各位的具体含义参见外部中断控制寄存器1 XINT1CR 退出 3 2 5中断的实现方法 由前可知DSP的中断请求系统是一个两级层次结构 低级的外设中断请求和高级CPU内核级的中断请求 执行中断时 CPU首先根据CPU级的中断向量表 查明是哪一级的中断请求 然后响应这个内核级的中断请求 这时的中断服务子程序称为通用级中断服务子程序 每个CPU的中断请求都是许多外设级中断请求信号相或后产生的 即每一个外设级的中断请求都可以引起一个CPU级的中断请求 这就是可屏蔽中断的中断复用 DSP还为每个特定的外设中断请求也提供了一个特定的中断向量 偏移向量 当外设引发中断时 会产生一个唯一的外设中断向量 并被装载到外设中断向量寄存器 PIVR 中 因此 当CPU接受到这个中断请求 进入DSP内核级可屏蔽中断的通用中断子程序 GISR 时 可将外设中断向量寄存器 PIVR 中的内容送入累加器中 然后经过跳转指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高绩效团队建设与激励方案设计
- 2025年及未来5年中国方便面行业市场运营现状及投资规划研究建议报告
- 2025-2030中国轻型运动飞机螺旋桨选型配置指南研究报告
- 2025年土木工程月结构考核试题及答案
- 2025年化工原料岗前化学性质试题及答案
- 2026年中国口服液制药设备项目经营分析报告
- 2025年危化品运输考试题及答案
- 2025中国自动驾驶芯片行业市场趋势分析及未来发展预测报告
- 2025中国自动驾驶技术商业化落地及投资机会研究报告
- 辽宁省沈阳市郊联体2024-2025学年高一上学期11月期中考试语文试题
- 2025年大队委选拔笔试题目及答案
- 3-6岁儿童社会发展指导手册
- 心内科猪心解剖课件
- 个人职业规划与生涯发展指南
- 总经理月度经营情况
- 2025年铁路房建段面试题及答案
- 钢结构施工组织设计1
- 2025年建筑安全员C证(专职安全员)考试题库及答案
- 智慧新能源公司管理制度
- 森林防火项目管理办法
- 《糖尿病与心血管并发症》课件
评论
0/150
提交评论