ADSP-219xDSP内核特点:6.25ns指令周期时间(内部),可持续工作在高达160MIPS,与ADSP-218x家族的代码兼容,并有相同易用的代数语法,单周期指令执行,多达16M字的可寻址内存空间,编址宽度为24位,对指令和数据存储的双目的程序内存,完全透明的指令缓存,允许在每个指令周期内取入两个操作数,统一的内存空间允许使用两组独立的DAG单元灵活的编址,独立的ALU,乘法器/累加器,和具有双40位累加器的桶形移位器计算单元,两套计算单元和DAG寄存器之间的单周期环境转换,并行执行计算和内存指令,流水线结构支持高效的代码,执行速度可达160MIPS,寄存器文件计算具有全部无条件、无并行的计算指令,强大的程序定序器提供零开销循环和条件指令执行,针对编译的C代码效率的结构增强。ADSP-2191DSP特点:64K字的片内RAM,配置为32K字的片内24位RAM和32K字的片内16位RAM,结构增强超过了ADSP-218x家族,由针对于增加的寄存器、端口和外设的指令集扩展来支持灵活的电源管理,有可选的下电和空闲模式,可编程PLL,支持1×和32×倍频,以低速时钟输入使能全速运行。2.5V内部运行支持3.3V适应的I/O三个全双工多通道串行口,每个都具备A律和μ律压扩硬件,支持H.100标准两个SPI兼容的端口,具有DMA能力16个通用I/O引脚(8个专用的/8个可外部存储器接口编程的),具有集成的中断支持三个可编程32位内部计时器,具有脉宽计时、PWM发生和对外时钟驱动计时器的能力多达11个DMA通道,能够在任意给定的时刻激活主机端口,具有DMA能力实现高效无粘滞的主机端口(16位传输)。外部存储器接口的特点包括:对数据和指令可从DSP到外部存储器的直接存取。支持从/到外部存储器的DMA块传输。分离的外设存储器空间,具有对224K外部16位寄存器的并行支持。4个通用存储器选择信号,提供对各个外部存储器组的访问。组的边界和大小是用户可编程的。可编程的等待状态逻辑,具有ACK信号和分离的读和写等待计数。等待模式的完成支持ACK和/或者等待计数的所有组合方式。I/O时钟速率能被设置为外部时钟的1,2,4,16,或者32分频,实现与慢速的存储设备的接口。提供了地址翻译和数据字打包,以支持8或者16位的外部数据总线。可编程的读写选通极性。对于四个通用的、外设和引导存储器的分离的配置寄存器。总线申请和授权信号支持外部设备使用外部总线。引导方法包括通过外部存储器接口,SPI端口,UART端口,或者主机端口IEEEJTAG标准1149.1测试访问端口支持片内仿真和系统调试144线LQFP封装(20×20×1.4mm)和114线小型BGA封装(10×10×1.25mm)。DSP内核的体系结构:ADSP-2191指令集提供了灵活的数据移动和多功能(一个或两个数据移动并计算)指令。每一个条单字指令都能在单个处理器周期内执行。ADSP-2191汇编语言使用了一种代数语法,易于编写和阅读。有一整套开发工具用于支持程序开发。ADSP-219x内核的体系结构包含了三个独立的计算单元:ALU,乘法器/累加器(MAC),以及移位器。计算单元处理来自于寄存器文件的16位的数据并且为支持多精度计算做准备。ALU执行一套标准的算术和逻辑操作;除法的原语也是被支持的。MAC执行单周期乘法,乘加,以及乘减操作。MAC有两个40位的累加器,可以处理溢出问题。移位器执行逻辑和算术移位,规格化,反向规格化,以及指数求导操作。移位器能用来高效地执行数值格式控制,包括多字和块浮点表示。寄存器用法规则影响到输入和结果在计算单元里面的存放。对大多数操作来说,计算单元的数据寄存器的作用相当于一个数据寄存器文件,允许任何输入或结果寄存器向计算中任何单元提供输入。为了反馈操作,计算单元使任何单元的输出(结果)在下一个周期成为任何单元的输入。对于条件或者多功能指令,数据寄存器在向每一个计算单元提供输入或者从每一个计算单元接收结果时,有一些限制。一个强大的程序定序器控制指令执行的流程。定序器支持条件跳转,子程序调用,以及低级中断开销。借助于内部循环计数器和循环堆栈,ADSP-2191执行循环代码时没有额外的系统开销;不需要显式的跳转指令来维持循环。两个数据地址发生器(DAGs)为同时取双操作数(从数据存储器到程序存储器)提供地址。每个DAG维持和更新四个16位的地址指针。每当指针用来访问数据(间接寻址)的时候,它就会预先或者之后被修改,赋予四个可能的修改寄存器之一的值。一个长度值和基址会与每一个指针关联到一起,以执行环式缓冲区的自动模二寻址。DAG中的页寄存器允许对以64K字为边界的256个存储器页面中的任一页进行环式寻址,但是,这些缓冲区不可以交叉页边界。次级寄存器复制DAG中的所有的主寄存器;主次寄存器之间的切换提供了快速的环境切换。内核中,高效的数据传输通过内部总线完成:程序存储器地址(PMA)总线程序存储器数据(PMD)总线数据存储器地址(DMA)总线数据存储器数据(DMD)总线两个地址总线(PMA和DMA)共用一个外部地址总线,允许存储器进行片外扩展,另外,两个数据总线(PMD和DMD)共用一个外部数据总线。引导存储器空间和I/O存储器空间也共用这些外部总线。程序存储器能够存储指令和数据,允许ADSP-2191在单个周期内取两个操作数,一个来自于程序存储器,另一个来自于数据存储器。DSP的双存储器总线也使得ADSP-219x可以在单个周期内从数据存储器中取得一个操作数,同时从程序存储器中取得下一条指令。DSP外设的体系结构DSP的片内外设,包括外部存储器接口,主机端口,串行口,SPI兼容端口,UART端口,JTAG测试和仿真端口,计时器,标志,以及中断控制器。这些片内外设能够连接到片外设备,如下图(见本文档最后一图)所示。ADSP2191有一个16位的主机端口,它具有DMA能力,使得外部主机可以访问片内存储器。这个24针的并行端口由一个16针的数据/地址复用总线构成,并且提供了低级服务开销的数据移动能力。这个端口可配置为8位的或者16位的,提供了对于多种8位和16位微控制器的无粘滞接口。两个片选使得主机可以访问DSP的整个存储器映射。DSP可以通过这个端口引导。ADSP-2191还有一个外部存储器接口,由DSP内核、DMA控制器和具有DMA能力的外设所共用。具有DMA能力的外设包括UART,SPORT0,SPORT1,SPORT2,SPI0,SPI1,以及主机端口。外部端口由一个16位数据总线、一个22位地址总线和控制信号构成。数据总线是可配置的,提供与外部存储器的8位或16位接口。由于支持字打包,使得DSP可以存取外部存储器的16或者24位字,而无需考虑外部数据总线的宽度。当配置为8位的接口,未使用的8根线提供8个可编程的双向通用的可编程标志线,其中6个能够映射为软件条件信号。存储器DMA控制器使得ADSP-2191可以从两个存储空间中移动数据和指令:内部到外部,内部到内部,以及外部到外部。片内外设也能够使用这个控制器实现DMA传输。ADSP-2191能够在任一给定时刻响应多达17个中断:3个内部的(堆栈、仿真器内核、和下电),2个外部的(仿真器和复位),以及12个用户定义的(外设)中断。程序员给一个外设分配12个用户定义中断其中之一,这些分配决定了每一个外设中断服务程序的优先级。ADSP-2191有3个串行端口,提供了完全同步全双工串行接口。这个接口包括硬件上可选的压扩和多种打帧或未打帧的数据传送和接收的操作模式。每一个串行端口都能够传送或者接收一个内部的或外部的可编程串行时钟和帧同步。每一个串行端口支持128通道的分时复用。ADSP-2191提供了多达16格通用的I/O引脚,可编程作为输入或输出。其中8个是专用的通用的可编程标志引脚。另外8个是多功能引脚,当DSP连接到8位的外部数据总线的时候,作为通用的I/O引脚,而当DSP连接到16位外部数据总线的时候,作为高8位数据引脚。这些可编程标志引脚能够实现沿触发或电平触发的中断,某些可以用来作为条件指令执行的基础。三个可编程内部计时器产生周期性的中断。每个计时器都能独立地设置,运行在三种模式之一:(1)脉冲波形发生模式(2)脉宽计数/捕获模式(3)外部事件看门狗模式每个计时器都有一个双向引脚和4个寄存器来实现其运行模式:一个7位的配置寄存器,一个32位的计数寄存器,一个32位的周期寄存器,以及一个32位的脉宽寄存器。一个状态寄存器支持全部三个计时器。模式状态寄存器中的一位可以全局地使能或禁止全部三个计时器,而在每一个计时器的配置寄存器中的一位可以独立地使能或禁止相应的计时器。存储器的体系结构ADSP-2191DSP提供了64K字的片内SRAM内存。这个内存分为两个32K的区域,在DSP的内存映射中,定位在内存的第0页。除了内部和外部存储空间以外,ADSP-2191能够对两个附加的分离的片外存储空间进行编址:I/O空间和引导空间。如上图所示,DSP的两个内部存储区域填充了整个第0页。整个DSP存储映射由256页(第0-255页)组成,每一页的长度为64K字。外部存储空间由4个存储器组(第0-3组)组成,可以支持多种SRAM存储设备。每一组都可以用存储器选择引脚(MS3-0)进行选择,并具有可配置的页边界,等待状态,以及等待状态模式。1K字的片内引导ROM填充了第255页的顶端,其余的254页可编址为片外地址。I/O存储器页面与外部存储器页面不同,因为I/O页面的长度是1K字,而外部I/O页面有它们自己的选择引脚(IOMS)。I/O存储空间的第0-31页在片内,并且包含外设的配置寄存器。ADSP-2191和具有DMA能力的外设都可以访问DSP的整个存储映射。内部(片内)存储器ADSP-2191的统一的程序和数据存储空间由16M单元组成,可以通过两个24位的地址总线(PMA和DMA总线)访问。DSP使用略微不同的机理,为每个总线产生24位的地址。DSP有三个功能来支持对整个存储映射的访问。(1)为从整个DSP存储地址范围内取数据,DAG产生24位的地址。因为DAG索引(地址)寄存器宽度是16位,只能保持地址的低16位,所以,每一个DAG都有其自己的8位的寄存器(DMPGx),来保持地址中的高8位。在DAG产生地址之前,程序必须将DAG的DMPGx寄存器设置到正确的存储器页面上去。(2)程序定序器为取指令产生地址。对于相对寻址指令,如相对跳转、调用和循环,程序定序器将地址基于24位的程序计数器(PC)。在直接寻址指令中(双字指令),指令提供了一个24位的立即地址值。PC允许在整个24位地址范围内线性寻址。(3)对于间接跳转和调用,它们使用了16位的DAG地址寄存器存放分支地址的一部分,程序定序器依赖于8位的间接跳转页(IJPG)寄存器来提供地址的高8位。在页间跳转或调用之前,程序必须将程序定序器的IJPG寄存器设置到正确的存储器页面去上。ADSP-2191有1K字的片内ROM,保存有引导程序。如果选择了外设引导,DSP则从片内引导ROM开始执行指令,从而从选定的外设启动引导过程。更多的信息,请参见第14页的引导模式。片内引导ROM位于DSP存储空间映射的第255页。外部(片外)存储器ADSP-2191的每一个片外存储空间都各自有一个控制寄存器,这样应用中可以对每一个空间配置唯一的访问参数。访问参数包括读写等待计数,等待状态完成模式,I/O时钟分频率,写保持时间拓延,选通极性,以及数据总线宽度。内核时钟和外设时钟频率会影响到外部存储器访问选通的宽度。片外存储空间是:(1)外部存储空间(MS3-0)(2)I/O存储空间(IOMS引脚)(3)引导存储空间(BMS引脚)。所有这些片外存储空间都可以通过外部端口访问,可以配置为8位或者16位。外部存储空间外部存储空间由4个存储器组构成。这些组都包含有数量可配置的64K字的页面。复位时,外部存储器的页边界为第0组包含第1-63页,第1组包含第64-127页,第2组包含第128-1