微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机与DSP结合的dsPIC芯片介绍

单片机与DSP结合的dsPIC芯片介绍

时间:04-29 来源:3721RD 点击:

1 dsPIC的产生

目前,在自动检测、控制等领域正掀起应用DSP的热潮。DSP(Digital Signal Processor)即数字信号处理器,是在数字信号处理的各种理论和算法的基础上发展起来的,用于完成各种实时数字信息的处理。20世纪80年代初,随着微电子技术的展,DSP就应运而生了。DSP器件的出现,使得各种数字信号处理的算法得到了实现。DSP器件不但使数字信号处理得到了实际应用,而且还拓宽到了系统控制领域,从而诞生了一大批新型的电子产品。DSP技术的迅速普及,也为今天的信息高速公路建设奠定了基础。

DSP器件的数字信号处理大致有如下特点:①可程控,可以只设计一个硬件配置,然后设计各种软件来执行多样的信号处理任务;②稳定性好,没有时漂、温漂;③可重复性好,无论多少台计算机去计算同一序列的和,都会提供一模一样的结果;④易于实现自适应算法;⑤基于大规模的集成电路。

这样就不难看出,单片机和DSP各有特点。前者控制功能强,后者数字信号处理能力强,因而,将高性能16位单片机加上DSP功能,就产生了 dsPIC芯片。DsPIC是一种将单片机的特征同数字信号处理器(DSP)的能力结构在一起的器件。它在异步事件处理能力、精密仿真、常见的开发环境以及外围部件等方面都表现出DSP强大的性能。

为了缩小单片机同DSP之间的性能差异,使客户能方便地将单片机的功能转移到DSP上,Microchip公司推出了dsPIC。目前推出的产品主要有dsPIC30FXXX系列。考虑到DSP和单片的内部区别,dsPIC器件将高性能16位单片机的控制特点和DSP高速运算的优点相结合,为嵌入式系统设计提供了适合的,单芯片、单指令流的解决方案。它消除了目前类似设计中所需求的额外组成部分,从而减小了印制板空间,也降低了系统成本 dsPIC30FXXX高性能单片要同系列可以应用于非常广阔的范围,包括马达控制、因特网接入器件、汽车产品、功能电路、数字应答机、低速软件调制解调器、线卡、POS终端、自动售货机、生物测定安全装置、不间断电源、电源管理和自然语音输入/输出等等。

由于dsPIC兼容了单片机和DSP芯片这两类产品的优点,因此它具有下列特点:
*丰富的外围部件;
*完整的DSP引擎;
*改进的中断能力;
*Flash存储器,灵活的重编程能力;
*强大的开发环境;
*引脚数少;
*使用优化的高级语言;
*方便PIC系列单片机用户移植现有的代码;
*熟悉的类似单片机的用户开发平台。

此外,dsPIC还可以支持4M×24位的可寻址Flash程序存储体,以及32K×16位的数据存储空间。相对于其它许多单片机的5V供电及DSP的3.3V供电,dsPIC的供电电压是2.5~5.5V。

图1 dsPIC芯片内部结构图

2 dsPIC30F与PIC16F87X的比较

dsPIC30F芯片采用16位(数据)改进型--非流水线的哈佛RISC结构,芯片具体结构如图1所示。程序计数器(PC)为24位宽,可以寻址4M×24位的程序存储器空间。而PIC16F87X系列单片机采用的是8位流水线哈佛结构,有一个13位宽的程序计数器PC,最大只可寻址8K的程序存储器空间。

DsPIC30F有16个16位的工作寄存器(W0~W15)。每个工作寄存器都可以作为数据、寻址或移位寄存器来操作。其中,第16个工作寄存器(即W15)作为中断和程序调用的堆栈指针。PIC16F87X系列同其它种类的PIC机一样,只含有一个用于ALU的8位W工作寄存器,相当于一般单片机的A累加器,是不可寻址的。

dsPIC30F指令字是24位的,其指令系统有很大的增强,最大特点就是包含了对DSP的支持。因为这种DSP引擎具有1个高速的16位与 16位相乘的乘法器、1个40位的ALU、2个40位的饱和累加器(saturating accumulator)以及1个40位的双向移位器,因而能够明显提高芯片算法能力和周期。由此,这种芯片的指令系统就分成两大类--单片机类和DSP 类。这种指令系统基于高效的C编译器,支持固有寻址(无操作数)、相对寻址、立刻寻址、存储器寻址、寄存器直接寻址、间接寻址和移动寻址7种方式。每条指令都同预先定义的寻址方式有关,而这些预定义的寻址方式是由特定功能需求决定的,且每条指令都支持这7种寻址方式。对于大多数指令,dsPIC30F芯片在每个指令周期能够执行数据(或程序数据)存储器读操作、工作寄存器(数据)读操作、数据存储器写操作以及程序(指令)存储器读操作。因此,它可以支持3 操作数的指令,比如,在一个周期内可以完成A+B=C的操作。而PIC16F87X系列单片机每条指令长14位(其它系列指令字长也12位或16位的),整个指令系统共分成三类--字节操作类、位操作类以及立刻数操作和控制操作类,支持立即

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top