单片机,全称单片微型计算机,从名称来看,就是将一个微型计算机集成到一个芯片上,即单片机包括了CPU、ROM、RAM、Timer、中断系统、I/O、UART等外设,整个芯片本身即是一个系统。
单片机又叫微控制器(MCU),区别于微处理器(MPU),微处理器只是相当于一个微型的CPU,不包括其他的外设,应用时需要外挂存储器、通讯接口、I/O等外设。
微处理器(MPU)强在计算,一般具有较大的算力,注重相对强大的运算/处理能力,执行复杂多样的大型程序,因此需要外挂运行内存,Flash等。
微控制器(MCU)强在控制,注重功能较为单一、价格敏感的应用场景,不需要相对强大的运算/处理能力,更多的是设备管理/控制。
MCU和MPU都可以算作微型的CPU,与之对应的还有一个GPU,为图像处理器,一般用作显卡的处理器。
以上算是处理器的简单分类,下面说一下开发过程中比较常用的一些处理器芯片。
一般项目开发过程中用到的处理器芯片中比较多的有MCU(Microcontroller:单片机)、DSP(Digital Signal Processer:数字信号处理器)和FPGA(Field Programmable Gate Array:现场可编程逻辑门阵列),可根据项目具体需求情况进行选用。
MCU(单片机)在目前市场上常用的主要有8位、16位、32位机,内核主要是51核和ARM核,主要用于工业控制领域。
单片机拥有以下几种应用特点:
(1)拥有良好的集成度;
(2)单片机自身体积较小;
(3)单片机拥有强大的控制功能,同时运行电压比较低;
(4)单片机拥有简易携带等优势, 同时性价比较高。
单片机主要应用于下面几种领域当中,分别是:自动化办公、机电一体化、尖端武器和国防军事领域、 航空航天领域、汽车电子设备、医用设备领域、商业营销设备、计算机通讯、家电领域、日常生活和实时控制领域等。
DSP即数字信号处理器,是一种专门用于数字信号处理领域的微处理器芯片。
DSP采用了许多特殊软硬件结构。首先是采用哈佛结构,将程序和数据分开,同时为处理器提供指令和数据,然后采用多级流水线技术,在指令周期内可以执行更多指令。加上专用的硬件乘法器、特殊的DSP指令,使得DSP芯片在计算处理上,远超同主频的MCU或MPU。
DSP拥有强大的数据处理能力,在数字信号处理领域,如调制/解调、数据加密/解密、图形处理、数字滤波、音频处理等计算密集型的场景广泛应用。
FPGA是由可编程互相连接的可配置逻辑块(CLB)矩阵构成的半导体器件。FPGA 的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。
FPGA是一个可以通过编程改变内部硬件结构,实现所需功能的芯片。前面的MCU、DSP等都是硬件资源固定,只能通过修改软件实现所需功能。而FPGA是通过硬件描述语言修改硬件,将FPGA变为CPU或专用芯片,来实现控制或算法。
由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。
简单来说就是:MCU侧重于控制,DSP侧重于数据处理,而FPGA为可现场更改的纯硬件。
通过上面的内容,结合项目需求,基本可以确认我们需要选取哪一类的处理器。
加入最终确认需要选用单片机(MCU)的话,那么下一步的工作是:确定选取哪一款单片机。
目前市面上的单片机主要有8位、16位、32位机,内核主要是51核和ARM核,品牌、资源、价格等也是各不相同,要怎么选呢?
首先需要摒除的一个想法就是:片上资源越多越好!这个想法是绝对要不得的。原因如下:
第一:成本考虑。资源越多的单片机肯定价格越贵。而很多富裕资源其实项目上根本用不到,放在那里也是浪费。因此选型的时候满足自己项目的需求即可。
第二:体积考虑。一般同一个系列或者同一个厂家的单片机产品,资源越多体积越大,因此如果选用较多资源的芯片,就需要预留足够大的体积。
第三:功耗考虑。运行一个高资源的芯片需要消耗的能源也是比少资源芯片要高得多。当然,现在很多单片机的低功耗处理做的很不错,可以通过停用外设、降频等方式减少功耗,但是这样不如一开始的时候就选用少资源的芯片来用。
我们选取单片机型号的时候,要考虑的主要有以下几点:
1、供货稳定性。首先要选取的就是市面上常见的,大品牌的,用的很多的品牌,比如ST、TI、中颖、新唐、合泰等国内外单片机大品牌。
2、资源足够用。首先需要评估项目需要用到哪些资源,然后根据这个需求确定选取哪个型号的MCU比较合适。
3、工作环境评估。要根据项目的应用环境来选取相应规格的单片机,比如工作环境的高低温情况、供电电源情况、运行要求等等,需要选取能够满足相应工作环形的型号规格。一般各个系列都会针对不同应用情况退出对应规格的单片机。
4、后续可升级。选取单片机时要根据评估的需求预留出一部分备用资源,防止开发过程中遇到的一些不可预料情况。同时同系列里要尽量有PIN-TO-PIN(引脚兼容)的更多资源的型号。
5、熟练开发。基于以上几点做好评估之后,尽量选一款自己比较熟悉,经常使用的单片机,这样开发起来更容易上手,工作量相对较少,遇到问题也更容易排查。
|
说的很详细