mcu的技术瓶颈:MCU的硬核科普
mcu的技术瓶颈:MCU的硬核科普7.MCU产品未来改进的六大维度6.学习方法——使用单片机3.单片机的分类及应用4.中国MCU技术及知名厂商5.单片机的基本功能
目录
介绍 |
1.什么是微控制器(MCU)? |
2.微控制器(MCU)的历史 |
3.单片机的分类及应用 |
4.中国MCU技术及知名厂商 |
5.单片机的基本功能 |
6.学习方法——使用单片机 |
7.MCU产品未来改进的六大维度 |
8.单片机编程 |
9.单片机编程工程师总结 |
10.如何开发单片机 |
11.解决 MCU Crystal 问题的 5 个技巧 |
12.芯片操作总结 |
13.常问问题 |
微控制器( MCU ) 是建立在单个金属氧化物半导体 (MOS) 集成电路 (IC) 芯片上的小型计算机。微控制器由 CPU(处理器内核)、存储器和可编程输入/输出外设组成。在芯片上,通常包括少量RAM以及铁电 RAM、NOR 闪存或 OTP ROM。与个人计算机或其他通用应用程序中使用的微处理器相比,微控制器是为嵌入式应用程序设计的,由许多分立的芯片组成。本文将深入研究 MCU。
1.什么是微控制器(MCU)?微控制器单元(MCU)适当降低了CPU的频率和规格,集成了内存、计数器、USB、A/D转换、UART、 PLC、 DMA等外围接口。同时,甚至将液晶驱动电路集成在单个芯片上,形成芯片级计算机,可以针对不同的应用进行不同的组合控制,如手机、PC外设、遥控器、汽车电子、工业步进电机、机器手臂等的控制,都可以在MCU中看到。
图1 MCU组件
2.微控制器(MCU)的历史微控制器单元 的历史很短,但发展迅速。它的产生和发展与微处理器(CPU)的产生和发展大致同步。自1971年美国英特尔公司首次推出4位微处理器以来,其演进大致可分为五个阶段。以下是英特尔MCU的发展概况。
1971-1976 图2 MCU产品类别 目前,中国应用最广泛的MCU市场是消费电子领域,其次是工业领域和汽车电子市场。消费电子产品包括家用电器、电视、游戏机以及音频和视频系统。工业领域包括智能家居、自动化、医疗应用以及新能源发电和配电。汽车领域包括汽车动力总成和安全控制系统。 工业单片机 工业MCU产品主要用于电机控制、仪器仪表、低压配电、电动工具、工业机器人等应用场景中的电机控制运行、数据采集控制等功能。 图 3 电动车充电器 随着工业设备复杂性的增加,MCU 设备的数量也在增加。考虑工业机器人:单个工业机器人至少使用十个MCU产品。
MCU广泛应用于家用电器,主要用于实现系统控制、电机控制、面板显示控制等功能。 家电市场主要分为小家电和大家电,小家电包括厨房电器(微波炉、电磁炉、豆浆机等)、家用电器(吸尘器、电风扇、电暖器等)。 )、个人生活小家电(电动牙刷、吹风机等),大家用电主要为空调、冰箱、洗衣机等白色家电。 图 4 感应加热炊具应用程序框图 目前,32位MCU因其更高的规格和性能以及不断降低的成本成为市场主流,并广泛应用于汽车电子领域。工控/医疗等领域;但仍有大量的应用场景需要简单的控制,而低价值的MCU具有成本优势,因此继续占据着很大的市场。
根据 IC Insights 的数据,2019 年全球MCU市场规模约为 164 亿美元,到 2023 年可能达到 200 亿美元左右。 2019年中国MCU市场规模约为256亿元,约占全球市场的26%,2015-2019年复合增长率为9%。 从全球市场来看,汽车电路占全球MCU市场的33%。根据IC Insights数据,2023年车用MCU市场空间将达到81亿美元,整体增速相当可观;目前,32位MCU因其更高的规格和性能以及不断降低的成本成为市场主流,并广泛应用于汽车电子领域。工控/医疗等领域;但仍有大量的应用场景需要简单的控制,而低价值的MCU具有成本优势,因此继续占据着很大的市场。 图 5 MCU 市场结构 从格局来看,2020年全球车用MCU市场份额前五名分别是瑞萨、恩智浦、英飞凌、德州仪器 和微芯,合计占比87%。 4.中国MCU技术及知名厂商MCU市场仍以海外龙头为主,中国优质厂商在细分领域逐步取得突破,在中国本土化加速的背景下,份额有望快速提升。 预计全球MCU市场将进一步增长,2019年全球MCU市场规模达到164亿美元,2023年达到200亿美元。 需求端,汽车电动化改善、物联网 渗透加速、家电智能变频需求增加、可穿戴设备快速迭代、工控稳步增长,继续带动MCU行业快速增长。(以MCU为例,2020-2023年全球市场复合增长率为7.7%,预计到2023年市场空间为81亿美元) 供给端,2020年受疫情影响,MCU行业持续供不应求。英飞凌、恩智浦。而ST,以及其他海外MCU大厂,出现了几倍到几十倍的价格,交货期超过50周;预计持续短缺将至少持续到 2021 年底和 2022 年第一季度。 电路壁垒方面,MCU下游领域对汽车电路的要求最高,其次是工业和家电电路,消费电子相对要求略低,根据MCU产品环境温度、良率、服务等寿命等参数。 从行业竞争格局来看,中国MCU厂商市场占有率较低,短期受益于库存短缺导致的加速更新换代,长期来看仍有较大提升空间: 全球MCU市场较为集中,微芯、ST MICROELECTRONICS、瑞萨、TI、NXP、英飞凌等厂商占据80%以上的市场份额;中国MCU市场规模约为250亿元,国内MCU厂商总市场份额不足12%,主要集中在消费市场,具有充足的扩展空间。 缺货导致中国MCU厂商步伐加快,在汽车、工业、消费类电路中,中国MCU认证步伐不断加快。 瑞萨电子——全球第一家汽车MCU制造商 瑞萨电子成立于 2003 年,由日立半导体部门和三菱电机半导体部门合并而成。其主要业务涵盖汽车、工业、通讯等领域。瑞萨是全球第一家汽车MCU制造商,2020年占汽车MCU市场的30%。 瑞萨MCU拥有完整的产品线,涵盖EV/HEV、动力总成、电动汽车、车载仪表盘、车载网络、底盘控制、ADAS等应用领域。 微芯科技-8位MCU主要特点,收购Atmel补充32位MCU实力 微芯科技公司(Microchip)成立于1989年,微芯 科技是全球领先的单芯片和模拟半导体供应商。公司主营业务为单片机、存储器产品、模拟接口、混合信息产品、技术授权等。 产品主要应用于嵌入式控制系统和物联网相关行业,包括数据处理、医疗互联网 (IoT)、智慧城市、工业4.0、智能医疗等。主要客户包括英特尔、戴尔、 洛克希德马丁、惠普、波音, 等等。 STST-ARM架构MCU王者 ST成立于1987年,产品主要应用于汽车产品、电脑周边、通讯系统、消费类产品、工业自动化控制系统等方面。其主要客户包括苹果、黑莓、博世、思科、Conti、惠普、诺基亚、小畑、三星和西部数据。 MCU车用级产品占公司收入的32.13%。St 拥有当前 MCU 市场 8.5% 的份额,是细分 32 位 MCU 市场的领导者。 ST深耕汽车半导体领域多年,公司拥有完整的产业链,产品具有极高的性价比,在车规级MCU占据主导地位。客户包括日产、奥迪、上汽、特斯拉等多家企业。 NXP——全球领先的汽车MCU制造商 恩智浦半导体成立于2006年,前身为飞利浦半导体事业部。恩智浦主营MCU、MPU等产品,可广泛应用于汽车电子、工业控制、智慧城市、智能家居、可穿戴产品等领域。其基于S32汽车平台的MCU/MPU在安全性和效率上优势明显,已被全球主流主机厂采用。 恩智浦自主研发的业界首款跨界MCU:I.MX RT系列。此类产品以其高集成度、性价比和安全性得到了众多互联网平台(如亚马逊)的认可。 恩智浦于 2015 年收购飞思卡尔(由摩托罗拉创立),使其在汽车行业的影响力更深。2020年,其47%的收入来自车载MCU。目前,公司占全球汽车MCU产业的27.8%,位居全球第二。恩智浦为智能汽车提供完整的半导体解决方案,包括汽车娱乐系统、高级驾驶辅助系统 (ADAS)。 华富电子-中国最大的家电MCU制造商 Sino Wealth Electronic Ltd.是一家MCU集成电路设计公司,主要产品包括8位Flash MCU、8位OTP/Mask MCU、16位 DSP 、4位OTP/Mask MCU,广泛应用于家用电器、汽车、工控、安防等领域; 在小家电领域,公司的竞争对手主要是来自韩国的ABOV和来自台湾的Holtek。在白色家电领域,公司的竞争对手主要来自欧美,包括瑞萨、NEC、TI、STM等。 5.单片机的基本功能内部功能图 对于大多数MCU来说,以下功能是最常见和最基本的。不同单片机的描述方法可能不同,但本质是一样的。 1. Timer : Timer的种类虽然很多,但可以分为两大类。第一种是 具有固定时间间隔的Timer ,也就是说它的定时是由系统设定的,不能由用户程序控制。系统仅提供几种不同类型的定时器。给用户程序一个固定的时间间隔,如32Hz、16Hz、8Hz等。由于这种定时器在 4 位 MCU 中比较常见,可以用来实现时钟、定时等相关功能。 另一种是可编程定时器。这种定时器的计时可以由用户程序控制。控制方式包括时钟源的选择、预分频数的选择、预置数的设置等。大多数MCU同时具备这三种,也有的可能具备其中一种或两种。这种Timer应用非常灵活,实际使用也是千变万化的。最常见的应用之一是使用它来实现 PWM 输出。 由于可以自由选择时钟源,因此此类 Timer 一般与 Event Counter 结合使用。 2. IO口:任何MCU都有一定数量的IO口。没有 IO 口,MCU 将失去与外界通信的通道。根据IO口的可配置情况,可分为以下几种: 纯输入或纯输出:这种类型的IO口由MCU硬件设计决定,只能输入或输出,不能通过软件实时设置。 3 、直接读写IO口:例如MCS-51的IO口就 属于这种IO口。执行读IO端口命令时,为输入端口;当执行写 IO 端口命令时,它自动成为一个输出端口。 程序编程设置输入输出方向:该类IO口的输入或输出由程序根据实际需要设置,应用更灵活,可实现一些总线级应用,如12C总线、各种LCD、LED Driver控制总线等。 使用IO口的时候一定要牢记这一点:对于输入口,必须有一个清电平信号,保证不能悬空(这个可以通过加上拉或下拉电阻来实现) ; 而对于输出端口,输出状态电平必须考虑到其外部连接,应保证Standby或静态时没有source current或sink current。 外部中断:外部中断是大多数 MCU 的基本功能。它们通常用于实时信号生成、数据采样和状态检测。上升沿、下降沿、电平触发都是中断方式。在大多数情况下,外部中断是通过输入端口处理的。如果是IO口,只有设置为输入口时才会启用中断功能;如果设置为输出端口,外部中断功能会自动关闭(ATMEL的ATiny系列有一些例外,输出端口也可以触发中断功能)。外部中断的应用如下: 外触发信号检测:一种是基于实时性要求,如可控硅控制、突发信号检测等,另一种是基于省电。 信号频率测量::为确保不丢失信号,外部中断是最佳选择。 解码数据:为了降低遥控应用领域的设计成本,经常需要使用软件对各种编码数据进行解码,例如曼彻斯特编码和PWM 编码。 按键检测和系统唤醒:为了使 MCU 进入休眠状态,必须通过外部中断将其唤醒。最基本的形式是一个按钮,而层次的变化是由按钮的动作引起的。 4 、通信接口: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)。一位数据所占用的时间称为波特率。 对于大多数单片机,数据位长度、数据校验方式(奇校验、偶校验或无校验)、停止位长度和波特率都可以通过程序编程灵活设置。当然。这类接口最常见的方式是与PC的串口通信。 I2C接口:I2C是飞利浦开发的数据传输协议。它还使用两个信号来实现:SDAT(串行数据输入和输出)和SCLK(串行时钟)。最大的好处是可以在这条总线上挂接多个设备,并且可以通过地址来识别和访问它们;I2C总线最大的优点之一就是通过IO口使用软件实现非常方便,其传输的数据速率完全由SCLK控制。为了控制,它可以快也可以慢,不像 UART 接口,它有严格的速率要求。 5 、看门狗:看门狗是大部分单片机的基本配置,只能让程序复位不能关闭(有些是在程序烧录时设置的,比如Microchip PIC 系列单片机),而有些单片机是由一个特定的方法,无论它是否打开。比如三星的KS57系列,只要程序访问Watchdog寄存器,就会自动开启,不能再次关闭。一般来说,看门狗的复位时间可以通过程序来设置。Watchdog最基本的应用是为MCU因意外故障而死机提供自恢复能力。 6.学习方法——使用单片机任何MCU的基本原理和功能都是相似的。唯一不同的是其外围功能模块和指令系统的配置和数量。 对于指令系统来说,虽然形式上看似不同,但只是符号不同,其所代表的意义、要完成的功能、寻址方式都大同小异。 了解一个单片机,首先要知道的是它的ROM空间、RAM空间、IO口数量、定时器数量和计时方式、提供的外围功能模块(Peripheral Circuit)、中断源、工作电压、电源消费等 了解了这些 MCU 的特性后,下一步就是将所选 MCU 的功能与实际项目开发所需的功能进行对比,明确哪些资源目前需要,哪些没有在本项目中使用。 对于项目中需要用到但所选单片机没有提供的功能,需要仔细了解单片机的相关信息,采用间接的方法来实现。比如开发的项目需要和PC的COM口通信,如果选择的MCU没有提供UART口,可以通过外部中断来实现。 对于项目开发所需的资源,您需要仔细理解和阅读Manua*,而对于不需要的功能模块,您可以忽略或浏览。对于单片机学习来说,应用是关键,也是主要目的。 对于第一次使用这款单片机的初学者或设计人员来说,可能会遇到很多关于单片机功能的模棱两可的描述。对于这类问题,有两种解决方法,一种是编写专门的验证程序,理解数据中描述的功能;其他的暂时可以忽略。调试时留待修改完善。前一种方法适合时间比较松散的项目和初学者,后一种方法适合有一定单片机开发经验或者项目进度比较紧迫的人。 不要特别花时间学习指挥系统。指令系统只是一个逻辑描述符号。编程时,只能根据程序的逻辑要求查看相关指令。随着您的编程技能提高,您将更加精通指令系统。 7.MCU产品未来改进的六大维度
MCU和 PC的编程有很大不同。尽管基于 C 语言的 MCU 开发工具越来越流行,但对于高效程序代码和喜欢使用汇编的设计人员来说,汇编语言仍然是最简洁、最高效的编程语言。 构建您自己的微控制器编程器的电路图 MCU编程的基本框架大致相同,分为初始化部分(MCU编程和 PC 编程最大的区别)、主程序循环体、中断处理程序。如下所示: 1.初始化:所有单片机程序设计中最基本也是最重要的一步就是初始化,一般包括以下几个部分:
2.主程序循环体:
3.中断处理程序: 中断程序主要用于处理实时性要求较高的任务和事件,如外部突发信号的检测、按键的检测与处理、定时计数、LED显示屏扫描等。 一般情况下,中断程序应尽量保持代码简洁。对于不需要实时处理的功能,可以在中断中设置触发标志,然后主程序执行具体的事务——这一点非常重要,尤其是对于低功耗、低速的MCU,有必要确保及时响应所有中断。 4. 各种任务体有多种MCU处理方式。 比如对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目是手持设备,使用普通LCD,对按键的响应和显示响应的实时性要求很高,所以一般定时中断是用于处理按钮动作和数据显示;对于高速MCU,如Fosc>1MHz的应用,由于此时MCU有足够的时间执行主程序循环体,只能在相应的程序中设置各种触发标志时中断,所有任务在主程序体中执行。 5、在单片机编程中要特别注意: 避免在中断和主体中访问或设置相同的变量或数据的情况。有效的预防方法是将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行数据的相关操作;在其他主体(主要是中断)中,仅在需要处理数据的地方设置了触发标志。这确保了数据执行是可预测的和唯一的。 9.单片机编程工程师总结
代码利用效率、抗干扰、MCU可靠性等问题继续困扰着MCU应用开发。 10.如何开发单片机
综上所述,单片机已经成为计算机开发应用的一个重要方面。 过去必须通过模拟电路或数字电路才能实现的大部分功能,现在可以通过使用单片机的软件方式来实现。这种以软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。 另外,在开发应用的过程中,一定要掌握技巧,提高效率,以利于其更广泛的应用。 11.解决 MCU Crystal 问题的 5 个技巧单片机晶体振荡器 晶振不能起振的常见原因
建议您逐一排除故障,具体如下:
芯片的操作主要是对芯片中寄存器的操作。芯片中的寄存器都有自己唯一的地址映射到内存上,也就是对应地址的操作。学习芯片,首先看时序图,然后了解对应的寄存器,了解如何操作,定义需要的端口(程序可以识别),编写和读取操作程序。 芯片操作的横截面视图 数据如何写入芯片,如何读出,以及通过哪个端口输入或读取。 通过总线连接芯片时,首先要了解总线的协议。与I2c总线相连的芯片由总线控制。
微控制器是一种压缩的微型计算机 ,用于控制办公机器、机器人、家用电器、机动车辆和许多其他小工具中的嵌入式系统的功能。微控制器由内存、外围设备和最重要的处理器等组件组成。 2. 什么是微控制器的例子?8 位微控制器的示例是 Intel 8031/8051、PIC1x 和 Motorola MC68HC11 系列。与 8 位相比,16 位微控制器具有更高的精度和性能。 3. 微控制器的元素是什么?因此,单片机还必须满足 输入、计算、存储、输出、控制五个基本要素。这些被称为微控制器的五个元素。 4. 哪个是最好的微处理器或微控制器?如果您需要访问大量非常快的内存,那么 微处理器 可能是您的最佳选择。微控制器已经嵌入了存储器,因此存储器的选择比微处理器少。大多数微控制器可用的最大闪存容量通常约为 2MB。 5. BIOS和CMOS有什么区别?BIOS 是启动计算机的程序,CMOS 是 BIOS 存储启动计算机所需的日期、时间和系统配置详细信息的位置 。... CMOS 是一种内存技术,但大多数人使用该术语来指代存储用于启动的可变数据的芯片。 6. CMOS 是 RAM 还是 ROM?RAM 和 ROM 是产品,但互补金属氧化物半导体 (CMOS) 是它们内置的工艺。CMOS 使用两种不同类型的晶体管来实现更低的整体功耗。 7. 什么是 RTC 电池?实时时钟( RTC) 电池为内部时钟/日历和维护系统配置设置供电。当机器长时间关闭(大约一到四个月)时,可能会发生此错误,这是由于 RTC 电池耗尽的结果。 |