cathy的博客

STM32直接存储器访问DMA

第一次接触DMA是在学校学习ARM9裸板程序的时候,想起来都时隔快2年了。现在来看看STM32平台的DMA,一样,在标准外设库的支持下,STM32的DMA编程十分简单,但是既是学习,那还是花点时间看看DMA的相关概念及原理的了解下。

1. DMA简介

DMA是Direct Memory Access的简称,是直接存储器访问的意思。DMA是STM32单片机的外设之一,主要功能是用来搬移数据的。通过DMA搬移数据不需要CPU直接参与控制,也不需要中断处理方式那样保留现场和恢复现场。在传输数据的时候,CPU可以干其他事情。

无使用DMA的数据传输:

“”

使用DMA后的数据传输:

如何理解STM32单片机引脚的复用功能?

在PLC的编程调试中,首先是要对系统的输入/输出(IO)进行配置,也就是通常说的硬件组态。有了正确的IO分配,才能在编程的时候正确的读取信号的输入及控制信号的输出。因此,IO配置是PLC调试最基础也是最重要的工作。从这个方面来说,单片机的调试与PLC的调试有着异曲同工之妙。

对于单片机而言,GPIO引脚的配置是很基础也是很重要的。错误的引脚配置非但不能实现想要的功能,而且出错时往往不容易查找,耽误调试的时间。这就需要编程调试人员对GPIO引脚的配置有很好的理解。今天这篇文章,我们就来谈谈STM32Fxx系列单片机引脚的复用功能(Alternate Function)。

STM32Fxx系列单片机的GPIO引脚可以配置为浮空输入(Input Floating)、上拉输入(Input Pull-up)、下拉输入(Input Pull-down)、模拟量(Analog)、开漏输出(Output Open-drain)、推挽输出(Output Push-pull)、复用开漏(Alternate function open-drain)输出和复用推挽(Alternate function push-pull)输出等八种模式。

先来介绍下开漏输出和推挽输出的区别:

【建议收藏】开关电源的电磁干扰防制技术——传导篇

前言

电源产品在做验证时,经常会遭遇到电磁干扰(EMI)的问题,有时处理起来需花费非常多的时间,许多工程师在对策电磁干扰时也是经验重于理论,知道哪个频段要对策那些组件,但对于理论上的分析却很欠缺。笔者从事开关电源设计多年,希望能藉由之前对策的经验与相关理论基础做个整理,让目前正从事或未来想从事开关电源设计的人员对电磁干扰防制技术能有初步的认识。

开关电源的电磁干扰测试可分为传导测试与辐射测试,一般开关电源的传导测试频段是指150K~30MHz之间,而辐射干扰的频段是指30M~300MHz,300MHz之后的频段一般皆不是电源所产生,因此大都可以给予忽略。

下面内容章节包括开关电源的传导测试法规,测试与量测方式,基本概念,抑制传导干扰的滤波器设计,布线与变压器设计等章节。

2、传导测试的法规

博文分享 | 单片机电子时钟时间误差如何调整才最有效?

导读:本文针对用单片机制作电子钟或要求根据时钟启控的控制系统时,出现的校准了的电子时钟的时间竟然变快或是变慢了的情况而提出的一种解决方案。

单片机应用中,常常会遇到这种情况,在用单片机制作电子钟或要求根据时钟启控的控制系统时,会突然发现当初校准了的电子时钟的时间竟然变快或是变慢了。
 
于是,尝试用各种方法来调整它的走时精度,但是最终的效果还是不尽人意,只好每过一段时间手动调整一次。那么,是否可使时钟走时更精确些呢?现探讨如下:

一、误差原因分析

1.单片机电子时钟的计时脉冲基准,是由外部晶振的频率经过12分频后提供的,采用内部的定时,计数器来实现计时功能。所以,外接晶振频率的精确度直接影响电子钟计时的准确性。  

2.单片机电子时钟利用内部定时,计数器溢出产生中断(12MHz晶振一般为50ms)再乘以相应的倍率,来实现秒、分、时的转换。大家都知道,从定时,计数器产生中断请求到响应中断,需要3_8个机器周期。定时中断子程序中的数据人栈和重装定时,计数器的初值还需要占用数个机器周期。此外。从中断人口转到中断子程序也要占用一定的机器周期。例如:

博文分享 | 在PCB板边走高频高速信号线的注意事项

我们经常在教科书或者原厂的PCB Design Guide里看到一些关于高频高速信号的设计原则,其中就包括在PCB电路板的边缘不要走高速信号线,而对于板载PCB天线的设计来说,又建议天线要尽量靠近板边放置。尼玛,这是什么科学道理?这里老wu结合自己的一些浅薄认知,跟大家探讨一下高频高速信号线在PCB的板边时会发生什么情况,以下内容谨代表老wu的个人观点,不保证正确性,请大家自行甄别,O(∩_∩)O~

我们在初中阶段就已经知道,用右手在导线上撸一撸的安培右手定则告诉我们,导线中电流沿着拇指的方向传播,则导线上会产生对应的磁场,磁场的方向与右手手指握拳的方向一致,而导体中的带电电荷会产生电场,电场和磁场为一对好基友,统称为电磁场。

博文分享 | 极好的模拟/数字混合信号的电路板布局布线注意事项(三)

7. 旁路电容

7.1 电容选择

“表4.
表4. 旁路电容连接的汇总

“图
图 15.电源连接的示例原理图

用于电源稳定性的电容有两种:旁路电容和大容量电容。有些时候大容量电容还被称为储能电容。旁路电容必须位于组件电源引脚附近。使用旁路电容可以消除高频噪声并为瞬间变换提供电流。这些电容的取值范围为0.001μF到0.1μF。NPO、X5R及X7R等介电电容是优良的旁路电容。这些电容的取值范围为几百皮法(pF)到几微法(μF)。

博文分享 | 极好的模拟/数字混合信号的电路板布局布线注意事项(二)

4. 模拟和数字信号的布线

理想情况下,模拟和数字信号将位于电路板的对立 侧上,但这种情况一般不会发生。许多设计都要求 模拟和数字信号位于同一个区域内。遗憾的是,在 一个区域内同时运行较高阻抗的模拟信号和数字信 号可能引起意外串扰,该串扰给模拟信号带来过大 噪声。

串扰是什么?

串扰指的是没有直接相连时,一个信号对另一个信 号产生影响的现象。具有快速上升和下降时间的数 字信号对高阻抗的模拟信号路径产生影响是最常见 的串扰现象。数字信号同样受串扰的影响。高速数 字信号容易影响到其他数字信号。各信号之间的串 扰类型为:传导、容性或者感性。在所有情况下, 通过加大各信号之间的距离并缩短它们之间并行的 长度,可以减少信号串扰。

博文分享 | 极好的模拟/数字混合信号的电路板布局布线注意事项(一)

1. 简介

要想了解在使用分辨率等于或高于 12 位 ADC 时可能发生的问题,需要确定 ADC 能够处理多小的电压值。电压范围为 2 V 的 8 位 ADC 能够检测最小电压值为 2 V/256 = 0.008 V,即 8 mV 左右。尽管 8 mV 看上去比较小,让我们把这个值和更高分辨率的 ADC 进行比较,表 1 显示了对具有输入范围为±1 V 和分辨率为 8 到 20 位的各 ADC 进行的比较。

“表
表 1. ADC 分辨率

当分辨率为 20 位时,ADC 能够处理最小为 2 μV 的电压。稍微提高增益,您可以处理低于 1 μV 的电压。另外,包含窄输入范围(高 ADC 增益)的低分辨率 ADC 系统也可以处理微伏范围的电压值。

不同输入电压,功率MOSFET关断dV/dT为什么不同?

中、高功率的电源电路经常使用有源功率因素校正PFC电路,提高电路的功率因素,减小谐波。PFC的高压功率MOSFET的开通和关断的状态,不但影响系统和效率,而且影响系统的EMI,和EMI相关的一个最重要的参数就是MOSFET开通和关断dV/dt。

MOSFET开通和关断dV/dt主要受驱动电路、PCB布局、外部的栅极电阻以及MOSFET本身的参数如内部栅极电阻和寄生电容、引线电感等因素的影响。

当上面的这些条件都确定时,设计过PFC的工程师会发现下面的一个问题:当输入电压改变的时候,开通的过程中,不同的输入电压对于dV/dt、di/dt的影响不大;关断过程中,不同的输入电压,dV/dt、di/dt并不相同,输入的交流电压越低,dV/dt、di/dt越高,这是什么原因?

当输入电压低的时候,相对的输入电流大,那么,每个同期流过MOSFET的峰值电流也会变大,因此关断过程中,ID的电流大;由于ID的电流大,基于跨导特性对应的VGS、也就是米勒平台的电压也会增大,根据关断时驱动电路的特性:

C • dV/dt = VGP/RG

VGP越大,dV/dt越大,关断得越快,di/dt也越大。

博文分享 | 详谈单片机应用系统硬件电路设计

一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。

系统的扩展和配置应遵循以下原则:

1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。

2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。

3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实殃,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。

4、系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。

5、可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。