设计与开发

单片机的底层驱动 只有想不到,没有嵌不到,嵌入式系统科普

小编 2025-08-04 设计与开发 23 0

只有想不到,没有嵌不到,嵌入式系统科普

如今,物联网、AI、5G的发展都离不开嵌入式系统,它就好比一个乐高拼图,只要你会“玩”,就会发生意想不到的性能。那么到底什么是嵌入式系统?下面就给大家科普一下。

想要了解它的组成就先要知道它是如何成长的。

第一个微处理器诞生于20 世纪70 年代初,是由成立3年的Intel推出的4004CPU,4位微处理器,10微米工艺。如今,嵌入式系统发展已有50年的历史,大体上历经了四个阶段:

一、无操作系统阶段

基于初单片机上,多数以编程控制器的形式出现,这一时期,一般没有操作系统相关支持,只有通过汇编语言对系统进行直接的控制,当然在相关运行结束之后再清除内存。

主要特点是:系统机构和功能相对都比较单一,处理效率较低、储存量小,几乎没有用户接口,由于具备以上特性,曾经被工业领域广泛认可。

二、简单的操作系统阶段

高可靠、低耗能的嵌入式CPU。

特点:嵌入式操作系统比较简单,但已初步具备一定的兼容性和扩展性,对控制系统负载以及监控应用程序的运行有一定作用。

三、实时操作系统阶段

在数字化通信和信息家电等巨大需求的牵引下,随着硬件实时性要求的提高,嵌入式系统的软件规模也在不断扩大,这一时期操作系统的实行性得到了很大的改善。

特点:可在不同类型的微处理器上,实现高度的模块化和扩展性运行,以此使得应用软件的开发变的更加简单。

四、面向internet阶段

嵌入式设备与internet的完美结合才是嵌入式技术的真正未来,在这个信息时代和数字时代里,为嵌入式系统的开发带来了巨大的机遇,同时对于嵌入式系统提供商来讲也是新的挑战。

嵌入式系统构成:麻雀虽小五脏俱全

如果按照书本定义,嵌入式指的是把软件直接烧录在硬件里,而不是安装在外部存储介质上。IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。”

以应用为中心,嵌入式系统是有明确实际用途的。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。

专用计算机系统的“专用”是什么意思。先说“通用”,就是指我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。那么嵌入式系统究竟具体应用于哪些“专用”方向呢?

比较贴近生活的嵌入式产品,如智能手机、智能冰箱、电梯、汽车导航等;又如一些高大上的产品,谷歌眼镜、数字电视、智能医疗、智能手表。当然还有很多很多。

嵌入式系统就是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统:

一个嵌入式系统大体可以分为:

硬件系统

中间层

软件系统

应用层

这张图含盖了嵌入式系统的基本构成:

在硬件层里面的主要分为:嵌入式处理器、存储器、模拟电路、电源、接口控制器、接插件等。

其核心是嵌入式微处理器。

嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

嵌入式微处理器的体系结构可以采用冯·诺依曼体系[1]或哈佛体系结构;指令系统可以选用精简指令系统(RISC)和复杂指令系统(CISC)。其中RISC目前最为火热,这种架构只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。   嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流体系有arm、MIPS、PowerPC、X86和SH等。

在嵌入式领域,arm架构的处理器占据了半壁江山,而它却没有生产任何处理器,而只是提供了IP。

嵌入式微处理器有以下特点:

1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。

2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。

3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。

4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只有mW甚至μW级。

你是否把单片机和嵌入式处理器搞混?

还有一个叫做嵌入式微控制器MCU,MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。

其实MCU就是所谓的单片机。单片机就是将CPU、存储器、定时计数器、I/O接口电路等集成在一块芯片上,体积小,功耗小,叫做单片微型计算机。因为单片机体积很小可以植入任何微小的设备、仪表当中,被广泛作为这些微小设备仪表的控制器,所以单片机又可称作嵌入式微控制器。

典型产品:51单片机、STM32

嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌入式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。

单片机与嵌入式处理器最大区别

单片机的存储空间和嵌入式处理器不是一个等级,单片机通常片内存储只有几k大小,而由于外设的限制也不太可能大范围增加外设嵌入式多媒体控制器emmc,而嵌入式处理器通常有几百兆的RAM,如此巨大的差别导致单片机几乎不可能像嵌入式处理器那样运行操作系统,甚至连TCP/IP协议栈和USB协议栈都跑不起来,一些高端的单片机比如ST的STM32系列,可能可以跑一些轻量级系统os和嵌入式网络协议栈,比如IwIP协议栈。

此外,嵌入式处理器丰富强大的性能决定它能完成更多单片机不能完成的应用,比如网络通信功能,视频传输处理功能等,而当外设存储增加后,嵌入式处理器能够轻松运行各种Linux系统,以及图形GUI界面。

其余部件

存储器:嵌入式系统需要存储器来存放和执行代码。包含Cache、主存(ROM和RAM)和辅助存储器。

嵌入式外围硬件设备:串口、以太网接口、USB、音频接口、液晶显示屏、摄像头等。

除此之外,还有专门用于信号处理的嵌入式DSP处理器(Digital Signal Processor)以及嵌入式片上系统SoC。

下图是一个嵌入式系统的实物样例:

中间偏左上角是CPU,中间是RAM,然后还有ROM、网卡、串口、电源等。可以看出,嵌入式系统麻雀虽小,五脏俱全。

软件层

软件层很好理解,它是一种用途广泛的系统软件,由实时多任务操作系统(RTOS)、文件系统、图形用户接口、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。主要有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。

嵌入式中间层

所谓中间层就是软件层和硬件层之间的接口层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。

威胜信息申请一种底层内核驱动与应用分离开发实现方法、介质及终端专利,能实现底层内核驱动与应用分离开发

金融界2024年5月29日消息,据国家知识产权局公告,威胜信息技术股份有限公司申请一项名为“一种底层内核驱动与应用分离开发实现方法、介质及终端”的专利,公开号CN202410240863.X,申请日期为2024年3月。

专利摘要显示,本发明适用于单片机技术领域,涉及一种底层内核驱动与应用分离开发实现方法、介质及终端,包括以下步骤:S10、底层内核驱动与普通正常工程相互独立编译开发,通过系统请求获取描述符号表;S20、底层内核驱动提供应用系统请求指令响应接口,用于响应应用获取底层接口请求;S30、应用编译成与位置无关的指令和数据代码;S40、底层内核驱动根据应用描述符号表启动应用并进入应用,应用起始代码初始化,系统请求进入底层获取底层接口总入口函数。本发明流程简单、功能强大,不存在升级固件特别庞大的问题,安全性能高、耦合性低,可以实现底层内核驱动与应用分离开发。

本文源自金融界

相关问答

是否要从 单片机 转为嵌入式Linux?

这个要看你个人对自己的职业规划了,我个人觉得技术其实只是一种手段,关键是技术能转化成钞票才是王道(?超现实吧,哈哈)1、先从单片机说起,市面上的单片机...为...

单片机 驱动 吗?

答买单片机不需要给驱动的因为大多数的单片机IO一般都有几十毫安的灌电流驱动能力是单片机自身带的,硬件模块也是不需要驱动的,如果是外围硬件模块,那么是否需...

单片机驱动 能力如何提高?最好是电路图。89c52芯片的?

单片机是弱电控制中心单片机只是一个控制中心,IO的驱动能力是很弱的,只能用于信号处理或者信号控制,最多是驱动一个LED作为指示灯。驱动负载需要加入三极管、...

单片机 芯片是怎么 驱动的 ?

单片机芯片的驱动是通过编程来实现的。下面是一般的单片机芯片驱动流程:硬件连接:首先,需要将单片机芯片与外部设备(如传感器、执行器等)进行连接。这通常...

单片机 在电脑上无法识别怎么处理 接口是USB的-ZOL问答

一般来说,通常的usb设备的驱动已经内置到了系统中,所以,可以做到免除安装驱动。而单片机不属于通用设备,所以,您必须安装对应的设备驱动才能识别。1.一般单片...

如何将 单片机的 输出5V 驱动 12V电机?

TB6560是一种很好用的驱动IC,对它的驱动要用TTL电平。STM32的工作电压是3.3V,直接驱动肯定不行,提议在TB6560的3个驱动信号中用74LS14过渡,74LS14用5V供电,...

单片机 可以直接 驱动 步进控制器么?

单片机可以直接驱动步进电机控制器,但不可以直接驱动步进电机。需要注意的是,步进电机控制器通常都是PWM接口,所以最好选型有PWM功能的单片机。如果用IO口模...

go 语言可以搞 单片机 吗?

是的,Go语言可以用于单片机开发。Go语言是一种静态类型、编译型的语言,具有简洁、高效的特点。虽然Go语言的标准库对硬件支持较少,但通过使用第三方库和底层接...

51 单片机 可以能直接 驱动 24VDC中间继电器吗?

用单片机控制继电器的时候有两点要求注意:1.单片机的IO驱动电流比较小,往往只有10mA,因此要求加放大电路,可以用两个三极管放大驱动继电器;2.继电器有反向...

如何制作 单片机 控制步进电机芯片 驱动 步进电机电路?

步进电机驱动器一般接受的控制信号为:1、cw+ccw,即正转脉冲加反转脉冲2、pulse+dir,即脉冲加方向一般驱动器都可以兼容两种方式,即通过dip开关选择采用哪种...

猜你喜欢