MCU(Microcontroller Unit)按存储器分类有Mask(掩模,即出厂程序已固化)、OTP(一次性编程)、Flash(可多次编程)。可见,Mask的价格最低,Flash的价格最高,OTP的价格介于两者之间。从产品来看,OTP在电子产品应用更广泛,不需要再次进行更新程序,Flash更适用于学习板,开发阶段。由于技术的不断成熟,Flash的价格也越来越低。
MCU 的组成中基本都有CPU、RAM、ROM,而ADC、DAC、中断、计数器、DMA、UART、USB等等属于外部电路,可根据实际需求来集成。以下是某个MCU的组成框图。
以下,小编就按照框图中所含有的功能进行描述其作用,希望可以帮助到你。
-
Flash/EEPROM Programming Circuitry (ICP)/OCDS:
①Flash:全称是Flash Memory,是非易失性存储设备,是用来存储程序的,简单的说MCU就是按照这个里面写的内容来运行的。当然也可以将一些固定的数据写入到这里面未用到的地址上。
②EEPROM:全称Electrically Erasable Programmable Read Only Memory,是带电可擦可编程的只读存储器,其实就是用来存储一些掉电不想失去的值,如特征值等。
③ICP:全称In Circuitry Programming,是在电路编程,是用硬件的方式写入程序到flash,当然还有ISP(在系统编程,通过USB或UART等接口传输数据,使用引导程序BootLoader对Flash进行更新程序,通常用于设备的程序更新),IAP(在应用编程,简单理解就是用一个程序去更新另一个程序,例如手机中的软件更新就是这个方式),ISP和IAP需多占用内存,在程序空间不够的情况下,还是不建议使用这两种方式。
④OCDS:是用来做仿真的,可实时看到程序的运行状况,通常在开发过程中常用到。
-
Watchdog Timer:看门狗定时器,就是看住门,不让不好的事情发生。简单理解是程序的运行会跑飞,导致不能按照轨道继续运行,这个时候看门狗定时器就起到了作用,计数溢出,导致MCU复位重启,程序从头运行。
-
Low Voltage Detect:低电压检测,当电压小于设定值之后,就会产生事件告诉CPU,让CPU来处理。
-
Low Voltage Reset:低电压复位,当电压小于设定值之后,就会发生复位,避免MCU在电压不够的时候程序运行的不稳定。
-
8bit MCU Core:这个就是MCU中的大脑,用来处理外部事件和内部数据。
-
Oscillators:晶振,有内部的RC电路或者外部的晶振电路,其实就是某频率的方波,CPU就按照这个节拍在运行,运行的速度跟这个有关系,但是也是有上限的。
-
I/O:全称Input/Output,是CPU和外部通信的接口,CPU可以输出高低来控制设备,也可以获取外部的信息后进行处理。
-
CTM/STM/PTM:定时器,这个功能特别有用,不仅可以用来做计时器,还可以将程序进行切换运行,看起来几个不同功能的程序在并行运行,实际上还是单线程在运行。
-
ADC:模拟转数字,运行的原理就是将电压平均分成2ⁿ个小电压,然后将采集的电压和m个相加的电压进行比较,这m就是转换后的值。n有8、10、12、16、24等,bit越高,就越精确,但是转换所需的时间越多。所以要根据实际需求来确定。
-
SIM:即IIC和SPI,是两种不同的通信方式,相对来说IIC的速度比SPI慢。IIC是双线(SCK时钟、SDA数据)的,半双工的通信方式,即某时刻只能发送或者只能接收。SPI是4线(SCS片选、SCK时钟、MOSI主机输出从机输入、MISO主机输入从机输出)的,全双工,即同一时刻可发送可接收。IIC和SPI的时钟都是有主机提供的。
-
UART:是异步串行通信,也是一种常用的通信方式。是双线(TX、RX),全双工的通信方式,速度由波特率决定。
-
。。。。。。
还有很多,以上只是一小部分,了解的越多,对开发产品是很有用处的,可以大大提高开发效率,和产品的完整性。