嵌入式
1.uC/OS-II文件结构
与处理器无关的代码:OS_CORE.C, OS_FLAG.C, OS_MBOX.C, OS_MEM.C, OS_MUTEX.C, OS_Q.C, OS_SEM.C, OS_TASK.C, OS_TIME.C, UCOS_II.C, UCOS_II.H。
配置文件(与应用程序有关):OS_CFG.H, INCLUDES.H
与处理器有关的代码(移植):OS_CPU.H, OS_CPU_A.ASM, OS_CPU_C.C
2.uC/OS-II组成部分
uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。
(1) 核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。
(2) 任务管理(OSTask.c) :包含与任务操作密切相关的函数,包括任务建立、删除、挂起及恢复等,uC/OS II以任务为基本单位进行调度。
(3) 时钟部分(OSTime.c) :uC/OS-II中最小时钟单位是timetick(时钟节拍),其中包含时间延迟、时钟设置及时钟恢复等与时钟相关的函数。
(4) 多任务同步与通信(OSMbox.c, OSQ.c, OSSem.c, OSMutex.c, OSFlag.c):包含事件管理函数,涉及Mbox、msgQ、Sem、Mutex、Flag等。
(5) 内存管理部分(OSMem.c):主要用于构建私有的内存分区管理机制,其中包含创建memPart、申请/释放memPart、获取分区信息等函数。
(6) CPU接口部分:uC/OS-II针对特定CPU的移植部分,由于牵涉到SP等系统指针,通常用汇编语言编写,包括任务切换、中断处理等内容。
3.uC/OS-II任务状态
在uC/OS-II中,一个任务就是一个线程,该任务可以认为CPU完全属于它自己。任务有自己的堆栈和CPU寄存器,并且被赋予一定的优先级。任务可能处于睡眠、就绪、运行、等待或中断服务状态之一。
(1) uC/OS-II调度算法
uC/OS-II采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS,在完成中断后允许进行新的任务调度。
uC/OS-II有两种调度方式:任务级任务调度、中断级任务调度。
(2) 应用程序中函数的调用关系
#include “includes.h” #define TASK_STK_SIZE 512 // 定义堆栈长度(1024字节) OS_STK TaskStk[TASK_STK_SIZE]; // 定义一个数组来作为任务堆栈 void main() { …… OSInit(); // 初始化uC/OS-IIi …… OSTaskCreate(MyTask1,……); // 创建用户任务1 OSTaskCreate(MyTask2,……); // 创建用户任务2 …… OSStart(); // 启动任务 …… } void MyTask(void *pdata) { for (;;) { 可以被中断的任务代码; OS_ENTER_CRITICAL(); //进入临阶段(关中断) 不可以被中断的任务代码; OS_EXIT_CRITICAL(); //退出临阶段 (开中断) 可以被中断的任务代码; } }
空任务块链表(所有任务控制块还没有分配给任务),是在应用程序调用函数OSInit()对系统进行初始化时建立的。
任务建立时,首先会调用OSTaskStkInit(),也会调用函数OS_TCBInit()初始化任务控制块OS_TCB,函数OSTaskCreate()或OSTaskCreateExt()调用任务控制块初始化函数OS_TCBInit()。
OS_TCBInit()然后调用OSTCBCreatHook()。
OSTCBCreatHook()是用户自定义的函数。
当用户程序调用函数OSTaskCreate()创建一个任务时,这个函数会调用系统函数OSTCBInit()来为任务控制块进行初始化。这个函数首先为被创建任务从空任务控制块链表获取一个任务控制块,然后利用任务的属性对任务控制块各个成员进行赋值,最后再把这个任务控制块链入到任务控制块链表的头部。
uC/OS-II有两种调度器:
任务级调度器(由OSSched()实现)、中断级调度器(由OSIntExt()实现)
(3) 任务级任务调度
指在非中断返回时进行任务调度,一般发生在当前任务因时间延迟或等待某事件而阻塞或被挂起,或有更高优先级的任务处于就绪状态。
任务的基本信息:
- CPU的PC寄存器:任务当前执行的位置; - CPU的通用寄存器:任务当前执行涉及的临时数据; - CPU的状态寄存器:存储当前CPU的状态。
任务级任务切换:从一个任务直接切换至另一个任务,不涉及CPU状态的切换,OS_TASK_SW()既保存当前任务上下文,又恢复新任务上下文。
过程:OS_Sched() -> OS_SchedNew() -> OS_TASK_SW()
来源: 嵌入式资讯精选
作者:Øivind Loe,Silicon Labs微控制器产品高级营销经理
即使是在诸如物联网应用的无线连接这种主导功耗的事件中,让尽可能多的进程自主运行,也可大大提高电池寿命。降低功耗一直是微控器(MCU)市场的一个主要关注点。超低功耗MCU现在可以大大降低工作模式和深度睡眠模式下的功耗。这种变化的效果是显而易见的,它大大提高了我们日常嵌入式应用中的电池寿命,并且提供了在未来使用能量收集的可能性。
然而,要基于新型MCU降低功耗,开发人员必须考虑到许多因素,对此Silicon Labs特别撰写一篇技术文章:“以0 MIPS运行你的嵌入式系统”,帮助开发人员了解如何利用新型MCU中外设的自主运行,通过更接近以“0”MIPS运行,来实现数据手册中所承诺的低功耗。
低功耗为嵌入式系统研发关键
对于在功耗敏感型物联网(IoT)应用中所使用的新型MCU和无线MCU(WMCU)来说,执行代码时的功耗已经明显下降,甚至达到40μA/ MHz以下。使用这些低功耗规格,您可能会想知道为什么我们需要睡眠模式,为什么不以500 kHz运行您的代码来实现20μA的电流消耗,并且允许您的应用使用电池运行10年?其实事情并不是这么简单的。
睡眠模式下的功耗在过去几年中也有显著的改善。我们现在可以看到深度睡眠模式下的功耗低于2μA,而一些睡眠模式下的功耗甚至低于50 nA。您可能会觉得拥有这些模式设计出来的系统功耗自然很低,然而事实并非如此,应用能否利用睡眠模式才是关键。
为什么工作模式是好的...也是坏的
使用MCU或WMCU的最直接的方法是让CPU管理一切。例如,您可以启动模数转换(ADC),将一些数据放入通信接口(如USART传输)中,读取ADC数据,并对数据做出一些处理,所有一切都由CPU直接控制。直接的CPU控制简化了开发,但其成本是:每当外设或外部事件需要处理时,MCU都将处于工作模式,从而使功耗大增。
近期,一些数据手册显示工作模式的电流是40μA/MHz甚至更低,它们通常是高时钟频率下的参数,低频下会变大,进而导致绝对功耗变大。这是因为工作模式下频率和功耗不是线性关系。功耗由如下两部分组成,其中第二部分和频率联系不紧密:
1. 处理器本身,它是和频率按比例变化的。
2. 有基础工作电流的模块,比如低压差线性稳压器(LDO),欠压检测器(BOD)等。
要想降低功耗,应尽可能地减少MCU在高功耗的工作模式下运行,尽可能地关闭外设,让CPU尽可能多地睡眠。
功耗预算
对于受限于能源的电池供电型应用来说,要知道能源消耗在哪里才能进行优化。表1显示了一个传感器检测无线应用的功耗预算,它的功耗优化不太好。
通过平均计算每个组件的功耗来测量或估计功耗。如果CPU占空比为两个百分点,并且在60μA/ MHz时工作在20 MHz,则CPU的消耗为24μA。
请注意,表1所示的功耗预算是根据功能划分的。例如,基础睡眠电流包括一个低频振荡器和一个实时时钟(RTC)来对系统事件进行定时从而允许深度睡眠。
传感器测量部分是由一个0.5kHz的中断触发,中断之间深度睡眠。低功耗蓝牙每秒钟都要把数据发出去,这是个很普遍的低功耗应用。最后,还有一些非MCU部分的功耗。MCU可能无法直接控制这些模块中的一部分,包括电源管理外设,在这个例子中,MCU是直接控制ADC对传感器进行采样,如果不是的话,传感器电流将完全是图片中的数据。
对于这个例子,传感器的持续电流大约是390μA,但是通过调整占空比,每个ADC采样仅仅使用了10 μs的时间,从而可以大大降低功耗。
如果该无线应用由具有225 mAh容量的CR2032电池供电,则在61.6μA功耗下操作时其寿命约为0.4年。事实上,我们可以做得更好。
改善现状
我们来看看降低MCU传感器测量电流的方法。虽然此示例涉及ADC测量外部传感器,但相关示例可能集中在一系列不同类型的测量以及与外部环境的交互上。在这两种情况下,MCU和外部环境之间都会发生频繁的交互。
实现低功耗传感的最简单的方法是让CPU尽可能多地处于睡眠模式,只在采样时唤醒,并尽可能快地重回睡眠模式。对于非常低的采样率来说,这种方法很好,但是从图1可以看出,当每秒采样次数增加时,系统的功耗也会显著增加:
许多类型的应用必须具有频繁的活动,同时还需要保持电池寿命。超过1kHz的活动率并不是闻所未闻,这时候就需要采取措施来保持低功耗。
图2显示了传感器管理的两种附加方法。外设反射系统/直接存储器访问(PRS / DMA)方法使CPU在完全不参与的情况下在深度睡眠模式进行ADC采样。而不是RTC唤醒CPU,然后CPU启动ADC进行采样。RTC通过事件系统(如Silicon Labs的PRS)将事件直接发送到ADC。ADC在接收到此事件时自动启动ADC转换。转换完成后,DMA在这种情况下也能够从深度睡眠模式下运行,从ADC获取数据并将其存储在RAM中。 PRS / DMA方法的好处是显著降低了电流消耗。在1 kHz时,系统电流从58μA降低到25μA。
驱动ADC的更有效的方法是PRS /比较器(CMP)方法,其中RTC仍然通过PRS系统触发ADC,但在这种情况下,ADC立即使用比较功能对样本进行评估,除非发现有需要的数据,否则不使用DMA或CPU。这种方法能够实现1 kHz采样率时系统电流只有3.5μA。
动态ADC比较器
使用PRS/CMP方法,大部分采样数据都被丢弃,CPU只关注需要处理的数据。当信号变化缓慢时,或者需要特定的信号时,这种方法很有效。
当使用比较功能监视信号时,一种方法是测量信号,然后根据这个信号设置阈值,只要信号在阈值范围内,那么当ADC测量信号时,系统可以保持在深度睡眠模式,当然CPU也保持在睡眠模式。
然而,如果信号发生变化,并且超过阈值,系统将知道该信号,并采取适当的措施。在回到睡眠模式之前,ADC阈值将重新配置以适应新的信号值,因此系统可以再次进入睡眠模式,直到下一次信号发生变化。图3显示了这种技术的示例。圆点表示ADC样本,箭头表示每当CPU被唤醒时,它将记录本次变化并重新配置阈值。
使用这种方法,系统实际上将丢失一些信号准确性,因为信号可以在触发器之间的阈值范围内任意移动。然而,益处是功耗显著降低。
如果系统的目标是测量信号的动态值,则PRS / DMA驱动方法是理想的,因为它使所有数据可用,同时仍然可以提供非常有益的节能特性。
自主工作子系统
ADC示例只是众多通过睡眠模式降低应用功耗的方法之一。专注于低功耗应用的新型MCU(如Silicon Labs的EFM32 Gecko MCU)拥有大量功能,可在深度睡眠模式下运行,从而实现高水平的自主行为。
例如,Gecko MCU的LESENSE(低功耗传感)模块可以自动地、周期性地采样多达16个通道,完全不需要CPU参与。它可以实现高频率检测且充电1次就能工作10年。
在许多情况下,单个外设可以自主地履行其职责,但也有许多需要交互的情况。在这种情况下,我们可以利用诸如在当前一些新型MCU中存在的PRS系统这样的外设互连。这些外设互连允许多个外设连接以自主执行更复杂的任务。
图4显示了这样的自主系统示例,其使用事件链来执行其功能:
1. RTC以给定的时间周期性地发送PRS信号至ADC以启动转换。
2. RTC同时启动外部传感器,这样在测量时信号就已经准备好了。
3. ADC完成采样并通知DMA,DMA把数据传送到RAM。
4. 来自ADC的完成PRS信号关闭外部传感器。
5. 当缓冲器满时中断唤醒CPU,或者超过ADC阈值时中断唤醒CPU。
6. 可选项:PRS看门狗监视事件循环,确保它保持运行。
DMA可以从图4所示系统中拿走,通过设置ADC的比较功能来做到更省电。
这些自主子系统具有以下几个主要优点:
1. 显著节能。
2. 即使CPU负载很重时传感器依旧可以稳定工作。
缺点是,并不是所有的MCU都支持这种类型的操作,并且在设置交互时,您会希望像硬件设计人员一样思考。总之,对于许多电池供电型应用来说,其优点明显多于缺点。
结论
通过利用各种节能技术,当传感器测量时,CPU几乎完全脱离工作。对于表1所示的无线应用,这将使总平均功耗从61.6μA降低到37.6μA,降低了39%,从而使电池寿命从大约5个月延长到8个月,增加了64%,或者可以允许电池尺寸减小以改善系统外形。
对于非无线应用,节能将更加显著。表1中的示例,能耗将从29.6μA降低到5.6μA,由CR2032电池供电,理论上寿命将从10个月延长到4.6年。
来源: Silicon Labs
据Semi Engineering网站报导,GlobalFoundries、三星(Samsung)、台积电(TSMC)和联电(UMC)计划在2017年稍晚开始提供ST-MRAM或STT-MRAM,取代NOR Flash,此举代表市场的巨大转变,因为到目前为止,只有Everspin已经为各种应用提供MRAM,例如电池供电的SRAM替代品、读写缓存(Write Cache)等。
STT-MRAM的下一个大好机会就是嵌入式存储器IP市场,NOR Flash是传统嵌入式存储器,随着制程从40nm进展到28nm,NOR Flash已经出现各种各样的问题,因此,这些代工厂的支持可以将STT-MRAM转变为先进节点的替代技术。
GlobalFoundries嵌入式存储器副总裁Dave Eggleston表示,嵌入式快闪存储器将继续作为资料保存技术主流,特别是汽车和安全应用领域,嵌入式快闪存储器将会有很长的使用寿命,但没有扩展空间,当达到28nm制程以上时,嵌入式快闪存储器实际上会成为昂贵的选择。
因此,业界需要一个新的解决方案,STT-MRAM恰好为2xnm及以上的嵌入式存储器应用做好准备。先作为补充技术,进一步替代嵌入式DRAM和SRAM,也是MRAM的巨大机会,将为处理器添加持久性功能。
无论如何,MRAM可能会因为几个因素,成为一个大市场或利基解决方案,包括多个供应商和一系列的应用推动STT-MRAM发展,此外,主要代工厂投入STT-MRAM也可能会推动规模经济化,降低技术成本。
但仍有一些挑战,不是所有晶圆代工客户都需要22nm以上的芯片,此外,STT-MRAM是一种相对较新的技术,客户可能需要花点时间整合,各种制造上的挑战也必须解决。不过,4大代工厂都决定为嵌入式客户投入开发作业,三星有自己的IP,其他代工厂正在与各种合作伙伴合作。
除了Everspin和代工厂之外,英特尔(Intel)、美光(Micron)和东芝与SK海力士都投入MRAM研发,同时,几家新创公司如Avalanche、Crocus、Spin Transfer Technologies都正在开发。对大多数企业而言,生产MRAM说起来比做容易,因为MRAM涉及开发新材料、集成方案和设备,与传统存储器相比,生产流程也不同。
在晶圆厂的进展中,STT-MRAM目前有2个用例,第一个是替换嵌入式快闪存储器,另一个是嵌入式SRAM,业界一致认为,STT-MRAM是一个很好的嵌入式解决方案。多年来,业界一直在探索STT-MRAM的发展,目标是取代DRAM,现在还在努力探索中。
而STT-MRAM仍然需要证明它可以在汽车的高温下满足可靠性和资料储存规格。在微控制器(MCU)市场的嵌入式存储器需求也在增温,如NOR Flash用于代码储存和其他功能。MCU制程从40nm进展到28nm,NOR Flash也是,然而,在2xnm节点,NOR Flash开始遭受写入速度慢和耐久性问题,且因为需要更多光罩步骤使成本更高。
超过28nm以后,NOR Flash就难以扩展,所以人们正在寻找替代品,但是用新的存储器类型替换NOR Flash不是一项简单的任务,新型存储器类型的成长关键要求是性能、可靠性、密度和成本。
现在,STT-MRAM似乎已经在2xnm节点的嵌入式市场准备就绪,其他存储器类型仍然停留在研发阶段。报导指出,随着产业正在开发STT-MRAM,同时也专注准备MRAM研发,包括SOT-MRAM磁存储器,将作为基于SRAM技术的缓存替代品。
来源: Digitimes
引言
当下,物联网、移动互联技术大刀阔斧地改变着整个世界。随着嵌入式技术的不断革新,32位MCU成为主流,64位MCU的应用范围也越来越广。与此同时,唱衰8位MCU即将消亡的言论从未停息……
事实上,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,而且不断推陈出新。从市场的占有率和销售额来看,8位MCU的市场份额甚至还在不断攀升。根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元,继续超过每年MCU市场营收的三分之一以上。
究竟是什么原因令8位MCU的生命力如此旺盛,市场潜力依然巨大呢?未来,8位MCU又有哪些新的发展趋势和应用领域呢?且听这些行业巨头们一叙。
业界声音
纵横市场数十年的8位MCU,至今仍是开发各种嵌入式系统的关键器件,甚至在未来的物联网(IoT)时代中也将占有一席之地。尽管近年来半导体厂商纷纷转换至32位ARM CortexM内核架构,进而招来许多有关8位MCU将走出历史舞台的宿论,但事实是,它仍然在市场上屹立不倒,而且在新型消费电子、物联网、工业控制、智能传感器和电信及数据通信设备中都可见其踪迹。
Microchip:8位MCU创新空间巨大
8位MCU的创新空间是十分巨大的,Microchip一直致力于该领域的创新和研发。Microchip的研发部门有很多创新的想法,并且不断地推出一些创新性的解决方案来保持8位单片机的生命力,因此8位单片机是不会消亡的。目前,市场上并没有其他厂商在8位单片机方面继续大量地投入,然而Microchip一直以来都非常注重8位单片机市场的创新与投入,而且,未来会进一步地扩大Microchip的市场份额。在短期内,就整个8位单片机的市场而言,并不会出现特别大的突发性的增长。
新一代的8位MCU更多的是朝智能模拟、创新性的外设这样的方向发展,Microchip会仔细地倾听市场的需求,通过创新性的产品(比如创新性的外设、独立于内核的外设),来更好地满足市场需求。今年Microchip会推陈出新,新的技术至少能够让Microchip在5~7年内保持技术的领先优势。因此,对于8位单片机市场,Microchip非常有信心。特别需要强调的一点是,新技术中会有越来越多集成化的智能模拟模块集成在一起。
可以看到,8位单片机在照明领域的应用非常广泛,包括消费类的照明、工业照明,以及汽车车灯的照明等等。当然,这只是应用的其中一个方面。而上述这些概念和互联网的概念都是相关的,比如说智能照明、智能车灯等等。除此之外,8位单片机在汽车领域应用得也非常多,比如智能汽车方面。
随着用户对于产品“与众不同”和“个性化”需求的加大,Microchip也推出了不同种类、不同版本的产品,能够让客户实现他的个性化,体现他的与众不同。Microchip集成了很多的外设,目的是帮助客户在成本和价值方面取得平衡。
Silicon Labs:8位MCU应用无处不在
相较于32位设计,基于传统8051内核的8位架构常被一些工程师认为太过老旧。事实上,8051内核一直在与时俱进,不断得到显著的升级,加上其长久以来在大量开发商和工程师的支持下,所积累的设备安装量和为之编写的数以百万计的代码,使嵌入式开发人员能够继续利用这些丰富的知识宝库,来缩减产品上市时间和测试成本。
经过Silicon Labs持续优化的8051架构正是具备更高性能的典型8位MCU之一。Silicon Labs以3级流水线冯·诺依曼(VonNeuman)架构对8051内核进行了现代化和“类RISC”化,并保持与原始内核代码兼容,从而获得了巨大的性能提升。
俗话说的好,万变不离其宗!广泛部署并经过长时间考验的8051指令集仍然是许多既需要功效、又需要高性价比应用的最佳选择。对于新兴的物联网(IoT)应用而言,可连接设备和传感器网络通常有严格的功耗、占用空间和预算限制,开发商会选择在终端节点中广泛使用小尺寸、低功耗且低成本的8051 MCU,并达到加速系统设计的目的。
8位MCU市场需求依然强劲,例如在近来特别红火的无人机中,内部的电机控制电路板上便搭载了8位MCU;而许多空间受限、性能密集型应用,例如光模块、测试和测量仪器、工业控制设备和智能传感器等,也都需要高模拟性能和外设集成度的8位MCU。以Silicon Labs新款Laser Bee MCU为例,其集成了高分辨率模/数转换器和数/模转换器、高精度温度传感器等多个元器件,将能提供更快的时钟及PWM性能。
新唐看好具有强大竞争优势的8位MCU
MCU市场仍处于成长阶段,各级别的MCU的需求量持续攀升,应用范围持续扩大。一般而言,在大量数据运算与图像影音处理等方面,以32位MCU为主;在控制类应用方面,进入市场较早的8位MCU产品则具备诸多竞争优势,例如 8位MCU产品很早进入消费类、医疗用品、工业控制、汽车电子等市场应用,产品稳定,性价比满足需求,至今仍占主导地位。这些已稳定量产的产品,由于安全可靠与成本优势,也成为8位 MCU市场的发展基石。
在对价格特别敏感的市场,更能凸显8位产品价格上的优势。伴随着丰富外设的加持,小家电市场随处可见8位MCU的踪迹,IC制程也由 0.35 μm、 0.25 μm 进入到0.18 μm及0.13 μm, 性能更强、功耗更低。由此可见,8位MCU需求量仍不断增加,市场份额仍具有上升的空间。以新唐今年的销售成绩而言,8051单片机的出货量大幅超出了预期。
新唐经营8位 MCU已超过20年,为客户累积了完整的链接库与应用经验,使研发周期大幅缩短。新唐MCU包含8位的12T、 4T、 1T 8051与32位 CortexM0/M4、ARM7、ARM9 CPU 内核, 产品线完整。根据新唐长久经营MCU市场的经验来看,对客户而言,MCU位数并非选型的关键因素,平台完整度、代码复用性与可移植性、产品质量稳定可靠,以及良好的客户服务, 才是决胜的重要因素。例如,新唐以8位 MCU为核心所开发的触摸按键系列,PCB板设计简单,具备高集成度、高抗干扰性能,加上工程师可在新唐开发平台简易且快速地完成产品设计、具有良好的开发体验,这些因素使新唐触摸系列深受客户欢迎。新唐认为,触控产品需求将会是推动新唐8位 MCU成长的重要驱动力,加上积累20年的深厚客户关系,8位 MCU市场潜力依然巨大。新唐将会持续提供高性价比的MCU、体贴的开发环境与技术支持,满足市场与客户需求。
何立民教授:8位MCU的生命力长盛不衰
当ARM系列不断吞噬8位MCU的市场份额时,有人认为32位MCU将取代8位MCU,8位MCU将会退出历史舞台。殊不知,ARM系列在传统嵌入式领域大肆扩张的同时,80C51成功地实现了华丽的转身,在嵌入式系统无限大的市场领域(如物联网、可穿戴设备)中获得新生,成为MCU中的不死鸟。
从MCU无限大的市场角度看,随着智能化工具的发展,MCU产品的市场需求日益扩大,从传统电子的智能化改造、新兴的智能化设备、智能化设备的分布、智能化设备总线、智能化设备局域网,直到物联网时代,无处不在的人工智能的感知与控制终端领域,都表明了MCU有一个无限大的市场。这个无限大市场的多样性决定了对MCU的多样需求,8位、32位、64位MCU没有好坏之分,主要体现在不同的应用领域,其技术各有所长,最重要的是取其所长,把它们应用在能充分发挥其长处的地方。
编辑视角
从嵌入式系统教育角度看,由于8位MCU具有稳定、便宜、易用的特点,以51系列单片机(8位MCU)的应用作为嵌入式系统教学是十分理想的,而且嵌入式系统的初学者以51系列单片机作为入门单片机的学习是较好的。学好了51单片机,今后再学习更为复杂的单片机就容易上手了。
从系统稳定性的角度看,在控制领域、安防领域、消费类电子等领域仍会大量地使用8位MCU,大量工业现场的恶劣环境注定了系统中的核心控制器件必须稳定、可靠、易维护。同时,工控设备器件选型有一个重要原则:芯片必须稳定可靠、应用成熟,器件所含有的功能和数量应略大于设计需求。就分配给它的任务而言, 51系列的8位单片机性能足矣,在满足需求的情况下,处理器越简单,稳定性就越强,越有利于产品的安全维护。
从市场产品需求看,在大部分嵌入式产品中,8位MCU就能满足嵌入式系统中80%~90%的基本需求,嵌入式产品最低的要求也是能处理8位二进制数据或代码,众多的嵌入式产品从内核到开发工具都是以8位内核为基础的,市场的需求及其自身性价比决定了它依然能活跃在这个舞台上。
文章来源:单机片与嵌入式系统应用