您当前的位置:首页 > 生活常识

单片机和嵌入式的区别终于看懂了(一文详细了解嵌入式和单片机的区别)

时间:2023-02-12 00:01:59

单片机和嵌入式的区别终于看懂了(一文详细了解嵌入式和单片机的区别)

其实没有一个标准的定义来区分MCU和嵌入式。对于开发过单片机和嵌入式的开发者来说,都有自己的定义。接下来,让让我们谈谈对这两个概念的理解。

一、什么是嵌入式?

一般嵌入式系统指的是嵌入式系统,IEEE(电气电子工程师协会)定义为用于控制、监视或协助机器和设备运行的装置。

嵌入式系统是一种特殊的计算机系统,是设备或装置的一部分。一般来说,嵌入式系统是一个嵌入式处理器控制板,其控制程序存储在ROM中。

嵌入式系统是将应用程序、操作系统和计算机硬件连接在一起的系统。它是指以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统。它所针对的用户应用对功能、可靠性、成本、体积、功耗和使用环境都有特殊的要求。一般来说,先设计硬件,在硬件的基础上设计运行软件,把硬件变成智能硬件云,这就是嵌入式。

其实所有带数字接口的设备,比如手表、微波炉、录像机、汽车等。使用嵌入式系统。一些嵌入式系统也包含操作系统,但是大多数嵌入式系统使用单个程序来实现整个控制逻辑。这是因为嵌入式系统一般用于工业控制,也就是说外设的控制是写死的,不需要人工干预,也是为了保证系统的稳定性和可靠性。

我们经常可以听到公司的招聘要求是嵌入式软件工程师或者嵌入式硬件工程师。也就是说,嵌入式系统包括软件和硬件。其实仔细想想就能明白,他们都已经运行系统了。当然,软件和bsp硬件都有。也就是说,嵌入式系统是软件和硬件的结合体,国内普遍认为嵌入式系统定义为以应用为中心,以计算机技术为基础,软硬件可裁剪,能满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

二、什么是单片机?

单片机是一种集成电路芯片。它是一个小而完善的微型计算机系统,利用VLSI技术将中央处理器CPU、RAM、ROM、各种I/O口、中断系统、定时器/计数器等功能(可能包括显示驱动电路、脉宽调制电路、模拟多路复用器、A/D转换器等电路)集成在一块硅片上。它广泛应用于工业控制领域。

从80年代开始,从当时的4位、8位单片机,发展到现在的300M高速单片机。比如最经典的51系列单片机,也不过是一个拇指大小的长方体芯片,有40个管脚,里面包含一个逻辑运算单元。其实就是一个CPU。

刚接触单片机的时候,曾经有一个疑问,为什么单片机是黑色而不是其他颜色?后来才知道是单片机材料的限制。就单芯片而言,其实一个芯片就是全部,为了单芯片的正常工作,还增加了单芯片等其他最小系统,如晶振、5v电源、电感、电阻等。当然,最小系统只能保证单片机的正常运行,几乎不能实现任何基于单片机的应用。

为了实现单片机的应用,必须增加其他外设。例如按键、led灯、led屏幕、蜂鸣器和各种传感器。这是市面上很多公司都在做的单芯片开发板。综上所述,单片机是能够完成计算、逻辑控制、通信等功能的单个模块。就是单片机真的姓山。DSP芯片也可以认为是单片机。当然,它们的性能很强大,但功能还是很单一。简而言之,他们在处理数据和逻辑。

三、嵌入式硬件层

硬件层包括嵌入式微处理器、存储器(SDRAM、ROM、Flash等。)、通用设备接口和I/O接口(A/D、D/A、I/O等。).在嵌入式处理器上增加电源电路、时钟电路和存储电路,构成嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

其中,核心是微处理器,不同于一般的电脑CPU。大多数嵌入式微处理器工作在专门设计的系统中。比如TI或者atmel有很多定位不同的处理器。Atmel s SAM系列是专为物联网设计的,而AVR由于性能突出,广泛应用于工业领域。

嵌入式微处理器具有不同的体系结构,即使在同一体系结构中,它们也可能具有不同的时钟频率和数据总线宽度,或者集成不同的外设和接口。据不完全统计,全球嵌入式微处理器种类超过1000种,体系结构有30多个系列,其中主流的体系结构有ARM、MIPS、PowerPC、X86和SH。

然而,与全球PC市场不同的是,没有任何嵌入式微处理器能够主导市场。仅32位产品,就有100多种嵌入式微处理器。嵌入式微处理器的选择取决于具体的应用。

在嵌入式领域,可以说ARM架构的处理器占据半壁江山,ARM也成为了著名的科技公司。但是,它不生产任何处理器,只提供IP。可见一流的公司是做标准的。其他广泛使用的架构有MIPS、sparc、powerpc等。

比如ARM有各种处理器架构,最经典的cortex系列,属于ARMv7架构,这是ARM到2010年为止最新的指令集架构。ARMv7架构定义了三个分工明确的系列:A 系列面向尖端的基于虚拟内存的操作系统和用户应用;"R 系列针对的是实时系统;"M 串联对微控制器。

嵌入式系统与外界的交互需要某种形式的通用设备接口,如A/D、D/A、I/O等。外设通过连接其他片外设备或传感器实现微处理器的输入/输出功能。每个外设通常只有一个功能,可以是片外的,也可以是片内的。外设有很多种,从简单的串行通信设备到非常复杂的802.11无线设备。

嵌入式系统中常见的设备接口有A/D(模拟/数字转换接口)和D/A(数字/模拟转换接口),I/O接口有RS-232接口(串行通信接口)、以太网接口、USB(通用串行总线接口)、音频接口、VGA文章输出接口、I2C(现场总线)和SPI。这其实和单片机差不多。

四、嵌入式软件层

也就是操作系统,包括内核和文件系统,以及更多的顶层应用。嵌入式操作系统一般是Linux或者其他类Unix的,还有一些实时操作系统(RTOS)如VxWorks、RTEMS、ucOS等。

Linux还包括不同的发行版,如Ubuntu、Redhat、Debian、centos等。都采用了Linux的内核,区别就是上面的软件和工具。当然,你不会不要太担心标准问题。这些Linux发行版选择的软件几乎都是通用的,比如web服务器的Apache,邮件服务器的postfix,文件服务器的sendmail,文件服务器的Samba等等。另外还有Linuxstandard base等标准来规范开发者。类Unix主要是FreeBSD和Solaris。

实时操作系统是最常用的嵌入式系统之一。实时操作系统的核心是实时性,其本质是任务处理时间的可预测性,即任务需要在规定的时限内完成。IEEE实时系统的定义是其正确性不仅取决于计算的逻辑结果,而且还取决于产生结果所需的时间的系统。

实时操作系统可以分为硬实时和软实时。硬实时要求操作必须在规定的时间内完成,这在操作系统的设计中是有保证的。实时就是只要你能按照任务的优先级,以最快的速度完成操作。我们平时使用的操作系统,经过一些改动就可以成为实时操作系统。

实时操作系统和分时操作系统Linux的区别如下:

(1)多重性。

实时信息处理系统和分时系统一样是多通道的。该系统根据分时原则为多个终端用户服务;对于实时控制系统来说,其多通道性主要表现在多通道现场信息的频繁采集和多个对象或执行器的控制。

(2)独立性。

实时信息处理系统和分时系统一样独立。当每个终端用户向分时系统提出服务请求时,他们独立操作,互不干扰。在实时控制系统中,信息的采集和对象的控制互不干扰。

(3)时效性。

实时信息系统对实时性的要求类似于分时系统,由可接受的等待时间决定。实时控制系统的时效性是由控制对象要求的开始截止时间或完成截止时间决定的,一般是几秒、几百毫秒甚至不到100微秒。

(4)互动。

实时信息处理系统是交互式的,但这里人与系统的交互仅限于访问系统中一些特定的特殊服务程序。与分时系统不同,它可以向最终用户提供数据处理服务、资源共享等服务。

(5)可靠性。

分时系统要求系统可靠,实时系统要求系统高度可靠。因为任何一个失误都可能带来巨大的经济损失甚至不可预知的灾难性后果。因此,在实时系统中,采用多级容错措施来保证系统和数据的安全。

因为它更可靠,更及时。嵌入式实时操作系统更广泛地应用于工业控制、航空航天、军事等领域。比如NASA近几年发射的火星探测器都采用RTEMS实时操作系统。

五、嵌入式中间层

所谓中间层,就是软件层和硬件层之间的接口层,但严格来说,也属于软件层。一般开发者称之为BSP。这一层主要负责向下提供硬件驱动、硬件配置等操作,向上提供标准API给软件开发者。开发中间层的开发人员通常被称为嵌入式驱动工程师。

从这里也可以看出,嵌入式设计离不开硬件和软件。在编写具有相应功能的应用之前,需要掌握底层硬件的特点和如何驱动其工作,以及操作系统的相关知识。所以,要看一个操作系统是否支持某个芯片或者某个开发板,只需要看它的源代码是否包含对应芯片或者开发板的板级支持包就可以了。

六、嵌入式系统应该在什么样的硬件上运行?

说起嵌入式硬件或者开发板,我想很多人的第一印象是RaspberryPi,这是一种只有信用卡大小的微型计算机。虽然它的外观是娇小的,其内部核心很强大,影音等所有功能都有。可以用麻雀虽小,五脏俱全。树莓派推出后,很多厂商争相推出类似产品,比如香蕉派。

还有TI s Beagleboneblack板,大小和树莓Pi差不多。外设有USB主机和USB mini,还有网卡接口,背面还有一个sd卡插槽和HDMI接口。BBB的处理器采用了嵌入式系统中最流行的ARMv7指令集。拥有广泛使用的指令集的处理器可以得到更多软件的支持。例如,一些操作系统不再支持在ARMv6指令集上运行。例如,Ubuntu在2012年4月放弃了对ARMv6指令集的支持。

ARMv7相对于ARMv6指令集的另一个优势是使用ARMv7的处理器实际性能更强大。与ARMv6相比,ARMv7有很多

七、摘要

上面是一个基本嵌入式核心板的性能参数。与上述单片机的性能参数相比,单片机的处理能力较低,主频大多在几十米左右,与几百米或几千米的处理速度相比,差距还是很大的。另外,单片机不具备图形界面的处理能力,也就是GPU的缺乏使得单片机几乎无法驱动图形界面。

MCU的存储空间和嵌入式处理器不一样。MCU的内存通常只有几K,但由于外设的限制,不太可能大规模增加外设emmc,而嵌入式处理器通常有几百兆的RAM。这种巨大的差异使得MCU几乎不可能像嵌入式处理器一样运行操作系统,甚至TCP/IP协议栈和USB协议栈都可以不要跑。一些高端微控制器,如ST 的STM32系列,也许可以运行一些轻量级的系统os和嵌入式网络协议栈。

嵌入式处理器丰富而强大的性能决定了它可以完成比MCU更多的应用,如网络通信功能、文章传输和处理功能等。当外设存储增加时,嵌入式处理器可以轻松运行各种Linux系统和图形GUI界面。

更详细的人工智能、嵌入式、单片机、linux、编程、物联网知识,以及海量项目(智能汽车、无人机、智能医疗系统、智能家居、人脸识别、鸿蒙系统系统等)的方法和实践。),请关注本站。

审计唐子红

标签:系统单片功能

嵌入式

最新文章