ARM、DSP、AVR与C51的比较_dsp与其他51微处理器的优点-程序员宅基地

ARM+DSP与AVR作为现代CPU设计范例,从现代眼光来看,都是非常先进的设计。最重要的是吸取了C51体系所显露出来的问题,在原有系列的基础上,拥有高性能、高速度,甚至是更低的功耗。本论文只针对ARM+DSP、AVR和C51单片机的特点,从不同的侧面进行了比较和阐述。

  1 单片机的介绍

  单片微型计算机(Single-Chip Micmprocessor)是微型计算机(Microcomputer,简称微机)的一个重要分支。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控制器(Microcontroller)。它的体积小,质量轻,价格便宜,为学习,应用和开发提供了便利条件。单片机作为控制部分的核心部件,广泛运用于汽车、红外监控设备、各种电子玩具、各类报警装置、各类军工、航空航天产品等等。

  2 ARM+DSP的优点

  2.1 ARM单片机的优点与ARM处理器的优点

  2.2.1采用RISC架构的ARM单片机的优点

  (1)体积小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。

  2.2.2 ARM处理器的优点

  ARM是微处理器行业的一家知名企业,设计了大量高性能、价格低、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90%以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。其优点是:(1)高性能、低功耗、低价格;(2)丰富的可选择芯片;(3)广泛的第三方支持;(4)完整的产品线和发展规划。

  2.2 DSP的优点

  DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。

  DSP的优点是可程控,修改方便,稳定性好,可重复性好,抗干扰性能好,0/1电平之间的容限大,实现自适应算法,系统特性随输入信号的改变而改变,功耗小,系统开发快,价格低。根据数字信号处理的要求,DSP芯片一般具有以下特点:(1)在一个指令周期内完成一次乘法以及一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

  3 AVR的优点

  采用RISC精简指令集的高速8位单片机,简称AVR。与其它8-Bit MCU相比,AVR 8-Bit MCU最大的特点是:(1)哈佛结构,具备1MIPS/ MHz的高速运行处理能力;(2)超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051MCU采用单一ACC进行处理造成的瓶颈现象;(3)快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适应于使用高级语言进行开发;(4)作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10 mA~20 mA灌电流的能力;(5)片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠;(6)大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;(7)大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁。

  AVR的优点是:(1)简便易学,费用低廉;(2)高速、低耗、保密;(3)L/O口功能强,具有A/D转换等电路;(4)有功能强大的定时器/计算器及通讯接口。

  4 C51的优点

  (1)它从内部硬件到软件有着一套完整的按位操作系统,称作位处理器或者布尔处理器,它的处理对象不是字或字节而是位,这就意味着它不仅能对片内某些特殊功能寄存器的某位进行处理;(2)C51单片机还在片内RAM区间特别开辟了一个双重功能的地址区间,其既可作字节处理,也可作位处理,使用起来灵活方便;(3)优点是乘法和除法指令,这给编程也带来了便利。

    5 C51与ARM+DSP的比较

  作为处理器,C51、ARM、DSP都不是单独作为芯片来提供给用户的,都要加一些外围电路来支持,比如:存储器、控制器、定时器、UART、SH、I2C等,所以从处理器的角度来比较二者:(1)C51是8位的,ARM是32位的,DSP有16位的,也有更高的;(2)从运算能力上看,C51最弱,DSP最强,ARM居中;(3)结构差别较大,C51最简单,是一般的冯诺伊曼结构,ARM9以上的是哈佛结构的RISC,DSP一般使用哈佛结构;(4)C51一般芯片面积非常小,工作频率很低,一般是10多MHz,有的是24MHz,所以功耗低。DSP则频率很高,高达300MHz以上,所以功耗也大。ARM芯片面积也很小,ARM7是0.55 mm2,功耗也较小。频率大约在几十到200MHz之间;(5)C51一般主要应用于不需要太多计算量的控制类系统。一般配有丰富的外围module。DSP则主要应用于需要进行复杂计算的高端系统,例如图像处理,加密、解密,导航系统等,外围module一般较少。ARM是C51和DSP之间的一个折衷;(6)C51的性能远不如ARM和DSP,但仍然占据重要的一席之地,原因就是性能价格比。因为它太成熟了,太小了,太便宜了。而在一些需要复杂计算的领域,DSP也不可或缺。ARM的成功就是他找到了一个折衷点,并且建立了一个非常灵活的商业模型;(7)现在高端产品的一个趋势是ARM+DSP;(8)ARM具有完整的产品线和发展规划:ARM核根据不同应用需求对处理器的性能要求,有一个从ARM7、ARM9到ARM10、ARM11,以及新定义的CortexM/R/A系列完整的产品线。前几年应用较多的主要是基于V4架构的ARM7TDMI、ARM720T、ARM920T核的一些处理器芯片,如NXP的LPC2000系列、ST的STR7/9系列、Atmel的AT91系列和Samsung的S3C系列。近两年,ARM Cortex系列以更好的性能、更低的价格得到快速推广,典型的就是基于CortexM3的STM32系列。ARM CortexM/R/A系列分别针对不同的应用领域。M系列主要面向传统微控制器(MCU/单片机)应用,这类应用面很广,要求处理器有丰富的外设,并且各方面比较均衡;R系列强调实时性,主要用于实时控制,如汽车引擎;A系列面向高性能、低功耗应用系统,如智能手机。选用ARM处理器进行开发,技术积累性较强,生命周期长,设计重用度高,不易被淘汰。用户在选择ARM处理器时,可以针对应用需求,从大量的ARM芯片中选用满足性能、功能要求的产品,以获得较好的性价比。

  6 AVR和ARM的区别

  (1)ARM是IP核,可供各大芯片商集成到各自的设计中;AVR这方面就差点,ATMEL一家别无选择;(2)实际产品成本方面,AVR优于ARM,毕竟AVR是8位机,配什么外设都便宜,由于速度比ARM低,PCB版也好设计,20MHz的数字电路基本上只要通就行了,不用过多考虑信号完整性;而ARM的速度能轻易上100MIPS,32位的CPU也可以,速度上AVR根本没法与ARM相比,不过ARM带来的问题就多了,要4层PCB,而且ARM的外设也贵;(3)功能方面,ARM大大优于AVR,ARM可以做PDA,手机;AVR显然不行。功能上的优势意味着ARM比AVR有着更广的应用范围;(4)外设方面AVR稍强,实际上我们可以看到Atmel公司的基于ARM核的AT91M55800A包括了很多AVR的外设,但还缺TWI/I2C,可变增益ADC,EEPROM等好用的部件。但是,毫无疑问,ARM的外扩外设能力比AVR强的多,所以外设方面两者差不多。操作系统和软件源码资源方面,ARM拜Linux之赐,比AVR有优势点。但AVR上的嵌入式操作系统也不是没有,Uc/OS-Ⅱ就不错;(5)调试手段方面,ARM应该优于AVR,AVR就一个JTAG接口的仿真器可以,但所支持芯片有限,ARM方面书上有相当多的方法调试。

  7 AVR与C51的区别

  (1)速度快AVR是精简指令集单片机,其开关电源模块速度可以达到1MIPS/s,理论上是传统的C51的12倍,实际上在10倍左右;(2)片上资源丰富 MEGA系列片上具备JTAG仿真和下载功能。片内含有看门狗电路、片内程序Flash、片内数据RAM、同步串行接口SPI、异步串口UART、内嵌AD转换器、EEPROM、模拟比较器、PWM定时计数器、TWI(IIC)总线接口、硬件乘法器、独立振荡器的实时计算器RTC、片内标定的RC振荡器等片内外设,可以满足各种开发需求;(3)驱动能力强I/O可以直接驱动数码管、LED、继电器等器件,节省很多外围电路,既节省开发难度,又降低成本;(4)功耗低低功耗虽然比不上430单片机,但也是单片机中佼佼者;(5)可选择型号种类多 各种不同的MTD2002型号可以满足不同的需求,让你的项目有很多的选择余地;(6)性价比高在高性能的前提下,并没有增加芯片的价格,价格可以和C51相比,而功能却是C51不可以比的。

  8 结束语

  目前DSP、AVR、ARM技术应用领域非常广泛,对DSP、ARM、AVR问题的关心仍是产业界流行的趋势。同时,随着新的应用的不断产生,新的嵌入式微处理器也层出不穷,可见ARM微处理器还有很大的发展空间。相信在未来几年DSP+ARM及AVR技术的发展和应用将对我们的工作和生活等各个方面产生更大的影响,所以学习DSP+ARM以及AVR单片机将会很有前途。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/c12345423/article/details/52838143

智能推荐

状态机图 java_文本处理(一)状态机(1)-程序员宅基地

文章浏览阅读176次。系统程序员成长计划-文本处理(一)状态机(1)o 有穷状态机的形式定义有穷状态机是一个五元组 (Q,Σ,δ,q0,F),其中:Q是一个有穷集合,称为状态集。Σ是一个有穷集合,称为字母表。δ: Q xΣQ称为状态转移函数。q0 是初始状态。F 是接受状态集。教科书上是这样定义有穷自动机的,这个形式定义精确的描述了有穷状态机的含义。但是大部分人(包括我自己)第一次看到它时,反复的读上几遍,仍然不知道..._自动门的控制器 有穷状态机

Beyond Compare4如何通过密钥连接SFTP进行文件夹的比较_beyondcompare连接sftp服务器-程序员宅基地

文章浏览阅读1.5k次。在网上搜索了很久没有找到相对应的资源特发布一篇关于此类的文章_beyondcompare连接sftp服务器

AndroidStudio项目提交到github以及工作中实际运用(详细步骤)_guihut readme 加载流程图-程序员宅基地

文章浏览阅读836次,点赞2次,收藏3次。在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。 因为自己也没有做很深的研究,这里就先分享一下通过studio将自己的项目上传到github上的步骤。两个相关概念:git和githubGit是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项_guihut readme 加载流程图

oracle12c1使用远程图形进行安装_麒麟安装oracle12c数据库-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏4次。应为最近安装了好几次了,而且每次使用静默安装12c1版都会失败,所以索性就记录一下图形化安装,方便后期的使用。_麒麟安装oracle12c数据库

office 2016出现错误,无法启动程序。。。是怎么回事?如何解决?_无法启动office 错误代码147-0-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏2次。我刚刚在自己电脑上解决了相同的问题,将方法发上来供参考: 打开“服务”,在里面找到Microsoft Office ClickToRun Service服务,将它关闭,再启动,调成自动; 如果提示无法开启服务也可以这样操作亲测有效..._无法启动office 错误代码147-0

CSU 1558 和与积_多个数的和与积相等 bzoj-程序员宅基地

文章浏览阅读977次。CSU 1558 和与积 Time Limit: 1 Sec Memory Limit: 128 MB Special Judge Submit: 121 Solved: 69 Description构造N个正数(每个数不超过1000000),使所有数的和与所有数的积相差刚好等于D,按非递减序输出。Input多组测试数据(不超过1000组),每行两个正整数N和D。(2<=N<=1000,_多个数的和与积相等 bzoj

随便推点

初始化vector实例的7种方法_创建和初始化vector的方法,每种都给出一个实例?当然也可以把deque与list写出来-程序员宅基地

文章浏览阅读1.4k次。转载 https://blog.csdn.net/qiaoruozhuo/article/details/52086286/* Name: Copyright: Author: Date: 01-08-16 16:01 Description: 初始化vector实例的7种方法 */ #include&lt;iostream&gt; #..._创建和初始化vector的方法,每种都给出一个实例?当然也可以把deque与list写出来

免费开通PTrade与QMT量化交易系统_ptrade交易系统官网-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏12次。免费的券商量化系统开通,急速、安全_ptrade交易系统官网

c语言中set 函数,C里边的STL里边的Set函数-程序员宅基地

文章浏览阅读2.2k次。set函数的用法:这是一个集合函数,这个函数可以处理很多的元素,这些元素可以去重,把相同的元素都去掉,剩下不一样的元素,而且还可以自动给这些元素来排序,从小到大的顺序来排序。这里我们先来举个例子:比如:#include #include using namespace std; int main() { set a; a.insert(1); a.insert(9); a.insert(6); a..._c语言set

牛笔了!字节跳动大佬整理:CSS 核心知识(万字长文,值得收藏!)_字节跳动公司 reset css-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏14次。本篇文章围绕了 CSS 的核心知识点和项目中常见的需求来展开。虽然行文偏长,但较基础,适合初级中级前端阅读,阅读的时候请适当跳过已经掌握的部分。这篇文章断断续续写了比较久,也参考了许多优秀的文章,但或许文章里还是存在不好或不对的地方,请多多指教,可以评论里直接提出来哈。小tip:后续内容更精彩哦。核心概念和知识点语法CSS 的核心功能是将 CSS 属性设定为特定的值。一个属性与值的键值对被称为声明(declaration)。color: red;复制代码而如果将一个或者多个声明用 {} _字节跳动公司 reset css

Shell读取mysql数据_while read -a row+读取sql查询结果+shell-程序员宅基地

文章浏览阅读762次。今天有个需求需要写个shell读取mysql记录,操作一些文件,搜索了一下踩了些坑记录一下shell2.0写法注释:注意"done< <(“的写法,第一个”<“要和"done"之间没空格,两个”<“之间有一个空格,”<" 和"("之间没空格COMMAND1="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME}e.g.while read -a rowdo echo "._while read -a row+读取sql查询结果+shell

汉明码_cdsn 汉明-程序员宅基地

文章浏览阅读4k次,点赞7次,收藏37次。汉明码实现原理汉明码(Hamming Code)是广泛用于内存和磁盘纠错的编码。汉明码不仅可以用来检测转移数据时发生的错误,还可以用来修正错误。(要注意的是,汉明码只能发现和修正一位错误,对于两位或者两位以上的错误无法正确和发现)。汉明码的实现原则是在原来的数据的插入k位数据作为校验位,把原来的N为数据变为m(m = n +k)位编码。其中编码时要满足以下原则:2^k - 1 &gt..._cdsn 汉明