ARM+DSP、AVR与C51的比较

发布者:荣耀使者最新更新时间:2012-07-11 来源: 山西电子技术 关键字:ARM  AVR  DSP  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功能,方便升级或销毁。[page]
    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单片机将会很有前途。
关键字:ARM  AVR  DSP  C51  单片机比较 引用地址:ARM+DSP、AVR与C51的比较

上一篇:基于CC1100和MSP430的无线UART实验设计
下一篇:基于Pspice的放大器环路的稳定性分析

推荐阅读最新更新时间:2024-03-16 13:03

ARM嵌入式系统的学习步骤
ARM嵌入式系统的学习步骤 对于很多新手来说,不知道ARM嵌入式系统如何入门?怎样一步步的去学习?接下来凌阳教育嵌入式培训网就详解的为大家介绍:关于ARM嵌入式系统学习步骤: 1.做个最小系统板:如果你从没有做过ARM的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在arm的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。 2.写启动代码,根据硬件地址先写一个能够启动的
[单片机]
ARM汇编编程基础之二-流水线对PC值的影响
CPU模型图,源自 http://teach.jwc.bupt.cn:4213/jsjzcyl/resource/cai/素材库/fig/Flash/5.1.swf 从上图中我们看到CPU内部有3个主要组成部分:指令寄存器,指令译码器,指令执行单元(包括ALU和通用寄存器组)。 CPU在执行1条指令的时候,主要有3个步骤:取指(将指令从内存或指令cache中取入指令寄存器);译码(指令译码器对指令寄存器中的指令进行译码操作,从而辨识出该指令是要执行add,或是sub,或是其它操作,从而产生各种时序控制信号);执行(指令执行单元根据译码的结果进行运算并保存结果) 现在我们假设一下:CPU串行执行程序(即:
[单片机]
ARM入门笔记(3)
点亮我的LED ――I/O输出实验 一.背景 当完成上述实验后,我就可以像使用51单片机那样,在C文件的main()函数中通过设置相应的寄存器来达到对相应外设(如I/O的输入、输出等)的控制目的。 二.实验目的 通过控制PIO的相关寄存器,使特定的I/O口输出高电平和低电平,来点亮LED。 三.实验程序和参数设置 1 连接器选项设置 RO Base = 0x00200000; RW Base = 0x00202000; Image entry point=0x00200000; 2 启动代码 启动代码与第一个实验中修改后的相同,即将 __main() 改成main()。 3 C语言的代码 #i nclude
[单片机]
C51单片机interrupt和using的使用
8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务 处理程序。中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输入/输出中断共用一个中断向量。8051的中断向量表如下: 中断源 中断向量 上电复位 0000H 外部中断0 0003H 定时器0 溢出 000BH 外部中断1 001
[单片机]
关于嵌入开发中ARM的C代码优化
======================================================= C数据类型 1. C语言的程序优化与 编译器 和硬件系统都有关系,设置某些编译器选项是最直接最简单的优化方式。在默认的情况下,armcc是全部优化功能有效的,而GNU编译器的默认状态下优化都是关闭的。ARM C编译器中定义的char类型是8位无符号的,有别于一般流行的编译器默认的char是8位有符号的。所以循环中用char变量和条件 i ≥ 0时,就会出现死循环。为此,可以用fsigned - char(for gcc)或者-zc(for armcc)把char改成signed。 其他的变量类型如下: char
[单片机]
c51与汇编语言的接口
1.c51与汇编语言的模块内接口 有时候,需要使用 汇编语言 来编写程序,比如对硬件进行操作或在一些对时钟要求很严格的场合,但又不希望用汇编语言来编写全部程序或调用汇编语言编写的函数,那么可以通 过预编译指令 asm',在C代码中插入汇编代码。 方法是用#pragma语句。具体结构是: #pragma asm 汇编行 #pragma endasm 这种方法是通过#pragma asm和#pragma endasm告诉c51编译器,中间行不用编译为汇编行。例如: 2.c51与汇编语言的模块间接口 C51模块与汇编语言模块的接口较简单,分别用C5l与A51对源文件进行编译,然后用L51连接obj文件即可。模块
[单片机]
arm处理器异常处理swi
ARM处理器共有7中运行模式: 用户模式(usr) -- 正常程序执行模式 |-- |-- 快速中断模式(fiq) -- 用于高速数据传输和通道处理 特 | 异 | 外部中断模式(irq) -- 用于通常的中断处理 权 --| 常 --| 管理员模式(svc) -- 供操作系统使用的一种保护模式 模 | 模 | 数据访问中止模式(abt) -- 用于虚拟存储及存储保护 式 | 式 |-- 未定义指令中止模式(
[单片机]
一种基于DSP的中文语音合成系统设计
0 引言 随着语音信号处理技术的不断发展与成熟,语音合成正逐步成为信息技术中人机接口的关键技术。DSP芯片,即数字信号处理器,是专门为快速实现各种信号处理算法而设计的、具有特殊结构的微处理器,其处理速度比最快的CPU还快10~50倍。本文介绍的就是一种基于DSP的中文语音合成系统的实现方法。 1 系统总体方案 语音合成的最大特点就是要从有限的存储单元中合成出无限字汇的连续语句来 。为了做到这一点,本系统设计了由(1)前端预处理模块将输入文本文件转换成系统可以处理的标准格式;(2)韵律规则库给出当前语言环境下各个音节的韵律特征参数;(3)语音合成器根据给定的韵律特征参数对原始语音库中相应语音单元的声学参数进行调整;(4)将经过
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved