MCU简介
微操控单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或许单片机,是把中央处理器(Central Process Unit;CPU)的频率与规范做恰当减缩,并将内存(memory)、计数器(TImer)、USB、A/D转化、UART、PLC、DMA等周边接口,乃至LCD驱动电路都整合在单一芯片上,构成芯片级的计算机,为不同的运用场合做不同组合操控。比方手机、PC外围、遥控器,至轿车电子、工业上的步进马达、机器手臂的操控等,都可见到MCU的身影。
MCU的特色
要了解一款MCU,首要需求知道便是其ROM空间、RAM空间、IO口数量、守时器数量和守时办法、所供给的外围功用模块(Peripheral Circuit)、中止源、作业电压及功耗等等。
了解这些MCU Features后,接下来第一步便是将所选MCU的功用与实践项目开发的要求的功用进行比照,清晰那些资源是现在所需求的,那些是本项目所用不到的。关于项目中需求用到的而所选MCU不供给的功用,则需求仔细了解MCU的相关材料,以求用直接的办法来完成,例如,所开发的项目需求与PC机COM口进行通讯,而所选的MCU不供给UART口,则能够考虑用外部中止的办法来完成;
关于项目开发需求用到的资源,则需求对其Manua*进行仔细的了解和阅览,而关于不需求的功用模块则能够疏忽或阅读即可。关于MCU学习来讲,运用才是要害,也是最主要的意图。
清晰了MCU的相关功用后,接下来就能够开端编程了。关于初学者或初度运用此款MCU的规划者来说,或许会遇到许多对MCU的功用描绘不清晰的当地,关于此类问题,能够经过两种办法来处理,一种是编写特别的验证程序来了解材料所述的功用;另一种则能够暂时疏忽,程序规划中则按照自己现在的了解来编写,留到调试时去修正和完善。前一种办法适用于时刻较宽松的项目和初学者,然后一种办规律适合于具有必定MCU开发经历的人或项目进展较急迫的状况;
指令体系千万不要特别花时刻去了解。指令体系仅仅一种逻辑描绘的符号,只需在编程时依据自己的逻辑和程序的逻辑要求来检查相关的指令即可,并且跟着编程的进行,对指令体系也会越来越娴熟,乃至能够不自觉地回忆下来。
MCU的根本功用
关于绝大多数MCU,下列功用是最遍及也是最根本的,针对不同的MCU,其描绘的办法或许会有差异,但本质上是根本相同的:
● TImer(守时器):TImer的品种尽管比较多,但可概括为两大类:一类是固守时刻距离的TImer,即其守时的时刻是由体系设定的,用户程序不行操控,体系只供给几种固定的时刻距离给用户程序进行挑选,如32Hz,16Hz,8Hz等,此类TImer在4位MCU中比较常见,因而能够用来完成时钟、计时等相关的功用;另一类则是Programmable Timer(可编程守时器),望文生义,该类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总线,各种LCD、LED Driver的操控总线等;
● 关于IO口的运用,重要的一点有必要紧记的是:关于输进口,有必要有清晰的电平信号,确保不能浮空(能够经过增加上拉或下拉电阻来完成);而关于输出口,其输出的状况电平有必要考虑其外部的衔接状况,应确保在Standby或静态状况下不存在拉电流或灌电流。
● 外部中止:外部中止也是绝大多数MCU所具有的根本功用,一般用于信号的实时触发,数据采样和状况的检测,中止的办法由上升沿、下降沿触发和电平触发几种。外部中止一般经过输进口来完成,若为IO口,则只需设为输入时其间止功用才会敞开;若为输出口,则外部中止功用将主动封闭(ATMEL的ATiny系列存在一些破例,输出口时也能触发中止功用)。外部中止的运用如下:
● 外部触发信号的检测:一种是根据实时性的要求,比方可控硅的操控,突发性信号的检测等;而另一种状况则是省电的需求;
信号频率的丈量;为了确保信号不被遗失,外部中止是最理想的挑选;
● 数据的解码:在遥控运用领域,为了下降规划的本钱,常常需求选用软件的办法来对各种编码数据进行解码,如Manchester和PWM编码的解码;
● 按键的检测和体系的唤醒:关于进入Sleep状况的MCU,一般需求经过外部中止来进行唤醒,最根本的方法则是按键,经过按键的动作来发生电平的改变;
● 通讯接口:MCU所供给的通讯接口一般包括SPI接口,UART,I2C接口等,其别离描绘如下:
● SPI接口:此类接口是绝大多数MCU都供给的一种最根本通讯办法,其数据传输选用同步时钟来操控,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些状况下则或许没有Ready信号;此类接口能够作业在Master办法或Slave办法下,浅显说法便是看谁供给时钟信号,供给时钟的一方为Master,相反的一方则为Slaver;
● UART(Universal Asynchronous Receive Transmit):归于最根本的一种异步传输接口,其信号线只需Rx和Tx两条,根本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时刻称为Baud Rate(波特率)。关于大多数的MCU来讲,数据为的长度、数据校验办法(奇校验、偶校验或无校验)、中止位(Stop Bit)的长度及Baud Rate是能够经过程序编程进行灵敏设定。此类接口最常用的办法便是与PC机的串口进行数据通讯。
● I2C接口:I2C是由Philips开发的一种数据传输协议,相同选用2根信号来完成:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的优点是能够在此总线上挂接多个设备,经过地址来进行辨认和拜访;I2C总线的一个最大的优点便是十分便利用软件经过IO口来完成,其传输的数据速率完全由SCLK来操控,可快可慢,不像UART接口,有严厉的速率要求。
● Watchdog(看门狗守时器):Watchdog也是绝大多数MCU的一种根本装备(一些4位MCU或许没有此功用),大多数的MCU的Watchdog只能答应程序对其进行复位而不能对其封闭(有的是在程序烧入时来设定的,如Microchip PIC系列MCU),而有的MCU则是经过特定的办法来决议其是否翻开,如Samsung的KS57系列,只需程序拜访了
Watchdog寄存器,就主动敞开且不能再被封闭。一般来说watchdog的复位时刻是能够程序来设定的。Watchdog的最根本的运用是为MCU由于意外的毛病而导致死机供给了一种自我康复的才能。
怎么运用MCU进行简略的功用增强
假如有一个25美分的MCU,能够用0.5KB的内存做些什么?
您现在或许现已运用固定功用的集成电路(IC)很长一段时刻了,并且在某些状况下,现已习惯了它们有限的灵敏性。一个简略的通用异步收发器(UART)到串行外设接口(SPI)桥接器、一个复位操控器或一个带有后备存储器的外部实时操控器(RTC)在本身功用方面具有杰出的体现,但却仅限于设定的功用。
可是假如能够经过智能化或功用定制来更好地满意您的需求呢?假如能够运用独立的低本钱MCU来完成这些独立功用呢?
25项功用被划分为规范电路中常见的四个功用类别:即体系管理、脉宽调制、守时器和通讯。在运用MSP430FR2000器材时,大部分代码实例都适用于0.5KB以下的内存,本钱最低的MSP430 MCU的售价低至1000单位数量29美分,更多数量低至25美分。图1介绍了一些离散功用集成电路,如外部监视器或实时时钟集成电路,能够用25项功用中的对应功用进行代替。假如运用所示的多个集成电路或功用(如守时器或PWM),乃至能够将多种功用组合起来,满意您的运用需求,然后削减作业量和电路板空间。
为帮助您了解和运用这些功用,TI编写了一本电子版说明书,其间包括25个简略的运用注释,并附有源代码链接。在几分钟内,便能够编译、下载源代码并在MSP430超值传感系列MCU上运转。能够依据您的运用需求对功用进行调整,然后大幅缩短上市时刻。
在开端了解对很多固定功用集成电路的可编程代替计划时(咱们等待看到您运用25种功用能够做些什么),咱们将持续构建运用注释系列。