|
|
|
|
|
|
|
|
# 1. 计算机的发展
|
|
|
|
|
|
## 1.1. 电子管计算机
|
|
|
|
|
|

|
|
|
|
|
|
ENIAC长30.48米,宽6米,高2.4米,占地面积约170平方米,30个操作台,重达30英吨,耗电量150千瓦,造价48万美元。它包含了17,468根真空管(电子管)7,200根水晶二极管,1,500 个中转,70,000个电阻器,10,000个电容器,1500个继电器,6000多个开关,计算速度是每秒5000次加法或400次乘法,是使用继电器运转的机电式计算机的1000倍、手工计算的20万倍。
|
|
|
|
|
|

|
|
|
|
|
|
ENIAC的编程通过改变电缆连接的方式进行,那时几乎所有的程序员都是女性。
|
|
|
|
|
|
## 1.2. 计算机核心技术的发展
|
|
|
|
|
|

|
|
|
|
|
|
电子管又叫做阴极射线管,是ENIAC的核心。
|
|
|
|
|
|

|
|
|
|
|
|
1947发面了晶体管(一般使用半导体材料硅/锗为材料,后来锗材料因为物理特性的原因几乎很少用了)代替电子管,使得计算机的功耗和体积大大降低,同时运算速度大大提升。
|
|
|
|
|
|

|
|
|
|
|
|
集成电路,英文为Integrated Circuit,缩写为IC;顾名思义,就是把一定数量的常用电子元件,如电阻、电容、晶体管等,以及这些元件之间的连线,通过半导体工艺集成在一起的具有特定功能的电路。是20世纪50年代后期到60年代发展起来的一种新型半导体器件。它是经过氧化、光刻、扩散、外延、蒸铝等半导体制造工艺,把构成具有一定功能的电路所需的半导体、电阻、电容等元件及它们之间的连接导线全部集成在一小块硅片上,然后焊接封装在一个管壳内的电子器件。其封装外壳有圆壳式、扁平式或双列直插式等多种形式。集成电路技术包括芯片制造技术与设计技术,主要体现在加工设备,加工工艺,封装测试,批量生产及设计创新的能力上。
|
|
|
|
|
|
## 1.3. 现有主流计算机的计算能力
|
|
|
|
|
|
13th Gen Intel(R) Core(TM) i7-13700K
|
|
|
|
|
|
- 核心:6.38GFLOPS/Core 64亿浮点/核心/秒
|
|
|
- CPU:500亿~2000亿/秒
|
|
|
- 频率 3~6G
|
|
|
- 晶体管数量 估计 20亿~50亿
|
|
|
- 功耗 65W
|
|
|
|
|
|
# 2. 嵌入式系统的概念和特点
|
|
|
|
|
|
计算机系统分类(P2)
|
|
|
|
|
|
1. 通用计算机按照高速运算和海量存储的技术方向发展。
|
|
|
2. 嵌入式系统则向低功耗、高可靠性和便携性等方向发展
|
|
|
|
|
|
## 2.1. 什么是嵌入式
|
|
|
|
|
|
IEEE定义:用于控制、监视或者辅助操作机器或设备装置。
|
|
|
|
|
|
通用定义:嵌入到对象体系中,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
|
|
|
|
|
|
## 2.2. 嵌入式系统的特点(p2)
|
|
|
|
|
|
1. 嵌入性
|
|
|
2. 专用性
|
|
|
3. 计算机系统
|
|
|
|
|
|
## 2.3. 问题:
|
|
|
|
|
|
> 你身边的电子设备,那些是嵌入式的,哪些是非嵌入式的?
|
|
|
>
|
|
|
> - 笔记本
|
|
|
> - 服务器
|
|
|
> - 手机?
|
|
|
> - 手表?
|
|
|
> - 空调
|
|
|
> - 电视?
|
|
|
> - 洗衣机
|
|
|
> - 冰箱
|
|
|
> - 蓝牙耳机
|
|
|
> - 遥控器
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 嵌入式系统的组成(p3)
|
|
|
|
|
|

|
|
|
|
|
|
虚线上的是软件部分,下部是硬件部分。硬件部分分为核心部分和外围电路;软件部分的操作系统是可选的。
|
|
|
|
|
|
> 问题:为什么需要操作系统,没有操作系统行不行?
|
|
|
|
|
|
## 3.1. 嵌入式硬件(p3-p4)
|
|
|
|
|
|
- 嵌入式处理器(MPU/MCU):一般来说,MPU的通用能力更好、性能更好;MCU 的性能较低、功耗更低,型号更多,满足专用的领域。例如以前学过的8051就是典型的MPU。
|
|
|
|
|
|

|
|
|
|
|
|
> 问题:8051 的基本性能和外设?
|
|
|
>
|
|
|
> 8051 可以用来做什么?
|
|
|
|
|
|
- DSP 数字信号处理器
|
|
|
|
|
|
|
|
|
|
|
|
### 3.1.1. 片上系统(SOC)
|
|
|
|
|
|
片上系统(SOC):集成度更高,除了MPC/MCU,集成了信号处理(DSP),音频、视频、存储等附加功能,更便于小型化和专用化。
|
|
|
|
|
|
### 3.1.2. ARM处理
|
|
|
|
|
|
ARM公司负责设计处理计内核,其他公司购买内核设计,并在内核的基础上增加功能后完成自己的芯片。
|
|
|
|
|
|
系列:Cortex-A、Cortex-R、Cortex-M,性能从高到底。Cortex-A系列用于手机、平板、甚至服务器领域;Cortex-R通用的高性能嵌入式,用于汽车、网络产品片、仪器、家电等领域;Cortex-M是低功耗系列,用于手表、物联网传感器等小型化、低功耗的领域。
|
|
|
|
|
|

|
|
|
|
|
|
### 3.1.3. 外围电路(p5)
|
|
|
|
|
|
- 环境感知
|
|
|
- 通信类
|
|
|
- 存储类
|
|
|
- 人机交互类
|
|
|
|
|
|
## 3.2. 嵌入式系统软件(p6)
|
|
|
|
|
|

|
|
|
|
|
|
- 驱动程序
|
|
|
- 操作系统
|
|
|
- 应用程序
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 嵌入式系统的开发流程
|
|
|
|
|
|
## 编程模式(p7)
|
|
|
|
|
|
### 前后台程序(裸机编程)
|
|
|
|
|
|
该方式适合简单的应用。
|
|
|
|
|
|
后台系统:一个死循环,在循环中调用不同的功能函数完成操作;
|
|
|
|
|
|
前台系统:多个中断服务,用于处理系统的异步事件和实时性要求高的任务。
|
|
|
|
|
|

|
|
|
|
|
|
### 嵌入式操作系统
|
|
|
|
|
|
适合复杂的应用,更方便的管理任务间的切换,同时也需要较多的资源(RAM、ROM、CPU)。
|
|
|
|
|
|
## 程序开发方式(P8)
|
|
|
|
|
|
- 寄存器方式:以前的8051编程方式,需要了解每个寄存器的具体地址,通过寄存器的读写、位操作等完成功能的开发;
|
|
|
- 库函数方式:使用函数和预定义常量来简化寄存器的操作,其底层还是寄存器的操作。
|