一、单片机解密技术
俄国人Sergei P.Skorobogatov就读英吉利剑桥大学之博士论文,讲解了各种MCU的攻防技术,堪称一部小百科全书。对于志在研究MCU防护的筒子,能给你很多参考思路:但对于想当黑客的人,我们对后果概不负责,维护正义一直在进行中~
非侵入式攻击不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不需要很大的开销。另外,使用这种攻击不会留下痕迹。因此,这被认为是对任意元器件的硬件安全最大的威胁。同时,通常需要很多时间和精力来寻找对特定元器件的非侵入式攻击方法。这通常对元器件进行反向工程,包括反汇编软件和理解硬件版图。
非侵入式攻击可以是被动的或主动的。
1、被动攻击,也叫侧面攻击,不会对被攻击元器件发生作用,但通常是观察它的信号和电磁辐射。如功耗分析和时钟攻击。
2、主动攻击,如穷举攻击和噪声攻击,特点是将信号加到元器件上,包括电源线。
一个简单的非侵入式攻击可以是复制一个上电配置的基于SRAM的FPGA。接上配置芯片用的JATG接口,用示波器或逻辑分析仪,捕捉所有信号。然后可以通过分析波形并回复独有的命令。
只使用到一半的FPGA资源时,可以轻微改变数据流来伪装盗版的事实。配置时留下一点空间而不影响元器件的运行。JTAG接口在发送信号时序时也有一些自由,故盗版的波形可以设置成看上去与原始信号不一样的。另外,破解者可以在上传时交换行地址,给人的印象是完全不同的设计。
含糊与安全
半导体制造商给大客户提供了增强产品防破解能力的措施:包装上的客户印字代替了标准的芯片型号。
这给人的印象是产品是由定制的集成电路设计的。众所周知,ASIC提供了很好地保护措施来防止多种攻击,只有极少数经验丰富且装备精良的破解者才有可能成功破解。这会使很多潜在的破解者望而却步。但一个信心坚定的破解者会尝试用简单的方法确定芯片是不是真的ASIC。
最简单的方法是观察连接到电源,地,时钟,复位,串口或别的接口的引脚。与数据库中被怀疑的微控制器相比较,这种结果非常可靠,每种微控制器都有自己的引脚特点。
一旦发现相似的,就把它放在通用烧写器上尝试读出结果。
另一个简单的方法是限制访问程序存储器。通常用在智能卡中,但一些微控制器中也用到。这不是很可靠且实用的方法。当然在智能卡中用得很好,所有的客户被与芯片制造商迫签署不扩散协议。
但微控制器极少这样,能被通用烧写器烧写的微控制器世界上很多公司都能提供。即使文件中没有烧写的规格,用低成本的示波器几个小时就可以套出需要的波形。如果微控制器不被特殊通用烧写器所支持,仍然可以通过从制造商购买开发板来获得直接完整的协议。
时序攻击(Timing attacks)
一些安全相关的操作使用输入的值和密钥,由半导体芯片执行不同的时间来比较。小心的时序测量和分析就能恢复出密钥。这个方法最早在1996年的文献上提到。稍后这种攻击成功破解了实际的RSA签名的智能卡。
为了攻击成功,需要收集装置的信息,与处理时间整合比较,如问答延迟(question-answer delay)。很多密码算法容易受到时序攻击,主要原因是软件来执行算法。那包括:
1、执行适时跳过需要的分支和操作条件;
2、使用缓存;
3、不固定时间处理指令如倍频和分频;
还有大量的其他原因。结果就是执行能力典型地取决于密钥和输入的数据。
为防止此类攻击可以使用盲签名(Blinding signatures)技术。这个方法是利用选定的随机数与输入数据混合来防止破解者知道输入数据的数学运算法则。
时序攻击可用在安全保护是基于密码的微控制器,或使用确定数字的卡或密码来进行访问控制的系统,如达拉斯的iButton产品。这些系统中共有的风险是输入的连续数字在数据库进行再次校验。系统需经常检查输入到数据库的密钥的每个字节,一旦发现不正确的字节就会立即停止,然后切换到下一个直到最后一个。
所以破解者很容易测量出输入最后一个密钥倒请求另一个的时间,并得出发现的密钥相似度。尝试相对小的数字,有可能找到匹配的密钥。
为防止这些攻击,设计者需要小心计算处理器的周期。当密码进行比较时确保正确和错误的时间是一样的,例如:飞思卡尔的68HC08微控制器的内部存储器载入模块在输入正确的八字节密码后可以访问内部闪存。为达到正确和错误的密码都处理相同的时间,程序中增加了额外的空操作指令。这对时序攻击提供了很好的保护。一些微控制器有内部阻容振荡器,那样处理器的工作频率与电压和芯片的温度相关。这使得时序分析很困难,攻击时需要稳定元器件的温度并减少电源线上的噪声和电压波动。一些智能卡有内部随机时钟信号使得攻击时测量时间延迟无效。
穷举攻击(也称暴力攻击Brute force attacks)
暴力对于半导体硬件和密码来说是另一种意思。
对于密码,暴力攻击是对系统尝试数量众多的密钥。通常是使用高速计算机来寻找匹配的密钥。
一个例子是微控制器中的密码保护设置。以TI的MSP430为例,密码本身长度为32字节(256位),抵挡暴力攻击已经足够了。但密码分配在与处理器中断矢量相同的存储器地址。那么,首先减少存储器内矢量一直指向的区域。然后当软件被更新时,只有小部分的密码被修改,因为大部分中断子程序指向的矢量是相同的地址。结果是,如果破解者知道早前密码中的一个,就很容易做系统的搜索,在合理的时间内找到正确的密码。
暴力攻击也可用在ASIC或CPLD的硬件设计来实现。这种情况下,破解者使用所有可能的逻辑组合到元器件可能的输入端并观察所有输出。这种方法也称为黑箱分析(Black-box analysis),因为破解者不知道被测试元器件的情况。通过所有可能的信号组合,尝试获得元器件的功能。
这种方法对相对小的逻辑器件很有效。另一个问题是破解者使用的ASIC或CPLD有触发器,故输出将可能是当前状态或输入的状态。但如果预先检查并分析信号,搜索的范围可以显著减少。例如,时钟输入,数据总线和一些控制信号是很容易认出的。
另一种可能的暴力攻击,对很多半导体芯片有效,是将外部高压信号(通常是两倍于电源电压)加到芯片引脚上,来试图进入工厂测试或编程模式。事实上,这些引脚用数字万用表很容易发现,因为它们没有保护二极管到电源脚。一旦发现对高压敏感的引脚,破解者就可以尝试可能的逻辑信号组合来加到别的引脚上,找出用于进入工厂测试或编程模式的部分。
破解者也可用元器件的通信协议来找出设计者嵌入在软件中的测试和更新用得隐藏功能。
芯片制造商经常提供给后期测试用得嵌入硬件测试接口。如果这些接口的安全保护没有适当设计,破解者很容易利用它来读写片上存储器。在智能卡中,这些测试接口通常位于芯片电路之外,并在测试后从物理上除去。
任何安全系统,不管软件和硬件,在设计上都可能有缺陷,对于破解者来说都是机会,暴力攻击有可能找到它。小心设计安全保护系统,进行适当的评估,可以避免很多问题,并使得这些攻击事实上不可行。
功耗分析(Power analysis)
一个运算设备的功耗取决于它当前的状态。
依照CMOS晶体管的原理,各部分动态时的功耗比静态的要大。当输入电压加到反向器上,会引起一个晶体管短路,这个晶体管电流的增加比静态消耗的寄生漏电要大得多。在电源线上加个10-20欧的电阻,就可以测量电流的波动。
为达到更好的效果,需要使用至少12位精度和50MHz采样速度的模数转换器。这些获得的参数可以用来区别处理器的不同指令并估计总线上同时翻转的位数。
通过平均多次重复同样操作的电流,即使是没有通过总线的很小信号也能区别开。有些信号如移位状态特别有用,因为很多密码的密钥产生算法使用移位操作来逐一移出单个密钥倒进位标志。即使状态位的变化不能直接测量,它们通常会改变指令次序或微码的执行,这会导致功耗的明显变化。
不同指令导致不同级别的指令解码和运算单元的活动,可被清晰地区别开,故运算部分能被推测出。处理器的不同单元在时钟沿相关的不同时间里有独有的开关状态,能被高频仪器分离出来。
有多种不同的功耗分析技术用在破解密码算法上。整个分析过程是相对简单的,只需要标准的现有的廉价仪器设备。
功耗分析技术主要有两种:
简单功耗分析(SPA:Simple Power Analysis)
差分功耗分析(DPA:Difference Power Analysis)
SPA是在密码或别的安全相关操作时直接观察功耗,可以得知设备运行时的信息如密钥资料。如果破解者知道密码算法,很容易通过观察处理器指令次序,特别是移位条件转移,找到一些位的信息。如果算法或逻辑运算的结果很容易被看出,如进位状态,零或负标志,就可以获得更多的信息。
DPA是种更有效的技术,因为破解者不需要知道密码算法是如何执行的。它使用静态分析和已知密码运算的大量功耗迹线来获取隐藏信息。用统计方法鉴别功耗的微小区别,可用来恢复密钥中的单个的位信息。
功耗特性当然包括噪声部分。额外的噪声可以通过减少获取信号的探针长度并小心使用测量仪器来降低它。测量接在地线上的电阻的功耗有一些优势。首先,减少了噪声电平。其次,可以用示波器的探头直接测量信号,因为大部分探针站有公共的地线与外部电源地相连。为了增加信噪比,可以通过提高平均采样数来获得。
有源探头能降低输入电容,增加对输入信号的带宽。一种方法是用高速低噪声的运放来构建相对简单的探头,另一种是用很短的同轴电缆直连到示波器的输入端。在这些情况下,探头的输入电容显著减少。 如下图,左侧是普通的无源探头,右侧是自制的有源探头。
我们对现有的功耗分析步骤进行了改进。这是一种新的方法,尚未有类似的。我们用铁芯变压器来取代连到电源或地的电阻,那样波形就有点不一样,因为信号的直流成分丢失了,同时又有些有利条件。常用的方法对直流电流几乎没有什么限制。但对于10欧电阻来讲100mA的电流意味着有1V的电压降,那可能中断微控制器的正常操作。减少这个电阻可以解决这个问题,但会使得难以识别功耗的微小变动。
使用变压器后,不需要使用昂贵的有源探头,标准的无源探头就可以给出几乎相同的结果。如果信号太小,调节二次侧的线圈就可以增加振幅。变压器也担当无源滤波器的角色,如波形,同样的处理器指令对电阻和变压器所测量到的波形有不同的影响。那可以通过对获得的信号进行处理。为了攻击获得成功,需要采集数千的样本,然后快速分析处理所展现的秘密。
最近,芯片设计上已考虑这种攻击,并将使得这种攻击方法更难获得成功。
噪声攻击(Glitch attacks)
噪声攻击是快速改变输入到微控制器的信号,以影响它的正常运行。
通常噪声是叠加在电源上或时钟信号上,但噪声也可以是外加的短暂电场或电磁脉冲。在离芯片表面数百微米处放置两根金属针,然后加上少于1微秒的数百伏电压的窄脉冲,晶圆衬底会感应出一个电场,使得邻近晶体管的阈值电压发生变化。
最近出现一种改进的方法:使用几百圈金属线绕在微探针的针尖构成一个小型电感。当电流进入线圈会产生磁场,针尖将集中磁力线。
每个晶体管和与它相连的线路构成有时延特性的RC电路。处理器的最大可用时钟频率取决于该电路的最大延迟。同样的,每个触发器在接收输入电压和由此引致的输出电压之间有个特征时间窗口。这个窗口由给定的电压和温度来确定。如果用时钟噪声(比正常的时钟脉冲要短得多)或电源噪声(电源电压的快速波动)将会影响芯片里的某些晶体管,导致一个或多个触发器进入错误状态。
通过改变参数,处理器会被导致执行许多完全不同的错误指令,有时甚至是不被微码支持的。经管我们不会预先知道何种噪声会导致何种芯片的何种错误,但它能相当简单地进行系统的搜索。
时钟噪声攻击(Clock glitches)
时钟信号的噪声攻击在目前是最简单的,且相当实用。
实际应用中的噪声通常用来取代跳转条件并试验先前的测试指令。可以在安全密码问询处理时创建一个攻击窗口,简单预防执行这些指令。指令噪声也能用来扩大循环的时间。
如,串口子程序在输出缓冲后再读更多的内容;或在密钥操作时减少循环次数来传一个弱的密码。
为获得噪声,时钟需要临时增加一个或大于半个周期,有些触发器在到达新状态之前就获得输入。时钟噪声通常针对处理器的指令流。对硬件执行安全保护的微控制器没有什么效果。实际中,仅使用时钟噪声来攻击微控制器或智能卡的软件程序接口。
这类保护的破解是相对容易的。如处理器在循环里只执行一个指令,攻击时可用不同的时钟噪声导致处理器误操作。不需要小心地与时钟信号同步,只需要随机制造噪声就可在数次攻击内成功。
插入噪声是相对容易的,无需使用外部发生器,瞬间短路晶振即可。当谐振器在不同的泛音上产生震荡会发出很多噪声。大部分情况下需要在确定的时钟周期内获得所需结果,在这种情况下用信号发生器更好。
使用时钟噪声来攻击某些微控制器也许是很困难的。例如德仪的MPS430微控制器在内部RC震荡器工作的启动模块。很难与内部时钟同步,攻击时很难估计精确的时间。一些智能卡在处理器指令流里会随机插入延迟,使得攻击更为困难。使用功耗分析会有帮助,但要求非常昂贵的设备来实时获得参考信号。
电源噪声攻击(Power glitches)
电源供应电压的波动会导致晶体管阈值电平的漂移。
结果就是一些触发器在不同的时间里采样它们的输入,或读出错误的安全熔丝的状态。通常用瞬间增加电源电压或电压跌落来制造噪声,一般在10个时钟周期内。
电源噪声通常用在微控制器的程序接口上,能影响处理器运行或硬件安全电路。一般地,弱点比时钟噪声更难找到并利用,因为对于时域参数,振幅,上升/下降时间都是变量。
一个例子是上例提到的攻击MC68C05B6.
如果在执行AND $0100指令时电源电压减少50-70%,处理器从EEPROM中取出的值是FFh而不是实际的值。这会对应熔丝未加密状态。窍门是小心计算执行时间来减少电源电压,否则处理器会停止运行或进入复位状态。这种任务并不难,复位后目标指令在第一个一百周期内被执行。破解者可以使用矢量发生器或构建一个自己的噪声源。
另一个是微芯的老旧的PIC16F84。
芯片的擦除操作会解除安全保护。但同时会芯片上程序和数据存储器中的内容。安全保护电路在硬件设计上是在安全熔丝复位之前擦掉存储器。但我们发现在芯片擦除操作时电源电压几微秒内增加到大约10V,会中断存储器擦除操作,但安全熔丝正常完成复位,这使得有可能读出存储器里的内容。如此高压需要谨慎使用,如果时间过长会损伤芯片。新版本的PIC16F84A增加了防欠压和过压攻击的能力。如果电源电压低于3V或6V,通过编程接口的任意修改存储器的操作会被立即中断。
不是一直需要电源噪声超过电源电压范围的规格。例如,PIC18F84A微控制器,保护机制可以阻止在芯片擦除操作开始后使用大于50mV的噪声。那会导致中止程序存储器的擦除操作但不会擦掉熔丝。
上述例子表明噪声攻击时无需特殊工具就有很好的效果。智能卡里有时钟监控电路但极少微控制器有。
数据保持能力分析(Data remanence)
处理器一般会把密钥保存在静态RAM里,如果元器件被篡改就会掉电,RAM内容丢失,从而保护密钥不被窃取。
众所周知的是在低于零下20度时,SRAM里的内容会“冰冻”。很多元器件把温度低于这个阈值视为发生篡改事件。我们做了一些实验来确定现代SRAM数据保持能力与温度的关系。我们的实验表明传统的思维不再有效。即使在高温下,数据保持能力也是个问题。
数据保持能力不仅仅对SRAM有影响,对DRAM, UV EPROM, EEPROM和闪存也有影响。结果是,仍然可以从已擦除的存储器中获得一些信息。这会给安全设备带来很多问题。
安全工程师都很关注断电后SRAM器件能保持数据的时间。
原因如下:很多产品使用密钥或类似的方法进行加密和别的安全相关的计算,需要不能被读出或改变。
最普遍的解决方法是把安全密钥放在带篡改传感器的易失存储器中。一旦检测到发生篡改,易失传感器会掉电或短路到地。但如果数据保留时间大于破解者打开元器件并对存储器上电的时间,那保护机制就被摧毁了。
在二十世纪八十年代,发现低温能将SRAM的数据保存时间增加到几秒甚至几分钟。对于那个时候的元器件,发现零下20度就可以增加数据保存时间,并且会随着温度的降低而增加保持的时间。
有些就增加了温度传感器,温度低于零下20度就触发篡改事件,立即清零存储器。本次试验是重复这个工作,察看2000年后的产品是否也有此特性。
另一个需要关注的是即使部分内容已被破坏,安全信息也能被复原。假设破解者获得了n=128位密钥中的m=115位,也就是90%的信息。他可以通过搜索n!/(m!(n-m)!=128!/(115!13!)=2.12*1017~258个可能的密钥。
通过1万台电脑,每台每秒进行10亿次搜索密钥的操作,破解者只需6个小时就能搜遍所有密钥。如果只有80%的信息,也就是知道128位密钥中的103位,那就有2.51*1026~288种可能。几乎增大了一百倍,破解者要花百万年来搜索密钥,故认为均匀的128位密钥不能被恢复。
看完本文,直呼惊叹,一方面想参观一下MCU攻防科研组实验室,另一方面还真想完整的体验一波解密过程。
二、无刷直流电机的基本工作原理
无刷直流电机简介
无刷直流电机,英语缩写为BLDC(Brushless Direct Current Motor)。电机的定子是线圈,或者叫绕组。转子是永磁体,就是磁铁 。根据转子的位置,利用单片机来控制每个线圈的通电,使线圈产生的磁场变化,从而不断在前面勾引转子让转子转动,这就是无刷直流电机的转动原理。下面深入一下。
无刷直流电机的结构
首先先从最基本的线圈说起。如下图。可以将线圈理解成长得像弹簧一样的东西。根据初中学过的右手螺旋法则可知,当电流从该线圈的上到下流过的时候,线圈上面的极性为N,下面的极性为S。
现在再弄一根这样的线圈。然后摆弄一下位置。这样如果电流通过的话,就能像有两个电磁铁一样。
再弄一根,就可以构成电机的三相绕组。
再加上永磁体做成的转子,就是一个无刷直流电动机了。
无刷直流电机的电流换向电路
无刷直流电机之所以既只用直流电,又不用电刷,是因为外部有个电路来专门控制它各线圈的通电。这个电流换向电路最主要的部件是FET(场效应晶体管,Field-Effect Transitor)。可以把FET看作是开关。下图将FET标为AT(A相Top),AB(A相Bottom),BT,BB,CT,CB。FET的“开合”是由单片机控制的。
用霍尔传感器确认转子位置
霍尔传感器通过霍尔效应(Hall Effect),能检测出磁场强度的变化。根据高中物理所学的左手定则(用来判断带电导体在磁场中的受力方向),在霍尔传感器所在的回路中,磁场使带电粒子的运动发生偏转,带电粒子“撞到”霍尔传感器的两边,产生电位差。这时就可以用电压计接到霍尔传感器的两边,检测出这种电压变化,从而检测出磁场强度的变化,原理如下图所示。
电气角度和机械角度关系
虽然在这里插入这么个小知识有点怪,但我还是觉得有必要的,因为我觉得当时学的时候不太好理解。在这里配合霍尔传感器的实例说可能好懂一点。机械角度就是电动机转子实际转过的角度。电气角度和机械角度的关系与转子的极对数有关。
电气角度 = 极对数 x 机械角度
因为实际上线圈生成的磁场要吸引的是转子的磁极。所以对于电机的转动控制来说,我们只关心电气角度就好。
怎样控制无刷直流电机的转速?
线圈两端的电压越大,通过线圈的电流越大,生成磁场越强,转子转动得就越快。因为接的电源是直流的,所以我们通常用PWM(Pulse Width Modulation,脉冲宽度调制)来控制线圈两端电压的大小。PWM的简单原理如下。
所以给无刷直流电机通电的时候,用单片机产生的PWM不断地控制FET的开合,能使线圈反复处于通电断电,通电断电的状态。
通电时间长(Duty大),线圈两端的等效电压就大,产生的磁场强度就强,转子转动就快;通电时间短(Duty小),线圈两端的等效电压就小,产生的磁场强度就弱,转子转动就慢。PWM波形接到FET的Gate(门极)上,控制FET的开合。假设Gate上的电压为高时,FET闭合导通;Gate上的电压为低时,FET断开不通电
而且同一相上的上下两个FET须由反相的PWM波形控制,以防止上下两个FET同时导通,造成电流不通过电机而上下相同,造成短路。
无刷直流电机的关键有三点:
- 线圈绕组电流的换向顺序。电流的换向顺序决定了由线圈产生的磁场的旋转方向,从而决定了转子的转动方向
- 霍尔传感器或其它手段来估计永磁体转子所处的位置,用于决定电流什么时候换向
- 使用单片机产生的PWM波形来控制电机绕组的通电时间,来控制转子转动的速度
三、电磁兼容(EMC)问题
EMC的中文意思是电磁兼容,电磁兼容的内容非常广泛,主要是测试电子产品在运行过程中是否超过人体以及周围环境所能承受的辐射值。下面,亿博小编为您详细介绍下电磁兼容的相关内容。
什么是EMC电磁兼容性?
简单的说就是设备或系统在其预期的电磁环境中无错误地运行的能力
电磁兼容是什么意思?
电磁兼容性(EMC)是指即使在其他发射电磁波的设备存在的情况下,不同电子设备和组件也能正常工作的能力。这意味着发射EM波或干扰的每个设备必须将其限制在一定水平,并且每个单独的设备必须对其所要工作的环境中的EM干扰具有足够的免疫力。
电磁兼容性也是电气工程的一个完整分支,这是一个研究领域,涉及电磁波的无意产生,传播和接收,这些电磁波会对电子设备造成不必要的影响,如电磁干扰(EMI)甚至物理损坏。不具有电磁兼容性的电子设备的一个很好的例子是扬声器和蜂窝电话。当手机设置在扬声器旁边时,它没有反应,因为EM波发射很小,但是当有来电或信息时,发出的EM波更强,并且这些电流被扬声器的线圈捕获,发电扬声器产生静音。
电磁干扰EMI会对各种技术造成破坏性影响,这就是电磁兼容性旨在控制这种干扰以降低设备损坏风险的原因。
什么是EMI电磁干扰?
简单来讲就是来自设备或系统的电磁辐射干扰其他设备或系统的正常操作。
任何EMC问题都有三个基本要素:
- 电磁现象的来源
- 由于电磁现象而无法正常工作的受体(或受害者)
- 它们之间的路径允许源干扰受体
这三个要素中的每一个都必须存在,尽管在每种情况下都不容易识别。通常通过识别这些元件中的至少两个并消除(或衰减)其中一个来解决电磁兼容性问题。
电磁兼容性问题的潜在来源包括无线电发射器,电力线,电子电路,闪电,灯调光器,电动机,弧焊机,太阳耀斑以及几乎任何利用或产生电磁能的东西。
潜在的受体包括无线电接收器,电子电路,电器,人员,以及几乎利用或可以检测电磁能量的任何东西。
- 将电磁能量从源耦合到受体的方法分为四类:
- 传导(电流)
- 电感耦合(磁场)
- 电容耦合(电场)
- 辐射(电磁场)
耦合路径通常利用这些方法的复杂组合,使得即使知道源和受体也难以识别路径,可能存在多个耦合路径并且用于衰减一条路径的步骤可以增强另一条路径。
四、电压与电流的超前、滞后问题
由于Sin[ωt]在求导或积分后会出现Sin[ωt±90°],所以对于接上了正弦波的电感、电容,横坐标为ωt时可以观察到波形超前滞后的现象。直接从静态的函数图上看不太容易理解,还是做成动画比较好。
下图是电感的,用红色表示电压,蓝色表示电流。
如果接上理想的直流电压表、直流电流表,可以观察到电压的变化超前于电流,电流的变化滞后于电压。
时间增加时,纵坐标轴及时间原点会随着波形一起往左移动。
如果把波形画在矢量图右方,就是下面这种动画,但横坐标右方是过去存在的波形,指向过去,是-ωt。
虽然波形反过来了,但电压的变化仍然超前于电流,电流的变化仍然滞后于电压。
时间原点一直随着波形往右方移动,函数图中的纵坐标轴并未与横坐标交于原点,交点所代表的时间一直在增加。
如果不注意,超前滞后的判断很容易出错。
理解超前滞后这一概念用相量图是最好的,从测量数据来观察或者从静态波形上观察都不太直观而且容易出错。
下图是电容的。电压的变化滞后于电流,电流的变化超前于电压。坐标系右方是未来,左方是过去。
横坐标是-ωt时,电容的电压的变化仍然滞后于电流,电流的变化仍然超前于电压。
因为此坐标系左方是未来,而右方是过去。
下图是电阻的。电压函数电流函数同相。
下图是三者串联的情况,没画相量图和波形图。但从指针的变化可以判断:电流相同时,电感和电容的电压函数反相。
没画总电压,因为总电压有可能超前于总电流,也有可能滞后于总电流,也有可能两者同相,同相时为谐振状态。
以前还做过这种,元件右边标的是电压电流的参考方向。
用不同的颜色描述电压的大小,蓝色>黄色>红色;用不同的粗细和箭头描述电流的大小和方向,而且把电感、电容充能的效果也做进去了,电流最大时电感磁场能最大,电容电场能最小。
但是,就解释超前滞后这一概念的话,指针表的动画更直观。