跳转到主要内容

技术

MCU上的无锁原子读操作

原子读操作是在MCU并发编程中常用的操作,简单举个例子来阐述问题:

我们使用RTOS或裸机状态编程时,必然需要一个全局时钟基准,通常是在一个定时器中断中累加实现,简化代码如下:

static unsigned long volatile __jiffies = 0; /* 全局时钟基准节拍累加器 */

ISR_TIMER() /* 定时中断服务函数 */
{
++__jiffies;
/* 其它代码...: */
}

对于其中的__jiffies变量,就是全局时间基准,程序中其它地方都会对其进行原子读操作来判断时间,典型的接口实现如下:

ARMv8-M平台开发安全软件的建议

ARM® TrustZone® 是针对片上系统(SoC)设计的系统级安全技术,它基于硬件,内置于CPU和系统内核,为半导体芯片设计师设计设备安全性能(如可信根)量身打造。TrustZone可用于任何基于ARM Cortex®-A的系统,随着全新Cortex-M23和Cortex-M33处理器的发布与升级,Cortex-M也已经支持该技术。

从尺寸最小的微控制器(搭载针对Cortex-M处理器优化的TrustZone技术),到高性能处理器(搭载针对Cortex-A处理器优化的TrustZone技术),设计师们终于可以从设计初始就着手打造出色的安全性能了。

一文看透芯片之处理器CPU

来源:玩转单片机

回到最初的问题,CPU是怎样访问内存的?简单的答案是,CPU执行一条访存指令,把读写请求发往内存管理单元。内存管理单元进行虚实转换,把命令发往总线。总线把命令传递给内存控制器,内存控制器再次翻译地址,对相应内存颗粒进行存取。之后,读取的数据或者写入确认按照原路返回。再复杂些,当中插入多级缓存,在每一层缓存都未命中的情况下,访问才会最终达到内存颗粒。

知道了完整的路径,那我们开始研究每一步中的硬件到底是怎么样的,读写指令到底是怎样在其中传输的。要了解硬件,首先要说下处理器。处理器的基本结构并不复杂,一般分为取指令,译码,发射,执行,写回五个步骤。而我们说的访存,指的是访问数据,不是指令抓取。访问数据的指令在前三步没有什么特殊,在第四步,它会被发送到存取单元,等待完成。当指令在存取单元里的时候,产生了一些有趣的问题。

单片机的烧写原理

我要问的不是如何制作烧写接口。 而是,电脑在通过接口向单片机烧写时(此时单片机 内没有程序),电脑是如何通过接口访问内部rom的??对应p口怎么就会指向单片机内部rom(就像单片机是一个rom?

有三种方式:
1、把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。

MCU在main()之前都干了什么

来源:光豆儿(头条号)

main()是用户程序的入口,那么MCU在main()之前都做了什么呢,下面以stm32f10x芯片为例,描述下main()之前的事情。

简单说MCU在进入main()之前,一直再做进入main()的准备工作。那么这些准备工作都包括什么?

如何用PCLint检查PIC32单片机的C代码

<strong>1. 引言</strong>

C语言在嵌入式领域应用非常广泛,其主要优点是灵活和高效,但若在使用过程中不加以规范,容易引入各种潜在的代码问题。

先来看一段C代码,这段代码中有多少C语言的使用错误?

uint8_t vFunc(void)
{
uint8_t index = 0;

为什么说MCU中导入DSP/FPU是未来的发展主流?

微控制器(MCU)深入人们应用生活,几乎大小设备都看得到MCU踪影,在MCU导入DSP数字信号处理器、FPU浮点运算单元功能后,MCU更大幅扩展元件可适用范围,这几年来,在众多MCU大厂纷纷针对旗下商品推出多样整合方案,不管是产品策略还是市场区隔,也让MCU市场更加丰富多元...

MCU(Microcontroller Unit)深入生活应用是不容易质疑的趋势,尤其是MCU在功能优化或市场区隔目的下,进行DSP(Digital Signal Processor)数字信号处理器或FPU(Floating Point Unit)浮点运算单元功能整合,使得MCU的可应用场域大幅扩展。

MCU整合FPU可以在进阶数值运算的精密度大幅提升、处理效能也能获得改善。

从架构到RTOS 详解DSP和MCU的区别和联系

来源: 21ic电子网

<strong>一、区别</strong>

两则的分流造成的主要原因是数字信号处理的简便性,考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。

类似的运算在数字信号处理过程中大量的重复发生,使得为此设计的器件必须提供专门的支持,促进了DSP器件与通用处理器(GPP)的分流:

ST STM32F412ZG32位ARM MCU Discovery套件开发方案

STM32F412XE/G器件基于工作频率高达100MHz的高性能ARM Cortex-M4 32位RISC内核。它们的Cortex-M4内核具有浮点单元(FPU)单精度,支持所有ARM单精度数据处理指令和数据类型。它还实现了一整套DSP指令和一个存储器保护单元(MPU),增强了应用程序的安全性。

STM32F412XE/G属于STM32 Dynamic Efficiency产品线(具有组合功率效率,性能和集成的产品),同时增加了一种称为批量采集模式(BAM)的新型创新功能,允许在数据批处理期间节省更多的功耗。

Maxim MAX32625 32位MCU可穿戴应用开发方案

MAX32625 MAX32626是一款具有未连接点单元的ARM Cortex-M4F 32位微控制器,是可穿戴医疗和健身应用的理想选择。该架构结合了超低功耗,高效率信号处理功能和易用性。内部96MHz振荡器提供高性能,内部4MHz振荡器支持需要始终监视的应用的最低功耗。该器件提供512kB的闪存和160kB的SRAM。

降低物联网跨平台设计复杂性的策略有哪些?

(本文作者瑞萨电子Stefan Ingenhaag)

每个工程项目在开发实作的过程中可能会受到诸多因素的制约,其中最主要的三大因素是效能、功耗和价格,人们通常需要对这些因素做出权衡和折衷。以这三个因素为顶点构成三角形,每个项目都有其「侧重点」,但根据产品、市场和时间会有不同的相对权重。

物联网(IoT)相关应用的潜在成长为供货商及其设计团队提供了新的机会,但也进一步扩大软硬件工程方面的挑战。硬件和软件密切相关,共同组成了平台,需要采取多种策略来最大程度地降低跨平台设计的复杂性。这些策略包括:

<strong>1限制传感器和变频器输入/输出</strong>

芯片级尺寸的MCU如何适应可穿戴设计中的尺寸限制?

消费类电子产品经过几十年的发展已经有无数种各类用途的设备,从专业设备到个人消费品。虽然存在性能和功能的差异,但是消费类电子产品往往遵循相同 的设计趋势:设备功能变得越来越强大、体积小巧和省电。可穿戴设备集中体现了这一趋势,它是一种便携、电池供电、高集成度的设备,负责从高精度模拟测量到 直观用户界面的所有一切。可穿戴式设备开发人员必须仔细的在多种集成电路(IC)中匹配产品的需求,有时还需要同时应对相互矛盾的优先选项。

单片机中PWM的原理与控制程序

PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东西。

PWM 是 Pulse Width Modulation 的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效果。这是个什么概念呢?我们一步步来介绍。

首先从它的名字来看,脉冲宽度调制,就是改变脉冲宽度来实现不同的效果。我们先来看三组不同的脉冲信号,如图 10-1 所示。

电子工程师常犯错误大全,看看你有没有中招!

电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。

<strong>硬件工程师:</strong>主要负责电路分析、设计;并以电脑软件为工具进行PCB设计,待工厂PCB制作完毕并且焊接好电子元件之后进行测试、调试。

<strong>软件工程师:</strong>主要负责单片机、DSP、ARM、FPGA等嵌入式程序的编写及调试。FPGA程序有时属硬件工程师工作范畴。

是人就会犯错,何况是工程师呢?虽然斗转星移,工程师们却经常犯同样的错误!下面,就请各位对号入座,看看自己有没有中招。

一文看懂单片机与CPU的相似与不同

什么是单片机,相信很多人都还不知道。也不知道单片机的作用是什么。单片机简称为单片微控制器(Microcontroler),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机,因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。

大家都知道我们的电脑主要是由中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。安装在一个被称之为主板的印刷线路板上,就是我们个人的计算机了。

浅谈四轴飞行器原理

本文来源:<a href="https://www.rs-online.com/designspark/unknown-slug-21">designspark</a&gt;

如今,飞行器越来越受到人们的青睐。 四轴飞行器最开始是由军方研发的一种新式飞行器。随着 MEMS 传感器、单片机、电机和电池技术的发展和普及,四轴飞行器已经应用到各个领域,如军事打击、公安追捕、灾害搜救、农林业调查、输电线巡查、广告宣传航拍、航模玩具等,已经成为重要的遥感平台。

单片机引脚介绍

来源:玩转单片机

<center><img src="http://mcu.eetrend.com/files/2017-02/wen_zhang_/100004954-15945-1.jpg&q…; alt="" width="600" ></center>

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

单片机控制的电池管理实现了成功的互联网

微控制器将在观光噪比(IoT)取向设计大多数因特网主控制元件和这些MCU将有可能被电池供电。电源效率将是实现可接受的电池寿命至关重要因此MCU将需要管理的电池使用更精确地比以往任何时候。许多MCU具有特殊的功能,帮助管理电池电量和使用这些功能优化可能使输赢在市场之间的差异。

本文将很快回顾一些实现高效电池的MCU产品设计,并说明所需的关键功能,例如使用的设备,这些功能如何提高工作效率和电池寿命。软件工具,帮助估计电池寿命将用于展示如何在您详细的设计实施估计寿命。这极大地有助于设备选择并且是一个关键的技术用于创建电源效率的设计。

<strong>管理电源域</strong>

设计实例 | 基于PSoC 的电冰箱触控面板方案

来源:Cypress

微控制器单元(MCU)被广泛应用在电冰箱、洗衣机、空调、微波炉、吸尘器、等多种家用电器中,常用于实现电机控制、模拟传感器测量、面板控制以及在LED/LCD上显示结果等。

今天我们给大家介绍基于一款Cypress PSoC CY8C4025AZI-S413 器件的电冰箱触控面板方案,目前该方案已在品牌电冰箱中得到量产。

MCU连接多个传感器和冰箱部件进行数据接收或控制;通过ADC接收温度数据的模拟输入;用户可通过触控按键设置电冰箱内所需的温度,微控制器则根据所设温度控制压缩机、风扇和进风口,并在面板LED上进行温度显示。

一旦检测到冰箱门长时间开启,MCU就会控制蜂鸣器生成不同频率的音调,发出警报。

<strong>设计亮点</strong>