我在上面讲课哦
嵌入式系统入门
什么是嵌入式系统
• 嵌入式系统的硬件构成
• 嵌入式系统的软件构成
• 嵌入式操作系统
• 实时操作系统
• 嵌入式系统开发和其他开发的区别
• 嵌入式系统的应用(DCS、PLC)
• 嵌入式系统的学习规划
• 嵌入式系统的特点和发展趋势‘
什么是嵌入式系统
1946年电子数字计算机诞生。此后,计算机技术突飞猛进。发展至今,各种工业、家用等通用计算机无论在性能还是普及程度上,都有了大的跨越。
除了通用计算机外,以微处理器为核心的微型计算机以其小型、价廉、高可靠性等特点,也表现出了强大的发展势头。这种微型计算机要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。
IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。[1]
将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型厂房中构成自动加工、生产和监测系统。
• 这样一来,计算机便改变了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到具体的工作体系中,实现智能化控制的小型计算机,称为嵌入式计算机系统。
嵌入式系统的硬件构成
一台计算机或者微控制器,字长可能是4位或8位、16位、32位甚至是64位。
• 以保存固件的ROM(非易失性性只读存储器)。
• 程序数据的RAM(易失性随机访问存储器)。
• 连接微控制器和开关、按钮、传感器、模数转化器、控制器、LED(发光二极管)和显示器的I/O端口。
• 单片微控制器是大多数嵌入式系统的核心。通过把若干个关键的系统组成部分集成到单个芯片上(SOC System On Chip),系统设计者就可以得到小而便宜、可以操作较少外围电子设备的计算机。
嵌入式处理器的主流设计厂家
• ARM(Advanced RISC Machiines)
• MIPS(Microprocessor without Interlocked PipelineStages)
• POWER PC
• X86
新的发展趋势
RISC-V
嵌入式系统发展最新动态
从2010年夏天开始,伯克利研究团队大约花了四年的时间,设计和开发了一套完整的新的指令集,这个新的指令集叫做RISC-V。
• ARM架构和RISC-V架构都源自1980年代的精简指令计算机RISC。两者最大的不同就在于RISC-V推崇的大道至简的技术风格和彻底开放的模式
ARM是一种封闭的指令集架构,众多只用ARM架构的厂商,只能根据自身需求,调整产品频率和功耗,不得改变原有设计,经过几十年的发展演变,CPU架构变得极为复杂和冗繁,ARM架构文档长达数千页,指令数目复杂,版本众多,彼此之间既不兼容,也不支持模块化,并且存在着高昂的专利和架构授权问题。
反观RISC-V,在设计之初,就定位为是一种完全开源的架构,规避了计算机体系几十年发展的弯路,架构文档只有二百多页,基本指令数目仅40多条,同时一套指令集支持所有架构,模块化使得用户可根据需求自由定制,配置不同的指令子集。
ARM是一种封闭的指令集架构,ARM与RISC-V的竞争有点像上世纪末的Windows和Linux之争,ARM和RISC-V的未来竞争格局也可能类似。
• 在ARM的传统优势领域,即移动终端领域,RISC-V基本没有机会,因为手机经过十年迭代后不太会彻底改变内核。
• 新兴的领域,RISC-V和ARM都处于同一起跑线,而RISC-V凭着指令集开源等特性很有可能可以击败ARM,或者至少能够占据可观的市场份额。
——物联网
——AI
嵌入式系统的软件构成
1.经过裁剪的嵌入式操作系统(Linux、Wince),一般是自行编写的。
• 2.具有特定功能的应用软件系统,通常由C语言和汇编语言编写。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。
• 嵌入时操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并且把硬件虚拟化。
常见的嵌入式操作系统 :Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、CExecutive
从应用角度可分为两类:
• 常见的通用型嵌入式操作系统有嵌入式Linux、VxWorks、Windows CE. uCOS-II 、QNX、 Nucleus
等。
•
常用的专用型嵌入式操作系统有Smart Phone、Pocket PC、Symbian等。
按实时性特征可分为两类:
• 实时嵌入式操作系统主要面向控制、通信等领域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等。
• 非实时嵌入式操作系统主要面向消费类电子产品。这类产品包括PDA、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的Smart Phone操作系统,Linux系统。
操作系统的主要功能
处理器管理
进程控制、同步、通信和调度
存储器管理
内存分配、内存保护、地址映射、内存扩充
设备管理
设备缓冲、设备分配、设备处理
文件管理
文件存储、文件目录、文件读写
用户接口(人机界面)
操作系统的基本概念
任务、进程和线程
多用户和多任务
任务的事件驱动
中断与中断优先级
同步和异步
资源和临界资源
容错与安全性
任务、进程和线程
任务是指一个程序分段,被操作系统当作一个基本工作单元来调度。
进程是指任务的一次运行过程,是动态过程。
线程是比进程更小的能独立运行和调度的基本单位。
多用户和多任务
多个用户通过各自的终端使用同一台主机,共享同一个操作系统和各种资源
每个用户的程序可以设计成不同的任务,任务可以并发进行。
实时任务的驱动
事件驱动
内部事件:运算结果、设备请求
外部事件:开关量输入
时间驱动
绝对时间驱动
相对时间驱动
中断与中断优先级
中断源
中断优先级
中断处理程序
中断任务
同步和异步
同步:由于事件1停止而引起事件2发生,或必须事件1发生事件2才能发生,这种时间相关事件称为同步事件。
异步:随机发生的事件,通常与工业现场有关。中断任务都属于异步任务,优先级高于同步任务。
资源和临界资源
资源:程序运行时可使用的软、硬件环境称为资源。CPU可利用时间、系统可提供的中断源、内存空间和数据、通用外部设备等。
临界资源:又称共享资源,系统内任务采取互斥的方式访问共享资源。在实时多任务系统中,当异步任务被激活时,容易出现资源的临界状态。临界状态是不稳定的,一旦某任务完成资源的访问而交出资源的使用权,临界状态消失。
容错与安全性
容错:局部软件和硬件发生错误时,系统仍能正常运转。容错能力包括自诊断、自恢复和自动切换。
安全性:操作系统对自身文件和用户文件的存取合法性的控制。在核电、军工、化工等安全要求高的领域,需要用到。 2000年5月,国际电工委员会正式发布了IEC61508标准,名为《电气/电子/可编程电子安全系统的功能安全》。
实时操作系统(RTOS)
定义:
具有实时性,能支持实时控制系统运行的操作系统。
首要任务是调度一切可利用的资源完成实时控制任务;
其次才着眼于提高计算机系统的使用效率。
特点
支持异步事件的响应:要求具有中断和异步处理能力。
中断和调度任务的优先级机制:为区分轻重缓急,需要有中断和调度任务的优先级机制。
支持抢占式调度:一旦高优先级的中断或任务准备好,就能马上抢占低优先级任务的CPU使用权。
确定的任务切换时间和中断延迟时间:区别于普通操作系统的重要标志,是衡量实时性的重要标准。
支持同步:提供同步和协调共享数据的使用。
实时操作系统内核
任务管理
• 任务间通信和同步
• 存储器管理
• 定时器和中断管理
任务管理
运行态:获得CPU控制权
就绪态:进入任务等待队列,通过调度转为运行态。
挂起态:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。
实时内核的任务管理实现建立、删除、挂起、恢复任务,以及对任务执行、切换和调度等功能。
任务调度的算法
基于优先级的非抢占式调度算法(对比)
优先级反转
优先级继承
优先级封顶
任务调度的算法
同一优先级的时间片轮转调度算法
对于复杂的、高性能的多任务实时内核,多个任务共用一个优先级,实时内核将时间划片,按顺序轮回调度。
时间片的大小需要设计时根据需求考虑。
太大、太小都有利弊。
实时操作系统内核
任务间通信和同步
通信方式
共享数据结构
开关中断
设置测试标志
禁止任务切换
信号量
消息机制
消息邮箱
消息对列
任务间通信和同步
同步
单向同步
判断信号量是否非0
双向同步
存储器管理
提供对内存资源的合理分配和存储保护功能
大多数不采用虚拟存储器管理而采用分区和分块管理
定时器和中断管理
时钟管理
中断管理
嵌入式开发和PC开发的区别
嵌入式编程用的最多是C语言。
• 嵌入式的C编程和windows的C编程不同的就是,嵌入式开发出来的应用程序最终不是要运行在PC上,而是目标板上。
• 所以嵌入式开发就一定会有交叉编译环节。简单一点理解就是,在PC下编程,然后交叉编译一下,让程序能运行在PC外的其他平台上,比如ARM开发板。
嵌入式开发和单片机开发
嵌入式开发中如果没有嵌入式操作系统,那它就是通常所说的单片机开发,嵌入式开发最初就是从单片机开发走过来的。
• 目前多数教材所说的嵌入式系统开发,一般指含有嵌入式操作系统的系统开发,产品功能复杂了,单片机开发无法实现,自然需要用到嵌入式操作系统。
• 当然现在所讲的嵌入式开发和单片机开发的区别不仅仅在是否有嵌入式操作系统上,嵌入式开发所使用的嵌入式处理器(比如ARM / MIPS等)在内核体系结构、指令系统、工作模式等方面与单片机都有很大不同。
嵌入式系统应用
1工业控制领域:
智能测量仪表(流量、温度、压力、成份仪表)
数控装置
可编程控制器(PLC)
分布式控制系统(DCS)
现场总线仪表及控制系统(FCS)
工业机器人
机电一体化机械设备
汽车电子设备
工业控制DCS系统介绍
Distributed Control System
(1975年Honeywell 公司生产出第一套DCS系统,典型的嵌入式系统应用)
• 操作员站
• 控制网络
• 控制器
• IO输入输出模件
工业控制领域最重要的系统:DCS和PLC,并逐步引入了现场总线!
New Network Components
Automation System 性能和功能均可升级
ET 200M 分布式 I/O
分布式I/O ET 200M
安装在控制室或现场
采用ET200系列完整的 I/O 产品体系
带有诊断功能的 class B 模块
用于防爆区内的本安模板Ex
HART 协议模拟量输入模板
通过热插拔底座使得所有模板均支持热插拔
通过PROFIBUS-DP
连接AS与I/O
可选光缆连接
通信线缆冗余
远程I/O布置
SIMATIC PCS 7 -Solutions for Remote I/O
工业互联网”
当工业互联网的三大要素——智能设备、智能系统、智能决策与机器、设施、组织和网络融合到一起的时候,工业互联网的全部潜能就会体现出来。
生产率提高、成本降低和节能减排所带来的效益将带动整个制造业的转型升级。
嵌入式系统应用
2.家电领域
具有用户界面,能远程控制,智能管理的电器是发展趋势。
• 3.交通管理、环境监测
交通管理,车辆导航、流量控制、信息检测与汽车服务。
水文监测、防洪及水土监测、基础设施监测、地震监测、气象监测、空气污染监测、室内空气质量监测。
• 4 Internet应用
语言及视频处理设备、网络交换、路由管理设备、安全隔离
设备、防火墙。
• 5.国防领域
各种武器控制装备,雷达、电子等通信、对抗装备。
嵌入式系统特点小结
嵌入式系统以其强大的功能、灵活的配置和小型化的体积,已经成为现代控制领域的重要技术。与传统的通用计算机及普通的单片机相比,利用嵌入式系统有其自身的特点:
• 嵌入式系统是与应用紧密结合的,是面向用户、面向产品、面向应用的。
• 嵌入式系统具有很强的专用性,可定制、可裁减,且必须结合实际系统需求进行合理的裁减利用。
• 嵌入式系统是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
• 嵌入式系统必须采用专用的开发工具和环境才能进行开发。
嵌入式系统发展趋势
随着嵌入式系统应用的不断深入和产业化程度的不断提升,新的应用环境和产业化需求对嵌入式系统软件提出了更加严格的要求:
• 嵌入式处理器的功能越来越强大,而功耗则不断降低。
• 嵌入式操作系统内核不仅具有微型化、高实时性等基本特征,还将向高可信性、自适应性、构件组件化方向发展。
• 嵌入式系统开发环境不断优化,提供了更为丰富的调试功能。
• 嵌入式系统逐渐强化联网功能(工业互联网)。
• 嵌入式系统开始提供更为丰富的接口,例如USB、WIFI等。
我在上面讲课哦
资料仅供学习使用
如有错误欢迎留言交流
上理考研周导师的其他专栏:
上理考研周导师了解更多