凡是从事信息技术相关工作的童鞋 , 一定都听说过嵌入式和单片机 。
大家都知道 , 这两个名词 , 和硬件系统有着非常密切的关系 。
但是 , 如果要问具体什么是嵌入式 , 什么是单片机 , 它们之间究竟有什么区别 , 我相信大部分人并不能解释清楚 。
本文图片
今天 , 小编就给大家做一个入门科普 , 揭秘上述问题的答案 。
与此同时 , 我也顺便解释一下 , 我们常说的51、STM32 , 究竟是什么 。
▉ 什么是嵌入式
首先 , 我们来看看什么是嵌入式 。
嵌入式 , 一般是指嵌入式系统 , 英文叫作:embedded system 。 嵌入式开发 , 其实就是对嵌入式系统的开发 。
IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置” 。
国内学术界的定义更为具体一些 , 也更容易理解:
嵌入式系统 , 是以应用为中心 , 以计算机技术为基础 , 软件硬件可裁剪 , 适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 。
以应用为中心 , 说明嵌入式系统是有明确实际用途的 。 以计算机技术为基础 , 说明它其实就是一种特殊的计算机 。 软硬件可裁剪 , 说明它有很强的灵活性和可定制能力 。
专用计算机系统 , “专用”所对应的 , 就是“通用” 。 我们常用的个人PC、笔记本电脑、数据中心服务器 , 可以用于多种用途 , 就是“通用计算机系统” 。
嵌入式系统究竟具体应用于哪些“专用”方向呢?
举例如下:
个人通信与娱乐系统:手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机
家电类产品:数字电视、扫地机器人、智能家电
办公自动化:打印机 , 复印机、传真机
医疗电子类产品:生化分析仪、血液分析仪、CT
网络通信类产品:通信类交换设备、网络设备 (交换机、路由器、网络安全)
汽车电子类产品:引擎控制、安全系统、汽车导航与娱乐系统
工业控制类产品:工控机、交互式终端 (POS、ATM)、安全监控、数据采集与传输、仪器仪表
军事及航天类产品:无人机、雷达、作战机器人
本文图片
嵌入式系统的应用领域
上述这些领域 , 都使用了嵌入式系统 。 这还只是冰山一角 。
可以说 , 嵌入式系统完完全全地包围了我们 , 时刻影响着我们的工作和生活 。
嵌入式系统 , 既然是一个计算机系统 , 那么肯定离不开硬件和软件 。
一个嵌入式系统的典型架构如下:
本文图片
注意 , 最重要的就是嵌入式操作系统和嵌入式微处理器 。
从硬件角度来看 , 嵌入式系统就是以处理器(CPU)为核心 , 依靠总线(Bus)进行连接的多模块系统:
本文图片
和个人PC是一样的方式
下面这张图 , 就是一个嵌入式系统的实物样例:
本文图片
中间偏左上角 , S3C2440 , 是CPU , 中间是RAM , 然后还有ROM、网卡、串口、电源等等 。 可以看出 , 嵌入式系统麻雀虽小 , 五脏俱全 。
▉ 什么是“单片机”?
嵌入式系统的核心 , 就是嵌入式处理器 。 嵌入式处理器一般分为以下几种典型类型:
嵌入式微控制器MCU(Micro Control Unit)
MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等 。 典型代表是8051、8096、C8051F等 。
嵌入式DSP处理器(Digital Signal Processor)
DSP处理器专门用于信号处理 , 在系统结构和指令算法进行了特殊设计 。 在数字滤波、FFT、频谱分析中广泛应用 。 典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列 。
嵌入式微处理器MPU(Micro Processor Unit)
MPU由通用处理器演变而来 , 具有较高的性能 , 拥有丰富的外围部件接口 。 典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等 。
此外 , 还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Programmable Chip) 。
我们的单片机 , 就属于上述的第一种——MCU(嵌入式微控制器) 。
本文图片
我们来详细介绍一下它 。
单片机 , 又称为单片微控制器 , 英文叫Single-Chip Microcomputer 。 它其实就是一种集成电路芯片 , 是通过超大规模集成电路技术 , 将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能 , 塞进一块硅片上 , 变成一个超小型的计算机 。
这么说来 , 单片机不就是一个嵌入式系统?别急 , 我们往下看 。
“单片机”其实是一种古老的叫法 。 以前半导体工艺技术不成熟 , 不同的功能无法做进一个芯片(Chip) , 所以会有多片机 。 现在半导体技术早已非常发达 , 所以不存在多片机 。 但是 , “单片机”的叫法却一直延用至今 。
很多高校老师喜欢强调单片机姓“单” , 除了指单片机只是一个硅片之外 , 更多是指单片机的功能单一 , 它是完成运算、逻辑控制、通信等功能的单一模块 。 即便它性能再强大 , 功能依然是单一的 。
单片机技术从上世纪70年代末诞生 , 早期的时候是4位 , 后来发展为8位 , 16位 , 32位 。 它真正崛起 , 是在8位时代 。 8位单片机功能很强 , 被广泛应用于工业控制、仪器仪表、家电汽车等领域 。
我们在研究单片机的时候 , 经常会听到两个词——51单片机、STM32 。 我来介绍一下它们究竟是什么 。
51单片机 , 其实就是一系列单片机的统称 。 该系列单片机 , 兼容Intel 8031指令系统 。 它们的始祖 , 是Intel(英特尔)的8004单片机 。
注意 , 51单片机并不全是英特尔公司的产品 。 包括ATMEL(艾德梅尔)、Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)、STC(国产宏晶)等公司 , 也有很多产品属于51单片机系列 。
本文图片
ATMEL公司的51单片机 , AT89C51
【嵌入式系统|嵌入式和单片机,是同一个东西吗?】
本文图片
这是一个51单片机的开发板 , 中间那个芯片才是51单片机
51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机 , 占据大量的市场份额 。
51单片机其实放在现在毫无技术优势 , 是一种很老的技术 。 之所以它的生命力顽强 , 除了它曾经很流行之外 , 还有一个原因 , 就是英特尔公司彻底开放了51内核的版权 。
所以 , 无论任何单位或个人 , 都可以毫无顾忌地使用51单片机 , 不用付费 , 也不用担心版权风险 。
此外 , 51单片机拥有雄厚的存量基础和群众基础 。 很多老项目都是用的51单片机 , 出于成本的考虑 , 有时候只能继续沿用51单片机的技术进行升级 。 而且 , 很多老一辈的工程师 , 都精通51单片机开发技术 。 所以 , 51单片机的生命力得以不断延续 。
再来看看STM32 。
STM32 , 是意法半导体公司推出的基于ARM Cortex-M内核的通用型单片机 。
本文图片
STM32单片机
意法半导体(STMicroelectronics)是世界最大的半导体公司之一 , 于1987年6月成立 , 是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成 。 1998年5月 , SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司 。
本文图片
意法半导体LOGO
ARM公司以前小编给大家介绍过 。 它是目前全球做芯片设计最厉害的公司之一 , 利用手机芯片的快速发展而崛起 , 占有物联网市场极大的份额 。
在单片机领域 , ARM的Cortex-M内核拥有压倒性的优势 , 已经成为绝对的主流 。 很多半导体公司都放弃了自己原先的架构 , 转做ARM架构的单片机 。
本文图片
STM32单片机开发板
STM32的硬件配置可以满足大部分的物联网开发需求 , 开发工具和相关的文档资料齐全 , 已经成为目前单片机学习的首选对象 。
▉ 嵌入式和单片机的区别
说到这里 , 我们来看看 , 嵌入式和单片机的区别到底是什么 。
从前文的介绍来看 , 嵌入式系统是一个大类 , 单片机是其中一个重要的子类 。 嵌入式系统像是一个完整的计算机 , 而单片机更像是一个没有外设的计算机 。
以前单片机包括的东西并不算多 , 两者的硬件区别较为明显 。 但是 , 随着半导体技术的突飞猛进 , 现在各种硬件功能都能被做进单片机之中 。 所以 , 嵌入式系统和单片机之间的硬件区别越来越小 , 分界线也越来越模糊 。
于是 , 人们倾向于在软件上进行区分 。
从软件上 , 行业里经常把芯片中不带MMU(memory management unit , 内存管理单元)从而不支持虚拟地址 , 只能裸奔或运行RTOS(实时操作系统 , 例如ucos、华为LiteOS、RT-Thread、freertos等)的system , 叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等) 。
同时 , 把芯片自带MMU可以支持虚拟地址 , 能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system , 叫做嵌入式 。
在某些时候 , 单片机本身已经足够强大 , 可以作为嵌入式系统使用 。 它的成本更低 , 开发和维护的难度相对较小 , 尤其是针对一些针对性更强的应用 。 而嵌入式系统理论上性能更强 , 应用更广泛 , 但复杂度高 , 开发难度大 。
▉ 嵌入式和单片机的学习价值
最后我们来说一说嵌入式和单片机的学习价值 , 到底有没有必要学习嵌入式和单片机 。
最近这些年 , 有一句话被广泛传播 , 那就是——“软件为王” 。 人们普遍认为软件知识的价值远远大于硬件 , 而学习软件 , 从事软件方向 , 会更容易找到工作 , 找到更高收入、更有前途的工作 。
而嵌入式和单片机 , 往往被归为“硬件”方向 , 遭人“嫌弃” 。 加上嵌入式和单片机的学习难度较大 , 学习周期很长 , 需要漫长的“煎熬” , 所以越来越多的人放弃这条路 。
小编认为这种想法是不正确的 。
首先 , 嵌入式和单片机并不是纯“硬件”类方向 。 前面我也说了 , 它们是软件和硬件的紧密结合 。
本文图片
如果你想学好嵌入式和单片机 , 只懂数字电路和微机接口这样的硬件知识是不够的 , 你更需要学习的 , 是汇编、C/C++语言、数据结构和算法知识 。
拥有软硬结合的能力 , 远远比单纯掌握某种程序开发语言更有价值 。
其次 , 嵌入式和单片机拥有广泛的应用场景 , 在各个领域都有项目需求和人才需求 。
根据权威部门统计 , 目前我们国家每年的嵌入式人才缺口高达50万 。 尤其是嵌入式软件开发 , 是未来几年最热门和最受欢迎的职业之一 。 具有10年工作经验的高级嵌入式工程师 , 年薪可以达到30-50万元左右 。
而且我们国家现在正在大力发展芯片产业 , 也会带动嵌入式人才的就业 , 提升待遇 。
本文图片
随着5G的建设深入 , 整个社会正在向“万物互联”的方向发展 。 物联网技术也将迎来前所未有的历史机遇 。 嵌入式和单片机技术是物联网技术的重要组成部分 , 也将进入发展的快车道 。
因此 , 尽管学习过程会比较艰辛 , 小编仍然建议有志青年关注这一赛道 。 技术越难 , 过程越苦 , 越有利于构建竞争壁垒 。 到了后期 , 个人价值可以得到进一步的体现 。
好了 , 关于嵌入式和单片机的内容 , 小编今天就介绍到这里 , 谢谢大家啦!
来源:鲜枣课堂
编辑:aloysius
推荐阅读
- 星链|石豪:在太空,马斯克和美国当局是如何作恶的
- 下架|APK Installer 和 WSATools 同时躺枪:冒牌应用登陆微软应用商店
- 软件和应用|AcrylicMenus:让Windows 10右键菜单获得半透明效果
- 技术|使用云原生应用和开源技术的创新攻略
- 智能化|龙净环保:智能型物料气力输送系统的研究及应用成果通过鉴定
- 识别|天津滨海机场RFID行李全流程跟踪系统完成建设 行李标签识别成功率可提升至99%
- 最新消息|IT系统出错 英国银行给7.5万人多发11亿工资
- IT|新航空图像拍摄系统Microballoon:可重复使用且成本更低
- 软件和应用|iOS/iPadOS端Telegram更新:引入隐藏文本、翻译等新功能
- 实力比|小米12对标苹果遭嘲讽?雷军:国产手机的实力比想象中强,有和苹果比较的勇气