当前位置: 首页 > news >正文

建网站难吗宠物网站建设策划书

建网站难吗,宠物网站建设策划书,做网站背景步骤,石家庄网站建设行业公司自己的原文哦~ https://blog.51cto.com/whaosoft/14132240 一、STM32的NRST管脚异常复位问题 这个问题是客户对开发的平台做EMS 浪涌测试的时候发生的#xff0c;平台上使用了一个STM32G474 RCT6 MCU 。在某个等级的EMS 测试中#xff0c; 客户发现MCU有时候会异常…自己的原文哦~          https://blog.51cto.com/whaosoft/14132240 一、STM32的NRST管脚异常复位问题 这个问题是客户对开发的平台做EMS 浪涌测试的时候发生的平台上使用了一个STM32G474 RCT6 MCU 。在某个等级的EMS 测试中 客户发现MCU有时候会异常复位而影响平台的稳定工作。 MCU 异常复位问题的通常解决思路 我们知道 导致MCU异常复位的原因有很多 比如外部复位电路被干扰 MCU 电源的异常跌落 看门狗不能正常喂狗导致的复位等等。 STM32 MCU 的复位标志位寄存器可以帮助我们发现导致异常复位的线索。 复位标志位的相关信息可以在STM32 MCU 的Reference Manual 中找到。在RCC 节的RCC_CSR 寄存器中我们可以看到 图中红色围住的部分就是复位标志相关的寄存器。 LPWRRSTF:低功耗模式复位标志位 被置1 表示发生了非法的STOP, SLEEP 或SHUTDOWN 等低功耗模式进入。 WWDGRSTF: 窗口看门狗复位标志。 IWDGRSTF: 独立看门狗复位标志。 SFTRWTF: 软件复位标志位。 BORRSTF: 欠压复位标志位。 PINRSTF: 从NRST引脚输入产生的复位的标志位。 OBLRSTF: 加载选项字节产生的复位的标志位。 以上的标志位被置1 表示发生了相关的复位。 这些被置1的标志位可以通过向RMVF 位写1清除。 在一次正常的MCU上电过程中 电压的上升和 PDR 电路的工作必然会导致BORRSTF 和PINRSTF 被置位1 因此在做EMS实验前 需要先通过向RMVF 写1将所有复位标志位清除 然后观察在EMS 测试导致的复位后 哪些复位标志位被置位了。 例如当观察到BORRSTF 被置1表示发生了欠压复位 需要重点检查MCU供电电路包括滤波/退耦电容的设计和布局等等。 PINRSTF 位被置1表示MCU 的NRST 管脚接收到了能够触发复位的异常低电平 需要检查NRST 的外围电路是如何被干扰的 或设法增加滤波电路滤除干扰。 WWDGRSTF 或 IWDGRSTF 被置1表示喂狗不正常导致了复位一般是由程序在 EMS测试中运行不正常进入死循环导致MCU 被EMS干扰影响的途径相对难以判断可能是地或某个/些GPIO管脚被EMS 干扰侵入而影响了MCU 的正常运行。 通过观察异常复位发生后的复位标志位可以使我们避免解决问题时在不相关的电路上浪费时间 比如如果只有BORRSTF 被置位 我们需要重点关注供电电路 而不需要在复位管脚相关电路做无用的调整。 在客户开发平台上的排查 根据上面描述的思路我们在客户的平台上排查发生异常复位的原因 通过检查STM32G4 的复位标志位发现复位发生后PINRSTF 被置 1 了。 这似乎是个简单的NRST 复位管脚被干扰的问题。 但是观察客户的设计 NRST 管脚并没有外接比较长走线的外部电路 只是在管脚放置了一颗0.1UF 的电容。按常理这样的电路一般不会将干扰引入NRST 管脚。 为了避免是0.1UF 电容将地噪声引入管脚 拆除这颗电容后再做浪涌实验 结果PINRSTF 还是被置位。 STM32G4有一个新功能 NRST 管脚可以被复用为一个GPIO PG10 当这个管脚被定义为PG10后 加在这个管脚的低电平干扰将不会再导致MCU 复位。但是奇怪的事情发生了STM32G474第7脚由NRST 改定义成PG10后(Option byte中修改)浪涌实验中依然发生了PINRSTF 被置位的现象。 这时候看来不能只局限于NRST 管脚的探查了干扰是不是从其它GPIO 窜入MCU 并进一步通过耦合影响了复位电路的工作呢 在LQFP的封装中由于MCU 内部并行的较长的bonding线的存在 相邻的GPIO之间 最可能产生耦合干扰 所以我们从第7脚相邻的第6和8脚开始排查。分别将它们的外部信号断开。通过排查 第8脚信号断开没有解决问题。 但是当将第6脚相连的晶振和电容断开并改用内部HSI 时钟源后 异常复位问题消失了 PINRSTF 不再被置位。看来干扰是从第7脚进入的。观察客户的PCB 设计 发现晶振的LOAD 电容接地并不是直接接地平面 而是经过一根细长的地走线后才由一个过孔连接到地平面很明显这根细长的地走线在浪涌测试中作为天线接收了干扰并经电容传递到了MCU 内部。 总结 MCU 内部是远比 MCU 外部电路更复杂的微电子电路内部线路间距小不同功能间可能只是由电子开关或多路复用器做选择当高频干扰进入MCU 后干扰可以在看似不直接相连的电路间耦合而影响MCU 的正常工作。 重要的是避免干扰进入MCU。在排查干扰传递的路径时不要将目光局限于直接相连的电路或管脚。 . 二、EMC整改流程及常见问题 首先我们来从EMC测试项目构成说起EMC主要包含两大项EMI干扰和EMS抗干扰和敏感度。这两大项中又包括许多小项目如下图 EMC整改意见  1.首先需要双方的沟通相关信息如验收的标准、摸底的报告、PCB图等信息为什么要确定这么多信息呢举例标准方面在车载行业如五等级跟二等级那差距就大了去了。在提供相关资料和沟通后我们会给出初步的整改建议定位好EMC整改计划。 2.定位手段对于这里小编觉得主要可以分为两点。 第一经验判断根据双方沟通情况根据工程师的经验结合数据及测试情况来进行判断。 第二比较测试根据再次测试仪器所提供的数据来进行分析问题。Tip我们有自己的实验室可以方便各位亲测试哟 EMC整改流程  1.RE超标整改流程 2.电源电缆导致辐射超标定位子流程 3.信号电缆导致辐射超标定位子流程 4.屏蔽体泄漏整改流程 EMC整改的一些小建议 1.电容的滤波作用 即频率f越大电容的阻抗Z越小。当低频时电容C由于阻抗Z比较大有用信号可以顺利通过当高频时电容C由于阻抗Z已经很小了相当于把高频噪声短路到GND上去了。2.电容滤波在何时会失效整改中常常会使用电容这种元器件进行滤波往往有“大电容滤低频小电容滤高频”的说法。以常见的表贴式MLCC陶瓷电容为例进行等效模型如下 容值10nF封装0603的X7R陶瓷的模型参数如下 由于等效模型中既有电容C也有电感L组成了二阶系统就存在不稳定性。对电路回路来说就是会发生谐振谐振点在如下频率处  下图是谐振曲线的示例 即常说的在谐振点前是电容谐振点之后就不再是电容了。3.LC滤波何时使用如果串联电感L再并联组成C就形成了LC滤波 单独一个电容C是一阶系统单独一个电感L也是一阶系统在幅值衰减斜率是-20dB。但LC组成的二阶系统幅值衰减斜率是-40dB更靠近理想的“立陡”的截止频率的效果即滤波效果更好。 4.PWM频率到底是多少往往提到PWM比如会说用20kHz PWM驱动电机等。 但实际上这个20kHz仅代表PWM的脉冲周期是50us 对于阶跃信号来说由于上升时间tr无穷小则频率f无穷大。当频率高了之后寄生参数则不能在忽略会引发很多谐振的问题。从信号上来看就是很陡峭的阶跃信号会有过冲和振荡的问题。简单来说就是频率f越大则噪声所占的频率就会越宽泛即EMC特性就会越差。 5.如何将原理图和PCB对应起来由于细分工种的问题原理图和PCB被割裂开来由两组人进行分工作业 例如在原理图上有如下的电路  其隐含一个问题就是在PCB上其实V1的负极和C1的负极是有一条线PCB layout工具软件中用的词比较准确Trace踪迹/轨迹。往往在设计阶段A-B-C是都会关注的。如果EMC出现问题除了要在原理图上查找电路参数的问题还需要特别关注C-D即回流路径。 如果回流路径不顺畅会造成信号的畸变。 比如在EMC试验时MCU的ADC采集到的信号被干扰到了则除了在原理图上分析外在PCB上讲该信号高亮出来然后再耐心寻找该信号的回流路径是否有不顺畅的地方对着信号线头脑中想象回流路径有点意识流的感觉。 总结  . 三、PID 这个之前发过 再来一遍 可好 PID就是“比例proportional、积分integral、微分derivative”是一种很常见的控制算法。 PID已经有107年的历史了 它并不是什么很神圣的东西大家一定都见过PID的实际应用。 比如四轴飞行器再比如平衡小车......还有汽车的定速巡航、3D打印机上的温度控制器.... 就是类似于这种需要将某一个物理量“保持稳定”的场合比如维持平衡稳定温度、转速等PID都会派上大用场。 那么问题来了 比如我想控制一个“热得快”让一锅水的温度保持在50℃这么简单的任务为啥要用到微积分的理论呢 你一定在想 这不是so easy嘛~ 小于50度就让它加热大于50度就断电不就行了几行代码用Arduino分分钟写出来。 没错~在要求不高的情况下确实可以这么干~ But如果换一种说法你就知道问题出在哪里了 如果我的控制对象是一辆汽车呢 要是希望汽车的车速保持在50km/h不动你还敢这样干么。 设想一下假如汽车的定速巡航电脑在某一时间测到车速是45km/h。它立刻命令发动机加速 结果发动机那边突然来了个100%全油门嗡的一下汽车急加速到了60km/h。 这时电脑又发出命令刹车 结果吱...............哇............(乘客吐) 所以在大多数场合中用“开关量”来控制一个物理量就显得比较简单粗暴了。有时候是无法保持稳定的。因为单片机、传感器不是无限快的采集、控制需要时间。 而且控制对象具有惯性。比如你将一个加热器拔掉它的“余热”即热惯性可能还会使水温继续升高一小会。 这时就需要一种『算法』 它可以将需要控制的物理量带到目标附近它可以“预见”这个量的变化趋势它也可以消除因为散热、阻力等因素造成的静态误差.... 于是当时的数学家们发明了这一历久不衰的算法——这就是PID。 你应该已经知道了PID是三种不同的调节作用既可以单独使用PID也可以两个两个用PIPD也可以三个一起用PID。 这三种作用有什么区别呢客官别急听我慢慢道来 我们先只说PID控制器的三个最基本的参数kP,kI,kD。 kP P就是比例的意思。它的作用最明显原理也最简单。我们先说这个 需要控制的量比如水温有它现在的『当前值』也有我们期望的『目标值』。 当两者差距不大时就让加热器“轻轻地”加热一下。要是因为某些原因温度降低了很多就让加热器“稍稍用力”加热一下。要是当前温度比目标温度低得多就让加热器“开足马力”加热尽快让水温到达目标附近。 这就是P的作用跟开关控制方法相比是不是“温文尔雅”了很多 实际写程序时就让偏差目标减去当前与调节装置的“调节力度”建立一个一次函数的关系就可以实现最基本的“比例”控制了~ kP越大调节作用越激进kP调小会让调节作用更保守。 要是你正在制作一个平衡车有了P的作用你会发现平衡车在平衡角度附近来回“狂抖”比较难稳住。 如果已经到了这一步——恭喜你离成功只差一小步了~ kD D的作用更好理解一些所以先说说D最后说I。 刚才我们有了P的作用。你不难发现只有P好像不能让平衡车站起来水温也控制得晃晃悠悠好像整个系统不是特别稳定总是在“抖动”。 你心里设想一个弹簧现在在平衡位置上。拉它一下然后松手。这时它会震荡起来。因为阻力很小它可能会震荡很长时间才会重新停在平衡位置。 请想象一下要是把上图所示的系统浸没在水里同样拉它一下 这种情况下重新停在平衡位置的时间就短得多。 我们需要一个控制作用让被控制的物理量的“变化速度”趋于0即类似于“阻尼”的作用。 因为当比较接近目标时P的控制作用就比较小了。越接近目标P的作用越温柔。有很多内在的或者外部的因素使控制量发生小范围的摆动。 D的作用就是让物理量的速度趋于0只要什么时候这个量具有了速度D就向相反的方向用力尽力刹住这个变化。 kD参数越大向速度相反方向刹车的力道就越强。 如果是平衡小车加上P和D两种控制作用如果参数调节合适它应该可以站起来了~欢呼吧 等等PID三兄弟好像还有一位。看起来PD就可以让物理量保持稳定那还要I干嘛 因为我们忽视了一种重要的情况 kI 还是以热水为例。假如有个人把我们的加热装置带到了非常冷的地方开始烧水了。需要烧到50℃。 在P的作用下水温慢慢升高。直到升高到45℃时他发现了一个不好的事情天气太冷水散热的速度和P控制的加热的速度相等了。 这可怎么办 P兄这样想我和目标已经很近了只需要轻轻加热就可以了。D兄这样想加热和散热相等温度没有波动我好像不用调整什么。 于是水温永远地停留在45℃永远到不了50℃。 作为一个人根据常识我们知道应该进一步增加加热的功率。可是增加多少该如何计算呢 前辈科学家们想到的方法是真的巧妙。 设置一个积分量。只要偏差存在就不断地对偏差进行积分累加并反应在调节力度上。 这样一来即使45℃和50℃相差不太大但是随着时间的推移只要没达到目标温度这个积分量就不断增加。系统就会慢慢意识到还没有到达目标温度该增加功率啦 到了目标温度后假设温度没有波动积分值就不会再变动。这时加热功率仍然等于散热功率。但是温度是稳稳的50℃。 kI的值越大积分时乘的系数就越大积分效果越明显。 所以I的作用就是减小静态情况下的误差让受控物理量尽可能接近目标值。 I在使用时还有个问题需要设定积分限制。防止在刚开始加热时就把积分量积得太大难以控制。 PID到底怎么调 PID参数调整口诀 参数整定找最佳从小到大顺序查 先是比例后积分最后再把微分加 曲线振荡很频繁比例度盘要放大 曲线漂浮绕大湾比例度盘往小扳 曲线偏离回复慢积分时间往下降 曲线波动周期长积分时间再加长 曲线振荡频率快先把微分降下来 动差大来波动慢。微分时间应加长 理想曲线两个波前高后低四比一 一看二调多分析调节质量不会低 若要反应增快增大P减小I 若要反应减慢减小P增大I 如果比例太大会引起系统震荡 如果积分太大会引起系统迟钝 四、用MOS管还是三极管 三极管 三极管全称应为半导体三极管也称双极型晶体管、晶体三极管是一种控制电流的半导体器件其作用是把微弱信号放大成幅度值较大的电信号 也用作无触点开关。 晶体三极管是半导体基本元器件之一具有电流放大作用是电子电路的核心元件。三极管是在一块半导体基片上制作两个相距很近的PN结两个PN结把整块半导体分成三部分中间部分是基区两侧部分是发射区和集电区可分为PNP和NPN两种。 场效应晶体管 场效应晶体管Field Effect Transistor缩写(FET)简称场效应管。 主要有JFET、MOSFET两种类型 结型场效应管junction FET—JFET)和金属 - 氧化物半导体场效应管metal-oxide semiconductor FET简称MOS-FET。由多数载流子参与导电也称为单极型晶体管。 它属于电压控制型半导体器件。具有输入电阻高、噪声小、功耗低、动态范围大、易于集成、没有二次击穿现象、安全工作区域宽等优点现已成为双极型晶体管和功率晶体管的强大竞争者。 场效应管FET是利用控制输入回路的电场效应来控制输出回路电流的一种半导体器件并以此命名。由于它仅靠半导体中的多数载流子导电又称单极型晶体管。 选用MOS管还是三极管 成本考量 在满足工程需求的条件下成本是在二者之间选择的关键。而成本又分为元器件价格与元器件自身功耗两方面。 价格方面三极管价格便宜场效应晶体管贵。 功耗方面三极管损耗大场效应晶体管损耗较小。 特性区别 1、场效应管是电压控制元件而三极管是电流控制元件。在只允许从信号源取较少电流的情况下应选用场效应管而在信号电压较低又允许从信号源取较多电流的条件下应选用三极管。 2、场效应管是利用多数载流子导电所以称之为单极型器件而三极管是即有多数载流子也利用少数载流子导电。被称之为双极型器件。 3、有些场效应管的源极和漏极可以互换使用栅压也可正可负灵活性比三极管好。 4、场效应管能在很小电流和很低电压的条件下工作而且它的制造工艺可以很方便地把很多场效应管集成在一块硅片上因此场效应管在大规模集成电路中得到了广泛的应用。 5、场效应晶体管具有较高输入阻抗和低噪声等优点因而也被广泛应用于各种电子设备中。尤其用场效管做整个电子设备的输入级可以获得一般三极管很难达到的性能。 6、场效应晶体管常用来电源开关以及大电流地方开关电路。MOS管用于高频高速电路大电流场合以及对基极或漏极控制电流比较敏感的地方。 . . 五、MOS管驱动电路 MOS管因为其导通内阻低开关速度快因此被广泛应用在开关电源上。而用好一个MOS管其驱动电路的设计就很关键。下面分享几种常用的驱动电路。 1 电源IC直接驱动 电源IC直接驱动是最简单的驱动方式应该注意几个参数以及这些参数的影响。 ①查看电源IC手册的最大驱动峰值电流因为不同芯片驱动能力很多时候是不一样的。 ②了解MOS管的寄生电容如图C1、C2的值这个寄生电容越小越好。如果C1、C2的值比较大MOS管导通的需要的能量就比较大如果电源IC没有比较大的驱动峰值电流那么管子导通的速度就比较慢就达不到想要的效果。 2 推挽驱动 当电源IC驱动能力不足时可用推挽驱动。 这种驱动电路好处是提升电流提供能力迅速完成对于栅极输入电容电荷的充电过程。这种拓扑增加了导通所需要的时间但是减少了关断时间开关管能快速开通且避免上升沿的高频振荡。 3 加速关断驱动 MOS管一般都是慢开快关。在关断瞬间驱动电路能提供一个尽可能低阻抗的通路供MOSFET栅源极间电容电压快速泄放保证开关管能快速关断。 为使栅源极间电容电压的快速泄放常在驱动电阻上并联一个电阻和一个二极管如上图所示其中D1常用的是快恢复二极管。这使关断时间减小同时减小关断时的损耗。Rg2是防止关断的时电流过大把电源IC给烧掉。 如上图是我之前用的一个电路量产至少上万台推荐使用。 用三极管来泄放栅源极间电容电压是比较常见的。如果Q1的发射极没有电阻当PNP三极管导通时栅源极间电容短接达到最短时间内把电荷放完最大限度减小关断时的交叉损耗。 还有一个好处就是栅源极间电容上的电荷泄放时电流不经过电源IC提高了可靠性。 4 隔离驱动 为了满足高端MOS管的驱动经常会采用变压器驱动。其中R1目的是抑制PCB板上寄生的电感与C1形成LC振荡C1的目的是隔开直流通过交流同时也能防止磁芯饱和。 六、电解电容为什么会爆炸 01 电解电容 电解电容是通过电解质作用在电极上形成的氧化层作为绝缘层的电容通常具有较大的容量。电解质是液体、胶冻状富含离子的物质大多数电解电容都是有极性的也就是在工作时电容的正极的电压需要始终比负极电压高。 电解电容的高容量也是牺牲了很多其它的特性换来的比如具有较大的漏电流、较大的等效串联电感和电阻、容值误差较大、寿命短等。除了有极性的电解电容之外也有无极性的电解电容。在下图中就是有两种1000uF16V的电解电容。其中较大的是无极性较小的是有极性的。 无极性和有极性电解电容电解电容内部可能是液体电解质或者固态聚合物电极材料常用铝Aluminum或者钽Tandalum。下图是常见的有极性铝电解电容内部的结构两层电极之间有一层浸有电解液的纤维纸再加一层绝缘纸转成圆柱形密封在铝制壳内。 电解电容内部结构 解剖开电解电容可以清楚地看到它的基本结构。为了防止电解液的蒸发和泄露电容引脚部分使用了密封橡胶进行固定。 当然图中也显示了有极性和无极性的电解电容的内部体积的差别。在同样容量和耐压等级下无极性的电解电容比有极性大了一倍左右。 无极性和有极性电解电容内部结构这样的差别主要来自于两种电容内部电极的面积出现了较大的差异。下图左边是无极性的电容电极右边是有极性的电极。除了面积差异之外两种电极厚度也有区别有极性的电容电极厚度较薄。 电解电容铝片不同的宽度 02 电容爆炸 当电容施加的电压超过其耐压时或者对于有极性电解电容电压极性加反时都会引起电容漏电流急剧上升造成电容内部热量增加电解液会产生大量的气体。 为了防止电容爆炸在电容外壳的顶部压制有三条凹槽这样便于电容顶部在高压下率先破裂释放内部的压力。 电解电容顶部的爆破槽 但是有的电容在制作过程中顶部的凹槽压制不合格电容内部的压力会使得电容底部的密封橡胶被弹出此时电容内部的压力突然释放就会形成爆炸。 1、无极性电解电容爆炸 下图显示了手边一颗无极性电解电容它的容量为1000uF耐压16V。在施加电压超过18V之后漏电流突然增加电容内部的温度和压力增加。最终电容底部的橡胶密封圈炸开内部电极像爆米花一下被砸松散。 无极性电解电容过压爆破 通过在电容上捆绑一个热电偶可以测量电容的温度随着施加的电压增加变化的过程。下图显示了无极性电容在电压增加过程中当施加的电压超过耐压值内部温度继续增高的过程。 电压与温度之间的关系下图显示了在同样的过程中流过电容的电流变化。可以看到电流的增加是造成内部温度上升的主要原因。在这个过程中电压是成线性增加随着电流急剧升高供电电源内组使得电压下降。最终当电流超过6A之后随着一声巨响电容炸开。 电压与电流之间的关系 由于无极性的电解电容内部体积大电解液多所以在过流之后所产生的压力巨大导致了外壳顶部的泄压槽没有破裂而电容底部的密封橡胶被炸开了。 2、有极性电解电容爆炸 对于有极性的电解电容施加电压。当电压超过电容的耐压时漏电电流也会急剧上升造成电容过热爆炸。 下图显示了有极限的电解电容它的容量为1000uF耐压16V。在过压之后通过顶部泄压槽释放内部气压过程因此就避免了电容爆炸过程。 下图显示了电容的温度随着施加电压的增加变化的情况当电压逐步接近电容的耐压后电容的留点电流增加内部的温度继续上升。 电压与温度之间的关系下图是电容的漏电电流变化情况标称为16V耐压的电解电容在测试过程中当电压超过15V之后电容的漏电便开始急剧上升了。 电压与电流之间的关系 通过前面两个电解电容的实验过程遭遇也可以看到对于此类1000uF普通电解电容耐压限制情况。为了避免电容被高压击穿因此在使用电解电容的时候需要根据实际电压波动情况留下足够的余量。 03 电解电容串联 在适当的情况下可以通过并联和串联来分别获得更大的电容容量和更大的电容耐压。 过压爆破之后的电解电容爆米花 在有些应用场合施加在电容上的电压是交流电压比如扬声器的耦合电容、交流电相位补偿、电机移相电容等需要使用无极性的电解电容。 在一些电容制造商给出的使用手册上也给出了使用传统的有极性电容通过背对背的串联即将两个电容的串联在一起但极性相反来获得无极性电容的效果。 过压爆破之后的电解电容 下面对比一下有极性电容在施加正向电压、反向电压、两个电解电容背对背串联成无极性电容三种情况下漏电流随着施加电压增加变化情况。 1、正向电压与漏电流 通过串联一个电阻来测量流过电容的电流在电解电容1000uF16V的耐压范围内从0V开始逐步增加施加的电压测量对应的漏电电流与电压之间的关系。 正极性串联电容下图显示了有极性铝电解电容的漏电流与电压之间的关系这是一个非线性的关系漏电电流在0.5mA以下。 正向串联之后电压电压与电流之间的关系 2、反向电压与漏电电流使用同样的电流测量施加方向电压与电解电容漏电电流之间的关系从下图可以看出当施加的反向电压超过了4V之后漏电电流便开始快速增加。通过后面的曲线斜率来看反向的电解电容相当于一个阻值 为1欧姆的电阻。 反向电压电压与电流之间的关系 3、背对背串联的电容将两个相同的电解电容1000uF16V背对背串联在一起形成一个无极性等效的电解电容然后测量它们的电压与漏电流之间的关系曲线。 正反极性串联电容 下图显示了电容电压与漏电流之间的关系可以看到在施加的电压超过4V之后漏电流会增加电流幅值小于1.5mA而这个测量结果的确有点令人感到意外你会看到这两个背对背串联电容的漏电流居然大于单个电容正向施加电压时漏电流。 正反向串联之后电压电压与电流之间的关系 不过由于时间原因对于这个现象后面没有进行重复测试也许其中一个电容使用的是刚才反向电压测试的电容内部已经有了损坏所以才产生了上面的测试曲线。 . 七、如何进行阻抗匹配 一件器材的输出阻抗和所连接的负载阻抗之间所应满足的某种关系以免接上负载后对器材本身的工作状态产生明显的影响。 什么是阻抗 在电学中常把对电路中电流所起的阻碍作用叫做阻抗。阻抗单位为欧姆常用Z表示是一个复数: Z Ri( ωL–1/(ωC)) 具体说来阻抗可分为两个部分电阻实部和电抗虚部。 其中电抗又包括容抗和感抗由电容引起的电流阻碍称为容抗由电感引起的电流阻碍称为感抗。 阻抗匹配的理想模型 信号源与传输线之间匹配分为两种情况 使信号源无反射方法是接入信号源与传输线之间接入匹配装置信号源共轭匹配方法是信号源与被匹配电路之间接入匹配装置这种情况下多属于有源电路设计 射频工程师大都遇到过匹配阻抗的问题通俗的讲阻抗匹配的目的是确保能实现信号或能量从“信号源”到“负载”的有效传送。 如下图所示其最最理想模型当然是希望信号源Source端的输出阻抗为50欧姆传输线的阻抗为50欧姆负载Load端的输入阻抗也是50欧姆一路50欧姆下去这是最理想的模型。 然而实际情况是源端阻抗不会是50ohm负载端阻抗也不会是50ohm这个时候就需要若干个阻抗匹配电路。 而匹配电路就是由电感和电容所构成这个时候我们就需要使用电容和电感来进行阻抗匹配电路调试以达到RF性能最优。 阻抗匹配的方法 阻抗匹配的方法主要有两个一是改变阻抗力二是调整传输线。 改变阻抗力就是通过电容、电感与负载的串并联调整负载阻抗值以达到源和负载阻抗匹配。 调整传输线是加长源和负载间的距离配合电容和电感把阻抗力调整为零。 此时信号不会发生发射能量都能被负载吸收。 高速PCB布线中一般把数字信号的走线阻抗设计为50欧姆。一般规定同轴电缆基带50欧姆频带75欧姆对绞线差分为85-100欧姆。 阻抗匹配Impedance matching其实是微波电子学里的一部分主要用于传输线上是为了达到所有高频微波信号都能传至负载点的目的不会有信号反射回源点。   大体上阻抗匹配有两种 一种是通过改变阻抗力lumped-circuit matching调整传输线transmission line matching 要匹配一组线路首先把负载点的阻抗值除以传输线的特性阻抗值来归一化然后把数值划在史密夫图表上。 改变阻抗力 把电容或电感与负载串联起来即可增加或减少负载的阻抗值在图表上的点会沿著代表实数电阻的圆圈走动。如果把电容或电感接地首先图表上的点会以图中心旋转180度然后才沿电阻圈走动再沿中心旋转180度。重复以上方法直至电阻值变成1即可直接把阻抗力变为零完成匹配。 调整传输线 由负载点至来源点加长传输线在图表上的圆点会沿著图中心以逆时针方向走动直至走到电阻值为1的圆圈上即可加电容或电感把阻抗力调整为零完成匹配。 阻抗匹配则传输功率大对于一个电源来讲当它的内阻等于负载时输出功率最大此时阻抗匹配。最大功率传输定理如果是高频的话就是无反射波。对于普通的宽频放大器输出阻抗50Ω功率传输电路中需要考虑阻抗匹配可是如果信号波长远远大于电缆长度即缆长可以忽略的话就无须考虑阻抗匹配了。阻抗匹配是指在能量传输时要求负载阻抗要和传输线的特征阻抗相等此时的传输不会产生反射这表明所有能量都被负载吸收了。反之则在传输中有能量损失。高速PCB布线时为了防止信号的反射要求是线路的阻抗为50欧姆。这是个大约的数字一般规定同轴电缆基带50欧姆频带75欧姆对绞线则为 100欧姆只是取个整而已为了匹配方便。 . 八、STM32中的上/下拉电阻 STM32中的GPIO 以STM32中的GPIO为例如上图是GPIO的结构图。 从上图中标号2处可以看到上拉和下拉电阻上都有一个开关通过配置上下拉电阻开关可以控制引脚的默认电平这里有三种状态 开启上拉时引脚默认电压为高电平开启下拉时引脚默认电压为低电平上拉和下拉不开启时这种状态我们称为浮空模式 STM32上下拉及浮空模式的配置是通过GPIOx_CRL和GPIOx_CRH寄存器控制的可以通过《STM32F1xx 中文参考手册》查阅。 开启上拉电阻或下拉电阻的作用 STM32内部的上拉其实是一个弱上拉也就是说通过此上拉电阻输出的电流很小如果想要输出一个大电流。那么就需要外接上拉电阻了其实就是增加导线的输出电流。 下拉电阻情况相反让STM32的CPU引脚输出低电平结果由于后续电路影响输出的低电平达不到GND。所以接个下拉电阻其实就是为了降低导线的输出电流。 另外当上下拉电阻都不开启此时是浮空模式引脚的电压是不确定的此模式下的管脚电压会时不时改变。 所以为了防止引脚悬空产生积累电荷、静电荷造成电路不稳定。一般情况下我们都会给引脚设置成上拉或者下拉模式使它有一个确定的默认电平状态。 以上拉电阻举例在STM32刚上电的时候芯片引脚电平是不确定的。特别引脚是接按键的时候必须给他个确定的电平。下拉电阻的作用就是强制让电平保持在低电平。 上下拉电阻阻值的大小     根据拉电阻的阻值大小可以分为强拉或弱拉weak pull-up/down。拉电阻阻值越小则表示电平能力越强为强拉可以抵抗外部噪声的能力也越强相应的功耗也越大。 举个例子 按键的上拉电阻可以选择3.3k、4.7k、5.1k、10k等但是电阻越小电流越大功耗也越大。10k的上拉电阻带来的电流是大多数芯片所能识别到的引脚电流如果电阻太大电流太小引脚识别不了所以10k是个折中的方案。这里的电流简单来说是根据公式VDD/R拉电阻计算出来的。 . 九、使用ADC精确测量电阻阻值 现在很多单片机都有ADC功能了10位或者12位的使用ADC测量电压是很方便的测量电阻阻值的话可以使用欧姆定律进行分压然后测量分压后的电压即可计算出电阻阻值最简单的电阻测量电路如下图 这时候测量点的电压计算公式为VoR2 / (R1 R2) * Uref。 这是最简单的测量计算方法。但是因为简单也会导致不少小问题比如如果R1取值为2KUref为5V而R2的阻值范围在5到10欧姆左右那么R2分得的电压Vo0.01247到0.02488电压变化的范围过小如果ADC是12位的ADC的参考电压为3.3V这时候ADC的采集值的范围在15到30也就是AD值的变化范围有30-1515个而电阻的变化范围为10-55欧姆也就是5欧姆的变化范围用15个AD值的变化来计算那么AD测量的精度就是5欧姆 / 15个 0.33欧姆也就是AD值加1计算得到的电阻值就要加0.33欧姆这精度着实让人接受不了。 再比如R1和Uref的值不变而R2的阻值范围在1K到2K之间同样的计算方法得到R2的分压值Vo1.1到1.65伏AD值的范围为1365到2048AD的测量精度为1K/(2048-1365)1.46。奇怪的是为什么AD值的范围这么大了精度反而更很差劲呢因为电阻的取值范围很宽导致精度降低了。 怎么办我想要测量一个比较精密的电阻的阻值R2该怎么办下面的方法是网上的电桥测量电阻的方法我为了测量方便有所修改。电阻网络电路如下图 R2的电阻阻值大约在100到200欧姆我们取一个参考电阻R3为100欧R1和R3阻值相同为2K。这样得到了U1和U2两个分压值U2为固定电压U2100 / (1002000) * Uref。U1的值根据R2的变化而改变U1R2 / (R22000) * ref。得到了U1和U2之后可以计算压差 △UU1-U2将这两个电压输入到运算放大器中去进行合理放大使得得到的输出电压范围在ADC参考电压范围内尽可能的宽这样使用ADC就能更加精确地测量到电压值。使用运放进行放大的电路如下图 在R5R6R7R8的情况下运放的放大倍数mR7 / R5。电路中的放大倍数为m20。经运放放大后得到了Uo送到单片机系统的ADC中去进行AD采样。那么我们可以计算一下ADC测量得到的AD值和电阻R2之间的关系。 现在假定ADC系统的参考电压为UadcADC采样位数为12位ADC的测量值为A那么Uo的计算公式如下 Uo A / 4096 * Uadc 而Uo也是运放的输出电压根据电桥网络和运放进行计算可以得到 Uo (U1-U2) * m ( (R2/(R1R2) - R4/(R3R4) ) * Uref * m 也就是说 ( (R2/(R1R2) - R4/(R3R4) ) * Uref * m A / 4096 * Uadc ----------------------------① 上式中R1、R3、R4、m、Uref、Uadc都是已知的那么根据ADC测量得到的值A’就可以轻松计算出来电阻R2的阻值。 上面说的是理论上的计算方式的确是这样的但是往往现实都比较残酷由于电阻都有误差而且运放也不是绝对精密那么已知的R1、R3、R4、m、Uref、Uadc几个参数都是和真实值有微小差别的例如电阻R1的标称电阻为2K误差为1%万用表测量得到的阻值为1980欧姆显然误差是有的直接带入式子进行计算是不可行的。那怎么办呢 解决办法总是有的。前面公式①中是根据ADC的测量值和几个已知参数来求电阻R2的阻值那么我们就反过来使用若干组已知的固定阻值的R2电阻接入电阻网络并测量出AD值A来计算R1、R3、R4、m、Uref、Uadc几个参数但是这几个参数有点多6个未知参数需要6组式子才能解出来非常的费劲那么我们就简化一下计算方式。 我们将R4设为0欧姆也就是U2接到GNDU20这样式子①就能简化成 R2/(R1R2) * Uref * m A / 4096 * Uadc ----------------------------② 这不简单多了好现在我们要求出式子中的R1的阻值和放大倍数m两个未知数我们就需要两组已知的点(R2A)来求出参数R1和m。这样取第一个点的测试电阻为R21AD值为A1第二个点的测试电阻为R22AD值为A2带入到式子②中去得到 R21/(R1R21) * Uref * m A1 / 4096 * Uadc R22/(R1R22) * Uref * m A2 / 4096 * Uadc 上面的式子除以下面的式子可以得到 (R21/(R1R21)) / (R22/(R1R22)) A1 / A2 进过整理之后得到 R1(R21 * R22) * (A2 - A1) / (R22A1 - R21 * A2) 这就求出来了R1的阻值了。 然后我们再求m的值根据式子②可以得到m的计算公式为 m (A / 4096 * Uadc) / (R2/(R1R2) * Uref) 我们将电阻网络的电源和ADC系统的参考电源连接到一起也就是说UrefUadc我们要保证电源的稳定性可以使用TL431或者REF3030等高精度稳压芯片生产稳定电压源为电阻网络和ADC系统供电。由于UrefUadc这样的话上面的式子得到了简化 m (A / 4096) / (R2/(R1R2)) 整理得到 m A(R1R2) / (4096 * R2) ----------------------------③ 式子③中R1在前面已经算出来了那么m也求出来了。 到这里我们已经求出来了R1和m的值后面就能根据这两个参数和测量出来的AD值求出来待测电阻R2的值了。由于UrefUadc式子②变成 R2/(R1R2) * m A / 4096 整理得到 R2 A * R1 / (4096*m - A) ----------------------------④ 式子④已经简单到只需要A、R1、m就能计算出来R2的阻值了并且使用的R1和m都是我们自己计算出来的值而不是直接使用理论计算出来的值精度提高了不少。同时我们可以发现由于UrefUadc上面的式子②两端约分了所有计算竟然和Uref、Uadc没有关系了也就是说不管Uref、Uadc怎么变动只要Uref和Uadc一直是相等的所有参数和阻值的计算都不涉及到Uref和Uadc。但是我们最好要保证Uadc的稳定不然测量出来的AD值会不准确的。 . 十、ADC内部原理 STM32包括ADC模块。ADC(Analog-to-Digital Converter)即模拟信号转换为数字信号的装置是数字系统必不可少的组成部分。在STM32中ADC模块分为多个硬件单元可以通用于多种模拟输入信号。 1. ADC硬件结构 STM32的ADC模块通常包括多个单元其中核心单元为ADCx(其中x表示数字)。每个ADC单元都可以转换多个模拟采样通道并支持多路通道转换其中ADC1/ADC2最多支持16通道而ADC3最多支持18通道。而每个通道对应着一个和该通道关联的模拟输入引脚这些引脚是由芯片的管脚引出。 ADC单元由以下几个部分组成 ①模拟参考电压模拟输入信号的参考电压通常由最大模拟值Vref和最小模拟值Vref-的差值所得。在STM32中参考电压可以从内部的参考电路或外部引脚输入。 ②采样保持电路采样保持电路旨在在转换之前保持输入电平稳定。STM32采取了先进的可编程采样保持电路可以实现各种采样时间和采样保持电压的组合。 ③ADC时钟ADC单元需要一个时钟来控制转换速率。时钟的频率由ADC预分频器控制可以将外部时钟频率分频至合适的转换速率。 ④转换器ADC单元的核心部分是ADC转换器。在转换过程中模拟输入信号被转换为数字信号通过DMA通道传输到内存中并在转换完成后触发中断。 2. ADC工作流程 ADC模块的工作流程可以分为以下几个步骤 ①初始化ADC单元包括配置时钟、参考电压源、采样保持时间等。 ②配置模拟输入通道和采样时间确定要读取的模拟输入通道以及采样保持时间。 ③校准ADC单元ADC单元需要在每次启动前进行校准。校准过程将自动调整内部参考电压以保证准确的转换。 ④启动ADC单元在转换之前通过软件启动ADC单元开始进行转换。 ⑤读取转换结果当转换完成后ADC单元会触发转换完成中断并将转换结果存储在寄存器中。此时可以使用DMA通道将转换结果传输到内存中也可以直接读取寄存器中的值。 如果要对每个通道进行连续转换可以使用扫描模式。扫描模式允许一次启动多个转换并允许设置转换顺序。 用了这么久ADC,从没细看过ADC的内部原理和如何获得最佳精度今天看到一篇ST的官方文档讲的不错这里整理分享给大家 SAR ADC内部结构  STM32微控制器中内置的ADC使用SAR逐次逼近原则分多步执行转换。转换步骤数等 于ADC转换器中的位数。每个步骤均由ADC时钟驱动。每个ADC时钟从结果到输出产生一 位。ADC的内部设计基于切换电容技术。 下面的图介绍了ADC的工作原理。下面的示例仅显示了逼近的前面几步但是该过程会持续到LSB为止 SAR切换电容ADC的基本原理10位ADC示例 带数字输出的ADC基本原理图 采样状态 采样状态电容充电至电压VIN。Sa切换至VIN采样期间Sb开关闭合 保持状态 保持状态输入断开电容保持输入电压。Sb开关打开然后S1-S11切换至接地且Sa切换至VREF。 逐次逼近 1、第一个逼近步骤。S1切换至VREF。VIN与VREF/2比较 2、如果MSB 0则与¼VREF进行比较S1切换回接地。S2切换至VREF。 3、如果MSB 1则与¾VREF进行比较S1保持接地。S2切换至VREF。  重复如上步骤直到LSB为止。可以简单理解为二分法逐次进行输入电压与参考电压的比较。首次于VREF/2比较下次比较根据上次比较结果决定如果MSB1则与¾VREF比较。如果MSB0则与¼VREF比较。后面决定与1/8VREF 3/8VREF、 5/8VREF、 7/8VREF之一做比较。循环直到输出LSB为止。 . 十一、解决RFID噪声 射频标签RFID是一项伟大的技术但是有噪声的电源和其它一些因数可能会降低其性能。采用低频信号比如130kHz的RFID阅读器如业内常用的TIRIS RFM-007B对这个频率范围内的噪声就非常敏感。开关电源经常会产生这个频率范围内的噪声因此为了得到最大的灵敏度通常需要使用较重的、昂贵的线性电源。 然而RFID阅读器的工作周期包含多个阶段只有一个阶段对噪声敏感。这几个阶段分别是大功率阶段发射功率10W持续时间50ms低功率阶段接收18ms空闲阶段最长33ms取决于固件。噪声只是在时间很短的接收阶段出现的问题。 本设计实例在接收和空闲阶段关闭了开关电源让模块使用C2中存储的能量继续工作。 图1选择性关闭电源的RFID。 像LM2576这样的降压转换器都有一个关断输入引脚使得上述操作很容易实现。 MCU的RFID模块发射控制线/TXCT通过U3和Q1也可以控制关断线若是需要还可以采用独立的MCU输出来控制关断线。 图2典型的电源工作周期时序。 叉车经常使用RFID进行位置检测从而实现自动物流以及限速等安全功能。 电动叉车所处环境的噪声特别大电机驱动中所产生的高频调制大电流使RFID工作起来相当困难。若是使用本文介绍的控制技术使RFID周期与修改后的电机驱动周期保持同步由电机驱动干扰引起的灵敏度降低的问题就可以得到极大的改善。  . 十二、阻抗匹配 什么是阻抗 在电学中常把对电路中电流所起的阻碍作用叫做阻抗。阻抗单位为欧姆常用Z表示是一个复数Z Ri( ωL–1/(ωC)) 具体说来阻抗可分为两个部分电阻实部和电抗虚部。 其中电抗又包括容抗和感抗由电容引起的电流阻碍称为容抗由电感引起的电流阻碍称为感抗。 阻抗匹配的理想模型 射频工程师大都遇到过匹配阻抗的问题通俗的讲阻抗匹配的目的是确保能实现信号或能量从“信号源”到“负载”的有效传送 其最最理想模型当然是希望Source端的输出阻抗为50欧姆传输线的阻抗为50欧姆Load端的输入阻抗也是50欧姆一路50欧姆下去这是最理想的。 然而实际情况是源端阻抗不会是50ohm负载端阻抗也不会是50ohm这个时候就需要若干个阻抗匹配电路 而匹配电路就是由电感和电容所构成这个时候我们就需要使用电容和电感来进行阻抗匹配电路调试以达到RF性能最优。 阻抗匹配的方法 阻抗匹配的方法主要有两个一是改变阻抗力二是调整传输线。 改变阻抗力就是通过电容、电感与负载的串并联调整负载阻抗值以达到源和负载阻抗匹配。 调整传输线是加长源和负载间的距离配合电容和电感把阻抗力调整为零。 此时信号不会发生发射能量都能被负载吸收。 高速PCB布线中一般把数字信号的走线阻抗设计为50欧姆。一般规定同轴电缆基带50欧姆频带75欧姆对绞线差分为85-100欧姆。 Smith圆图在RF匹配电路调试中的应用 Smith圆图上可以反映出如下信息 阻抗参数Z导纳参数Y品质因子Q反射系数驻波系数噪声系数增益稳定因子功率效率频率信息等抗等参数。 是不是一脸懵我们还是来看阻抗圆图吧 阻抗圆图的构图原理是利用输入阻抗与电压反射系数之间的一一对应关系将归一化输入阻抗表示在反射系数极坐标系中其特点归纳如下 1.上半圆阻抗为感抗下半圆阻抗为容抗 2.实轴为纯电阻单位圆为纯电抗 3.实轴的右半轴皆为电压波腹点除开路点左半轴皆为电压波节点除短路点 4.匹配点10开路点∞∞和短路点00 5.两个特殊圆:最大的为纯电抗圆与虚轴相切的为匹配圆 6.两个旋转方向:逆时针转为向负载移动顺时针转为向波源移动。 导纳圆图与阻抗圆图互为中心对称同一张圆图即可以当作阻抗圆图来用也可以当作导纳圆图来用但是在进行每一次操作时若作为阻抗圆图用则不能作为导纳圆图。 Smith圆图中能表示出一些很有意思的特征 在负载之前串联或并联一个可变电感/电容电路图如下图左侧4个图所示将得到Smith圆图上右侧的几条曲线。对应Smith阻抗圆及导纳圆其运动轨迹如下 1、使用Smith阻抗圆时串联电感顺时针转串联电容逆时针转 2、使用Smith导纳圆时并联电感逆时针转并联电容顺时针转。 . 十三、单片机程序加密 为了防止大家的程序不被剽窃本文给大家分享单片机加密的方法。攻防不分家 常见加密方法 程序写保护 这种方法是最常见也是最简单的一种。现在的MCU基本都有写保护功能但是这种容易被人破解。 烧断数据总线 这个方法听起来不错但有损坏的风险同样也能破解。 软件加密 是一些防止别人读懂程序的方法单一的这种方法不能防止别人全盘复制须配合其他的加密算法。 添加外部硬件电路的加密方法 这个方法效果看起来比较好但会增加成本。 芯片打磨改型 这个方法改了型号能误导但同时也增加成本解密者一般也能分析出来。 通过通过联网加序列号加密 通过连接网络在你的MCU中生成一个唯一的随机长序列号并加入复杂的特种算法或加入你们重新编码的企业信息在里面每个芯片内不同复制者只能复制到一个序列号。 通过MCU唯一的标识加密 以前很多MCU没有唯一标识码现在的很多MCU都具有唯一标识码了。 这个方法比较好简单省事能很好的防止复制。 读保护 唯一ID加密 使用读保护  唯一ID的加密是最常用的一种方法也是推荐大家使用的一种方法。 唯一ID 现在正规的芯片每颗出厂的时候都带了一个唯一标识码这个号码是唯一不重复的比如STM32的就使用96位作为唯一ID。 和我们每个人的身份证号码一样现在刚出生的婴儿上户的时候就给他一个身份证号那么每个芯片一生产出来也就具备了这个身份证号。 加密原理 读保护就不用说了增加被破解难度。 使用唯一ID加密的方法很多这里说一种简单的方法出厂时程序读取唯一ID并保存在一个位置以后程序执行之前要读取并匹配这个唯一ID一致才执行程序。 当然这种方法是最基础的原理但也存在被破解的风险。所以存储的数据以及读取验证这两个地方需要进一步添加一些算法。 这样操作之后即使别人读取了你的程序也是无法正常执行。 单片机加密、解密 单片机MCU一般都有内部程序区和数据区或者其一供用户存放程序和工作数据或者其一。为了防止未经授访问或拷贝单片机的机内程序大部分单片机都带有加密锁定位或者加密字节以保护片内程序。 如果在编程时加密锁定位被使能锁定就无法用普通编程器直接读取单片机内的程序这就叫单片机加密。 单片机程序基本上都存在于Flash中大部分能够读取或者识别Flash上的数据就能够获得固件文件从而给复制产品带来了机会。 单片机攻击者借助专用设备或者自制设备利用单片机芯片设计上的漏洞或软件缺陷通过多种技术手段就可以从芯片中提取关键信息获取单片机内程序这就叫单片机解密。 单片机解密又叫单片机破解、芯片解密、IC解密但是严格说来这几种称呼都不科学但已经成了习惯叫法我们把CPLD解密、DSP解密都习惯称为单片机解密。单片机只是能装载程序芯片的其中一个类。 能烧录程序并能加密的芯片还有 DSP、CPLD、PLD、AVR、ARM等。当然具有存储功能的存储器芯片也能加密比如DS2401、DS2501、AT88S0104、DM2602、AT88SC0104D等当中也有专门设计有加密算法用于专业加密的芯片或设计验证厂家代码工作等功能芯片该类芯片也能实现防止电子产品复制的目的。 单片机解密方法 1 软件攻击 该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。 比如一个典型事例是对早期XXX系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞使用自编程序在擦除加密锁定位后停止下一步擦除片内程序存储器数据的操作从而使加过密的单片机变成没加密的单片机然后利用编程器读出片内程序。 目前在其他加密方法的基础上可以研究出一些设备配合一定的软件来做软件解密。 还有比如利用某些编程器定位插字节通过一定的方法查找芯片中是否有连续空位也就是说查找芯片中连续的FFFF字节插入的字节能够执行把片内的程序送到片外的指令然后用解密的设备进行截获这样芯片内部的程序就被解密完成了。 2 电子探测攻击 该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性并通过监控它的电磁辐射特性来实施攻击。 因为单片机是一个活动的电子器件当它执行不同的指令时对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化即可获取单片机中的特定关键信息。 3 过错产生技术 该技术使用异常工作条件来使处理器出错然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。 低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。 该办法就是使得单片机异常运行从而使得单片机处于非保护状态。 4 探针技术 该技术是直接暴露芯片内部连线然后观察、操控、干扰单片机以达到攻击目的。 如果芯片内部都完全暴露了那么芯片相当于在裸奔 单片机解密分类 为了方便起见人们将以上四种攻击技术分成两类一类是侵入型攻击物理攻击这类攻击需要 破坏封装然后借助半导体测试设备、显微镜和微定位器在专门的实验室花上几小时甚至几周时间才能完成。 所有的微探针技术都属于侵入型攻击。另外三种方法属于非侵入型攻击被攻击的单片机不会被物理损坏。在某些场合非侵入型攻击是特别危险的这是因为非侵入型攻击所需设备通常可以自制和升级因此非常廉价。 大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。与之相反侵入型的探针攻击则不需要太多的初始知识而且通常可用一整套相似的技术对付宽范围的产品。 因此对单片机的攻击往往从侵入型的反向工程开始积累的经验有助于开发更加廉价 和快速的非侵入型攻击技术。 侵入式解密过程 侵入型攻击的第一步是揭去芯片封装简称“开盖”有时候称“开封”英文为 “DECAP”decapsulation。有两种方法可以达到这一目的第一种是完全溶解掉芯片封装暴露金属连线第二种是只移掉硅核上面的塑料封装。 第一种方法需要将芯片绑定到测试夹具上借助绑定台来操作。第二种方法除了需要具备攻击者一定的知识和必要的技能外还需要个人的智慧和耐心但操作起来相对比较方便完全实验室中操作。 芯片上面的塑料可以用小刀揭开芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行因为水的存在可能会侵蚀已暴露的铝线连接 这就可能造成解密失败。 接着在超声池里先用丙酮清洗该芯片以除去残余硝酸并浸泡。 最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜从编程电压输入脚的连线跟踪进去来寻找保护熔丝。若没有显微镜则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。 操作时应用不透明的物体覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下10分钟就能破坏掉保护位的保护作用之后使用简单的编程器就 可直接读出程序存储器的内容。 对于使用了防护层来保护EEPROM单元的单片机来说使用紫外光复位保护电路是不可行的。对于这种类型的单片机一般使用微探针技术来读取存储器内容。在芯片封装打开后将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。 由于某种原因芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。 还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝从而寻查和这部分电路相联系的所有信号线。 由于设计有缺陷因此只要切断从保护熔丝到其它电路的某一根信号线或切割掉整个加密电路或连接13根金线通常称 FIBfocused ion beam就能禁止整个保护功能这样使用简单的编程器就能直接读出程序存储器的内容。 虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能但由于通用低档的单片机并非定位于制作安全类产品因此它们往往没有提供有针对性的防范措施且安全级别较低。 加上单片机应用场合广泛销售量大厂商间委托加工与技术转让频繁大量技术资料外泻使得利用该类芯片的设计漏洞和厂商的测试接口并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。 对单片机加密几点建议 任何一款单片机从理论上讲攻击者均可利用足够的投资和时间使用以上方法来解密。这是系统设计者应该始终牢记的基本原则。 因此作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术做到知己知彼心中有数才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。 下面是根据某公司的解密实践提出的建议 在选定加密芯片前要充分调研了解单片机破解技术的新进展包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片选择采用新工艺、新结构、上市时间较短的单片机。对于安全性要求高的项目尽量不要使用普及程度最高被研究得也最透的芯片。产品的原创者一般具有产量大的特点所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度选用一些生僻的单片机。在设计成本许可的条件下应选用具有硬件自毁功能的智能卡芯片以有效对付物理攻击另外程序设计的时候加入时间到计时功能比如使用到1年自动停止所有功能的运行这样会增加破解者的成本。如果条件许可可采用两片不同型号单片机互为备份相互验证从而增加破解成本。打磨掉芯片型号等信息或者重新印上其它的型号以假乱真。可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。你应在程序区写上你的大名单位开发时间及仿制必究的说法以备获得法律保护另外写上你的大名的时候可以是随机的也就是说采用某种算法外部不同条件下你的名字不同比如www.XXXXX.com、www.XXXXX.cn、 www.XXXXX.com.cn等这样比较难反汇编修改。采用高档的编程器烧断内部的部分管脚还可以采用自制的设备烧断金线这个目前国内几乎不能解密即使解密也需要上万的费用需要多个母片。采用保密硅胶环氧树脂灌封胶封住整个电路板PCB上多一些没有用途的焊盘在硅胶中还可以掺杂一些没有用途的元件同时把MCU周围电路的电子元件尽量抹掉型号。可以用编程器把空白区域中的FF改成00也就是把一些未使用的空间都填充好,这样一般解密器也就找不到芯片中的空位,也就无法执行以后的解密操作。 当然要想从根本上防止单片机被解密那是不可能的加密技术不断发展解密技术也不断发展现在不管哪个单片机只要有人肯出钱去做基本都可以做出来只不过代价高低和周期长短的问题编程者还可以从法律的途径对自己的开发作出保护比如专利。 . 十四、RISC-V将做为航天计算芯片 这个就像个广告哦~~ 就是看见了 发来一下 RISC-V真的要上天了 因为美国知名的RISC-V芯片设计厂商SiFive宣布 NASA选中RISC-V作为下一代高性能航天计算 (HPSC) 提供核心CPU。 SiFive声称该处理器将提供至少100倍于当前航天计算机的算力且将适用于从行星探索到月球和火星表面任务的所有类型的未来太空任务。 消息一传出有网友表示惊讶还以为NASA会选择一个已被检验过的CPU没想到选了RISC-V。 那么这一选择背后的考量是怎样呢赶紧来看看。 为什么会选RISC-V 首先让我们认识一下RISC-V芯片的载体——HPSC。 HPSC是NASA正在打造的下一代高性能航天计算其目标是取代老化的基于PowerPC的BAE系统的RAD750单板计算机。 美国宇航局高级航空电子设备首席技术专家Wesley Powell对此表示 我们目前的航天计算机是近30年前开发的虽然它们在过去的任务中表现出色但未来的NASA任务需要显着提高机载计算能力和可靠性。 新的计算处理器将提供性能、容错性和灵活性所需的进步以满足这些未来的任务需求。 正是基于此符合这些条件的RISC-V也就顺势而出了。 据SiFive官网介绍除了4个通用的SiFive RISC-V内核HPSC还将使用8核的SiFive X280 RISC-V矢量核。 X280是一个多核、多集群能力的 RISC-V处理器提供了对RISC-V矢量扩展标准和SiFive智能扩展的全面支持并针对边缘的AI/ML计算进行了优化。 这也意味着X280在拥有比标准RISC-V内核高六倍的性能时还能保持平台的低功耗。 此之外在纯粹的性能外用于外太空的芯片还必须可以应对恶劣的操作条件而新的容错处理器正是X280的特点之一。 最后也可能是最重要的是RISC-V的开源属性。 根据SiFive业务发展高级副总裁Jack Kang的说法RISC-V架构是最有可能在10年、15年甚至20年后拥有大量开发人员基础的架构之一因此选择RISC-V将是NASA的一个安全赌注。 综上所述高性能、低功耗、容错属性和长使用寿命RISC-V能荣升宇航级应用也就不奇怪了。 关于SiFive 这次被NASA选中的公司SiFive是一家处理器内核、AI加速器和SoC IP供应商由加州大学伯克利分校教授、RISC-V创始人之一Krste Asanovic和他的两名研究生共同创立。 虽然这家公司2015年才成立但在短短几年时间里已经发展成全球首家基于RISC-V定制化的半导体企业其RISC-V架构处理器有超过100项专利。 今年3月更是宣布获得Coatue Management领投的1.75亿美元F轮融资公司估值超过25亿美元成为了RISC-V芯片阵营首个“独角兽”。 对于此次被NASA选中SiFive业务发展高级副总裁Jack Kang表示 我们一直说SiFive的未来没有限制我们很高兴看到我们创造的影响力远远超出了我们的星球。 . 十五、Buck电路 这个电路简洁而不简单 Buck、Boost、Buck-Boost作为直流开关电源中应用广泛的拓扑结构属于非隔离的直流变换器。本期内容小编将对其中的Buck电路展开详细介绍。 降压式Buck变换器是一种输出电压≤输入电压的非隔离直流变换器。Buck变换器的主电路由开关管Q二极管D输出滤波电感L和输出滤波电容C构成。 接下来将从1. 开关整流器基本原理 2. 传说中的“伏-秒平衡” 3. 同步整流死区时间等三部分详细介绍Buck电路的工作原理。 让我们打起精神擦亮眼睛深刻体会简洁而不简单的Buck电路吧 Part 1 开关整流器基本原理 在[0,Ton]期间开关导通在[TonTs]期间Q截止。设开关管开关周期为Ts则开关频率fs1/Ts。导通时间为Ton关断时间为Toff则TsTonToff。设占空比为D则DTon/Ts。改变占空比D即改变了导通时间Ton的长短这种控制方式成为脉冲宽度调制控制方式Pulse Width Modulation, PWM。 Buck电路特征 •  输出电压≤输入电压  •  输入电流断续 •  输出电流连续  •  需要输出滤波电感L和输出滤波电容C Part 2 传说中的“伏-秒平衡” 伏秒原则又称伏秒平衡是指开关电源稳定工作状态下加在电感两端的电压乘以导通时间等于关断时刻电感两端电压乘以关断时间或指在稳态工作的开关电源中电感两端的正伏秒值等于负伏秒值。 在一个周期 T 内 电感电压对时间的积分为 0称为伏秒平衡原理。正如本文开头视频中指出任何稳定拓扑中的电感都是传递能量而不消耗能量 都会满足伏秒平衡原理。 Part 3 同步整流死区时间 同步整流是采用极低导通电阻的的MOSFET来取代二极管以降低损耗的技术大大提高了DCDC的效率。 物理特性的极限使二极管的正向电压难以低于0.3V。对MOSFET来说可以通过选取导通电阻更小的MOSFET来降低导通损耗。 在开关电源系统中死区时间Dead Time是指为了避免两个晶体管开关同时导通而引入的屏蔽时间。 连接的两个晶体管开关通过交互地闭合和关断来决定线圈中电流的增减。为避免两个晶体管同时导通造成不必要的电流浪涌即需控制电路在开关动作引入死区特性。在死区时间内需要完成对已导通晶体管的关断和另一晶体管的导通。 死区时间 •  设置必要的死区时间以防止短路。 •  死区时间越小体二极管传导越少。 •  死区时间越小损耗越小效率越高。 十六、电烙铁焊锡有没有毒 电烙铁焊锡有毒吗  有网友吐槽称他在PCB工厂用电烙铁焊锡一年整了都感觉到身体开始不舒服了腹部有点胀焊锡有毒吗是不是会铅中毒。 其实这个还要看工作中用电烙铁焊锡的有铅焊锡丝还是无铅并需要定期检查血铅没有超标就完全不会有问题的焊锡有毒吗 正常来讲如果按照国家标准进行防护与原材料采购焊锡是不会造成重大伤害的。现在基本上都是使用无铅的产品了。 铅是一种有毒物质人体吸收过量会引起铅中毒摄入低剂量可能会对人的智力、神经系统和生殖系统造成影响。 锡与铅的合金就是常用的焊锡它具有金属良好的导电性溶点又低所以长期以来用于焊接工艺。它的毒性主要来自铅。焊锡所产生的铅烟容易导致铅中毒。 金属铅可能产生铅化合物全被归类为危险物质在人体中铅会影响中枢神经系统及肾脏。 铅对一些生物的环境毒性已被普遍证实。血液铅浓度达10μg/dl以上就会产生敏感的生化效应若长期曝露使血液铅浓度超过60~70μg/dl就会造成临床铅中毒。 有铅的肯定是有毒的先别说焊锡对身体影响大不大就是一般的金属多了也会中毒焊锡的时候会有烟雾出现里面含有一种对身体有害的元素。 工作的时候最好是带口罩 但是多多少少还是会有点影响当然如果能用无铅焊锡丝 会比有铅的要安全的多。 无铅焊锡有毒吗  用电烙铁焊锡的材料焊锡丝它虽然主要成份是锡但也含有其他金属。主要分为有铅和无铅即环保型。随着欧盟ROHS标准的出台现在越来越多的PCB焊接工厂选择了无铅环保型的有铅焊锡丝也在慢慢被替用不是环保的出不了口。无铅锡膏无铅锡丝无铅锡条是目前市场上的主要产品。 简单来说一般用的焊锡因为熔点低含铅60%、含锡40%左右所以焊锡本身是有毒性的。而市场上大部分的焊锡都是中空的内装有松香所以你所说的气体估计是焊接时焊锡内的松香熔化时所挥发出来的。 松香挥发出来的气体也是有些微毒性的这种气体挺难闻的。焊锡在焊接时最主要的危害因素是铅烟哪怕是无铅焊锡其中多少都含有一定的铅。 铅烟在GBZ2-2002中的限值很低毒性很大需重点防护。由于焊接过程对人体和环境的破坏在欧洲对焊接工人的保护及对环境的保护已以立法的形式强制执行在没有如何防护措施的条件下进行焊接是不允许的。在ISO14000标准中对生产环节产生的污染进行处理和防护有明确的规定。 锡都含有铅以前焊锡丝内有铅把焊锡归类为职业危害岗位在国家职业病目录中现在我们一般企业都使用无铅焊锡丝了主要成分是锡疾病预防控制中心测的是二氧化锡并不在国家职业病目录中。 无铅工艺leadfree一般来说铅烟是不会超标的但是焊锡还存在其他的危害了比如助焊剂松香类物质有一定的危害得视具体情况来来看。员工平时可以看一下配发下来的锡是什么标识的是属于哪一类的这样可以有据可查及要求企业整改可以提意见给工厂内部工会。 要是配的锡是含铅的肯定是对身体有害的。时间长了它们在身体积累对神经系统免疫破坏很大的。 无铅焊锡丝是环保的但是无铅焊锡丝对人体也有害无铅焊锡丝的铅含量低并不是不含铅和含铅的焊锡丝相比无铅焊锡丝对环境和人体的污染比含铅的要小。焊锡时产生的气体是有毒的有松香油、氯化锌等气体蒸气产生。 电烙铁焊锡丝有毒怎么防范 首先PCB工厂在用电烙铁焊锡焊接元器件时要使用ROHS的锡丝并要做好防范工作 比如带手套、口罩或防毒面具工作场所注意通风排风系统好工作后注意清洗喝牛奶的方法也是可以预防焊锡中的铅毒性的。 1、要休息一段时间一般1小时要休息15分钟左右缓解疲劳因为疲劳时抵抗力最差。 2、少抽烟 多喝水 这样在白天可以排除大部分吸收的有害物质。 3、睡前饮绿豆汤或者蜂蜜水 这样可降火 对心情有帮助 而且绿豆和蜂蜜可以排除吸收的大量的铅和辐射。 4、可把烙铁搞的亮一点尽量用PPD的焊头这样温度达到了可以少用焊油和松香减轻对身体的危害 5、焊油焊锡冒烟时候尽量头向边上偏点 刷天那水时候也要把头偏到边上点 尽量屏住呼吸。 6、多用酒精用酒精多刷一会效果差不多的。 7、焊接完要洗干净手。 8、睡觉前洗澡尽量早睡早起保证充足的睡眠只要睡的好杂质基本都可随身体排出。 9、带口罩工作。
http://www.pierceye.com/news/797128/

相关文章:

  • 网站菜单导航制作教程畅言 wordpress插件
  • 太原网站建设联系方式免费创建网站教程
  • 有服务器自己怎么做网站深圳财务小公司网站
  • 装修装饰网站建设东莞环保公司
  • 网站开发大公司需要资格证吗申请域名免费
  • 建设维护网站未签订合同网站上线之前做哪些工作
  • dede 网站图标网站安装php
  • 网站管理更新维护湖南网站建设策划
  • 桥头东莞网站建设网站建设的开发方式和费用
  • 无锡网站优化哪家好wordpress会员内容
  • 网站需求分析的重要手机网站建设的规划
  • 国内大一html网站简单设计用那种语言做网站比较好
  • 网站的flash陕西煤化建设集团铜川分公司网站
  • 网站还能赚钱吗logo公司商标设计
  • 数字校园建设专题网站wordpress游览器标签页
  • 企业网站分析报告途牛网站大数据建设
  • 免费创建论坛网站wordpress sql插件
  • 有移动端网站 怎么做app做网站的困难
  • 金种子酒业网站建设苏州专业的网站建设公司
  • 住房与住房建设部网站首页给网站做收录较好的软件
  • 课程网站的设计网站开发遇到的难题
  • 学网站建设要什么iis 二级网站 发布
  • 怎么仿做网站wordpress文章进不去
  • 网站建设费算办公费吗html5商城网站模板
  • 188旅游网站源码下载做个爬架网站如何做
  • 中国做的比较好的网站设计公司有哪些可以做翻译兼职的网站吗
  • 深圳做网站建设公司dw学生个人网页制作视频
  • html网页设计代码作业网站衡水武邑县建设局网站
  • 网站后台登陆验证码wordpress 前台加载慢
  • 网站推广去哪家比较好专门做网站的公司叫什么