跳转到主要内容
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
关于单片机中晶振的那些事儿

晶振,在板子上看上去一个不起眼的小器件,但是在数字电路里,就像是整个电路的心脏。数字电路的所有工作都离不开时钟,晶振的好坏,晶振电路设计的好坏,会影响到整个系统的稳定性。所以说晶振是智能硬件的“心脏”。

每个单片机系统里都有晶振(晶体震荡器),在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。

复杂的电子产品,晶振是必须的,而RC或LC振荡无法企及,原因就是信号的稳定性不够,而晶振的三种切型:AT切,SC切和X切,把石英按照一定的角度切成薄片,而根据其厚度就可以给出一定的频率信号,根据需要可以任意设计频率值。

做工程师如果没梦想,那么和咸鱼有什么区别?

我是一个普通的电子工程师,一个对电子有着无上热爱的工程师,我没有宏大的理想,我只是希望以我的技术改变自己的生活,改变自己的家庭,如果有可能的话顺便给我们国家电子行业的进步做一点贡献。但这仅仅是想法,以下是我的一些工作体会。

和很多痴迷电子的工程师一样,我的住所也是自己的“贴身实验室”,从螺丝刀到示波器,必须的开发及测试设备虽然简单却也一应俱全,平常用的电子器件和芯片也是大袋小兜的数不尽,单片机、DSP、FPGA等各类开发板和仿真器也是摆着一堆……这个实验室跟着我东奔西走的一起慢慢成长起来,有些老朋友甚至伴随了自己十来年了。

欢迎加入灵动MM32MCU技术交流QQ群!!!

为了给各位MCU研发爱好者创建一个更亲近技术的交流平台,灵动创建了灵动MM32 MCU技术交流QQ群,群号:294016370

需要认证才可以加入哦,请各位小伙伴在发送验证消息时写上单位名称+姓名。希望各位踊跃加入,热烈讨论!灵动MCU专业技术人员在群里等着大家!

<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002790-9136-de1dtm…; alt=""></center>

嵌入式软件可靠性设计的一些理解

<strong> 1、前言 </strong>

设备的可靠性涉及多个方面:稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等。这里着重谈一下作者自己对嵌入式软件可靠性设计的一些理解,通过一定的技巧和方法提高软件可靠性。这里所说的嵌入式设备,是指使用单片机、ARM7、Cortex-M0,M3之类为核心的测控或工控系统。

嵌入式软件可靠性设计应该从防错、判错和容错三方面进行考虑。 此外,还需理解自己所使用的编译器特性。

<strong> 2、防错</strong>

良好的软件架构、清晰的代码结构、掌握硬件、深入理解C语言是防错的要点,这里只谈一下C语言。

【下载】MM32下载器工具包

<strong>IcpProgram下载器使用说明</strong>

1、将压缩包中上位机软件pclcpProgramV1.1复制到电脑本地,系统为WIN7以下需要安装dotNetFx40。

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

2、使用USB线将烧录器接至PC,将烧录器上的VCC,GND,PA2,PA3和待烧录芯片上的VCC,GND,PA13,PA14对应连接。

3、双击打开上位机软件IcpProgram。

更多详情请点击附件下载!

Cortex-M0中断控制和系统控制

作者:Founder_U

<strong>一、 NVIC和系统控制块特性</strong>

1. 灵活的中断管理:使能/禁止中断,优先级配置

2. 硬件嵌套中断支持

3. 向量化的异常入口

4. 中断屏蔽

5. NVIC寄存器的起始地址:0xE000E100, 对其访问必须是每次32bit

6. SCB的起始地址: 0xE000E010,也是每次32bit访问。

<strong>二. 中断使能和清除使能</strong>

1. 中断寄存器是可编程的,用于控制中断请求(异常编号16以上)的使能(SETENA)和禁止(CLRENA), 如下所示:

【下载】核心板 CB031C-EVB样例开发包

<strong>Core031C核心板快速入门使用手册</strong>

<strong>1. Core031C 核心板简介</strong>

<strong>硬件资源:</strong>

 MM32F031K6 主芯片一片

 4K RAM,32K Flash

 8M 晶振(通过芯片内部 PLL 最高达 48M)

 LM1117-3.3V 稳压芯片,最大提供 800mA 电流

 一路 MicroUSB 接口,可以给系统版供电

 复位按键

 标准 20PIN SWD下载口一个,支持 J-Link,U-Link

 BOOT 选择端口

【下载】NVIC与中断控制

正如前文已经多次提到的,向量中断控制器,简称NVIC,是Cortex‐M3 不可分离的一部分,它与CM3 内核的逻辑紧密耦合,有一部分甚至水乳交融在一起。NVIC 与CM3 内核同声相应,同气相求,相辅相成,里应外合,共同完成对中断的响应。NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外,NVIC 还包含了MPU的控制寄存器、SysTick 定时器以及调试控制。本章中,我们将体检NVIC 的中断处理控制逻辑。MPU 与调试控制逻辑在后续章节中讨论。

NVIC 共支持1 至240 个外部中断输入(通常外部中断写作IRQs)。具体的数值由芯片厂商在设计芯片时决定。此外,NVIC 还支持一个“永垂不朽”的不可屏蔽中断(NMI)输入。NMI 的实际功能亦由芯片制造商决定。在某些情况下,NMI 无法由外部中断源控制。

ARM Cortex-M0的异常与中断

作者:Founder_U

<strong>1、异常类型及编号 </strong>

Cortex-M0的每个异常源都有一个单独的编号:

1~15内部系统异常:Reset(1), NMI(2), H/W Error(3), SVC(11), PndSV(14), SysTick(15)其他编号未用;

16~47外部中断:IRQ#0~IRQ#31。

<strong>2、异常优先级 (Cortex-M0 支持7个)</strong>

1). Cortex-M0 支持3个固定的最高优先级(Reset(-3), NMI(-2), H/W Error(-1))和4个可编程优先级;

ARM64的启动过程之(一):内核第一个脚印

作者:linuxer

<strong>一、前言</strong>

kernel的整个启动过程涉及的内容很多,不可能每一个细节都描述清楚,因此我打算针对部分和ARM64相关的启动步骤进行学习、整理,并方便后续查阅。本文实际上描述在系统启动最开始的时候,bootloader和kernel的交互以及kernel如何保存bootloader传递的参数并进行校验,此外,还有一些最基础的硬件初始化的内容。
本文中的source来自4.1.10内核,这是一个long term的版本,后续一段时间的文章都会基于这个long term版本进行。

<strong>二、进入kernel之前</strong>