那么单片机、ARM、FPGA、嵌入式有哪些区别和特点呢?
微控制器的特点:
(1)集成度高、体积小、可靠性高。 微控制器在一块晶体芯片上集成了各种功能元件。 它具有集成度高、体积最小的特点。 单片机的程序指令、常量和表格都固化在ROM中,不易损坏。 多路信号通道集中在一颗芯片上,可靠性高。
(2)控制功能强。 为了满足对象的控制要求,单片机的指令系统具备极其丰富的条件:分支转移能力、逻辑运算和I/O口的位处理能力,非常适合专门的控制功能。
(3)低电压、低功耗,易于生产便携式产品。 为了满足便携式系统中广泛使用的需要,许多微控制器中的工作电压仅为1.8V~3.6V,工作电流也只有几百微安。
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电平。
(6)可以说,FPGA芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。
(7) FPGA通过片内RAM中存储的程序设置其工作状态。 因此,在运行过程中需要对片内RAM进行编程。 用户可以根据不同的配置方式采用不同的编程方式。
(8) 上电后,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(实时操作系统)开发平台,以保证系统的实时性和可靠性。程序执行,减少开发时间,保证软件质量。
(6)嵌入式系统开发需要开发工具和环境。
由于它不具备引导开发的能力,因此即使设计完成后,用户通常也无法修改程序功能。 开发必须借助一套开发工具和环境来完成。 这些工具和环境通常基于通用计算机上的软件。 硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时经常会有主机和目标机的概念。 宿主机用于程序开发,目标机作为最终执行机。 发展需要交替、结合进行。