具有DSP功能的16位微控制器80296SA
扫描二维码
随时随地手机看文章
摘要:80296SA是INTEL公司推出的带有DSP功能的16位微控制器,很适合于应用在需要进行数字信号处理的场合。文中介绍了80296SA的特性以及它特有的DSP功能。并给出80296SA在有关测控系统的CPU板上的应用实例。
关键词:DSP 微控制器 测控系统 80296SA
X86改变了处理器的设计。现在INTEL又将这一技术应用于16位微控制器80196系列之中,并开发了新一代的单片机80296SA.它结合了 80196的基本结果以及一个具有指令流水线的RISC技术,并经过重新设计和产生而成。该器件在许多方面有重大改进,因而使它在性能上更加适合于嵌入式测控系统的应用。
1 性能特点
80296SA是在80196结构的基础上重新设计的,因此,它的指令系统与早期的MCS96系列单片机二进制代码兼容,并在其基础上有所增加。其管脚与 80196NP和80196NU的管脚兼容。它的四段指令流水线能在同一时刻分别完成四条指令的取指、译码、读——运行以及运行——写操作。因而大大提高了指令的运行效率。它的时钟频率可以高达50MHz。80296还包括一个锁相环电路(PLL)。因此,外部时钟能以最大的内部时钟频率的1/2或1/4 输入来驱动器件。当运行频率为50MHz时,可以通过管脚选择25MHz或12.5MHz晶体来连接。80296SA的运行速度是标准的80196的5 倍,是80196NU的2倍。
80296SA内含一个512字节的内部寄存器存储区,分为高、低两个区域,各占256个字节。低端的0H到17H地址区为特殊功能寄存器(SFR)。低端寄存器区可以使用指令对其直接寻址,高端寄存器区则需要使用间接寻址方式。当然,通过使用窗口寄存器方式寻址,可将高端寄存器区映象到低端寄存器区的一些相应位置,因而也可以对其直接寻址。通过改变窗口可以使设计者快捷方便地进行编程。
80296SA还有一个内部的2k字节的代码/数据SRAM。它的地址映象在F800H-FFFFH区域。这些RAM用于存放时间性高的代码,例如中断服务子程序。也可存放时间性强的数据,如嵌入数字信号处理的数据表格、堆栈或中断向量表等。它的特点是处于器件内部,不必对数据和地址总线访问,存取速度快。设计者可以根据需要决定它的用途。这个存储器区也可以使用窗口寄存器方式将部分地址映象到低端寄存器存储区进行直接访问。
窗口是80196系列特有的一项工艺。它用来扩展那些被寄存器直接寻址方式存取的寄存器的数据。直接寻址能够使用短的、快速的指令访问低端寄存器区。有了窗口,直接寻址也可以访问高端寄存器和外围接口SFR。80296SA使用80196已有的窗口选择寄存器WSR选择窗口,另外还增加了一个窗口选择寄存器WSR1,这使得编程更加灵活。
表1 80296SA增加的指令
80296SA的外围接口包括一个事件处理阵列(EPA)(用于从事与两个带有4个捕捉/比较通道的定时器计数据器TIME1和TIME2相联系的I/O 功能)、三个通道PWM信号发生器(高达193kH在、一个带有波特率发生器的SIO串行接口以及6个片选的存储器控制器。外围接口SFR是I/O的控制寄存器,地址在1F00H~1FFFH,可以设置为窗口。80296SA还包括一个总线出让电路,允许一个外部器件对总线控制。另外,80296SA还有一个中断控制器。设计者既能象早期MCS96中断一样编程控制,也可按中断优先权排列编程控制。中断向量表分为低区(FF2000H~FF2007H)和高区(FF2030H~FF203FH)两个区域,用来存放中断服务程序的首地址。
80296SA的外部存储器接口是由20位地址线、16位的数据总线及6个片选组成。数据总线可通过编程设置为8位/16位宽度,等待状态为0到15。每一个片选最大可寻址范围为1M字节。可以使用80196扩展的指令(如ELD,EST,EJMP,ECALL等)对大于64k的存储空间进行操作。因此,80296SA具有6M字节连续的程序/数据存储器。地地空间为000000H~FFFFFFH,程序代码运行开始地址为FF2080H。
80296SA采用100脚QFP封装,它的管脚与80C196NU和80C196NP管脚兼容。
2 数字信号处理(DSP)
80296SA与早期的80196系列产品的最大区别在于它更适合于数字信号处理(DSP)方面的应用。数字信号处理(DSP)是一种使用数学算法去分析研究和解决复杂的数字信号信息的方法。FIR滤波器设计是一个基本的处理算法,与其相关的运算包含大量的循环和乘/累加运算。80296SA重新设计的结构恰好适应了这些特性,
它能很好地完成高达12.5MIPS的DSP内部循环操作以及乘/累加(MAC)操作。80296SA有一个40位的累加器,这是80296SA特有的,可用于存放乘/累加(MAC)运算的32位结果。另外,增加了3对索引寄存器(IDX0,IDX1,ICB0,ICB1,ICX0,ICX1)以及一个硬件循环计数器。充分使用这些资源,再加上合适的软件算法可以精确地完成DSP运算功能,并使80296SA能够快捷地查询和修改数据表中的数据。INTEL 的工程师根据DSP运算的需要为它的指令系统增加了17条指令,这些增加的指令的操作符及功能如表1所列,利用这些指令可以有效地支持一个40位的累加器、硬件循环控制以及80ns乘/累加(MAC)的自动指针递增/递减。其中,乘/累加指令二进制操作代码与乘法指令MUL、MULU相同,差别在于它们目标码的最低4位。
3 典型应用
近年来,随着工业测控系统的不断发展,越来越多的精密控制器被应用到工业企业中以代替传统的控制方式。这就需要使用高性能的单片机80296SA,图1为一个电力系统监控装置的CPU板方框图。它的时钟输入频率为112.5MHz,将80296SA的PLLEN1和PLLEN2两个管脚接地可将器件设置为四倍频,这样,其运行速度将达50Mz。片选CS0选通2片FLASH存储器AMD29F040-70,寻址范围为512k字空间,设置为一个等待状态。起始地址F00000H用于存放用户程序;片选CS1选通2片HM628512-50,寻址512k字空间,设置为一个等待状态。起始地地000000H 用来存放数据,如果要使数据在掉电时不丢失,可使用后备电池及切换回路为HM628512供电;如果存储器存取时间小于35ns,则无需等待。这样可提高主机的效率,但是器件价格将有较大提高。其他片选可用于选择I/O及A/D口。