收藏本站
联系我们
群虎论坛
2008年11月21日
 

欢迎光临群虎论坛,一个MICROCHIP DSPIC 16位单片机专业论坛

 

资料下载


资料名称

文件类型

文件大小

加入时间

下载次数

点击下载

 dsPIC30F编程规范

925 KB  

2004-4-9

1096  

 dsPIC30F系列参考手册(中文)

8.58 MB  

2004-4-9

818  

    dsPIC30F CPU 模块采用 16 位(数据)改良的哈佛架构,并带有增强型指令集包含对 DSP 的有 力支持。 CPU 拥有 24 位指令字,指令字带有长度可变的操作码字段。程序计数器 (PC)为 24 位宽,可以寻址高达 4M X 24 位的用户程序存储器空间。单周期指令预取机制用来帮助维持吞 吐量并提供可预测的执行。除了改变程序流的指令、双字移动 (MOV.D)指令和表指令以外,所 有指令都在单个周期内执行。使用 DO 和 REPEAT 指令支持无开销的程序循环结构,这两个指令 在任何时候都可被中断。
    dsPIC30F 器件在编程模型中有 16 个 16 位工作寄存器。每个工作寄存器都可以充当数据、地址 或地址偏移寄存器。第 16 个工作寄存器 (W15)作为软件堆栈的指针工作,用于中断和调用。 dsPIC30F 指令集有两类指令:MCU 类指令和 DSP 类指令。这两类指令无缝地集成到架构中并 从同一个执行单元执行。指令集包括很多寻址模式,指令的设置可使 C 编译器的效率达到最优。 数据空间可以作为 32K 字或 64K 字节寻址,并被分成两块,称为 X 和 Y 数据存储器。每个存储 器块有各自独立的地址发生单元 (Address Generation Unit, AGU)。 MCU 类指令只通过 X 存 储器 AGU 进行操作,可将整个存储器映射空间作为一个线性数据空间访问。某些 DSP 指令通过 X 和 Y 的 AGU 进行操作以支持双操作数读操作,这将数据地址空间分成两个部分。 X 和 Y 数据 空间的边界视具体器件而定。
    可以选择将数据空间存储器映射空间的高32 KB映射到由8位程序空间可视性页(Program Space Visibility Page, PSVPAG)寄存器定义的任何 16K 程序字边界内的程序空间内。 程序空间到数 据空间的映射功能让任何指令都能象访问数据空间一样访问程序空间。另外,在带有外部总线的 器件上可将 RAM 连接到程序存储器总线用来扩展内部数据 RAM。
    X 和 Y 寻址空间都支持无开销循环缓冲器 (模寻址)。模寻址省去了 DSP 算法的软件边界检查 开销。此外,X AGU 的循环寻址可以与任何 MCU 类指令一起使用。 X AGU 还支持位反转寻址, 大幅简化了基 2 (Radix-2) FFT 算法对输入或输出数据的重新排序。
    CPU 支持固有 (无操作数)、相对、立即数、存储器直接、寄存器直接和寄存器间接寻址模式。 每条指令根据其功能要求,与一个预定义的寻址模式组相关。每条指令最多支持 6 种寻址模式。 对于大多数指令,在每个指令周期 dsPIC30F 能执行一次数据 (或程序数据)存储器读操作、一 次工作寄存器 (数据)读操作、一次数据存储器写操作和一次程序 (指令)存储器读操作。因此 可以支持 3 个操作数的指令,使 A + B = C 操作能在单周期内执行。
    DSP 引擎具备一个高速 17 位x17 位乘法器、一个 40 位 ALU、两个 40 位饱和累加器和一个 40 位双向桶形移位寄存器。该桶形移位寄存器在单个周期内至多可将一个 40 位的值右移 15 位或左 移 16 位。 DSP 指令可以无缝地与所有其他指令一起操作,其设计可实现最佳的实时性能。 MAC 指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个W寄存器相乘。这要求数 据空间对于这些指令拆分为两块,但对所有其他指令保持线性。这是通过为每个地址空间指定某 些工作寄存器,以透明和灵活的方式实现的。
    dsPIC30F 具有向量异常(Exception)机制,带有多达 8 个不可屏蔽陷阱源和 54 个中断源。可 以为每个中断源分配 7 个优先级之一。