跳转到主要内容
第五届滴水湖中国RISC-V产业论坛专题
【填问卷 月月赢好礼】“芯英雄联盟”直播服务在线调查
CES 2026(国际消费类电子产品展览会)专题
以板载匠心,赋能 FPGA 创新,加速产品从 0 到 1
直播预约 | AI 智能体加速FPGA开发
难以置信!5微米,比红细胞还小!Mars ZX2让机械臂变得更精密、更紧凑、更易集成
2026英伟达GTC大会专题
从Google Home窥视智能家居

还记得在2016 Google I/O 全球开发者大会上,谷歌除了更新Android和Android Wear两个平台,发布了全新的Daydream VR平台之外,还发布了基于全新语音助手吗?这款旨在服务于智能家居的家庭智能终端Google Home,一经发布,就立刻吸引了无数人的目光。

所谓智能家居,其实是以住宅为平台,利用网络通信以及人工智能(AI)的自动控制、通过音视频将与家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。谷歌的Google Home 之所以博得了满堂彩,正是因为其强大的家庭管理功能让大家感觉智能家庭正在无限接近。

物联网时代MCU有哪些发展趋势?

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

ARM cortex-M3 异常处理分析

作者:dogsun88

<strong>一、进入异常之前处理器可能的状态有:</strong>

1、 handler

2、 线程,MSP

3、 线程,PSP

<strong>二、产生异常时:</strong>

1、 有一个压栈的过程,产生异常时使用PSP,就压入到PSP中,产生异常时使用MSP,就压入到MSP中

2、 会根据处理器的模式和使用的堆栈,设置LR的值(当然设置完的LR的值再压栈)

<strong>三、异常返回时:</strong>

根据LR的值,判读使用那个堆栈,然后再从相应的堆栈中POP数据到寄存器。

关于Cortex-M3的中断优先级描述

关于Cortex-M3的中断优先级的描述 

1、和之前的ARM7不同,Cortex-M3使用NVIC(嵌套向量中断管理器)来管理系统的中断。
 
2、每一个中断源的优先级由3个位来决定,这3个位就是中断优先级寄存器器里(PRIx)的INTn,这里的n 一般是A、B、C、D。 

3、每个中断源的优先级由2部分组成,一部分表示中断组别,一部分表示同组的优先级编号。组别优先级高的中断源,可以打断组别优先级低的中断处理,同一个组的中断源不能打断正在处理的中断,只能在进入中断处理时,同时发生的两个中断源进行判别优先级。 

4、我们把中断源的优先级组别和同组内的中断编号分别用抢占式优先级别和子优先级别来表示。他们的具体表现形式就是第2条提到的INTn。 

【下载】Cortex-M3开发环境搭建(MDK)

<strong>一、Cortex-M3环境介绍</strong>

Cortex-M3程序开发使用Keiluvision4软件,该软件是由KEIL(anARMcompany)公司开发的一个IDE开发环境,包括工程管理,链接设置等等。 Keiluvision4开发环境界面优美、功能强大、芯片种类多、仿真能力强,是众多工程师首选开发环境之一。

Keiluvision4开发环境中比较常用的菜单如下所示:

关于单片机上拉电阻、下拉电阻的详解

<strong>一、定义</strong>

1、上拉就是将不确定的信号通过一个电阻嵌位在高电平!“电阻同时起限流作用”!下拉同理!

2、上拉是对器件注入电流,下拉是输出电流。

3、弱强只是上拉电阻的阻值不同,没有什么严格区分。

4、对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。

<strong>二、拉电阻作用</strong>

1、一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。

ARM Cortex-M3 MCU 的 I2C DMA操作和中断

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

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

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

单片机中关键字data、idata、xdata、pdata的区别

<strong>data</strong>

固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。

<strong>idata</strong>

固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)

<strong>xdata</strong>

资源受限MCU如何减少FLASH空间占用?

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

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

MCU数位控制技术助力变频马达性能大跃进

变频马达主要依靠半导体元件组成的电子电路来驱动马达运转,其中MCU数位控制技术的良寙攸关着马达效率是否理想;而在MCU控制技术日趋成熟,加上FOC演算法助力之下,变频马达效率将逐步跃进。

马达是家电产品中,不可或缺的动力元件,马达的使用量,也是生活舒适程度的指标之一。家电产品中,常见的马达基本上有三种:交流感应马达(AC Induction Motor, ACIM)、直流有刷马达(Brushed DC Motor)、直流无刷马达(BLDC/PMSM)(亦称变频马达)。事实上,马达的分类方式可从以下几点区分。

<strong>.电源</strong>

从电源的使用上来看,可简易分成交流马达与直流马达两大类。

<strong>.控制方式</strong>

【下载】灵动微MM32F031开发板资料—— 库函数和例程

MM32F031使用高性能的ARM® Cortex®-M0 32位的RISC内核,最高工作频率为48MHz,内置高速存储器,丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含1个12位的ADC、5个通用16位定时器、1个高级PWM定时器,还包含标准和先进的通信接口:1个I2C接口和SPI接口、1个UART接口。

MM32F031产品供电电压为2.5V至5.5V,包含-40°C至+85°C温度范围和-40°C至+105°C的扩展温度范围。一系列的省电模式保证低功耗应用的要求。

MM32F031产品提供包括32脚与48脚共2种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。

单片机控制板的三大设计原则

本文将为您详解单片机控制板在设计过程中需遵循的三大原则及一些注意事项。

单片机控制板在设计过程中,需要遵循的如下原则:

1、在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路(ROM、RAM),如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。

ARM的9种寻址方式

本文介绍ARM的9种寻址方式,基础知识,需要牢固掌握,快来看一下吧。

<strong> ARM的9种寻址方式</strong>

<strong> 1)立即寻址</strong>

操作数是立即数,以“#”为前缀,表示 16 进制数值时以“0x”表示。

例:

MOV R0,#0xFF00 ;0xFF00 -> R0

SUBS R0,R0,#1 ;R0 – 1 -> R0

<strong> 2)寄存器寻址</strong>

操作数的值在寄存器中,指令执行时直接取出寄存器值操作。

例:

MOV R1,R2 ;R2 -> R1

【下载】灵动微MM32F103开发板资料—— 库函数和例程

MM32F103 使用高性能的 ARM® Cortex®-M3 32 位的 RISC 内核,最高工作频率 96MHz,内置高速存储器,丰富的增强 I/O 端口和联接到两条 APB 总线的外设。所有型号的器件都包含 2 个 12 位的 ADC、2个 12 位的 DAC、2 个电压比较器、3 个通用 16 位定时器和 1 个 PWM 高级定时器,还包含标准和先进的通信接口:2 个 I2C 接口和 SPI 接口、3 个 UART 接口、一个 USB 接口和一个 CAN 接口。

MM32F103 产品供电电压为 2.5V 至 5.5V,包含-40°C 至+85°C 温度范围和 -40°C 至+105°C 的
扩展温度范围。一系列的省电模式保证低功耗应用的要求。

ARM嵌入式常用开发工具及开发流程(插画版)

由于嵌入式开发环境的特殊性(交叉编译),我们会用到一些其他的外围工具,这里做简要的说明。并重新介绍一下整个开发环境中,各个工具的使用,及一个简单应用的开发流程。

<strong> SecureCRT : 串口输出显示工具、SSHclient 。</strong>

SecureCRT 是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议。

这个是最有用的吧,你看到她就会爱上她。并且是可以窗口内多标签,界面和蔼可亲的。

<strong> DNW : USB下载工具。(配合u-boot使用)</strong>

【视频】四十分钟教你学懂ARM架构

“在本视频中,我将介绍当今最流行的嵌入式处理架构的基础知识,它就是ARM架构·······”

ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。更多详细信息请观看以下视频!

ARM Cortex-M3/M4微控制器最大效率设计三秘诀

大部分采用Cortex-M3/M4 MCU的目标应用是便携式的,并且供电电源来自电池或能源收集系统,因此我们所探讨的大部分概念涉及如何减少系统整体能耗的技术。然而,在许多情况下,这些节能技术也是处理器应用设计的有力工具,可提供:

●更符合成本效益的解决方案

●更大的升级和采用新特性的设计冗余

●有助于产品在激烈竞争市场上脱颖而出的性能和特性

<strong><font size="5">小知识:Cortex-M3对比Cortex-M4</font></strong>

MCU产业链大解剖,从第一款单片机说起!(附国内主流MCU厂商名录)

目前,全球的MCU呈百花齐放趋势,欧、美、日、台均表现出众。中国作为全球最大的芯片销售国,每年消耗掉的MCU数量占据全球市场总量的70%左右,然而由中国芯片厂家直接生产的MCU芯片却凤毛麟角,并且绝大部分仍处于低端的4/8位MCU芯片阶段。不过,国内还有宏晶、兆易创新等企业在MCU高端领域发力,未来还是值得期许的!

<strong><font size="5">什么是MCU?</font></strong>

MCU(Micro Controller Unit),又称单片微型计算机(SingleChip Micro computer)不过,MCU可不是一台机器,而是一块集成电路芯片。

汽车电子中MCU技术原理及其需求分析

汽车作为一部大型的机电一体化设备,汽车电子在汽车整体成本中的比例越来越大,其涵盖了从车身控制、动力传动、车身安全,到车内娱乐的各个方面。

微控制器(MCU)作为汽车电子系统内部运算和处理的核心,也遍布悬挂、气囊、门控和音响等几十种次系统(Sub-System)中。由于汽车作为高速交通工具承载了对用户生命安全的保障,同时汽车经常工作在十分恶劣的环境中,其对内部电子设备的可靠性要求要远高于一般性电子产品。因此汽车电子所用的MCU与一般性产品的结构差异虽然并不很大,而一般的MCU产品由于可靠性不能符合厂商的要求而并不能被选用,这也是汽车电子产品同一般性电子产品市场的区别之一。

<strong><font size="5">技术特性需求</font></strong>

中断驱动多任务--- 单片机(MCU) 下的一种软件设计结构

MCU由于内部资源的限制,软件设计有其特殊性,程序一般没有复杂的算法以及数据结构,代码量也不大, 通常不会使用 OS (Operating System), 因为对于一个只有若干K ROM、一百多byte RAM 的MCU来说,一个简单OS 也会吃掉大部分的资源。

对于无OS的系统,流行的设计是主程序(主循环 )+(定时)中断,这种结构虽然符合自然想法,不过却有很多不利之处,首先是中断可以在主程序的任何地方发生,随意打断主程序。其次主程序与中断之间的耦合性(关联度)较大,这种做法 使得主程序与中断缠绕在一起,必须仔细处理以防不测。