DSP

单片机,ARM,FPGA和嵌入式的特点

2019-07-13 21:05发布

简单的说,嵌入式是嵌入式系统的简称,所谓嵌入式系统是指嵌入到应用对象中的专用计算机系统。 这里的对象就是指产品,比如日常使用的冰箱、空调、洗衣机,或者手机、游戏机等。 这些产品中都有计算机系统,这类计算机系统就是嵌入式计算机系统。 至于单片机、ARM、FPGA、DSP等都是实现嵌入式系统的硬件平台。根据对象体系的功能复杂性和计算处理复杂性,提供的不同选择。 对于简单的家电控制嵌入式系统,采用简单的8位单片机就足够了,价廉物美,对于手机和游戏机等,就必须采用32位的ARM和DSP等芯片了。 FPGA是一种更偏向硬件的实现方式。 所以要学习嵌入式,要从单片机开始,然后学习ARM和DSP之类。 单片机是一种可以编程的集成电路芯片,可以通过编程读取IO口电平,也可以通过编程读控制IO口电平。 嵌入式是一种软件和硬件的统称,简单概括一下就是可以装操作系统的嵌入式微处理器,硬件主要是arm等,操作系统主要有linux,ucos2等。 FPGA即现场可编程门阵列,他的内部是大量的门电路,可以根据Verilog 或 VHDL等硬件描述语言的描述自动进行连线。 三者比较的话:FPGA速度最快;单片机功能较简单,价格便宜;嵌入式功能灵活多变,硬件裸奔的话,相当于一个高级单片机。


单片机的特点:(1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)内RAM:256KB以内。(3)可靠性高(4)易扩展(5)控制功能强(6)易于开发 ARM的特点:(1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。 2) 高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。 3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。 4) 超功能精简指令,具有32个通用工作寄存器,相当于M51单片机中32个累加器!从而克服了单一累加器工作的瓶颈效应。 5) 程序下载方便。AVR单片机即可并行下载也可串行下载,无需昂贵的编程器。此外,还可以在线下载!也就是说可以直接在电路板上进行程序修改和烧录。 6) 具有模拟比较器、脉宽调制器、模数转换功能。使得工业控制中的模拟信号处理更为简单方便。 7) 并行口、定时计数器、中断系统等单片机内部重要资源的功能进行了大幅度提升,使之更适合工业生产过程的实时控制。 8) 其时钟频率既可外接也可使用单片机内部自带的振荡器,其频率可在1MHz-8MHz内设置,使得硬件开发制作更为简洁。 9) 强大的通讯功能,内置了同步串行接口SPI、通用串行接口UAST、两线串行总线接口TWI(I2C ),使网络控制、数据传送更为方便。 10)超级保密功能,应用程序可采用多重保护锁功能。可低价快速完成厂家产品商品化等等。 除上述特点外“零外设”也是AVR嵌入式单片机的重要特征。由于该芯片已内置了程序存储器、晶振并增加了在线汇编功能。所以AVR单片机芯片接上直流电源,下载个程序就可以独立工作。无需附加外部设备,无需使用昂贵的编程器和仿真装置。这给我们学习和开发带来了便利条件。  FPGA的特点:(1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。  2)FPGA可做其它全定制或半定制ASIC电路的中试样片。  3)FPGA内部有丰富的触发器和I/O引脚。  4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。  5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。  可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。  FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。  加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 嵌入式系统的特点: 1.系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核?简直没有可比性。  2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常 紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也 需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要 对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的 “升级”是完全两个概念。  3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求 其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。  4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。  5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式 系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任 务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS (Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、 可靠性,并减少开发时间,保障软件质量。  6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力, 即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套 开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬 件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的 概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进 行。