嵌入式分享合集49

昨天出差了昨天今天发。。

一、选用电源滤波器 及 一二阶RC滤波设计

电源滤波器在电磁干扰中应用比较广泛,作用是滤除电源中所夹杂的有效频率以外的干扰频率,最终得到一个特定频率的电源信号或者滤除一个特定频率的电源信号。合理的对滤波器选型可以起到良好的抗干扰作用。建议从以下几个方面进行选型。

1 额定工作电压

滤波器在工作时,输入的电压不能太高,不能超过其长期稳定工作的电压,这个电压参数叫做额定电压。如果输入是220V的,则可以考虑额定电压为250V的滤波器。在选型时,留够余量,防止电压波动造成滤波器损坏。

2 额定工作电流

负载在正常工作时工作电流在一个范围之内,这个数值体现在负载的功耗或者额定电流上。滤波器加在电源和负载之间。所以,滤波器的额定工作电流要大于负载正常工作时的电流,在选型时也要留够余量

3 滤波方式

电源滤波的内部电路是LC滤波电路,可以构成低通滤波、高通滤波、带通滤波以及带阻滤波(陷波)等。在选用滤波方式时,一定要考虑自己的用途。一般情况下,带通滤波器最为常用。

4 插入损耗

插入损耗是衡量电源滤波器性能好坏的一个重要指标,用dB来表示,是指滤波器接入前后负载上功率的比值,dB数越大的话,说明滤波器抑制干扰的能力也就越好。在电源滤波器的规格书上都会有关于共模干扰和差模干扰的插入损耗曲线。

以上几个参数,是与性能紧密相关的参数,除此之外,还有工作温度、漏电流、绝缘电阻以及尺寸等参数,选型时需要注意。

在嵌入式系统中可以说,"无滤波器,不嵌入式",各种传感器信号多多少少会携带一些噪声信号,那么通过滤波器就能够更好的降低和去除噪声,还原真实有用信号,
 

而无源RC滤波器当然是大部分滤波器中首选的廉价设计,并且能较简单数字化为软件滤波器设计,所以软件与硬件滤波在于一个离散数字化的过程,所以整体设计上大同小异。

然而大部分工作多年的工程师还在盲调RC滤波参数,多多少少感觉有点凄凉,所以下面的内容能够帮助你更好的认识滤波器及设计过程。

当然很多人会问那还有很多复杂一点的滤波器如FIR,IIR等等,其实都打通小异吧 whaosoft aiot http://143ai.com

时域和频域

当您在示波器上查看电信号时,您会看到一条线,表示电压随时间的变化。在任何特定时刻,信号只有一个电压值。您在示波器上看到的是信号的时域表示。

典型的示波器跟踪显示非常直观,但也有一定的限制性,因为它不直接显示信号的频率内容。而与时域表示相反就是频域,其中一个时刻仅对应于一个电压值,频域表示(也称为频谱)通过识别同时存在的各种频率分量来传达关于信号的信息。

什么是滤波器?

滤波器是一个电路,其去除或“过滤掉”频率分量的特定范围。换句话说,它将信号的频谱分离为将要通过的频率分量和将被阻隔的频率分量。

如果您对频域分析没有太多经验,您可能仍然不确定这些频率成分是什么,以及它们如何在不能同时具有多个电压值的信号中共存。让我们看一个有助于澄清这个概念的简短例子。

假设我们有一个由完美的5kHz正弦波组成的音频信号。我们知道时域中的正弦波是什么样的,在频域中我们只能看到5kHz的频率“尖峰”。现在让我们假设我们激活一个500kHz振荡器,将高频噪声引入音频信号。

在示波器上看到的信号仍然只是一个电压序列,每个时刻有一个值,但信号看起来会有所不同,因为它的时域变化现在必须反映5kHz正弦波和高频噪音波动。

然而,在频域中,正弦波和噪声是在一个信号中同时存在的单独的频率分量。正弦波和噪声占据了信号频域表示的不同部分(如图1所示),这意味着我们可以通过将信号引导通过低频并阻挡高频的电路来滤除噪声。

图1:正弦波和噪声信号频域的不同部分分布

滤波器的类型

滤波器可以放在与滤波器频率响应的一般特征相对应的广泛类别中。如果滤波器通过低频并阻止高频,则称为低通滤波器;如果它阻挡低频并通过高频,它就是一个高通滤波器。还有带通滤波器,其仅通过相对窄的频率范围,以及带阻滤波器,其仅阻挡相对窄的频率范围(图2)。

图2:各滤波器频域表示

还可以根据用于实现电路的组件类型对滤波器进行分类。无源滤波器使用电阻器,电容器和电感器,这些组件不具备提供放大的能力,因此无源滤波器只能维持或减小输入信号的幅度。另一方面,有源滤波器既可以滤波信号又可以应用增益,因为它包括有源元件,如晶体管或运算放大器(图3)。

图3

这种有源低通滤波器基于流行的Sallen-Key拓扑结构。

本文将探讨无源低通滤波器的分析和设计。这些电路在各种系统和应用中发挥着重要作用。

RC低通滤波器

为了创建无源低通滤波器,我们需要将电阻元件与电抗元件组合在一起。换句话说,我们需要一个由电阻器和电容器或电感器组成的电路。从理论上讲,电阻—电感(RL)低通拓扑在滤波能力方面与电阻—电容(RC)低通拓扑相当。但实际上,电阻—电容方案更为常见,因此本文的其余部分将重点介绍RC低通滤波器(图4)。

图4:RC低通滤波器

如图所示,通过将一个电阻与信号路径串联,并将一个电容与负载并联,可以产生RC低通响应。在图中,负载是单个组件,但在实际电路中,它可能更复杂,例如模数转换器,放大器或示波器的输入级,用于测量滤波器的响应。

如果我们认识到电阻器和电容器形成与频率相关的分压器,就可以直观地分析RC低通拓扑的滤波动作(图5)。

图5:重新绘制RC低通滤波器,使其看起来像分压器

当输入信号的频率低时,电容器的阻抗相对于电阻器的阻抗高;因此,大部分输入电压在电容器上(和负载两端,与电容器并联)下降。当输入频率较高时,电容器的阻抗相对于电阻器的阻抗较低,这意味着电阻器上的电压降低,并且较少的电压传输到负载。因此,低频通过并且高频被阻挡。

RC低通功能的这种定性解释是重要的第一步,但是当我们需要实际设计电路时它并不是很有用,因为术语“高频”和“低频”非常模糊。工程师需要创建通过并阻止特定频率的电路。例如,在上述音频系统中,我们希望保留5kHz信号并抑制500kHz信号。这意味着我们需要一个滤波器,从5kHz到500kHz之间的传递过渡到阻塞。

RC低通滤波器

滤波器不会引起显著衰减的频率范围称为通带,滤波器确实导致显着衰减的频率范围称为阻带。模拟滤波器,例如RC低通滤波器,总是从通带逐渐过渡到阻带。这意味着无法识别滤波器停止传递信号并开始阻塞信号的一个频率。然而,工程师需要一种方便,简洁地总结滤波器频率响应的方法,这就是截止频率概念发挥作用的地方。

当您查看RC滤波器的频率响应图时,您会注意到术语“截止频率”不是很准确。信号光谱被“切割”成两半的图像,其中一个被保留而其中一个被丢弃,不适用,因为随着频率从截止点下方移动到截止值以上,衰减逐渐增加。

RC低通滤波器的截止频率实际上是输入信号幅度降低3dB的频率(选择该值是因为幅度降低3dB对应于功率降低50%)。因此,截止频率也称为-3dB频率,实际上该名称更准确且信息量更大。术语带宽是指滤波器通带的宽度,在低通滤波器的情况下,带宽等于-3dB频率(如图6所示)。

图6

图6表示RC低通滤波器的频率响应的一般特性,带宽等于-3dB频率。

如上所述,RC滤波器的低通行为是由电阻器的频率无关阻抗与电容器的频率相关阻抗之间的相互作用引起的。为了确定滤波器频率响应的细节,我们需要在数学上分析电阻(R)和电容(C)之间的关系,我们还可以操纵这些值,以设计满足精确规格的滤波器。RC低通滤波器的截止频率(fC)计算如下:

图7

我们来看一个简单的设计实例。电容值比电阻值更具限制性,因此我们将从常见的电容值(例如10nF)开始,然后我们将使用该公式来确定所需的电阻值。目标是设计一个滤波器,它将保留5kHz音频波形并抑制500kHz噪声波形。我们将尝试100kHz的截止频率,稍后在文章中我们将更仔细地分析此滤波器对两个频率分量的影响,公式如图8。

图8

因此,160Ω电阻与10nF电容相结合,将为我们提供一个非常接近所需频率响应的滤波器。

计算滤波器响应

我们可以通过使用典型分压器计算的频率相关版本来计算低通滤波器的理论行为。电阻分压器的输出表示如图9:

图9

图10

RC滤波器使用等效结构,但是我们有一个电容器代替R2(图10)。首先,我们用电容器的电抗(XC)代替R2(在分子中)。接下来,我们需要计算总阻抗的大小并将其放在分母中。因此,我们有(图11):

图11

电容器的电抗表示与电流的相反量,但与电阻不同,相反量取决于通过电容器的信号频率。因此,我们必须计算特定频率的电抗,计算公式如下(图12):

图12

在上面的设计实例中,R≈160Ω且C=10nF。我们假设VIN的幅度是1V,这样我们就可以简单地从计算中去掉VIN。首先让我们以正弦波频率计算VOUT的幅度(图12):

图13

正弦波的幅度基本不变。这很好,因为我们的目的是在抑制噪音的同时保持正弦波。这个结果并不令人惊讶,因为我们选择的截止频率(100kHz)远高于正弦波频率(5kHz)。

现在让我们看看滤波器如何成功衰减噪声分量(图14)。

图14

噪声幅度仅为其原始值的约20%。

可视化滤波器响应

评估滤波器对信号影响的最方便方法是检查滤波器频率响应的图。这些图形通常称为波德图,在垂直轴上具有幅度(以分贝为单位),在水平轴上具有频率;水平轴通常具有对数标度,使得1Hz和10Hz之间的物理距离与10Hz和100Hz之间,100Hz和1kHz之间的物理距离相同等等(图15)。这种配置使我们能够快速准确地评估滤波器在很大频率范围内的行为。

图15:频率响应图的一个例子

曲线上的每个点表示如果输入信号的幅度为1V且频率等于水平轴上的相应值,则输出信号将具有的幅度。例如,当输入频率为1MHz时,输出幅度(假设输入幅度为1V)将为0.1V(因为-20dB对应于十倍减少因子)。

当您花费更多时间使用滤波器电路时,此频率响应曲线的一般形状将变得非常熟悉。通带中的曲线几乎完全平坦,然后随着输入频率接近截止频率,它开始下降得更快。最终,衰减的变化率(称为滚降)稳定在20dB/decade-即,输入频率每增加十倍,输出信号的幅度降低20dB。

评估低通滤波器性能

如果我们仔细绘制我们在本文前面设计的滤波器的频率响应,我们将看到5kHz时的幅度响应基本上是0dB(即几乎为零衰减),500kHz时的幅度响应约为-14dB(对应于0.2的增益)。这些值与我们在上一节中执行的计算结果一致。

由于RC滤波器总是从通带到阻带逐渐过渡,并且因为衰减永远不会达到无穷大,我们无法设计出“完美”的滤波器—即对正弦波没有影响并完全消除噪声的滤波器。相反,我们总是需要权衡。如果我们将截止频率移近5kHz,我们将有更多的噪声衰减,但我们想要发送到扬声器的正弦波也会衰减更多。如果我们将截止频率移近500kHz,我们在正弦波频率下的衰减会减少,但噪声频率下的衰减也会减少。

前面我们已经讨论了滤波器修改信号中各种频率分量振幅的方式。然而,除了振幅效应之外,电抗性电路元件总是引入相移。

低通滤波器相移

相位的概念是指周期内特定时刻的周期信号的值。因此,当我们说电路引起相移时,我们的意思是它会在输入信号和输出信号之间产生偏差:输入和输出信号不再在同一时刻开始和结束它们的周期。相移值(例如45°或90°)表示产生的偏差量。

电路中的每个电抗元件都会引入90°的相移,但这种相移不会同时发生。输出信号的相位与输出信号的振幅一样,随着输入频率的增加而逐渐变化。RC低通滤波器中有一个电抗元件(电容器),因而电路最终也会引入90°的相移。

与振幅响应一样,通过检查水平轴表示对数频率的曲线图,可以最容易地评估相位响应。以下描述表示了一般模式,查看图16可以进一步了解详细信息。

  • 相移最初为0°。

  • 相移逐渐增加,直到在截止频率处达到45°;在这部分响应期间,变化率逐渐增加。

  • 在截止频率之后,相移继续增加,但变化率逐渐降低。

  • 随着相移逐渐接近90°,变化率变得非常小。

图16

实线是振幅响应,虚线是相位响应。截止频率为100kHz。注意,截止频率下的相移为45°。

二阶低通滤波器

到目前为止,我们假设RC低通滤波器由一个电阻器和一个电容器组成。这种配置是一阶滤波器。

无源滤波器的“阶数”由电路中电抗元件(即电容器或电感器)的数量决定。高阶滤波器具有更多的无功元件,会产生更多的相移和更陡的滚降,而后者是增加滤波器阶数的主要动机。

向滤波器添加一个电抗元件,例如,从一阶到二阶或二阶到三阶,便可将最大滚降增加20dB/十倍。

二阶滤波器通常围绕由电感器和电容器组成的谐振电路构建,这种拓扑结构称为RLC(Resistor-Inductor-Capacitor)。但是,也可以创建二阶RC滤波器。如下图所示,我们需要做的就是将两个一阶RC滤波器级联起来(图17)。

图17

虽然这种拓扑肯定会产生二阶响应,但它没有被广泛使用。正如我们将在下一节中看到的那样,其频率响应通常不如二阶有源滤波器或二阶RLC滤波器。

二阶RC滤波器的频率响应

我们可以尝试根据所需的截止频率设计一阶滤波器,然后从中选择两个串联连接来,从而构成二阶RC低通滤波器。此举确实可以使滤波器表示出类似的总频率响应,最大滚降为40dB/decade而不是20dB/decade。

但是,如果我们更仔细地观察响应,我们会发现-3dB频率出现降低。二阶RC滤波器的行为不符合预期,因为两个滤波阶段不是独立的,因此不能简单地将这两个滤波器连接在一起,并将电路分析为一阶低通滤波器叠加一个相同的一阶低通过滤。

此外,即使我们在两级之间插入缓冲器,使得第一阶RC和第二阶RC可以用作独立滤波器,此时原始截止频率处的衰减将是6dB而不是3dB。这恰恰是因为两阶独立工作而导致的。第一个滤波器在截止频率处具有3dB的衰减,而第二个滤波器加上了另外3dB的衰减(图18)。

图18

二阶RC低通滤波器的基本限制是设计人员无法通过调整滤波器的Q因子来微调从通带到阻带的转换;此参数表示频率响应的阻尼程度。如果将两个相同的RC低通滤波器级联,则整体传递函数对应于二阶响应,但Q因子始终为0.5。当Q=0.5时,滤波器处于过阻尼的边界,这会导致频率响应在过渡区域中“下垂”。二阶有源滤波器和二阶谐振滤波器没有这一限制;设计人员可以控制Q因子,从而微调过渡区域的频率响应。

小结

所有电信号都混合了所需频率分量和不需要的频率分量。不需要的频率分量通常由噪声和干扰引起,并且在某些情况下会对系统的性能产生负面影响。

滤波器是以不同方式对信号频谱的不同部分作出反应的电路。低通滤波器旨在让低频分量通过,同时阻止高频分量。

低通滤波器的截止频率表示滤波器从低衰减变为显著衰减的频率区域。

RC低通滤波器的输出电压可以通过将电路视为由(频率无关)电阻和(频率相关)电抗组成的分压器来计算。

振幅(以dB为单位,在垂直轴上)与对数频率(以赫兹为单位,在水平轴上)的曲线图是检查滤波器理论行为的方便有效的方法,还可以使用相位与对数频率的关系图来确定将要应用于输入信号的相移量。

二阶滤波器的滚降更陡峭;当信号不能在所需频率分量和不需要的频率分量之间提供宽带分离时,这种二阶响应比较有用。

可以通过构建两个相同的一阶RC低通滤波器,然后将一个的输出连接到另一个的输入来创建二阶RC低通滤波器,但最终整体的-3dB频率将低于预期。

二、哈哈无聊介绍一下单片机

MCU是Microcontroller Unit 的简称,中文叫微控制器,俗称单片机,是把CPU的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制,诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。

单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器(CPU)的产生与发展大体同步,自1971年美国英特尔公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段。下面以英特尔公司的单片机发展为代表加以介绍。

1971年~1976年

单片机发展的初级阶段。1971年11月英特尔公司首先设计出集成度为2000只晶体管/片的4位微处理器英特尔4004,并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器英特尔8008, 以及其它各公司相继推出的8位微处理器。

1976年~1980年

低性能单片机阶段。以1976年英特尔公司推出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。

1980年~1983年

高性能单片机阶段。这一阶段推出的高性能8位单片机普遍带有串行口,有多级中断处理系统, 多个16位定时器/计数器。片内RAM、 ROM的容量加大,且寻址范围可达64 KB,个别片内还带有A/D转换接口。

1983年~80年代末

16位单片机阶段。1983年英特尔公司又推出了高性能的16位单片机MCS-96系列,由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管/片。

1990年代

单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。

MCU按其存储器类型可分为无片内ROM型带片内ROM型两种。对于无片内ROM型的芯片,必须外接EPROM才能应用(典型为8031);带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内Flash型(典型芯片为89C51)等类型。

按用途可分为通用型专用型;根据数据总线的宽度和一次可处理的数据字节长度可分为8、16、32位MCU。

目前,国内MCU应用市场最广泛的是消费电子领域,其次是工业领域、和汽车电子市场消费电子包括家用电器、电视、游戏机和音视频系统等。工业领域包括智能家居、自动化、医疗应用及新能源生成与分配等。汽车领域包括汽车动力总成和安全控制系统等。

对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:

1、TImer(定时器):TImer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的TImer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类TImer在4位MCU中比较常见,因此可以用来实现时钟、计时等相关的功能。

另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出。

由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起。

2、IO口:任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。根据IO口的可配置情况,可以分为如下几种类型:

纯输入或纯输出口:此类IO口由MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定。

直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口。

程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等。

对于IO口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现);而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。

3、外部中断:外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭(ATMEL的ATiny系列存在一些例外,输出口时也能触发中断功能)。外部中断的应用如下:

外部触发信号的检测:一种是基于实时性的要求,比如可控硅的控制,突发性信号的检测等,而另一种情况则是省电的需要。

信号频率的测量:为了保证信号不被遗漏,外部中断是最理想的选择。

数据的解码:在遥控应用领域,为了降低设计的成本,经常需要采用软件的方式来对各种编码数据进行解码,如Manchester和PWM编码的解码。

按键的检测和系统的唤醒:对于进入Sleep状态的MCU,一般需要通过外部中断来进行唤醒,最基本的形式则是按键,通过按键的动作来产生电平的变化。

4、通讯接口:MCU所提供的通讯接口一般包括SPI接口,UART,I2C接口等,其分别描述如下:

SPI接口:此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些情况下则可能没有Ready信号;此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。

UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。

对于大多数的MCU来讲,数据位的长度、数据校验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。

I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。

5、Watchdog(看门狗定时器):Watchdog也是绝大多数MCU的一种基本配置(一些4位MCU可能没有此功能),大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭(有的是在程序烧入时来设定的,如Microchip PIC系列MCU),而有的MCU则是通过特定的方式来决定其是否打开,如Samsung的KS57系列,只要程序访问了Watchdog寄存器,就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。

全球主流单片机制作商

(排名不分先后,整理为主流厂商,如有缺少请在评论区补充)

1、Freescale+NXP(飞思卡尔+恩智浦):荷兰,主要提供16位、32位MCU。应用范围:汽车电子、LED和普通照明、医疗保健、多媒体融合、家电和电动工具、楼宇自动化技术电机控制、电源和功率转换器、能源和智能电网、自动化、计算机与通信基础设施。

2、Microchip+Atmel(微芯科技+爱特梅尔):美国,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子设备、计算机外设。

3、Cypress+Spansion(赛普拉斯+飞索半导体):美国,主要提供8位、16位、32位MCU。应用范围:汽车电子、家用电器、医疗、消费类电子、通信与电信、工业、无线。

4、ADI(亚德诺半导体):美国,主要提供8位、16位、32位MCU。应用范围:航空航天与国防、汽车应用 、楼宇技术 、通信 、消费电子 、能源 、医疗保健 、仪器仪表和测量 、电机、工业自动化 、安防。

5、Infineon(英飞凌):德国,主要提供16位、32位MCU。应用范围:汽车电子、消费电子、工程、商用和农用车辆、数据处理、电动交通、工业应用、医疗设备、移动设备、电机控制与驱动、电源、面向摩托车电动自行车与小型电动车、智能电网、照明、太阳能系统解决方案、风能系统解决方案。

6、ST Microelectronics(意法半导体):意大利/法国,主要提供32位MCU。应用范围:LED和普通照明、交通运输、医疗保健、多媒体融合、家电和电动工具、楼宇自动化技术电机控制、电源和功率转换器、能源和智能电网、自动化、计算机与通信基础设施。

7、Qualcomm(高通):美国,主要提供16位,32位MCU。应用范围:智能手机、平板电脑、无线调制解调器。

8、Texas Instruments(德州仪器):美国,主要提供16位、32位MCU。应用范围:汽车电子、消费电子、医疗设备、移动设备、通信。

9、Maxim(美信):美国,主要提供32位MCU。应用范围:汽车电子、消费电子、工业应用、安防。

日韩地区

1、Renesas(瑞萨):日本,主要提供16位、32位MCU。应用范围:电脑及外设、消费类电子、健康医疗电子、汽车电子、工业、通信。

2、Toshiba(东芝):日本,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、无线通信、移动电话、电脑与周边设备、影像及音视频、消费类(家电)、LED照明、安全、电源管理、娱乐设备。

3、Fujitsu(富士通):日本,主要提供32位MCU。应用范围:汽车、医疗、机械,家电。

4、Samsung Electronics(三星电子):韩国,主要提供16位、32位MCU。应用范围:汽车电子、工业用、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子设备、计算机外设。

中国地区

▍中国大陆地区

1、希格玛微电子:主要提供32位MCU,应用范围:电信、制造、能源、交通、电力等。

2、珠海欧比特:主要提供32位MCU,应用范围:航空航天:星箭站船、飞行器;高端工控:嵌入式计算机;舰船控制、工业控制、电力设备、环境监控。

3、兆易创新:主要提供32位MCU,应用范围:工业自动化、人机界面、电机控制、安防监控、智能家居、物联网。

4、晟矽微电子:主要提供8位、32位MCU,应用范围:小家电、消费类电子、遥控器、鼠标、锂电池、数码产品、汽车电子、医疗仪器及计量、玩具、工业控制、智能家居及安防等领域。

5、芯海科技:主要提供16、32位MCU,应用范围:仪器仪表、物联网、消费电子、家电、汽车电子。

6、联华集成电路:主要提供8位、16位MCU,应用范围:消费电子、白色家电、工业控制、通信设备、汽车电子、计算机。

7、珠海建荣:主要提供8位MCU,应用范围:家用电器 、移动电源。

8、炬芯科技:主要提供8位至32位MCU,应用范围:平板电脑、智能家居、多媒体、蓝牙、wifi音频。

9、爱思科微电子:主要提供8位、16位MCU,应用范围:消费类芯片、通讯类芯片、信息类芯片、家电。

10、华芯微电子:主要提供8位、4位MCU,应用范围:卫星接收器、手机充电器、万年历、多合一遥控器。

11、上海贝岭(华大半导体控股):主要提供8位、16位、32位MCU,应用范围:计算机周边、HDTV、电源管理、小家电、数字家电。

12、海尔集成电路:主要提供14位、15位、16位MCU,应用范围:消费电子、汽车电子、工业、智能仪表。

13、北京君正:主要提供32位MCU,应用范围:可穿戴式设备、物联网、智能家电、汽车、消费类电子、平板电脑。

14、中微半导体:主要提供8位MCU,应用范围:智能家电、汽车电子、安防监控、LED照明及景观、智能玩具、智能家居、消费类电子。

15、神州龙芯集成电路:主要提供32位MCU,应用范围:电力监控、智能电网、工业数字控制、物联网、智能家居、数据监控。

16、紫光微电子:主要提供8位、16位MCU,应用范围:智能家电。

17、时代民芯:主要提供32位MCU,应用范围:汽车导航、交通监控、渔船监管、电力电信网络。

18、华润矽科微电子(华润微旗下公司):主要提供8位、16位MCU,应用范围:消费电子、工业控制、家电。

19、国芯科技:主要提供32位MCU,应用范围:信息安全领域 、办公自动化领域、通讯网络领域、 信息安全领域。

20、中天微:主要提供32位MCU,应用范围:智能手机、数字电视、机顶盒、汽车电子、GPS、电子阅读器、打印机。

21、华润微电子:主要提供8位、16位MCU,应用范围:家电,消费类电子、工业自动化控制的通用控制电路。

22、中颖电子:主要提供4位、8位、16位、32位MCU,应用范围:家电、电机。

23、灵动微电子:主要提供32位,应用范围:电机控制、蓝牙控制、高清显示、无线充、无人机、微型打印机、智能标签、电子烟、LED点阵屏等。

24、新唐科技:主要提供8位MCU,应用范围:照明、物联网等。

25、东软载波:主要提供8位、32位MCU,应用范围:家电、智能家居、仪器仪表、液晶面板控制器、工业控制等。

26、贝特莱:主要提供32位MCU,应用范围:智能家居、工业控制以及消费类产品领域。

27、笙泉科技:主要提供8位MCU,应用范围:车用、教育、工控、医疗等中小型显示面板。

28、航顺芯片:主要提供8位、32位MCU,应用范围:汽车、物联网等。

29、复旦微电子:主要提供16位、32位MCU,应用范围:智能电表、智能门锁等。

30、华大半导体:主要提供8位、16位、32位MCU,应用范围:工业控制、智能制造、智慧生活及物联网等。

中国台湾地区

1、宏晶科技:主要提供32位MCU。应用范围:通信、工业控制、信息家电、语音。

2、盛群半导体:主要提供8位、32位MCU。应用范围:消费电子、LED照明等。

3、凌阳科技:主要提供8位、16位MCU。应用范围:家庭影音。

4、中颖电子:主要提供4位、8位MCU。应用范围:充电器、移动电源、家电、工业控制。

5、松翰科技:主要提供8位、32位MCU。应用范围:摇控器、智能型充电器、大小系统、电子秤、耳温枪、血压计、胎压计、各类量测及健康器材。

6、华邦电子:主要提供8位、16位MCU。应用范围:车用电子、工业电子、网络、计算机、消费电子、物联网。

7、十速科技:主要提供4位、8位、51位MCU。应用范围:遥控器、小家电。

8、佑华微电子:主要提供4位、8位MCU。应用范围:录音集成电路产品、消费电子、家用产品。

9、应广科技单片机:主要提供4位、8位MCU。应用范围:机械、自动化、家电、机器人。

10、义隆电子:主要提供8位、16位MCU。应用范围:消费电子、电脑、智能手机。

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。

对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。

要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。

了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确哪些资源是目前所需要的,哪些是本项目所用不到的。

对于项目中需要用到的而所选MCU不提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现,例如,所开发的项目需要与PC机COM口进行通讯,而所选的MCU不提供UART口,则可以考虑用外部中断的方式来实现。

对于项目开发需要用到的资源,则需要对其Manua*进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。对于MCU学习来讲,应用才是关键,也是最主要的目的。

明确了MCU的相关功能后,接下来就可以开始编程了。

对于初学者或初次使用此款MCU的设计者来说,可能会遇到很多对MCU的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能;另一种则可以暂时忽略,单片机程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定单片机开发经验的人或项目进度较紧迫的情况。

指令系统千万不要特别花时间去理解。指令系统只是一种逻辑描述的符号,只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可,而且随着编程的进行,对指令系统也会越来越熟练,甚至可以不自觉地记忆下来。

单片机开发技巧

1、如何减少程序中的bug
对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。

  • 物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。

  • 资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。

  • 应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。

2、如何提高C语言编程代码的效率
用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。

对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。

3、如何解决单片机的抗干扰性问题
防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。

单片机干扰最常见的现象就是复位,至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态,所以单片机软件抗干扰最重要的是处理好复位状态。

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。

4、如何测试单片机系统的可靠性
当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:

  • 测试单片机软件功能的完善性

  • 上电、掉电测试

  • 老化测试

  • ESD和EFT等测试

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

综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。

三、常见电机的控制算法

BLDC电机控制算法

    无刷电机属于自换流型(自我方向转换),因此控制起来更加复杂。

    BLDC电机控制要求了解电机进行整流转向的转子位置和机制,对于闭环速度控制,有两个附加要求,即对于转子速度/或电机电流以及PWM信号进行测量,以控制电机速度功率。

    BLDC电机可以根据应用要求采用边排列或中心排列PWM信号。大多数应用仅要求速度变化操作,将采用6个独立的边排列PWM信号。这就提供了最高的分辨率。如果应用要求服务器定位、能耗制动或动力倒转,推荐使用补充的中心排列PWM信号。

    为了感应转子位置,BLDC电机采用霍尔效应传感器来提供绝对定位感应。这就导致了更多线的使用和更高的成本。无传感器BLDC控制省去了对于霍尔传感器的需要,而是采用电机的反电动势(电动势)来预测转子位置。无传感器控制对于像风扇和泵这样的低成本变速应用至关重要。在采有BLDC电机时,冰箱和空调压缩机也需要无传感器控制。

空载时间的插入和补充

    大多数BLDC电机不需要互补的PWM、空载时间插入或空载时间补偿。可能会要求这些特性的BLDC应用仅为高性能BLDC伺服电动机、正弦波激励式BLDC电机、无刷AC、或PC同步电机。

控制算法

    许多不同的控制算法都被用以提供对于BLDC电机的控制。典型地,将功率晶体管用作线性稳压器来控制电机电压。当驱动高功率电机时,这种方法并不实用。高功率电机必须采用PWM控制,并要求一个微控制器来提供起动和控制功能。

    控制算法必须提供下列三项功能:

  • 用于控制电机速度的PWM电压

  • 用于对电机进整流换向的机制

  • 利用反电动势或霍尔传感器来预测转子位置的方法

    脉冲宽度调制仅用于将可变电压应用到电机绕组。有效电压与PWM占空度成正比。当得到适当的整流换向时,BLDC的扭矩速度特性与以下直流电机相同。可以用可变电压来控制电机的速度和可变转矩。

    功率晶体管的换向实现了定子中的适当绕组,可根据转子位置生成最佳的转矩。在一个BLDC电机中,MCU必须知道转子的位置并能够在恰当的时间进行整流换向。

BLDC电机的梯形整流换向

    对于直流无刷电机的最简单的方法之一是采用所谓的梯形整流换向。用于BLDC电机的梯形控制器的简化框架,如下图所示。

    在这个原理图中,每一次要通过一对电机终端来控制电流,而第三个电机终端总是与电源电子性断开。

    嵌入大电机中的三种霍尔器件用于提供数字信号,它们在60度的扇形区内测量转子位置,并在电机控制器上提供这些信息。由于每次两个绕组上的电流量相等,而第三个绕组上的电流为零,这种方法仅能产生具有六个方向共中之一的电流空间矢量。随着电机的转向,电机终端的电流在每转60度时,电开关一次(整流换向),因此电流空间矢量总是在90度相移的最接近30度的位置。

    梯形控制:驱动波形和整流处的转矩,示意图如下。

    因此每个绕组的电流波型为梯形,从零开始到正电流再到零然后再到负电流。

    这就产生了电流空间矢量,当它随着转子的旋转在6个不同的方向上进行步升时,它将接近平衡旋转。

    在像空调和冰霜这样的电机应用中,采用霍尔传感器并不是一个不变的选择。在非联绕组中感应的反电动势传感器可以用来取得相同的结果。

    这种梯形驱动系统因其控制电路的简易性而非常普通,但是它们在整流过程中却要遭遇转矩纹波问题。

BLDC电机的正弦整流换向

    梯形整流换向还不足以为提供平衡、精准的无刷直流电机控制。这主要是因为在一个三相无刷电机(带有一个正统波反电动势)中所产生的转矩由下列等式来定义:

转轴转矩= Kt [IRSin(o) + ISSin(o+120) +ITSin(o+240)]
  其中:
      o为转轴的电角度
      Kt为电机的转矩常数
      IR, IS和IT为相位电流

如果相位电流是正弦的:IR   = I0Sino; IS = I0Sin (+120o); IT   = I0Sin (+240o)
 将得到:

转轴转矩= 1.5I0*Kt(一个独立于转轴角度的常数)

    正弦整流换向无刷电机控制器努力驱动三个电机绕组,其三路电流随着电机转动而平稳的进行正弦变化。选择这些电流的相关相位,这样它们将会产生平稳的转子电流空间矢量,方向是与转子正交的方向,并具有不变量。这就消除了与北形转向相关的转矩纹波和转向脉冲。

    为了随着电机的旋转,生成电机电流的平稳的正弦波调制,就要求对于转子位置有一个精确有测量。霍尔器件仅提供了对于转子位置的粗略计算,还不足以达到目的要求。基于这个原因,就要求从编码器或相似器件发出角反馈。

    BLDC电机正弦波控制器的简化框图,如下。

    由于绕组电流必须结合产生一个平稳的常量转子电流空间矢量,而且定子绕组的每个定位相距120度角,因此每个线组的电流必须是正弦的而且相移为120度。采用编码器中的位置信息来对两个正弦波进行合成,两个间的相移为120度。然后,将这些信号乘以转矩命令,因此正弦波的振幅与所需要的转矩成正比。结果,两个正弦波电流命令得到恰当的定相,从而在正交方向产生转动定子电流空间矢量。

    正弦电流命令信号输出一对在两个适当的电机绕组中调制电流的P-I控制器。第三个转子绕组中的电流是受控绕组电流的负和,因此不能被分别控制。每个P-I控制器的输出被送到一个PWM调制器,然后送到输出桥和两个电机终端。应用到第三个电机终端的电压源于应用到前两个线组的信号的负数和,适当用于分别间隔120度的三个正弦电压。

    结果,实际输出电流波型精确的跟踪正弦电流命令信号,所得电流空间矢量平稳转动,在量上得以稳定并以所需的方向定位。

    一般通过梯形整流转向,不能达到稳定控制的正弦整流转向结果。然而,由于其在低电机速度下效率很高,在高电机速度下将会分开。这是由于速度提高,电流回流控制器必须跟踪一个增加频率的正弦信号。同时,它们必须克服随着速度提高在振幅和频率下增加的电机的反电动势。

    由于P-I控制器具有有限增益和频率响应,对于电流控制回路的时间变量干扰将引起相位滞后和电机电流中的增益误差,速度越高,误差越大。这将干扰电流空间矢量相对于转子的方向,从而引起与正交方向产生位移。

    当产生这种情况时,通过一定量的电流可以产生较小的转矩,因此需要更多的电流来保持转矩,效率降低。

    随着速度的增加,这种降低将会延续。在某种程度上,电流的相位位移超过90度。当产生这种情况时,转矩减至为零。通过正弦的结合,上面这点的速度导致了负转矩,因此也就无法实现。

AC电机算法

标量控制

    标量控制(或V/Hz控制)是一个控制指令电机速度的简单方法。

    指令电机的稳态模型主要用于获得技术,因此瞬态性能是不可能实现的。系统不具有电流回路。为了控制电机,三相电源只有在振幅和频率上变化。

矢量控制或磁场定向控制

    在电动机中的转矩随着定子和转子磁场的功能而变化,并且当两个磁场互相正交时达到峰值。在基于标量的控制中,两个磁场间的角度显著变化。

    矢量控制设法在AC电机中再次创造正交关系。为了控制转矩,各自从产生磁通量中生成电流,以实现DC机器的响应性。

    一个AC指令电机的矢量控制与一个单独的励磁DC电机控制相似。在一个DC电机中,由励磁电流IF所产生的磁场能量Φ F与由电枢电流IA所产生的电枢磁通ΦA正交。这些磁场都经过去耦并且相互间很稳定。因此,当电枢电流受控以控制转矩时,磁场能量仍保持不受影响,并实现了更快的瞬态响应。

    三相AC电机的磁场定向控制(FOC)包括模仿DC电机的操作。所有受控变量都通过数学变换,被转换到DC而非AC。其目标的独立的控制转矩和磁通。

    磁场定向控制(FOC)有两种方法:

    直接FOC: 转子磁场的方向(Rotor flux angle) 是通过磁通观测器直接计算得到的

    间接FOC: 转子磁场的方向(Rotor flux angle) 是通过对转子速度和滑差(slip)的估算或测量而间接获得的。

    矢量控制要求了解转子磁通的位置,并可以运用终端电流和电压(采用AC感应电机的动态模型)的知识,通过高级算法来计算。然而从实现的角度看,对于计算资源的需求是至关重要的。

    可以采用不同的方式来实现矢量控制算法。前馈技术、模型估算和自适应控制技术都可用于增强响应和稳定性。

AC电机的矢量控制:深入了解

    矢量控制算法的核心是两个重要的转换: Clark转换,Park转换和它们的逆运算。采用Clark和Park转换,带来可以控制到转子区域的转子电流。这种做充许一个转子控制系统决定应供应到转子的电压,以使动态变化负载下的转矩最大化。

    Clark转换:Clark数学转换将一个三相系统修改成两个坐标系统:

    其中ia和ib正交基准面的组成部分,ic是不重要的homoplanar(同平面)部分。三相转子电流与转动参考系的关系如下图所示。

    Park转换:Park数学转换将双向静态系统转换成转动系统矢量:

    两相α, β帧表示通过Clarke转换进行计算,然后输入到矢量转动模块,它在这里转动角θ,以符合附着于转子能量的d, q帧。根据上述公式,实现了角度θ的转换。

AC电机的磁场定向矢量控制的基本结构

    Clarke变换采用三相电流IA, IB 以及 IC,来计算两相正交定子轴的电流Isd和 Isq。这两个在固定座标定子相中的电流被变换成Isd 和Isq,成为Park变换d, q中的元素。其通过电机通量模型来计算的电流Isd, Isq 以及瞬时流量角θ被用来计算交流感应电机的电动扭矩。矢量控制交流电机的基本原理图如下。

    这些导出值与参考值相互比较,并由PI控制器更新。

    基于矢量的电机控制的一个固有优势是,可以采用同一原理,选择适合的数学模型去分别控制各种类型的AC, PM-AC 或者 BLDC电机。

BLDC电机的矢量控制

    BLDC电机是磁场定向矢量控制的主要选择。采用了FOC的无刷电机可以获得更高的效率,最高效率可以达到95%,并且对电机在高速时也十分有效率。

步进电机控制算法

    如下是步进电机控制示意图:

    步进电机控制通常采用双向驱动电流,其电机步进由按顺序切换绕组来实现。通常这种步进电机有3个驱动顺序:

单相全步进驱动:

    在这种模式中,其绕组按如下顺序加电,AB/CD/BA/DC (BA表示绕组AB的加电是反方向进行的)。这一顺序被称为单相全步进模式,或者波驱动模式。在任何一个时间,只有一相加电。

双相全步进驱动:

    在这种模式中,双相一起加电,因此,转子总是在两个极之间。此模式被称为双相全步进,这一模式是两极电机的常态驱动顺序,可输出的扭矩最大。

半步进模式:

    这种模式将单相步进和双相步进结合在一起加电:单相加电,然后双相加电,然后单相加电…,因此,电机以半步进增量运转。这一模式被称为半步进模式,其电机每个励磁的有效步距角减少了一半,其输出的扭矩也较低。

    以上3种模式均可用于反方向转动(逆时针方向),如果顺序相反则不行。

    通常,步进电机具有多极,以便减小步距角,但是,绕组的数量和驱动顺序是不变的。

通用DC控制算法

    通用电机的速度控制,特别是采用2种电路的电机:

  • 相角控制

  • PWM斩波控制

相角控制

    相角控制是通用电机速度控制的最简单的方法。通过TRIAC的点弧角的变动来控制速度。相角控制是非常经济的解决方案,但是,效率不太高,易于电磁干扰(EMI)。通用电机的相角控制示意图如下。

    以上示图表明了相角控制的机理,是TRIAC速度控制的典型应用。TRIAC门脉冲的周相移动产生了有效率的电压,从而产生了不同的电机速度,并且采用了过零交叉检测电路,建立了时序参考,以延迟门脉冲。

PWM斩波控制

    PWM控制是通用电机速度控制的,更先进的解决方案。在这一解决方案中,功率MOFSET,或者IGBT接通高频整流AC线电压,进而为电机产生随时间变化的电压。

    上图,是通用电机的PWM斩波控制的示意图,相关电路:。其开关频率范围一般为10-20 KHz,以消除噪声。这一通用电机的控制方法可以获得更佳的电流控制和更佳的EMI性能,因此,效率更高。

四、恒流电路设计方案

 作为硬件研发工程师相信对恒流电路不会陌生,本文介绍下三种恒流电路的原理图。

三极管恒流电路

三极管恒流电路

    三极管的恒流电路,主要是利用Q2三极管的基级导通电压为0.6~0.7V这个特性;当Q2三极管导通,Q1三极管基级电压被拉低而截止,负载R1不工作;负载R1流过的电流等于R6电阻的电流(忽略Q1与Q2三极管的基级电流),R6电阻的电流等于R6电阻两端的0.6~0.7V电压除以R6电阻阻值(固定不变),因此流过R1负载的电流即为恒定不变,即使R1负载的电源端VCC电压是可变的,也能达到恒流的电路效果

运放恒流电路


运放恒流电路

    运放的恒流电路,主要是利用运放的“电压跟随特性”,即运放的两个输入引脚Pin3与Pin2电压相等电路特性。

    当在电阻R4输入Vin稳定电源电压时,电阻R7两端的电压也为Vin不变,因此无论外界电路如何变化,流过R7电阻的电流是不变的;同三极管恒流电路原理分析一样,R2负载的电流等于R7电阻的电流,所以即使R2负载的电源为可变电压电源,R2负载的电流也是保持固定不变,达到恒流的效果。

    除去运用三极管与运放设计的恒流电路,芯片哥介绍另外一种恒流电路设计方案,主要是利用稳压二极管的稳压特性。

稳压二极管恒流电路

稳压二极管恒流电路

    稳压二极管的恒流电路中,三极管Q4的基级电压被限定在稳压二极管工作的稳定电压Uzd下,因此R10电阻的电压等于Uzd减去三极管基级与发射级的导通压降0.7V,即U=Uzd-0.7保持恒定不变,所以流过R10电阻的电流在VCC电源即使可变的条件下也是固定不变,也就是R8负载的电流保持不变,达到恒流的效果。

五、EMC整改

EMC整改六步走

    电磁兼容性EMC(Electro Magnetic Compatibility)是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。因此,EMC包括两个方面的要求:一方面是指设备在正常运行过程中对所在环境产生的电磁干扰不能超过一定的限值;另一方面是指器具对所在环境中存在的电磁干扰具有一定程度的抗扰度,即电磁敏感性。

    各种运行的电子设备之间的干扰主要以电磁传导、电磁感应和电磁辐射三种方式彼此关联并相互影响,在一定的条件下会对运行的设备和人员造成干扰、影响和危害。关于具体EMC领域的整改文章其实不少。

    EMC 整改六步法如下:第一步查找确认辐射源,第二步滤波,第三步吸波,第四步接地,第五步屏蔽,第六步能量分散法。具体思路如下图所示:

 

    第一步:

    查找确认辐射源的方法有排除法、频谱分析仪频点搜索法、元件固有频率分析法。而排除法包含有拔线法、分区工作排除法、低电压小电流的人体触摸法,区域屏蔽排除法。元件固有频率分析法是指对一些元件的固定频率及其倍频频率分析归类法,如晶振和 DDR 等元件的工作频率都是固定的。

    第二步:

    滤波一般分为电容滤波、RC 滤波和 LC 滤波等;

    第三步:

    吸收电磁波方法有电路串联磁珠法、绕穿磁环法和贴吸波材料法。使用吸收电磁波方法时要特别注意:辐射超标电磁波频率必须在所使用的吸波材料所吸收电磁波频率范围之内,否则造成吸波法会失效。

    第四步:

    接地法一般分为单点接地法和多点接地法。

    第五步:

    屏蔽法一般有加屏蔽罩屏蔽法、外壳屏蔽法和PCB 走线布局屏蔽法。

    第六步:

    能量分散法是指一些被测物的控制软件可利用展频和跳频等技术对能量集中的频段进行展宽频率带宽和跳变频率实现分散频段能量,从而使附加在单点频率上的能量降低,也就是起到了单点频率辐射的电磁波强度降低的功效。故此法对尖峰毛刺形波形的频率辐射超标会起到显著效果,对包络形波形频率辐射超标起不到明显作用。

    这个EMC整改六步法比较适用于常见电子设备的整改。但上面的6种方法,其实天纵君认为它们虽有助于提高 EMC 辐射整改效率,节省周期,快速通过EMC测试,但其并不是根本性解决EMC问题的方案,EMC的问题最理想还是在设计端就进行考虑,而不是事后用一些“围追堵截”的方案来应急。

    EMC(Electromagnetic Compatibility)即我们常说的电磁兼容技术。它包含了EMI和EMS两个部分的要求,即在电气装置或系统共同的电磁环境条件下,既不受电磁环境的影响,也不会给环境以干扰。 

EMC整改方法

    首先,要根据实际情况对产品进行诊断,分析其干扰源所在及其相互干扰的途径和方式。再根据分析结果,有针对性的进行整改。

    一般来说主要的整改方法有如下几种:

1、减弱干扰源在找到干扰源的基础上,可对干扰源进行允许范围内的减弱,减弱源的方法一般有如下方法:

  • 在IC的Vcc和GND之间加去耦电容,该电容的容量在0.01μF到0.1μF之间,安装时注意电容器的引线,使它越短越好。

  • 在保证灵敏度和信噪比的情况下加衰减器。如VCD、DVD视盘机中的晶振,它对电磁兼容性影响较为严重,减少其幅度就是可行的方法之一,但其不是唯一的解决方法。

  • 还有一个间接的方法就是使信号线远离干扰源。

2、电线电缆的分类整理在电子设备中,线间耦合是一种重要的途径,也是造成干扰的重要原因,因为频率的因素,可大体分为高频耦合与低频耦合。

    因耦合方式不同,其整改方法也是不同的,下边分别讨论:

    (1)低频耦合是指导线长度等于或小于1/16波长的情况,低频耦合又可分为电场和磁场耦合。

    电场耦合的物理模型是电容耦合,因此整改的主要目的是减小分布耦合电容或减小耦合量,可采用如下的方法:

  • 增大电路间距是减小分布电容的最有效的方法。

  • 追加高导电性屏蔽罩,并使屏蔽罩单点接地能有效的抑制低频电场干扰。

  • 追加滤波器可减小两电路间的耦合量。

  • 降低输入阻抗,例如CMOS电路的输入阻抗很高,对电场干扰极其敏感,可在允许范围内在输入端并接一个电容或阻值较低的电阻。

    磁场耦合的物理模型是电感耦合,其耦合主要是通过线间的分布互感来耦合的,因此整改的主要方法是破坏或减小其耦合量,大体可采用如下的方法:

  • 追加滤波器,在追加滤波器时要注意滤波器的输入输出阻抗及其频率响应。

  • 减小敏感回路与源回路的环路面积,即尽量使信号线或载流线与其回线靠近或扭绞在一体。

  • 增大两电路间距,以便减小线间互感来减低耦合量。

  • 若有可能,尽量使敏感回路与源回路平面正交或接近正交来降低两电路的耦合量。

  • 用高导磁材料来包扎敏感线,可有效的解决磁场干扰问题,值得注意的是要构成闭和磁路,努力减小磁路的磁阻将会更加有效。 

    (2)高频耦合是指长于1/4波长的走线由于电路中出现电压和电流的驻波,会使耦合量增强,可采用如下的方法加以解决:

  • 尽量缩短接地线,与外壳接地尽量采用面接触的方式。

  • 重新整理滤波器的输入输出线,防止输入输出线间耦合,确保滤波器的滤波效果不变差。

  • 屏蔽电缆屏蔽层采用多点接地。

  • 将连接器的悬空插针接到地电位,防止其天线效应。

3、改善地线系统

    理想的地线是一个零阻抗,零电位的物理实体,它不仅是信号的参考点,而且电流流过时不会产生电压降。在具体的电气电子设备中,这种理想地线是不存在的,当电流流过地线时必然会产生电压降。

    据此可根据地线中干扰形成机理可归结为以下两点,第一,减小低阻抗和电源馈线阻抗。第二,正确选择接地方式和阻隔地环路,按接地方式来分有悬浮地、单点接地、多点接地、混合接地。如果敏感线的干扰主要来自外部空间或系统外壳,此时可采用悬浮地的方式加以解决,但是悬浮地设备容易产生静电积累,当电荷达到一定程度后,会产生静电放电,所以悬浮地不宜用于一般的电子设备。

    单点接地适用于低频电路,为防止工频电流及其他杂散电流在信号地线上各点之间产生地电位差,信号地线与电源及安全地线隔离,在电源线接大地处单点连接。单点接地主要适用于频率低于3MHz的情况。多点接地是高频信号唯一实用的接地方式,在射频时会呈现传输线特性,为使多点接地的有效性,当接地导体长度超过最高频率1/8波长时,多点接地需要一个等电位接地平面。多点接地适用于300KHz以上。混合接地适用于既然有高频又有低频的电子线路中。

4、屏蔽

    屏蔽是提高电子系统和电子设备电磁兼容性能的重要措施之一,它能有效的抑制通过空间传播的各种电磁干扰。屏蔽按机理可分为磁场屏蔽与电场屏蔽及电磁屏蔽。电场屏蔽应注意以下几点:

  • 选择高导电性能的材料,并且要有良好的接地。

  • 正确选择接地点及合理的形状,最好是屏蔽体直接接地。

    磁场屏蔽通常只是指对直流或甚低频磁场的屏蔽,其屏蔽效能远不如电场屏蔽和电磁屏蔽,磁屏蔽往往是工程的重点,磁屏蔽时:

  • 要选用铁磁性材料。

  • 磁屏蔽体要远离有磁性的元件,防止磁短路。

  • 可采用双层屏蔽甚至三层屏蔽。

  • 屏蔽体上边的开孔要注意开孔的方向,尽可能使缝的长边平行于磁通流向,使磁路长度增加最少。一般来说,磁屏蔽不需要接地,但为防止电场感应,还是接地为好。电磁场在通过金属或对电磁场有衰减作用的阻挡体时,会受到一定程度的衰减,即产生对电磁场的屏蔽作用。在实际的整改过程中视具体需要而定选择何种屏蔽及屏蔽体的形状、大小、接地方式等。

5、改变电路板的布线结构

    有些频率点是通过电路板上走线分布参数所决定的,通过前述方法不大有用,此类整改通过在走线中增加小的电感、电容、磁珠来改变电路参数结构,使其移到限值要求较高的频率点上。对于这类干扰,要想从根本上解决其影响,就要重新布线。

    小结:总之前面几种方法对提高电磁兼容性都有好处,但应用最为广泛的是改变地线结构及电线电缆的分类整理的方法,这些方法不仅节约成本,而且是最有效的整改方法。屏蔽虽然会增加成本,但是其所起到的屏蔽效能有时是其它方法无法媲美的。所以,在实际的整改中应以改变地线结构、电线电缆的分类整理、屏蔽的方法为主,以其它方法为辅。

EMC领域的三个重要规律和EMC问题三个要素

EMC三个重要规律

    规律一、EMC费效比关系规律:EMC问题越早考虑、越早解决,费用越小、效果越好。 

    在新产品研发阶段就进行EMC设计,比等到产品EMC测试不合格才进行改进,费用可以大大节省,效率可以大大提高;反之,效率就会大大降低,费用就会大大增加。经验告诉我们,在功能设计的同时进行EMC设计,到样板、样机完成则通过EMC测试,是最省时间和最有经济效益的。相反,产品研发阶段不考虑EMC,投产以后发现EMC不合格才进行改进,非但技术上带来很大难度、而且返工必然带来费用和时间的大大浪费,甚至由于涉及到结构设计、PCB设计的缺陷,无法实施改进措施,导致产品不能上市。

    如上图,工程师在整改测试中。

    天纵检测在实际检测工作中经常碰到的情况是:通过“围追堵截”的方法通过相关EMC测试和认证的强制要求,但这样的产品在实际生产的可生产性和产品实际适用性接近于零。这就造成实验室样品和实际成品是不一致的,EMC的整改成了“掩耳盗铃”的摆设了,因此真正要考量EMC问题是要在产品设计时就要考虑进去的,而不应该把主要对策放在产品测试阶段。  

    规律二、高频电流环路面积S越大, EMI辐射越严重。

    高频信号电流流经电感最小路径。当频率较高时, 一般走线电抗大于电阻,连线对高频信号就是电感,串联电感引起辐射。电磁辐射大多是EUT被测设备上的高频电流环路产生的,最恶劣的情况就是开路中的“天线形式”。对应处理方法就是减少、减短连线,减小高频电流回路面积,尽量消除任何非正常工作需要的“天线”,如不连续的布线或有天线效应之元器件过长的插脚。减少辐射骚扰或提高射频辐射抗干扰能力的最重要任务之一,就是想方设法减小高频电流环路面积S。在天纵检测实践中一些具体方法就是处理好接地问题(电源地与信号地)。

    规律三、环路电流频率f越高,引起的EMI辐射越严重,电磁辐射场强随电流频率f的平方成正比增大。

    减少辐射骚扰或提高射频辐射抗干扰能力的最重要途径之二,就是想方设法减小骚扰源高频电流频率f,即减小骚扰电磁波的频率f。关于这个f规律,天纵经验上看很多是因为屏蔽和外壳设计或做工造成的,因为频率越高,波长越小,越是容易从外壳或屏蔽体的小缝隙中泄露出来。

EMC问题三要素

    开关电源及数字设备由于脉冲电流和电压具有很丰富的高频谐波,因此会产生很强的辐射。电磁干扰包括辐射型(高频) EMI、传导型(低频)EMI,即产生EMC问题主要通过两个途径:一个是空间电磁波干扰的形式;另一个是通过传导的形式,换句话说,产生EMC问题的三个要素是:电磁干扰源、耦合途径、敏感设备。辐射干扰主要通过壳体和连接线以电磁波形式干扰空间电磁环境;传导干扰是通过电源线骚扰公共电网或通过其他端子(如:射频端子,输入端子)影响相连接的设备。      

AV设备可能的干扰源:

  • FM接收机、TV接收机本机振荡,基波及谐波由高频头、本机振荡电路产生; 

  • 开关电源的开关脉冲及高次谐波,同步信号方波及高频谐波,行扫描显像电路产生的行、场信号及高频谐波; 

  • 数字电路工作需要的各种时钟信号及高频谐波、以及它们的组合,各种时钟如CPU芯片工作时钟、解码器工作时钟、视频同步时钟等; 

  • 数字信号方波及高频谐波,晶振产生的高次谐波,非线性电路现象(非线性失真、互调、饱和失真、截止失真)等引起的无用信号、杂散信号; 

  • 非正弦波波形,波形毛剌、过冲、振铃,电路设计存在的寄生频率点。 

  • 对于敏感受体通过耦合途径接受的外部骚扰包括浪涌、快速脉冲群、静电、电压跌落、电压变化和各种电磁场。

电磁干扰的特性 :

  • 单位脉冲的频谱最宽; 

  • 频谱中低频含量取决于脉冲的面积,高频分量取决于脉冲前后沿的陡度; 

    晶体振荡电平必须满足一定幅度, 数字电路才能按一定的时序工作,使晶振产生的骚

  • 扰呈现覆盖带宽、骚扰电平高的特点; 

  • 收发天线极化、方向特性相同时,EMI辐射和接受最严重;收发天线面积越大, EMI危害逾大; 

  • 干扰途径:辐射,传导,耦合和辐射、传导、耦合的组合。 

  • 电源线传导骚扰主要由共模电流产生; 

  • 辐射干扰主要由差模电流形成的环路产生。 

    真传一句话,假传万卷书。我们清楚了EMC中的三个规律和三个要素,会使得EMC问题变得简单和有规可循。了解了EMC的规律和传播要素,其实解决EMC问题的方法和思路也就清晰明了了,我们只要中断其中的一个因素,EMC问题必然都能得到很大的改良。

六、单片机的串口

无聊又复习一下

MCU系统间常见的通讯方式有:RS232、RS422、RS485、LIN Bus、Bluetooth、Ethernte、wifi等,而大多数的通信接口都可以通过串口来扩展,所以对于单片机系统而言,只要掌握了串口,就掌握了大多数的通信方式,所以今天给大家介绍串口通信。    

串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。

典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。

最初数据是模拟信号输出简单过程量,后来仪表接口出现了RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,这就促生了RS485。 

我们知道串口通信的数据传输都是0和1,在单总线、I2C、UART中都是通过一根线的高低电平来判断逻辑1或者逻辑0,但这种信号线的GND再与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。所以差分通信、支持多机通信、抗干扰强的RS485就被广泛的使用了。

RS485通信最大特点就是传输速度可以达到10Mb/s以上,传输距离可以达到3000米左右。大家需要注意的是虽然485最大速度和最大传输距离都很大,但是传输的速度是会随距离的增加而变慢的,所以两者是不可以兼得的。

串口通讯的物理层

串口通讯的物理层有很多标准,例如上面提到的,我们主要讲解RS-232标准,RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。

 

在上面的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。

下图为DB9标准串口通讯接口:

 

DB9引脚说明:

 

上表中的是计算机端的DB9公头标准接法,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9母头的收发信号接法一般与公头的相反,两个设备之间连接时,只要使用"直通型"的串口线连接起来即可。

 

串口线中的RTS、CTS、DSR、DTR及DCD信号,使用逻辑 1表示信号有效,逻辑0表示信号无效。例如,当计算机端控制DTR信号线表示为逻辑1时,它是为了告知远端的调制调解器,本机已准备好接收数据,0则表示还没准备就绪。

波特率

波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示;

 

比如波特率为9600bps;代表的就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。

因此,那么每1bit的时间就是1/9600秒=104.1666...us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。两台设备要想实现串口通讯,这收发端设置的波特率必须相同,否则是没办法实现通讯的。

收发波特率一致可以实现通讯:

收发波特率不一致,导致RX端不能正常接收:

串口通讯的数据结构

 

起始位: 起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位: 数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。

奇偶校验位: 奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

停止位: 停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

空闲位: 空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

单双工通讯

单工: 数据传输只支持数据在一个方向上传输;

半双工: 允许数据在两个方向上传输,但某一时刻只允许数据在一个方向上传输,实际上是一种切换方向的单工通信,不需要独立的接收端和发送端,两者可合并为一个端口;

全双工: 允许数据同时在两个方向上传输,因此全双工通信是两个单工方式的结合,需要独立的接收端和发送端。

 

STM32中的串口通讯

STM32串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器),对于大容量STM32F10x系列芯片,分别由3个USART和两个UART。

 

TXD:数据发送引脚;RXD:数据输入引脚

对于两芯片的间的连接,两个芯片GND共地,同时TXD和RXD交叉连接,这样两个芯片间可进行TTL电平通信。

但如果对于芯片和PC机相连,除了共地条件外,不能使用如上的直接交叉连接,虽然两者都有TXD和RXD引脚,但通常PC机使用的是RS232接口(9针),通常是TXC和RXD经过电平转换得到,故如果要使芯片与PC机的RS232接口直接通信,需要将芯片的输入输出端口也电平转换为RS232类型,再交叉连接,二者的电平标准不同:

单片机的点评标准(TTL电平):+5V表示1,0V表示0;

RS232电平标准:+15/+13V表示0,-15/-13表示1。

 

因此单片机与PC机进行串口通信应该遵循:在单片机串口与上位机给出的RS232口之间,通过电平转换电路实现TTL电平与RS232电平间的转换.

如果使用USB转串口也可以实现串口通讯,USB转串口电路图如下所示

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值