单片机和PLD有什么联系与区别
当今,数字时代的核心动力便是单片机,DSP ,PLD/ EDA ,以其各自的特点满足了各种需要,推动着信息技术的快速发展。这里将对这三类电子产品分别加以介绍,并作比较和分析。
引言
信息技术正在快速发展,其应用已经深入到各个领域各个方面。如今越来越多的电子产品向着智能化、微型化、低功耗方向发展,其中有的产品还需要实时控制和信号处理。电子系统的复杂性在不断增加,它迫切要求电子设计技术也有相应的变革和飞跃。使用纯SSI 数字电路设计系统工作量大, 灵活性低, 而且系统可靠性差。广泛使用单片机(MCU) 设计系统克服了纯SSI 数字电路系统许多不可逾越的困难,是一个具有里程碑意义的飞跃。而DSP以其极强的信号处理功能赢得了广阔的市场,得到了广泛地应用。近年来,PLD 器件迅速发展,尤其是CPLD/ FPGA 向深亚微米领域进军,PLD 器件得到了广泛应用,以CPLD/ FPGA 为物质基础的EDA 技术诞生了。它具有电子技术高度智能化、自动化的特点,打破了软硬件最后的屏障,使得硬件设计如同软件设计一样简单。它作为一种创新技术正在改变着数字系统的设计方法、设计过程和设计观念。单片机,DSP ,PLD/ EDA 以其各自的特点满足了各种需要,正从各个领域各个层面改变着世界,它们已经成为数字时代的核心动力,推动着信息技术的快速发展。
以下,我们将对单片机,DSP,PLD/ EDA 分别加以介绍,并作比较和分析。
单片机
单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。它与通用处理器不同,它是以工业测控对象、环境、接口等特点出发,向着增强控制功能,提高工业环境下的可靠性、灵活方便地构成应用计算机系统的界面接口的方向发展。所以,单片机有着自己的特点。
品种齐全,型号多样
自从INTEL 推出51 系列单片机,许多公司对它做出改进,发展成为增强型51 系列,而且新的单片机类型也不断涌现。如MOTOROLA 和PHIL IPS 均有几十个系列,几百种产品。CPU 从8 ,16 ,32 到64 位,多采用RISC 技术,片上I/O 非常丰富,有的单片机集成有A/ D , “看门狗”,PWM ,显示驱动,函数发生器,键盘控制等,它们的价格也高低不等,这样极大地满足了开发者的选择自由。
低电压和低功耗
随着超大规模集成电路的发展,NMOS 工艺单片机被CMOS代替,并开始向HMOS 过渡。供电电压由5V 降到3V ,2V 甚至到1V ,工作电流由mA 降至μA ,这在便携式产品中大有用武之地。
DSP芯片
DSP 又叫数字信号处理器。顾名思义,DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,常见的手机、数字电视和数码相机都离不开DSP。DSP用于手机和基站中为移动通信的发展做出重要贡献,将在2. 5G和3G中扮演重要角色。可以说,DSP已经融入到生活的方方面面。
DSP 相对于一般微处理器作了很大的扩充和增强,主要是:
a) 修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。
b) 硬件乘法器以及特殊指令。这是区别于一般微处理器的重要标志。一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS ,MACD 指令等。
EDA 技术
当今电子系统的复杂性在不断增加,而电子产品的更新换代越来越快,传统的设计方法难以适应。随着计算机技术的发展,ECAD 在某种程度上减轻了设计人员的工作压力,但其智能化、自动化水平仍不尽人意。于是EDA 技术作为一种全新的技术诞生了。它正改变着数字系统和设计方法,设计过程和设计观念。
EDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助EDA 工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。这里的目标芯片就是PLD 器件( FPGA/CPLD) 。FPGA/ CPLD 是EDA 技术的物质基础,这两者是分不开的。可以说没有PLD 器件,EDA 技术就成为无源之水。
EDA 技术作为一种现代电子系统开发方式,具有两方面特点。
修改软件程序即可改变硬件
由于FPGA/ CPLD 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,这是非常有用的。软件可以使用自顶向下的设计方案,而且可以多个人分工并行工作,这些年来IP 核产业的崛起,将若干软核结合起来就可以构成一个完整的系统,这一切极大地缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。
速度快,可靠性高
MCU 和DSP 都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/ CPLD 则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLD 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。而MCU 和DSP芯片在强干扰条件下,尤其是强电磁干扰下,很可能越出正常的工作流程,出现PC 跑飞现象。EDA 高可靠性正好克服了它们这一先天不足。
结束语
单片机,DSP和FPGA/ CPLD 各具特色,满足了不同需要,已经成为数字时代的核心动力。为了充分发挥它们的优势,三者结合成为一个新的发展趋势。
MCU 与DSP的结合
MCU 价格底,能很好地完成通信和智能控制的任务,但信号处理能力差。DSP恰好相反。把两者结合,能满足同时需要智能控制和数字信号处理的场合,如蜂窝电话,无绳网络产品等,这有利于减小体积,降低功耗和成本。
DSP 和FPGA/ CPLD 的结合
由于FPGA/ CPLD 兼有串/ 并行工作方式,高速度和宽口径适用性等特点,将DSP与FPGA 集成在一个芯片上,可实现宽带信号处理,极大地提高信号处理速度。另外,FPGA可以进行硬件重构,功能扩展或性能改善非常容易。总之,单片机,DSP , PLD/ EDA 极大地推动了信息技术的发展。要作为一名工程师,必须掌握从系统设计级、电路设计级到物理实现级整个过程分析设计能力,能熟练使用新器件,新的开发工具,并不断更新观念,只有这样,才能适应时代发展,才能把握现在,创造未来!
PLD入门须知的几点小常识!
PLD是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。
PLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。
PLD能做什么呢?可以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。
如何使用PLD呢?其实PLD的使用很简单,学习PLD比学习单片机要简单的多,有数字电路基础,会使用计算机,就可以进行PLD的开发。不熟悉PLD的朋友,可以先看一看可编程逻辑器件的发展历程。
开发PLD需要了解两个部分:1.PLD开发软件 2.PLD本身
1.PLD开发软件
由于PLD软件已经发展的相当完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相当优秀的PLD设计。所以对初学者,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助于提高我们设计的效率和可靠性。
如何获得PLD开发软件软件呢?
许多PLD公司都提供免费试用版或演示版(当然商业版大都是收费的),例如:可以免
费从 上下载Altera公司的 QuartusII (web版),或向其代理商索取这套软件。Xilinx 公司也提供免费软件:ISE WebPack,这套可以从xilinx网站下载。Lattice 提供isplever Base版下载,Actel等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请LISENCE文件,如果您对软件的安装还有不清楚,请仔细阅读相关网页上的说明。 通常这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买商业版软件。
如果您打算使用VHDL或Verilog HDL硬件描述语言来开发PLD/FPGA,通常还需要使用一些专业的HDL开发软件,这是因为FPGA厂商提供的软件的HDL综合能力一般都不是很强,需要其他软件来配合使用。
对于PLD产品,一般分为:基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺的中小规模PLD,以及基于查找表(Look-Up table)技术,SRAM工艺的大规模PLD/FPGA。
EEPROM工艺的PLD(CPLD)密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。
目前有多家公司生产CPLD/FPGA,最大的三家是:ALTERA,XILINX,Lattice, 您可以参阅PLD厂商栏目获得更多信息
2.PLD/FPGA的分类和使用
在PLD/FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件(如 .pof )。如何将编程文件烧到PLD芯片中去呢?
1.对于基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺的PLD(如Altera的MAX系列,Lattice的大部分产品,Xilinx的XC9500,Coolrunner系列), 厂家提供编程电缆,电缆一端装在计算机的并行打印口上,另一端接在PCB板上的一个十芯插头,PLD芯片有四个管脚(编程脚)与插头相连。
它向系统板上的器件提供配置或编程数据,这就是所谓的在线可编程。Byteblaster使用户能够独立地配置PLD器件,而不需要编程器或任何其它编程硬件。编程电缆可以向代理商购买,也可以根据厂家提供的编程电缆的原理图自己制作,成本仅需一,二十元。 早期的PLD是不支持ISP的,它们需要用编程器烧写。目前的PLD都可以用ISP在线编程,也可用编程器编程。这种PLD可以加密,并且很难解密,所以常常用于单板加密。
2.对于基于查找表(LUT,Look-Up table)技术,SRAM工艺的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由于SRAM工艺的特点,掉电后数据会消失,因此调试期间可以用下载电缆配置PLD器件,调试完成后,需要将数据固化在一个专用的EEPROM中(用通用编程器烧写,或者用专用配置芯片),上电时,由这片配置EEPROM先对FPGA加载数据,十几个毫秒到几百个毫秒后,FPGA即可正常工作。亦可由CPU配置FPGA。但SRAM工艺的PLD一般不可以直接加密。
3.还有一种反熔丝(Anti-fuse)技术的FPGA,如Actel,Quicklogic的部分产品就采用这种工艺。但这种的PLD是不能重复擦写,需要使用专用编程器,所以开发过程比较麻烦,费用也比较昂高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,耐高低温,可以加密,所以在一些有特殊要求的领域中运用较多,如军事及航空航天。
为了解决反熔丝FPGA不可重复擦写的问题,Actel等公司在90年代中后期开发了基于Flash技术的FPGA,如ProASIC系列,这种FPGA不需要配置,数据直接保存在FPGA芯片中,用户可以改写(但需要10几伏的高电压)。
随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如Altera最新的MAXII系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。 还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA。
评论
查看更多