嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
1、单片机等小的外部总线
单片机等小的MCU一般都有外部总线,可以用来接真彩LCD(异步总线接口TFT显示屏)。手机上,大部分都是用同步(先给出一个地址,然后连续的刷数据)接口的屏。
2、ARM处理器的应用场景
ARM7:工业控制、手机;
ARM9:图像显示;
Cortex-A:高性能的应用:手机、山寨本;
Cortex-M:低端的应用;
Cortex-R:中端的应用,比较少见;
3、ARM处理器的异常
一般情况下,前面的一些中断(比如前15种)是由ARM公司自己设计的,并且是固定的,后面的部分中端则是由不同的芯片厂家定义的。
4、处理器的SystemTimer
System Timer 即Systick,在没有OS时,可以作为通用的定时器使用。在需要OS时,可以作为OS的系统时钟。
5、同一中断的禁止和使能分别由不同的寄存器控制
目前,很多的处理中都会有这样的现象,同一中断的禁止和使能分别由不同的寄存器控制。禁止该中断时,向中断屏蔽寄存器中对应的位写入1,使能该中断时,向中断使能寄存器的对应位写入1。
这样分开控制的好处是:
A.不用将中断控制寄存器的值先读出来,进行或运算后再写回去;
B.直接写1,不会影响到其它位所控制的中断;
6、OD门输出
在处理器电平与外设电平不匹配时可以使用。
7、如何设置IO的状态以降低功耗
若某输入引脚悬空,有漏电流,会耗电。判断方法:用手摸时,电流会变动。
A.将不用的引脚设置为0或者1的输出模式;
B.若配置为输入引脚,应将内部上拉打开;
8、ADC和DAC
在系统睡眠时,应该将ADC和DAC关掉,否则会耗电。
9、看门狗的使用
A.不要在中断中喂狗;
B.喂狗越没有规律越好;
10、I2C总线
SDA和SCL都是双向的,开漏驱动的,使用时要加上拉电阻。
I2C协议的通讯过程:
A.发送start信号(谁发送start信号,谁就是主机)
B.发送从地址
C.传输数据
D.发送stop信号
用软件模拟的I2C总线有如下缺点:
A.不能进行总线仲裁
B.由于要一直检测时钟信号,因此难于实现从设备;
11、逻辑0页
很多MCU的逻辑0页可以任意映射,这样就可以在flash中烧写多个系统。通过配置字节配置系统从不同的地址启动,这样可以实现升级。