一文读懂MCU的特点、功能

judy的头像
judy 发布于:周四, 06/15/2017 - 17:07 ,关键词:

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:

MCU的特点

要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块、中断源、工作电压及功耗等等。

了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确哪些资源是目前所需要的,哪些是本项目所用不到的。

对于项目中需要用到的而所选MCU不能提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现。例如,所开发的项目需要五六个COM口进行通讯,而所选的MCU只提供4个UART口,则可以考虑用外部扩展的方式来实现。

对于项目开发需要用到的资源,则需要对其进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。

对于MCU学习来讲,应用才是关键,也是最主要的目的。

MCU的功能

对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:

● Timer(定时器):Timer的种类虽然比较多,但可归纳为两大类:

一类是固定时间间隔的Timer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz等,此类可以用来实现时钟、计时等相关的功能;

另一类则是可编程定时器,顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。
此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出。由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起。

● IO口:任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。

根据IO口的可配置情况,可以分为如下几种类型:

纯输入或纯输出口:此类IO口有MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定。

直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口。

程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LED的控制总线等。

● 外部中断:

外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。

外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭。

● SPI接口:

此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及片选信号;

此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。

● I2C接口:

I2C是由Philips开发的一种数据传输协议,采用2根信号来实现:SDA(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;

I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢。

● UART:

属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit + Parity Bit+ Stop Bit。一位数据所占的时间称为Baud Rate(波特率)。

对于大多数的MCU来讲,数据为的长度、数据校验方式(奇校验、偶校验或无校验)、停止位的长度及波特率是可以通过程序编程进行灵活设定。
此类接口最常用的方式就是与PC机的串口进行数据通讯。

● Watchdog(看门狗定时器):

Watchdog也是绝大多数MCU的一种基本配置,大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭,而有的MCU则是通过特定的方式来决定其是否打开。

一般而言watchdog的复位时间是可以程序来设定的。
Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。

转自: 周立功单片机

围观 304