单片机和嵌入式系统的区别

嵌入式和单片机并不是一对相对的概念,嵌入式系统包括硬件和软件部分,而单片机是单片微型计算机(Single Chip Microcomputer )的简称,即微控制单元(Microcontroller Unit;MCU) 。单片机可以是嵌入式系统的组成部分。我们可以理解为嵌入式系统是一个大类,单片机是其中一个重要的子类。

什么是单片机?

单片机又称单片微控制器,它是将电子计算机的基本环节,如:中央处理器(又称中央处理器,主要由运算器,控制器组成),存储器,总线,输入输出接口等,采用集成电路技术集成在一片硅基片上.由于单片计算机体积很小(仅手指般大小),功能强(具有一个简单计算机的功能)。

什么是嵌入式系统?

嵌入式系统是基于微处理器的计算机硬件系统,其软件设计用于执行专用功能,既可以作为独立系统,也可以作为大型系统的一部分。其核心是一个集成电路,旨在为实时操作执行计算。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容。

复杂性从单个微控制器到具有连接外围设备和网络的一套处理器;从无用户界面到复杂的图形用户界面。嵌入式系统的复杂性因设计任务而异。

嵌入式系统应用范围从数字手表和微波到混合动力汽车和航空电子设备。多达 98% 的制造的微处理器用于嵌入式系统。

嵌入式系统如何工作?

嵌入式系统由微控制器或数字信号处理器 (DSP)、专用集成电路 (ASIC)、现场可编程门阵列 (FPGA)、GPU 技术和门阵列管理。这些处理系统与专用于处理电气和/或机械接口的组件集成在一起。

嵌入式系统编程指令,称为固件,存储在只读存储器或闪存芯片中,以有限的计算机硬件资源运行。嵌入式系统通过外围设备与外部世界连接,连接输入和输出设备。

嵌入式系统的基本结构


嵌入式系统的基本结构包括以下组件:

传感器:传感器测量物理量并将其转换为电信号,然后可以由嵌入式系统工程师或任何电子仪器读取。传感器将测量的量存储到存储器中。

AD转换器:模数转换器将传感器发送的模拟信号转换为数字信号。
处理器和 ASIC:处理器评估数据以测量输出并将其存储到内存中。

DA 转换器:数模转换器将处理器提供的数字数据转换为模拟数据

执行器:执行器将 DA 转换器给出的输出与存储的实际输出进行比较,并存储批准的输出。

以常见的几种嵌入式开发板和单片机为例子

树莓派4B:

Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz

Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。

可以将树莓派理解为一台微型电脑,它与我们平时使用的电脑近乎相同。

Arduino:

AVR单片机、ARM芯片

Arduino是一款便捷灵活、方便上手的开源电子原型平台。

它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序会告诉Arduino电路板要做什么。

简单来说,arduino是对单片机的二次封装。

Stm32:

ARM Cortex-M内核单片机

stm32全称是意法半导体32位系列微控制器芯片。STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。

主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)

51单片机

51单片机是对兼容英特尔8051指令系统的单片机的统称

51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。

51单片机是Intel在1981年推出的由8031微控制器芯片改造升级的、使用CISC指令集的、冯诺依曼架构的、8位的8051微控制器。后Intel将8051微控制器的内核授权给其他芯片厂商,使得市面上广泛出现类似于8051的芯片,这种采用8051内核的芯片被简称为51。

从上述例子中我们能直观地看到这些开发板和单片机所使用处理器的不同,但是树莓派、Arduino、stm32和我们日常使用的手机均是使用arm架构的处理器,那么手机算单片机吗?

要回答这个问题,首先要简单介绍一下ARM处理器产品线。

ARM处理器产品线

ARM Cortex内核系列提供非常广泛的具有可扩展性的性能选项,设计人员有机会在多种选项中选择最适合自身应用的内核。Cortex系列组合大体上分为三种类别:

● Cortex-A—面向性能密集型系统的应用处理器内核

● Cortex-R—面向实时应用的高性能内核

● Cortex-M—面向各类嵌入式应用的微控制器内核


Cortex-A处理器为利用操作系统(例如Linux或者Android)的设备提供了一系列解决方案,这些设备被用于各类应用,从低成本手持设备到智能手机、平板电脑、机顶盒以及企业网络设备等。

Cortex-R实时处理器为要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。在数以亿计的产品中得到验证的成熟技术提供极快的上市速度,并利用广泛的 ARM 生态系统、全球和本地语言以及全天候的支持服务,保证快速、低风险的产品开发。

Cortex-M系列基于ARMv7-M架构(用于Cortex-M3和Cortex-M4)构建,针对成本和功耗敏感的MCU和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。

总结: Cortex-M 系列是MCU,也就是单片机,Cortex-R 系列处理器提供的性能比 Cortex-M 系列提供的性能高得多,而 Cortex-A 系列专用于具有复杂软件操作系统(需使用虚拟内存管理)的面向用户的应用。

综上所述,只有Cortex-A系列内核的芯片叫处理器。而上述的开发板和单片机只有Raspberry Pi以及我们日常使用的手机是Cortex-A系列内核的芯片。

单片机和嵌入式系统的结构

单片机: 软件 —— 硬件

嵌入式系统: 软件 ——操作系统——硬件

有无操作系统的区别

有操作系统可以实现多任务调度、文件系统、内存管理等复杂功能。

当系统中存在操作系统的时候,设备驱动变成了连接硬件和内核的桥梁。开发者调用统一的系统调用接口来访问各种设备,方便开发。提供操作方便、简单、提供友好的图形GUI和图形界面,追求易学易用。并且可以使用大量开源的软件,工具,库。

提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。可以实现远程控制。

拥有良好的软件移植性,嵌入式系统和具体应用有机地结合在一起,升级换代也是和具体产品同步进行,具有较长的生命周期。

而对于无操作系统的单片机而言,可以实现的功能相对单一。开发者必须要先了解这个硬件平台,才能进行软件编程,降低了开发效率且软件移植性差。

单片机的优势

从上文所述的种种优缺点来看,单片机对比嵌入式系统似乎一无是处,尽管嵌入式系统的性能强大且可实现功能众多,但嵌入式最大的劣势便是其高昂的价格。

单片机价格低廉,结构简单,使用方便,实现模块化,单片机可靠性高,可工作到10^6 ~10^7小时无故障,处理功能强,速度快。低电压,低功耗,控制功能强,环境适应能力强。

单片机和嵌入式系统的区别相关推荐

  1. 单片机c语言位运算写法,单片机与嵌入式系统中C语言的位运算小记

    原标题:单片机与嵌入式系统中C语言的位运算小记 编了个PIC的项目,对里的还是蛮有感悟的,特此记录一下. 譬如说,在程序中定义了一个char类型的变量, purge_short_enable_flag ...

  2. 2019年​第5期《单片机与嵌入式系统应用》电子刊新鲜出炉!

    2019年第5期电子刊精彩内容抢先看: 1.5G,带给嵌入式系统的机会在哪里? 2.基于可穿戴设备的人体情绪识别系统研究 3.一种提高的代码复用的C++序列化框架设计 4.ARMv7树莓派的智能控制器 ...

  3. 【复习资料】单片机与嵌入式系统原理及应用

    嵌入式系统的概念 第一种定义:嵌入式系统是以应用为中心.计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统. 第二种定义:把基于处理器(通用处理器和嵌 ...

  4. 单片机和嵌入式Linux的区别

    单片机和嵌入式他们最终都是要跑硬件的,所以你也会遇到像GPIO口.I2C.串口.SPI.定时器.看门狗这些问题. 所以如果你学了单片机,那么你在这些东西上肯定是有积累的.那么这些就是你的优势,如果你让 ...

  5. 基于单片机的嵌入式系统的典型的应用程序框架设计

    在单片机应用程序中,最常用.也是最简单的一种典型框架就是前后台系统,这种框架通常是由主函数里的大循环和一个或几个中断服务程序组成,本文主要讲这种典型框架设计问题. 前后台系统适用于一些程序流程简单.实 ...

  6. 嵌入式综合实验交通灯linux,单片机与嵌入式系统实验十五 交通灯控制

    实验十五 交通灯控制 一 . 实验目的 1.学习外部中断技术的基本使用方法. 2.进一步掌握中断处理程序的编程方法. 3.学习顺序控制的编程方法. 二 . 实验内容 本实验模拟交通信号灯控制,一般情况 ...

  7. 计算机软件编程与嵌入式软件编程区别,简单看懂什么是单片机编程与嵌入式系统...

    什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆.其实,嵌入式编程指的是在我们生活中的房屋.汽车.工作场所中的计算机编程设备,嵌入式系统便是运行于其中.需要指出的是,所有单片机编程都 ...

  8. 《谈学单片机有前途还是嵌入式系统有前途》一文吴坚鸿回复整理

    六月初吴坚鸿发表了<吴坚鸿谈学单片机有前途还是嵌入式系统有前途>一文.后被andy1989转发至博客中,在发烧友中引起了非常大的反响.对于论坛上非常多发烧友的评论.吴坚鸿一一作了答复.吴先 ...

  9. 【物联网毕设基础】单片机_嵌入式的实时性疑问解答

    1 前言 最近有一组学弟学妹问我一个问题,他们做的飞控系统,实时性总是达不到标准,来问我是怎么回事. 这涉及到了单片机/嵌入式系统实时性的问题,学长在这做一个系统性的解答. 2 单片机和嵌入式 说实话 ...

  10. 嵌入式系统的技术特点及广泛运用

    基于嵌入式系统的概念,阐述嵌入式系统的关键技术.嵌入式开发以及广泛的应用. 分析嵌入式系统的技术特点,分别从嵌入式处理器和嵌入式操作系统两方面介绍,着重说明它不同于其它操作系统的一些处理方法和过程:在 ...

最新文章

  1. 跟我学Springboot开发后端管理系统8:Matrxi-Web权限设计实现
  2. 《深入理解计算机系统》读书笔记七:浮点数表示
  3. javascript删除元素节点
  4. xpath+多进程爬取网易云音乐热歌榜。
  5. C#特性(属性)Attribute
  6. docker-compose安装问题
  7. java自动转换需要的开头_字符串和数值型进行运算时,字符串如果不是数字开头,会自动转换成什么?...
  8. MySQL新建存储过程出现:ERROR 1558 (HY000): Column count of mysql.proc is wrong. Expected 20, found 16. Create
  9. 使用Java Mail接收 Gmail 电子邮件
  10. Visual Studio开发环境下的中文GBK内码获取
  11. tar打包命令的用法
  12. 【分享】如何写出好的品牌故事?
  13. VMD(变分模态分解)
  14. 华为鸿蒙即兴评述,华为的理性,鸿蒙的节奏
  15. Word标题格式、毕业论文格式、标题、引用目录
  16. 半年内连发6篇CNS!又一顶级学者全职回国,加盟浙大!
  17. 极客巅峰2021 web opcode
  18. 用angr找到strcpy的栈溢出漏洞
  19. 英特尔xmm6321平台camera闪光灯相关记录
  20. feek()、ftell()和rewind()用法

热门文章

  1. 三次样条插值算法实现曲线拟合
  2. Delphi开发工具的使用
  3. 推荐16个前端必备的实用工具与网站
  4. 【全面详解】影响酐铁性能的多种元素
  5. 软件设计与体系结构实验——图书馆管理系统
  6. java 事务级别_java事务隔离级别
  7. 五、鼎捷T100总账管理之总账报表及查询
  8. java对excel插入水印_Java通过POI和JXL给Excel动态添加水印
  9. 串口信号定义和接线方法-5针串口-9针串口-全功能串口
  10. 微信小程序 学科竞赛比赛报名管理系统 Android hbuilderx App毕业设计