MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

2015年是MCU市场的一个分水岭。物联网与智能硬件的发展带动32位MCU需求快速上升,据相关数据显示,去年32位MCU的出货量甚至超过了4位+8位MCU的总和,并会在未来几年里保持30%左右的高速增长!

云汉芯城产品副总裁程凯亦表示,从公司平台的大数据反馈来看,32位MCU一周搜索量可以达到2万次,平均3000次/天,势头火热。

正是在这样的背景下,上海灵动微电子股份有限公司(后简称“灵动微”)于今年8月下旬发布了三款32位通用MCU系列产品:基于Cortex-M3内核的MM32F103系列(今年5月已在市场供货)、基于Cortex-M0的MM32F031系列和MM32P011系列(预计今年Q4面世),分别瞄准了中高端、中低端、超低端市场,并采用了国际领先的封测供应商,以显灵动微对产品品质的严格要求。

目前MM32 MCU系列主要聚焦在IoT/低功耗、工业控制/高可靠应用、传感器/MEMS应用、加密安全应用四个领域,推出的参考设计方案包括了智慧家庭、无人机、平衡车、高清显示、电子烟、电子标签、LED屏、无刷电机驱动(BLDC)、打印机等。

图注:在产品规划上,未来灵动微会逐步推出超低功耗、支持无线连接的MCU产品系列

可以看到,目前灵动微是国内第二家ARM MCU芯片公司,前有兆易创新,后有中颖、芯海在蠢蠢欲动,昭示着本土企业在MCU市场的蓄势待发。

不过,这些企业凭什么能从老外手中抢得蛋糕呢?

众所周知,由于芯片原厂的工程师离中国市场较远,因此决策速度相对较慢。同时,这些原厂的重视程度也不够,据智慧产品圈了解到,有的厂商甚至想将FAE外包出去,生生砍断了客户反映需求的直接通道。这些都是本土企业的机遇点所在。

图注:灵动微电子MCU事业部总经理 娄方超

娄方超亦指出,ARM MCU市场目前主要还是一些国外厂商在竞争,仍然是蓝海市场,中国企业有一定的生存空间。对此,智慧产品圈总结出了本土企业可行的三个切入点:

一、注重产品定义,合适的就是最好的。本土企业做MCU不能想着去拼价格,这样一定会死掉,因为公司没钱再去做下一代产品的研发,必须要走差异化,前期的产品定义非常重要。未来的应用会对芯片底层技术提出一些新的共性需求,据娄方超透漏,未来灵动微更多是对这些共性要求提前做预判、研发,多听市场的声音。

二、提供更贴心、更迅速的客户服务。所谓近水楼台先得月,凭借地理优势,本土企业可以向客户提供更接地气的“保姆式”服务,娄方超就指出,“有客户曾说,只要你们能在24小时内上门帮忙调试、解决问题,我就愿意选择你的产品!”

三、与产业链伙伴保持紧密合作。物联网应用市场的需求非常细分,因此包括灵动微在内的本土MCU企业可以积极与合作伙伴紧密沟通,通过灵活的商业模式做定制化服务。比如采集人体特征数据的可穿戴产品,其核心功能在于传感器的采集与算法,目前算法是通过软件的方式跑在MCU上的,未来可以将这些算法固化成IP集成在MCU上,加快处理速度。

这也正是灵动微的底气所在。成立于2011年的灵动微电子是从MCU设计定制服务起家的,在转型做MCU品牌后,继续保持了原有的定制化业务两条腿走路,有望在物联网时代迅速崛起。

结语

纵观全球市场,欧美的优势在于IC核心技术,日本优势在于元器件材料,而中国的优势在于制造和应用,把握了一头一尾。

物联网的出现,不仅带动了32位MCU的迅速发展,更是颠覆了原来以IC为主导的游戏规则,其碎片化的特性决定了,未来将由细分应用来带动周边产业链的增长,借助这个势能,本土IC企业有望获得快速增长,抢占一席之地。

文章来源: 智慧产品圈

围观 409

(2016年8月23日深圳)今天,上海灵动微电子股份有限公司在深圳成功举办2016年秋季新品发布会,众多MCU领域的知名厂商代表、专业人士以及国内30多家知名门户与科技媒体云集现场,共同见证灵动微电子新品发布,灵动微电子董事长兼CEO吴忠洁博士、灵动微电子MCU事业部总经理娄方超先生、ARM 物联网应用市场经理耿立锋先生以及云汉芯城产品副总裁程凯先生等嘉宾还给大家带来了精彩的演讲,并与现场观众一起分享交流经验,共同探讨本土MCU如何突破形成大发展势态。

活动主持人电子创新网CEO张国斌在开场致辞中指出,随着物联网和智能硬件的快速发展,32位MCU的需求呈现快速上升趋势。据相关数据统计,2015年全球MCU出货量255亿颗,比2014年提升了12.4%。虽然今年全球的经济相对低迷,但是MCU的需求仍然有望增长20%左右,预计2016年全球MCU市场出货量将突破300亿颗大关,其中32位MCU市场未来几年会保持30%左右的高速增长!在这一大背景下,本土MCU厂商必然强势崛起,重演PC、手机、汽车领域发展格局。

灵动微电子董事长兼CEO吴忠洁博士详细介绍了灵动微电子多年来的发展历程,强调灵动微电子多年来一直专注MCU设计,并表示灵动微电子给用户提供“保姆式”的服务,灵动微的愿景是要成为中国本土MCU第一推动力。

灵动微电子MCU事业部总经理娄方超先生在演讲中宣布灵动微电子三款新品,它们分别是则是基于Cortex-M3内核的MM32F103系列MCU,基于Cortex-M0内核的MM32F031系列MCU和MM32P011系列的MCU,其中MM32F031系列MCU有突出的性价比特性,主打IoT及消费类市场。他通过数据的分析对比展示了这几款新品的强大优越性能以及其相关的应用领域。”我们的MCU采用的是国际领先的封测供应商的封测服务,这表明灵动对MCU产品品质和可靠性有着严格的要求。”他举例说。

他还揭秘了灵动微电子MCU的十大构成要素,详细介绍了灵动微电子提供的开发套件、调试工具和技术支持服务,并分享了灵动微电子技术的发展路线图。他表示灵动微电子未来会逐步推出支持超低功耗、无线连接的MCU产品系列,在制造工艺上也会过渡到55nm,甚至40nm节点。

作为灵动微电子的重要合作伙伴,ARM物联网应用市场经理耿立锋先生也到场,并发表了以《ARM助力国产MCU腾飞》为主题的演讲,他从工具、生态系统建设、商业模式等各个发展介绍了ARM如何更好地与本土公司合作,并以奥运冠军中国女排中的外国队医形象地比喻ARM与灵动微电子的合作。

好的产品离不开好的渠道,此次灵动微电子渠道合作伙伴云汉芯城也来到现场。云汉芯城产品副总裁程凯发表了以《云汉芯城,打造电子产业第一服务平台》为主题的演讲,详细介绍了云汉芯城独特的服务模式,并表示大数据显示本土MCU受到更多关注。

灵动微电子的方案合作伙伴深圳蚁石(OCTANT)科技有限公司总经理朱才智发表了《多旋翼飞行器的发展、机会和挑战》的主题演讲,他表示,多旋翼飞行器的算法需求加大,未来基于Cortex-M3 MCU方案将走热。

在最后的圆桌论坛环节中,演讲嘉宾以及周立功单片机创始人周立功、南京万利电子创始人刘强、深圳智慧家庭协会秘书长蔡锦江等与观众面对面互动,为灵动微电子的发展出谋划策。

大家一致认为本土MCU在未来的发展机遇很大,要抓住发展机遇就要专注细分领域一战成名!周立功教授还结合自己的经验指出灵动微电子要提供其他厂商不能提供的差异化服务,超越客户预期,并要放眼未来,提供前瞻性的方案。

蔡锦江则表示,随着中国厂商具备物联网架构的定义能力,本土公司面临绝佳的发展机遇。

娄方超表示MCU市场潜力巨大,未来几年物联网就有近千亿颗的MCU需求,面对如此巨大的市场,灵动微电子将以高品质高可靠的产品以及高质量的服务和开放的精神赢得用户!

灵动微电子还将在24日到26日开幕的深圳国际嵌入式展展出新品和方案,欢迎业者观摩交流,展位号:三号馆3B38,这是今天展示的部分方案。

围观 498

设计以MCU为核心的嵌入式系统硬件电路需要根据需求分析进行综合考虑,需要考虑的问题较多,这里给出几个特别要注意的问题。

1、MCU的选择

选择 MCU 时要考虑 MCU 所能够完成的功能、MCU 的价格、功耗、供电电压、I/O 口电平、管脚数目以及 MCU 的封装等因素。MCU 的功耗可以从其电气性能参数中查到。供电电压有 5V、3.3V 以及 1.8V 超低电压供电模式。

为了能合理分配 MCU 的I/O资源,在 MCU 选型时可绘制一张引脚分配表,供以后的设计使用。

2、电源

(1)考虑系统对电源的需求,例如系统需要几种电源,如24V、12V、5V或者3.3V等,估计各需要多少功率或最大电流(mA)。在计算电源总功率时要考虑一定的余量,可按公式“电源总功率=2×器件总功率”来计算。

(2)考虑芯片与器件对电源波动性的需求。一般允许电源波动幅度在 ±5% 以内。对于A/D转换芯片的参考电压一般要求 ±1% 以内。 (3)考虑工作电源是使用电源模块还是使用外接电源。

3、普通I/O口

(1)上拉、下拉电阻:考虑用内部或者外部上/下拉电阻,内部上/下拉阻值一般在 700Ω 左右,低功耗模式不宜使用。外部上/下拉电阻根据需要可选 10KΩ~1MΩ 之间。

(2)开关量输入:一定要保证高低电压分明。理想情况下高电平就是电源电压,低电平就是地的电平。如果外部电路无法正确区分高低电平,但高低仍有较大压差,可考虑用 A/D 采集的方式设计处理。对分压方式中的采样点,要考虑分压电阻的选择,使该点通过采样端口的电流不小于采样最小输入电流,否则无法进行采样。

(3)开关量输出:基本原则是保证输出高电平接近电源电压,低电平接近地电平。I/O 口的吸纳电流一般大于放出电流。对小功率元器件控制最好是采用低电平控制的方式。一般情况下,若负载要求小于10mA,则可用芯片引脚直接控制;电流在 10~100mA 时可用三极管控制,在 100mA~1A 时用 IC 控制;更大的电流则适合用继电器控制,同时建议使用光电隔离芯片。

4、A/D电路与D/A电路

(1)A/D电路:要清楚前端采样基本原理,对电阻型、电流型和电压型传感器采用不同的采集电路。如果采集的信号微弱,还要考虑如何进行信号放大。

(2)D/A电路:考虑 MCU 的引脚通过何种输出电路控制实际对象。

5、控制电路

对外控制电路要注意设计的冗余与反测,要有合适的信号隔离措施等。在评估设计的布板时,一定要在构件的输入输出端引出检测孔,以方便排查错误时测量。

6、考虑低功耗

低功耗设计并不仅仅是为了省电,更多的好处在于降低了电源模块及散热系统的成本。由于电流的减小也减少了电磁辐射和热噪声的干扰。随着设备温度的降低,器件寿命则相应延长,要做到低功耗一般需要注意以下几点:

(1)并不是所有的总线信号都要上拉。上下拉电阻也有功耗问题需要考虑。上下拉电阻拉一个单纯的输入信号,电流也就几十微安以下。但拉一个被驱动了的信号,其电流将达毫安级。所以需要考虑上下拉电阻对系统总功耗的影响。

(2)不用的I/O口不要悬空,如果悬空的话,受外界的一点点干扰就可能成为反复振荡的输入信号,而MOS器件的功耗基本取决于门电路的翻转次数。

(3)对一些外围小芯片的功耗也需要考虑。对于内部不太复杂的芯片功耗是很难确定的,它主要由引脚上的电流确定。例如有的芯片引脚在没有负载时,耗电大概不到1毫安,但负载增大以后,可能功耗很大。

7、考虑低成本

(1)正确选择电阻值与电容值。比如一个上拉电阻,可以使用4.5K-5.3K的电阻,你觉得就选个整数5K,事实上市场上不存在5K的阻值,最接近的是 4.99K(精度1%),其次是5.1K(精度5%),其成本分别比精度为20%的4.7K高4倍和2倍。20%精度的电阻阻值只有1、1.5、2.2、 3.3、4.7、6.8几个类别(含10的整数倍);类似地,20%精度的电容也只有以上几种值,如果选了其它的值就必须使用更高的精度,成本就翻了几倍,却不能带来任何好处。

(2)指示灯的选择。面板上的指示灯选什么颜色呢?有些人按颜色选,比如自己喜欢蓝色就选蓝色。但是其它红绿黄橙等颜色的不管大小(5mm以下)封装如何,都已成熟了几十年,价格一般都在5毛钱以下,而蓝色却是近三四年才发明的,技术成熟度和供货稳定度都较差,价格却要贵四五倍。(注:这一已经是几年前的看法了)

(3)不要什么都选最好的。在一个高速系统中并不是每一部分都工作在高速状态,而器件速度每提高一个等级,价格差不多要翻倍,另外还给信号完整性问题带来极大的负面影响。

围观 316

一.MCU测试

1.mcu工作电压及电流

测试MCU工作电压是否在工作电压范围,电压过高会影响MCU的正常工作甚至烧坏,工作电压过低会影响MCU的外围电路驱动能力,甚至导致外围电路不能正常工作。

2. mcu静态电流

静态电流是衡量MCU性能的主要参数之一,静态电流越小越好,根据MCU规格书测试静态电流是否符合要求,一旦MCU有损坏的话,静态电流就会变大,会增加产品的静耗,致使产品整体功耗增加。

3.mcu的振荡频率

如MCU为外接晶振型的,需要检测其正常工作时MCU的晶振输入脚的振荡频率是否正确,如果晶振振荡频率不符合要求则会影响产品的定时及延时,甚至不能正常工作。

二.产品的组合功能测试(MCU在线系统测试)

1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。

2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。

3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。

4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。

还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等

围观 451

(MCU测试部分)

一.MCU测试

1.mcu工作电压及电流,
测试MCU工作电压是否在工作电压范围,电压过高会影响MCU的正常工作甚至烧坏,工作电压过低会影响MCU的外围电路驱动能力,甚至导致外围电路不能正常工作。

2. mcu静态电流
静态电流是衡量MCU性能的主要参数之一,静态电流越小越好,根据MCU规格书测试静态电流是否符合要求,一旦MCU有损坏的话,静态电流就会变大,会增加产品的静耗,致使产品整体功耗增加。

3.mcu的振荡频率
如MCU为外接晶振型的,需要检测其正常工作时MCU的晶振输入脚的振荡频率是否正确,如果晶振振荡频率不符合要求则会影响产品的定时及延时,甚至不能正常工作。

二..产品的组合功能测试(MCU在线系统测试)

1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。

2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。

3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。

4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等

来源:百度文库

围观 566

科技的发展,身边的智能产品越来丰富,扫地机器人、手机、VR、穿戴设备及车载仪表、导航仪等,这些产品都具备个智能的“芯”,今天,主要介绍这些“芯”的特点与联系。

ARM

ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。

1

MCU

MCU本质为一片单片机,指将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成的芯片级的计算机。

DSP

DSP(DigitalSignalProcessing),数字信号处理,简称DSP。DSP是用数值计算的方式对信号进行加工的理论和技术。另外DSP也是Digital Signal Processor的简称,即数字信号处理器,它是集成专用计算机的一种芯片,只有一枚硬币那么大。

FPGA

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

SOC

SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。

ARM、MCU、DSP、FPGA、SOC的比较

采用架构

● ARM:架构采用32位精简指令集(RISC)处理器架构,从ARM9开始ARM都采用了哈佛体系结构,这是一种将指令与数据分开存放在各自独立的存储器结构,独立的程序存储器与数据存储器使处理器的处理能力得到较大的提高。ARM多采用流水线技术,此技术通过多个功率部件并行工作来缩短程序执行时间,使指令能在多条流水线上流动,从而提高处理器的效率和吞吐率。现今ARM7采用了典型的三级流水线,ARM9采用五级流水线技术,而ARM11使用了7级流水线,ARM Cortex-A9更是使用了可变流水线结构(支持8-11级流水线)。在多核心的支持上ARM Cortex-A9最多可支持4个核心,这是ARM系列处理器中首次支持多核心技术。下图表示了NXP ARM体每当处理器。   

2

● MCU:大都在结构上是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计数器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。指令集上早期的MCU是采用CISC的,后面被RISC取代。在总线位数上,MCU覆盖了4位、8位、16位、32位,应用十分广泛。

● DSP:又名数字信号处理器,它是一种专用于实时的数字信号处理的微处理器。结构上它采用哈佛结构,同样采用流水线技术。此外,DSP被用于宿主环境时可作为直接内存存取设备运作,还支持从模拟数字转换器(ADC)获得数据,最终输出的是由数字模拟转换器(DAC)转换为模拟信号的数据,支持一定的并行处理。

● FPGA:FPGA是英文FieldProgrammable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。FPGA有别于DSP、ARM、MCU的地方主要在于它的并行处理能力,它的强大并行性使复杂的运算得到极大的速度比提升。

● SOC::系统芯片是一个将计算机或其他电子系统集成单一芯片的集成电路。系统芯片可以处理数字信号、模拟信号、混合信号甚至更高频率的信号。系统芯片常常应用在嵌入式系统中。系统芯片的集成规模很大,一般达到几百万门到几千万门。SOC相对比较灵活,它可以将ARM架构的处理器与一些专用的外围芯片集成到一起,组成一个系统。其实现有的ARM处理器如Hisi-3507、hisi3516等处理器都是一个SOC系统,尤其是应用处理器它集成了许多外围的器件,为执行更复杂的任务、更复杂的应用提供了强大的支持。

功耗

● ARM:可以说ARM之所以在移动市场上得到极大的成功,其中最主要的原因便是它的低功耗。众所周知的是在移动市场上的电子产品对处理器的功耗是十分敏感的,在过去PC平台上处理器的功耗在几十W到上百W不等,这样的功耗放在移动平台上是不可想像的,ARM在主频1G的情况下功耗才几百mW,强劲的低功耗使它能适应移动电子产品。

● DSP:在与非网的一组数据上显示,在数字信号处理方面的市场占有率DSP与FPGA各得半壁江山。DSP相对于FPGA的一个优势是它的功耗相对较低,DSP生产厂商通过提高处理器的主频、努力降低功耗来保证它的市场占有率,因为在高性能的数字处理市场上FPGA似乎更占有优势。如果单纯从DSP领域上来看,DSP在功耗上、性能上做得最好的要数TI公司,TI公司的DSP处理器相对其它的DSP厂商生产的处理器成本更低、功耗更低,所以TI的DSP芯片更在竞争力。

● MCU:MCU面世时间最长,各种厂商都有它们自己的架构与指令集,如果从低功耗方面来看,TI的MSP430型MCU做得相对较好。

● FPGA:FPGA由于它的内部结构原因造成它的功耗相对较高、芯片发热量大,这也是它的一个缺点。但这也是不可避免的,在支持高性能的并发计算数字电路,且内部的逻辑门大都采用标准的宽长比,最终生成的数字电路必然会在功耗上无法与ASIC等专用处理器比较。

● SOC:由于SOC自身的灵活性,它将多个器件集成到一个极小的芯片上从而组成一个系统,SOC系统相对于MCU等处理器组成的系统来说,它在功耗上具有优势。并且,SOC芯片可在版图层面上结合工艺、电路设计等因素对系统的功耗进行系统的优化,这样比由现今外围的PCB版搭建出来的系统功耗更低,占用面积更小。

速度

● ARM:随着市场应用的需求提高,ARM厂商纷纷通过优化来提高它的主频,提升它的性能。从开始的100Mhz到惊人的2.3Ghz,ARM主频以惊人的速度向前发展。

● DSP:现今最快的主频能达到1.2Ghz。当然不能单纯从主频判断它的性能会比ARM差,DSP具有单时钟周期内完成一次乘法和一次加法的能力,一般的ARM不具备这样的能力,DSP在计算领域优势尤其明显,所以TI结合了ARM和DSP两者的优势,生产出达芬奇异构芯片,当然这是属于SOC的范畴了。

● MCU:作为低端的应用处理器,它的主频从数M到几十Mhz不等。

FPGA主频时钟最高可达几Ghz甚至上10Ghz,当然它的成本也不菲。如果将FPGA与ARM、DSP等作为比较,从主频上进行比较是没有多大意义的,毕竟并行计算的能力要远远超出一般通用的处理器采用的串行计算几十倍。如同样的一个滤波算法在主频为100Mhz的FPGA上实现要比在主频为1Ghz的ARM上实现仍要快。

应用与市场

● ARM处理器现在主要是三个系列分别为A系列、R系列、M系列,其中A系列主攻消费电子应用,应用十分广泛。

计算:上网本、智能本、输入板、电子书阅读器、瘦客户端
手机:智能手机、特色手机
数字家电:机顶盒、数字电视、蓝光播放器、游戏控制台
汽车:信息娱乐、导航
企业:激光打印机、路由器、无线基站、VOIP 电话和设备
无线基础结构:Web 2.0、无线基站、交换机、服务器

3

R系列处理器主要针对一些对实时性要求较高的应用,如航空航天、汽车电子等场合,它具备高可靠性、高可用性、高容错能力、实时响应等优点。

M系列处理器主要针对较低端的应用,它的最初目标是替换现有的市面上的MCU。

● DSP主要针对一些计算能力要求较高的应用,如视频图像处理、智能机器人、数字无线、宽带访问、数字音频、高分辨率成像和数字电机控制等。

● MCU应用最为广泛,主要利益于它的成本控制上,使它能在许多对计算能力要求不那么高的应用立足。相信在未来几年里,MCU市场关键增长驱动力将来自于绿色能源,智能电子设备,智能电网以及电子产品的升级换代比如汽车电子。

● SOC应用也十分广泛,主要是因为现有主流ARM芯片采用的架构便是SOC架构的一种,SOC是一个比较广泛的概念,现阶段许多ARM、DSP都开始采用SOC的方式来将多个器件加到处理器上组成复杂的系统。

开发成本

● ARM主要是搭载LINUX、ANDROID、WINCE等操作系统,在开发难度上看,相对MCU、DSP较难入门,它需要开发人员对操作系统有较深的了解;从成本来看,ARM的单芯片成本较MCU要高,主要还是应用于一些较为复杂的系统上。加速产品上市,降低硬件设计门槛,像周立功公司推出了一系列的核心板产品(WWW.ZLG.CN)。

4

● MCU入门最容易,上手也快,开发难度较小,并且它的成本低,在低端市场应用最为广泛。

● DSP入门较容易,但单芯片成本较高,主要还是应用于对计算能力要求高的应用。当然DSP也可以搭载操作系统,搭载操作系统后可适用于多任务的应用上。

● FPGA的开发难度较大并且开发周期也相对较长,此外它的单芯片成本很高。

来源:周立功单片机公众号

围观 400

据IC Insights的市场研究报告中指出,2015年全球MCU市场产值达168亿美元(比2014年增长5.6%),出货量达209亿颗(比2014年提升12.4%),而平均每颗售价则是0.81美元。而未来到2019年,MCU的销售量仍维持逐年递增(年复合成长率CAGR约为6%)、ASP逐年递减的趋势,但整体MCU市场规模仍是上扬的。

物联网行业的快速发展是驱动MCU发展的一大动力。其中又因为汽车驾驶信息系统、油门控制系统、自动泊车、先进巡航控制、防撞系统等ADAS系统对于32位MCU的大规模需求,将刺激32位MCU的大幅增长。此外,物联网领域的智能应用正方兴未艾,比如医疗电子用品(如智能血糖机、电子血压计等)、个人健康监测产品(如智能手环、智慧手表、智能衣、心率带等等)这些需要低功耗、长时间使用、无线通信的产品,也必须倚赖MCU来实现。微控制器(MCU)作为物联网的核心零组件,无论在市场规模上还是技术上都将获得进一步发展,那么,在当前物联网快速部署的大形势下MCU自身发展都呈现出哪些趋势呢?
  
1、32bit MCU将成主流
  
早期MCU架构多是8位为主,且整合开发环境(IDE)也是以8位为主。随着物联网时代任务的复杂化,对计算能力越来越高促使MCU开始迈向16或32位来设计,与此同时相关的软件开发环境也提升到32位,甚至做到可以向下兼容,让开发环境不受限于硬件,以提供更具弹性的开发空间。

8位/16位/32位MCU出货量数据(IC Insights,2014)

  
此外,目前8位和32位MCU的价差也已经缩小,32位MCU单颗报价在1.5~4美元之间,工作频率大多在100~350MHz之间,执行效能更佳,应用类型也相当多元。众多物联网应用对数据处理能力要求越来越高,虽然8位MCU仍会有其一席之地,但32位MCU一定会成为市场主流。根据IC Insights 2014年的数据,以出货量计,32位MCU已经接近8位MCU,而销售额32位MCU已经跃升第一位。随着32位MCU生态环境的建立和成本的进一步降低,预计未来将有一个时间点实现井喷。但需要注意的是,由于32位MCU操作数与内存长度的增加,相同功能的程序代码长度较8/16bit MCU会增加30~40%,这导致嵌入式FLASH内存容量不能太小,而芯片引脚数量增加,可能会限制32bit MCU的成本缩减能力。
  
2、低功耗是核心竞争力
  
当前市面上各种移动电子产品最令人诟病的一点莫过于需要频繁充电,各家智能手机/手环厂商都在努力的降低功耗,提升续航能力。功耗的限制使得产品设计时许多功能被牺牲。而对于物联网世界里数量更为庞大的无线传感节点,功耗和续航时间更是直接关系到产品的可行性。比如在散布在桥梁或者隧道中用于检测位移形变的传感器节点,数量庞大且只能依靠电池供电,要求电池续航时间通常达十年以上,这对MCU的功耗提出了非常苛刻的要求。即使对于很多方便供电的应用(如智能家居),在当前绿色环保低碳口号的号召下,厂商也在想尽办法降低系统功耗。而如何在低功耗的前提下又能实现较高的运算能力,成为摆在MCU厂商面前的一道难题。目前几乎所有的主流厂商都瞄准了这一市场需求,纷纷推出各自的超低功耗MCU。
  
3、高整合度 MCU+成趋势
  
物联网对于其中每个节点最理想的要求是智能化,即能够通过传感器感知外界信息,通过处理器进行数据运算,通过无线通讯模块发送/接收数据。因此,集成传感器+MCU+无线模块的方案始终是各MCU厂商的追求。更有甚者,对于一些相对容易实现整合的传感器类型,如触摸屏控制器、加速度计、陀螺仪等,某些技术实力强大的厂商已经实现了与MCU整合的单芯片SOC/SIP。当然由于传感器和无线通讯技术的多样性,以及工艺技术上的差异,一味的SIP或SOC整合可能并不一定是明智之举(如气体传感器、温湿度传感器整合方案就较为困难),但厂商提供MCU+的整体解决方案已经成为毫无疑问的必然趋势。
  
本文转载自传感器与物联网网,由SITRI产业研究部原创。如涉及版权,请及时联系处理!
围观 330

在项目开发的过程中,发现程序总是死在判断DMA一次传输是否完成这个标志位上。进一步回退分析,发现是在I2C读的过程中,有使用到DMA去取外部I2C设备的data。

但是data并没有读完,Data为32bits,DMA在读到18bits时,就出现读不到data bit了。导致I2C硬件模块不能进一步动作,SCK一直被拉低,没有clock输出,SDA也是如此。

下面是通过示波器抓到的波形:

在上面的波形图中,绿色的是SCK,蓝色的是SDA。

在第一幅波形图中,有2段波形,第一段连续的I2C波形,经过确认I2C硬件和DMA配合是正常的。第二段则是有一段I2C波形,然后就SCK和SDA就都被拉低了。

将第一幅图的第2段波形放大,就是第二副图看到的情况。可以很明显的看到SCK输出有被其他因素打断。I2C吐出几个clock,被其他因素打断了,clock线即SCK被拉低一段时间,然后clock线再继续吐出几个clock。

直到I2C被频繁中断,clock吐不出来为止,SCK和SDA都被拉低,此时明显的I2C和DMA的配合过程被其他因素频繁的干扰打死了。

通过示波器抓到的波形验证了这一点,然后再来分析代码和串口输出,发现是外部GPIO一直有中断输入,Cortex-M3 MCU频繁的响应中断,导致I2C&DMA操作被打挂了。

有什么办法来解决这个问题?

方法就是在I2C和DMA操作的过程开始处关闭所有中断,而在操作结束的时候重新打开中断,以免I2C&DMA操作被其他中断打断。

ARM MDK编译环境自带的编译器ARMCC,含有内置的c函数,可供操作中断用:

__enable_irq();

__disable_irq();

不过debug发现这两个函数只会在privileged mode使用。也就是说需要Cortex-M3 MCU先进入privileged mode,才能调用这两个函数。

用什么方法让MCU从user mode切换到privileged mode呢?

exception handler!

可以用SVC啦,软件可以利用SVC制造一个exception,然后在exception handler中利用MCU的privileged mode来完成自己的任务。有点类似于linux里面的系统调用。

SVC exception可以调用SVC函数,而SVC函数可以传入参数,也可以返回参数。转为系统调用而设计。

举个例子,用户程序调用read()这个系统调用,read()会引发SVC exception,进而调用SVC函数,read()函数的参数传递给SVC函数,SVC在内核态执行硬件动作,并将SVC函数的返回结果,作为read()函数的返回,返回给用户程序。当然linux里面并不一定是SVC,这里只是做个类比。

也就是说SVC可以完成从用户态到内核态的转变,不让用户直接操作硬件。用户只需要记住系统调用API的名字和函数即可,而不用管硬件的具体实现。

所以这里我们就把I2C读的操作放在一个SVC函数里面去实现,并且在SVC函数的开始处调用__disable_irq();在函数的结束处,调用__enable_irq()。

经过验证,I2C&DMA操作再也不会被中断打断了。

参考资料:

1、http://www.keil.com/pack/doc/cmsis/Core/html/group___core___register__gr...

2、cortex-M3权威指南

文章来源: 博客园

围观 447

作为嵌入式软件工程师认为世界上最可悲的事情是你愉快的敲完代码等待验证,而编译器却提示你No space or unable to allocate space…,顿时心中一万只草泥马在奔腾有没有。好吧没有办法,由于成本和项目需求的限制,不得不选择小Flash的MCU,这就导致了我们为了缩减Flash的空间打开各种优化、一字节一字节的裁剪、各种map文件对比分析,只为省出一点空间,接下来总结一下遇到这种问题时的优化步骤,当然这是在程序设计后期发现Flash的限制从而进行优化,如果你有一个好的编程习惯,应该从构建初期就应该注意资源受限的问题,合理安排驱动函数实现方式、变量类型的定义、标准库的使用等等。So what should I do ?

资源受限MCU Flash空间占用优化步骤:

  • 避免重复功能,排查软件工程中,重复功能的代码片段,抽象出来,重新进行封装;
  • 减少内联函数inline,内联函数过大且过多的调用无疑会增加代码量,占用过多的flash,如果代码运行速度要求不高类似这样的内联函数,尽量改成函数调用;
  • 开启最高优化,优化时应倾向于速度和代码量的平衡,不能一味地缩小代码量,因为这很可能会出现意想不到的问题,特殊源文件也可开局部优化功能;
  • 减少运行库调用,编译器自带的运行库一般都过大而复杂,例如常用的printf调试打印,将会占用大量flash空间,因此设计代码时,应通过宏配置可禁掉类似printf的调试代码或直接通过UART发送字符功能打印调试信息;
  • 自行实现标准库函数,简单的库功能如:memcpy、memset等功能自行实现也会减少标准库调用而导致占用过多的flash空间;
  • 使用MCU本身的硬件特性,如果支持,尽量使用MCU的硬件乘法器或者浮点运算单元,这样会比直接进行乘法或者浮点运算运行减少很多代码量;
  • 定义恰当的变量类型:C编译器支持变量的类有char、int、long等,定义恰当的变量类型,可以有效的减少代码和数据的长度,同时也能提高运行效率。
  • 总结就到这里,如果你有更好的办法,可以留言一起讨论哦。

    文章来源:周立功单片机

    围观 1243

    页面

    订阅 RSS - MCU