嵌入式系统基础概念 - 嵌入式系统、微控制器、ARM

什么是嵌入式系统?

嵌入式系统来源于英文Embedded system,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。嵌入式系统通常进行大量生产,所以单个的成本节约,能够随着产量进行成百上千的放大。

嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“固件”。

几个重要的基本概念:

微处理器和微控制器

主流的微控制器:

  • 8位单片机
  • 32位微控制器
    • NXP -
    • Freescale -
    • STMicroelectronics STM32
    • TI的MSP430CC3200
    • Microchip
    • Silicon Labs
    • MIPS
    • Cypress的PSoC4

嵌入式系统的开发过程

ARM的世界

Mbed介绍

什么是Mbed?

开始使用mbed,教程

开发环境

数字输入和输出

开始编程

电压和逻辑值

mbed上的数字输出

使用数字输入

简单的光器件接口

驱动大的直流负载

小项目 - Letter计数器

模拟输出

介绍数据转换

模拟输出端口

另一种方式的模拟输出:PWM

mbed上的PWM

模拟输入

ADC

模拟输入和输出组合

处理从模拟输入获得的数据

一些简单的模拟传感器

数据转换的时序

进一步编程的技巧

程序设计和结构

功能

编程设计

采用流程图定义代码结构

伪代码

函数

多文件

串行通信

介绍同步串行通信

SPI总线

介绍SPI

板子上的SPI

设置SPI主

创建SPI数据链路

智能仪表和SPI加速度计

评估SPI

I2C总线

什么是I2C总线

mbed上的I2C

设置I2C数据链路

同I2C的温度传感器通信

使用SRF08超声测距

评估I2C

异步串行通信

什么是异步串行通信

mbed上的异步串行通信

同主机之间的同步通信

液晶显示

显示技术

介绍LCD技术

LCD字符型显示

采用PC1602F LCD

介绍PC1602F显示

连接PC1602F

使用mbed的TextLCD库

在LCD上显示模拟输入

更高级的LCDs

彩色的LCD

控制SPI LCD手机显示屏

中断、定时、任务

存储器和数据管理

存储器功能类型

数据文件的使用

C/C++库函数

定义本地文件系统

打开和关闭文件

文件数据的读写

数据文件访问示例

文件访问

串文件访问

使用格式化数据

使用外部存储器

指针介绍

数字信号处理

什么是DSP?

数字滤波举例

数字数据的输入和输出

信号重建

数字低通滤波器

按键激活

数字高通滤波器

延时/回声效果

波表音频文件的处理

高级串行通信

蓝牙串行通信

USB

以太网

控制系统

闭环和开环控制