我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 626|回复: 0

单片机与DSP结合的dsPIC芯片 - 单片机/处理器 - 电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:19:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<strong>1 dsPIC的产生</strong>

目前,在自动检测、控制等领域正掀起应用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芯片内部结构图


<ignore_js_op>





2010-3-8 14:24:26 上传
<strong>下载附件</strong> (53.03 KB)




</ignore_js_op>


<strong>2 dsPIC30F与PIC16F87X的比较</strong>

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位的),整个指令系统共分成三类——字节操作类、位操作类以及立刻数操作和控制操作类,支持立即数寻址、寄存器间接寻址、直接寻址和位寻址四种寻址方式,但由于这样寻址种类的划分依据是操作数的来源,因此并非每条指令都可以支持这四种寻址方式,例如,位操作类的指令就只能采用位寻址方式。对PIC16F87X系列单片机,其指令的操作个数最多只能是两个,另外,再加上这种系列单片机不提供对DSP的支持,那么在数字信号处理速度方面,同dsPIC30F相比显然要慢很多。

dsPIC30F芯片的数据空间被一分为二,分别以X和Y数据存储器进行引用,可以作为32K字(word)或64KB(byte)进行寻址。每个存储器块都有自己独立的地址产生单元(AGU)。单片机类的指令仅单独通过X存储器的AGU单元进行操作,把整个存储器作为一个线性的数据空间进行寻址。而DSP类指令的乘法累加器(MAC)是通过X和Y的AGU共同操作的,这样就将数据地址空间分成相对独立的两部分。不过,这样的X和Y的数据空间边界是任意的,且是由芯片自身特性决定的。数据空间存储器高位的32KB,通过定义8位程序空间可见页面寄存器PSVPAG(Program Space Visibility Page),任意的16位程序字边界中随意地被映射到的程序空间低位(用户空间),这样就使得任何指令能够像访问数据空间一样访问程序空间。不过,采用这种方式访问的执行时间比一般的访问方式要多一个周期。而且,只有每条指令字的低16位才可以使用这种方法访问。PIC16F87X系列单片机的数据存储器分成多个存储区。每个存储区由通用寄存器和专用寄存器两部分组成。存储区之间的选择是通过定义状态寄存器STATUS的RP0和RP1位进行的,每个存储体最多只能达到128字节。

dsPIC芯片不支持多级指令流水线,而采用单级指令预取机制,就是在可利用的最大执行时间前的一个周期访问指令。因此,dsPIC芯片大多数指令是单周期的。此外,dsPIC30F芯片还有一个特征,就是含有由61个区分优先级的向量组成的矢量异常处理结构,这些异常情况包括复位(RESET)、6个捕捉以及54个中断。

<strong>结语</strong>

dsPIC器件的开发有助于缓解16位单片机和低端数字信号处理器(DSP之间的性能差,是传统16位单片机应用的理想解决方案。与此同时,随着控制技术日趋复杂化,越来越多的工业系统要使用DSP精确控制实时响应,以及现有产品要求增加更多功能,以增强I/O易用性和安全接入,dsPIC必将在高性能数字信号控制器市场占据重要一席之地。同时,随着多种dsPIC产品系列的不断迅速开发,以及愈加完善的开发工具、应用系统库、现场应用工程技术和综合技术等的产品,dsPIC一定会得到广大用户的青睐。

<strong>参考文献</strong>
1. Microchip Technology Inc dsPIC30F Programmer'sReference Manual
2. Microchip Technology Inc dsPIC30F Data Sheet--High-Performance Digital
Signal Controllers
3. Microchip TechnologyInc.刘和平 PIC1 6F87X数据手册-28/40脚8位Flash单片机
  2001

作 者:福州大学 陈翔宇 江和
来 源:单片机与嵌入式系统应用2003(7)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表