- 2024-11-11
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-23_TTapeCaptions-CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-09 CSR Series_Captions-CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-22-25_MATE12B-MITI7L-ReedSwitches-Captions-CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-20-SIDACtor-Captions_CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-11_SZSMF4L_Captions-CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-10-AEC-Q200-CN-Captions
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-08-eFuse_USB_Captions-CN
-
加入了学习《littlefulse 多元新技术赋能安全可靠和高效》,观看 LIT-3762-24_LoadSwitchesICs_2024UpdateFINAL_CN
- 2024-09-21
-
评论了课程:
【2024 DigiKey 应用说】第二期:树莓派 5 在视频直播中的应用
期待~
- 2024-08-31
-
发表了主题帖:
好书共读——《硬件设计指南:从器件认知到手机基带设计》_第二、三部分
第二部分主要讲解电路中的电源
2.1、BUCK降压电源
电感值的选取:根据输出电流I、电流纹波系数a()可以按30%来约束、BUCK的开关频率来进行计算,并留有20~30%的余量,然后选取比较接近的电感。
电感的饱和电流:比流过电感的峰值电流(=输出电流+电流峰峰值/2)高20~30%
2.2、线性电源LDO
LDO一定是工作在饱和区(只有极少数情况会在可变电阻区,此时调节能力会大大降低)
用TINA仿了一下NMOS的LDO和PMOS的LDO
2.3、BUCK开关节点下冲负压原因
体二极管产生的负电压,特点是幅值低,没有上冲;如果BUCK走线和布局不好,会增加环路电感,这样就会在SW处产生振铃,引起EMI;
所以电源设计的时候可以多参考一下官方的布局建议
2.4、LDO输出为什么并联电阻
LDO为了进一步降低功耗,当检测到电流低于一定阈值后,自身也会进入低功耗模式,如果突然从低功耗模式切换到普通模式,响应跟不上就容易发生异常。缓解方法就是在LDO输出端对地并联一个大电阻,这个电阻一直消耗电流,消耗的电流值刚好比LDO功耗低、比普通模式的阈值电流高一点,那么LDO就会在普通模式而不进入低功耗模式,以此来规避问题。
2.5、开关电源的PWM和PFM
PWM:脉冲宽度调制:开关的频率固定或者开关周期固定,而非占空比变化。连续开关
PFM:脉冲频率调制:开关频率是变化的,或开关周期时变化的。间歇性开关,非连续工作模式。
PFM适用:负载在不同工作状态下有不同的电流消耗,而且差异很大,从毫安微安到安,而开关电源由于固定频率在低负载电流时效率很低,所以此时使用PFM模式合适
PFM纹波大于PWM模式
第三部分讲的是:模拟信号处理
3.1、ADC
ADC位数影响的是分辨率而不是精度
最低有效位LSB:ADC位数越高,能分辨的电压信号越小:LSB=FS/(2^n-1),FS满量程输入电压
3.2、信号分析基础
信噪比SNR是信号与噪声的功率比(有效值比),是衡量系统性能的重要指标之一。
FFT点数不一样,FFT波形的底噪也会不一样,因为FFT具有处理增益,这就是采样点数对FFT的影响,做FFT分析时,最好保持采样点数量不变,再进行对比分析。
3.3、调制与解调
调制分为幅度调制(AM)和频率调制(FM):频谱搬移
3.4、为什么系统带宽定义为-3dB
3dB是一倍的关系,所以-3dB点就是半功率点,G=-3dB时,功率放大倍数Ap刚好等于0.5,从功率角度,以50%作为分水岭区分通带和阻带,来定义系统带宽。
3.5、先滤波还是先放大?
先放大在滤波:信号叠加噪声后,信噪比降低,再处理时就很难分辨波形。
对于微弱信号处理时,可以选择先滤波,再放大,以保障后续电路的需求,可满足大部分应用。或者第一级放大器放大倍数特别小,主要作用是以很高的输入阻抗采集到带噪信号,然后通过信号处理,再多级放大、滤波至ADC,将模拟信号转换成数字信号,实现高精度采集。
分析问题的第一步永远都是复现现象~
透过现象看本质~
- 2024-08-27
-
回复了主题帖:
好书共读——《硬件设计指南:从器件认知到手机基带设计》_第四、五、六部分
Jacktang 发表于 2024-8-27 07:42
感觉这本书的精彩之处就在第四、五、六部分了
是的,文中东西很多。铺垫讲述了许多基础知识,然后以手机的电控系统为基础介绍了一个系统工程。通过自己的工程经验,给出问题的分析思路和解决方式,希望能达到举一反三的效果,应用到别的地方。
- 2024-08-26
-
发表了主题帖:
好书共读——《硬件设计指南:从器件认知到手机基带设计》_第四、五、六部分
本帖最后由 chrisrh 于 2024-8-26 23:49 编辑
第二、三部分过了一遍,讲的是电源、运放等,仿真较多,放到后面再仿再写,先写后面的部分。
第四部分:讲的是信号完整性
记录一下阅读过程中的关键点
4.1、怎么减小走线的环路电感
减小信号路径和返回路径的自感(缩短PCB走线,或增加走线的线宽或线厚)
或者增加信号与返回路径之间的互感(选择介质厚度更薄的PC层叠结构,让信号路径和返回路径更近,或者保证完整的参考平面)
4.2、微带线与带状线
PCB中的微带线是只有一个参考平面的传输线(表层走线)
带状线是有两个参考平面(内层走线)
自添加:
用微带线设计滤波器的时候,可以选好滤波器原型,然后在仿真软件中,基于LineCale计算出微带线的尺寸,通过约束,观察S-Parameters曲线,再生成相应的版图,仿真调整。
4.3.、特性阻抗
单位长度电容C
单位长度电感L
特性阻抗Z等于根号下L比C
4.4、阻抗控制
在SI9000根据线宽W、介质厚度h、介电常数、铜箔厚度的调整,使得阻抗设置为50Ω
阻抗匹配:最大功率和最低损耗的平衡点
4.5、等长走线不一定等时
等时:需要合理设计蛇形线的高度和宽度,矮胖走线,相邻走线长度小,串扰就会小。
增加走线之间的间距,3W原则。
容性耦合和感性耦合共同构成的干扰:
1减小平行信号走线的长度,尽量做到垂直走线;
2做好阻抗控制和端接;
3使用地线隔离,打地孔,孔的间距小于波长/10
4采用内层带状线走线
4.6、S参数
S11:输入反射系数,也称为输入回波损耗,表示信号从端口1反射回来的能量与入射能量的比值。
S22:输出反射系数,也称为输出回波损耗,表示信号从端口2反射回来的能量与入射能量的比值。
S12:反向传输系数,表示从端口1到端口2的信号传输过程中的隔离性能。
S21:正向传输系数,也称为增益/插入损耗,表示从端口2到端口1的信号传输过程中的放大或衰减情况。
自添加:S参数在射频、高频上用的多,单位dB,射频单位选用dB的原因,将复杂的乘除运算转换成了加减运算,0dBW = 1W = 30dBm,然后各种加减计算
4.7、端接电阻和阻抗匹配
两种端接方法:
1源端串接电阻,即串联端接:使源端阻抗与传输线特性阻抗匹配
串联端接的特点是低功耗,不会给驱动增加额外的直流负载
2接收端并联电阻,即并联端接:使接收端阻抗与传输线特性阻抗匹配
并联端接的特点是会增加额外的功耗,一定程度上会拉低负载端高电平的幅值
4.8、网铜格
FPC使用网铜铬的原因:因为网铜相比于实铜更软,因此更方便弯折,方便装机。
另一方面是方便控制阻抗,网铜格相比于实铜格可以起到增加阻抗的效果
第五部分:讲的是手机的基带
5.1、锂电池相关
充放电倍率=充放电电流(A)/额定容量(Ah)
3300mAh的电池以3300mA放电电流去放电,1h放完,放电倍率为1C,以330mA放电,10h放完,放电倍率为0.1C
电池电压和电量的关系不是线性的,所以用电压估计电池的通量是很粗糙的方法。
放电倍率越高,电池能释放出来的容量越低。比如2C和0.2C放电,2C释放1800mAh,而0.2C释放2000mAh到达3V电压。
5.2、电池的电源路径,分四种:
1系统电流大于充电电流:优先从电池流出供电
2系统电流小于充电电流:既能给手机系统供电,又能给电池充电
3只有电池供电:电池
4只有充电器供电:充电器
充电时,电流是从高电压流向低电压的,因此,电流在同一时刻,只有一个方向
5.3、EMC电磁兼容性
EMC分为EMS电磁抗扰度(评估自身稳定性和抗干扰能力)和EMI电磁干扰(产生干扰的强度)
解决措施3个方向:干扰源、干扰传播路径和被干扰受体
电场耦合、磁场耦合::
1、增加距离,增加干扰方和受害方距离,可以减小耦合电容,进而降低干扰。
2、缩短耦合长度,减小两条走线平行部分的长度,相当于减少井联电容
3、静电屏蔽,金属接地屏蔽,隔离干扰方和受害方
4、降低干扰源电压
5、在干扰源源端滤波
5.4、实战环节讲了5个PCB布局攻略
1、射频功放与音频布局:大功率PA可能引起回流路径地线电压波动
2、充电与温控:温度的把控
3、CPU与PDN电容
4、易碎封装芯片(跌落、PCB翘曲等)
5、连接器附近的器件布局
5.4、DCDC开关电源电容布局重点
BUCK降压:保证输入电容靠近IC(输入回路)
BOOST升压:保证输出电容靠近IC(输出回路)
第六部分:讲的是测试工具及方法
6.1、使用万用表时注意档位的选取,档位会产生误差,影响对结果的读取
6.2、负载效应
6.3、万用表DC和AC档位的差异
当信号频率超过一定程度后,DC档测得是直流电压,AC档测得是交流电压的有效值(值的1.141/2)
6.4、示波器相关:测量是仍需考虑负载效应
6.5、示波器的应用,以及测试手法:注意接地弹簧和弹簧探针在测试中的应用,可提高测试准确率
6.6、采用ADC测量电池电压时,注意ADC芯片的输入阻抗,以及引起的负载效应
综上,测试过程中需要多多关注负载效应。
- 2024-08-18
-
发表了主题帖:
好书共读——《硬件设计指南:从器件认知到手机基带设计》_第一部分
本帖最后由 chrisrh 于 2024-8-18 23:36 编辑
开卷有益,拿到书后,先简单的翻阅了一遍,
1、首先最好评的是彩色印刷,印刷质量很好,看一些波形图,一目了然,彩色印刷确实有助于阅读。
2、其次是书中,作者分享了许多实战案列的讲解,通过各个案例可以看出作者的用心程度,将工程中一些你未注意到的细节点、容易出错点,或是你会但不一定知道原理的地方罗列了出来,并给了自己的见解,值得去细品去学习。
3、作者应该是把这本书也给当做一个系统去设计的,从基本原理、到设计与仿真、到实物验证、再到测试,按章节讲述了一个系统的开发流程。
第一章主要介绍了常用的元器件:R、C、L、MOS、TVS等,
每个部分里面都有工程上需要注意的小细节,分享一些Get到的点:
1、电容部分
1.1、在选择电容的时候不能仅仅关注电容本身的容值和耐压值,更要查看电容的数据手册,确保所选电容的偏压特性满足要求
(C的偏压特性:电容的容值随着加在两端的有效电压升高而降低,从而出现失效或者性能不达标)
因为整板上R、C、L很多,所以这也是最容易忽略datasheet的地方,不光芯片要看,RCL也要关注一下
1.2、电容的等效模型
现实没有理想的器件,即便理想的电容也不全是电容,分析时都要考虑ESR和ESL,根据频率和等效模型去分析。
这一块原来在电路仿真软件上玩耍时遇到过:比如电源滤波电容,直接在电容两端加VCC和GND,仿真提示无电阻电容回路!~
加电阻后仿真电流正常~因此在使用分离器件的时候皆要考虑其等效特性。
1.3、三端子电容
优势:因特殊结构,缩短了电流路径,使得ESL具有并联特性,进而在高频时,ESL很低(文中例子两端子C在1GHz处的阻抗为1Ω,三端子的C阻抗只有110mΩ)
缺点:贵~
1.4、电感
在介绍电感时,因为电感L和电容C一样普遍,容易被忽视,里面有句作者的话,是说:“越是细节的东西就越值得仔细推敲,这是硬件工程师的基本功”。
着实···往往遇到板级问题时,就是考验基本功的时候了
1.5、电感和磁珠
电感的磁力线是开放的,单位H,吸收电能转化为磁能,再把磁能转化为电噪声或辐射,多用于低频段(50MHz)滤波
磁珠的磁力线是封闭的,单位Ω,特定频点的阻抗,吸收噪声转化为热,多用于高频段滤波使用
1.6、电阻
相同温度条件下,电阻阻值越大,噪声也越大,噪声随着电阻阻值的增加而增加,放大电路中很少用大电阻的原因之一就是为了降低噪声。
1.7、二极管、三家管
通过与生活中的示例类比记忆,比喻为水管和水龙头的水流控制~
1.8、MOS、TVS
ESD:静电释放,描述的是一种客观现象
TVS:瞬间电压抑制器,是一种二极管形式的保护器件,与受保护器件并联,处于高阻态,吸收瞬间升高的电压或ESD,以保护电路系统正常
TVS应用时,放置位置的注意
实战讲解中讲解了电感的啸叫抑制(优化电源工作频率、BUCK电感参数选取、开关电源纹波、抗啸叫电容以及板图布局多方面分析与解决思路)、静电的产生普及、和设计余量的把握(留足余量,不要挑战手册),
从抛出问题、分析原因、解决方案的角度去介绍实战案例讲解,抛砖引玉,很不错。
早早关注了作者,搜藏了多篇博文,帮助很大。
在EEWorld帮作者推广一下,作者的博客,工程师看海-CSDN博客,大家可以多多关注,作者在持续更新中~
- 2024-07-29
-
回复了主题帖:
共读入围名单:《硬件设计指南:从器件认知到手机基带设计》
个人信息无误,确认可以完成评测计划
- 2024-06-03
-
回复了主题帖:
新疆的天太好看了!
江布拉克?
- 2024-03-18
-
回复了主题帖:
【ST NUCLEO-U5A5ZJ-Q开发板测评】8、简单的功耗测试
freebsder 发表于 2024-3-18 17:25
stop和standby之后,还有哪些外设可以监听吗?
stop模式有3种,RAM都保持着电,不同stop下保留的外设不同。比如stop2模式下ADC4、SPI3、IIC3都还保持着;
但standby模式下就把所有的外设都掉电了,SWD也进不去,只有RST、BOR, RTC, TAMP, IWDG和24 I/Os (WKUPx)可以唤醒;
-
回复了主题帖:
【ST NUCLEO-U5A5ZJ-Q开发板测评】7、HASH硬件加速器
lugl4313820 发表于 2024-3-18 22:30
呀这功能我还没有试过列,好象我目前的工作中还没有这样的需求,所以就少去关注。
比如对上位机通信传输数据的时候可以加密输出,上位机解码;或是上位机加密发给下位机,防止数据被抓吧~
-
发表了主题帖:
【ST NUCLEO-U5A5ZJ-Q开发板测评】8、简单的功耗测试
Ultra-low-power with FlexPowerControl
• 150 nA Shutdown mode (24 wake-up pins)
• 195 nA Standby mode (24 wake-up pins)
• 480 nA Standby mode with RTC
• 2 μA Stop 3 mode with 40-Kbyte SRAM
• 8.2 μA Stop 3 mode with 2.5-Mbyte SRAM
• 4.65 µA Stop 2 mode with 40-Kbyte SRAM
• 17.5 µA Stop 2 mode with 2.5-Mbyte SRAM
• 18.5 μA/MHz Run mode at 3.3 V
将万用表调制电流档,接在板子的IDD处,分别测试了正常RUN模式、Sleep模式、Stop模式、Standby模式下的电流情况
//BSP_LED_Init(LED1);
//HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
//HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI);
//HAL_PWR_EnterSTANDBYMode();
160Mhz运行模式下LED1闪烁测量的电流值为7.62mA:
切换至sleep模式测量的电流值为:4.18mA;
切换至stop模式测量的电流值为:1.5uA;
切换至standby模式测量的电流值为:0.6uA;
-
发表了主题帖:
【ST NUCLEO-U5A5ZJ-Q开发板测评】7、HASH硬件加速器
本帖最后由 chrisrh 于 2024-3-18 13:50 编辑
基于U575的demo例程使用了一下U5A5的硬件HASH,响应速度很快;
官方demo使用的是HMAC-MD5 和 SHA1,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码”,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。MD5 和 SHA1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥。
DEMO原文数据和秘钥数据如下:54686520686173682070726f636573736f7220697320612066756c6c7920636f6d706c69616e7420696d706c656d656e746174696f6e206f662074686520736563757265206861736820616c676f726974686d20285348412d31292c20746865204d443520286d6573736167652d64696765737420616c676f726974686d203529206861736820616c676f726974686d20616e642074686520484d414320286b657965642d68617368206d6573736167652061757468656e7469636174696f6e20636f64652920616c676f726974686d207375697461626c6520666f7220612076617269657479206f66206170706c69636174696f6e732e2a2a2a2053544d3332202a2a2a
在https://www.toolhelper.cn/DigestAlgorithm/HMAC_SHA网页上进行校验计算HMAC-MD5 和 SHA1与demo中比较的数据相一致。
字符编码:Hex(16进制,不编码)
校验:2B47EF34F66658BE3B2AC6EC5885F21ED59FDDAD
更改输入数据为0x12,0x34,共两个字节,其中HMAC-MD5 为407D8BBD08B21E9D51FDD5EB1300858F
HMAC-SHA1为A588AA7142F6A108B22A89589D9C462B9CC89C8C
更改工程中的原文数据,秘钥还使用原demo中的261个字节数据,编译下载程序,初始化后硬件hash计算的HMAC-MD5 、SHA1如果与预设的结果一致,LED1、LED2灯点亮。
//输入数据的大小
#define INPUT_TAB_SIZE ((uint32_t) 2)//61)/* The size of the input data "aInput" */
HASH_HandleTypeDef hhash;
//秘钥
__ALIGN_BEGIN static const uint8_t pKeyHASH[261] __ALIGN_END = {0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68,0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20,0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f,0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20,0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65,0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73,0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41,0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65,0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69,0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35,0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b,0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73,0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e,0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20,0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20,0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33,0x32,0x20,0x2a,0x2a,0x2a};
//输入的数据
__ALIGN_BEGIN const uint8_t aInput[INPUT_TAB_SIZE] __ALIGN_END = {0x12,0x34};
__ALIGN_BEGIN static uint8_t aMD5Digest[16] __ALIGN_END;
__ALIGN_BEGIN static uint8_t aExpectMD5Digest[16] __ALIGN_END = {0x40,0x7D,0x8B, 0xBD, 0x08, 0xB2, 0x1E, 0x9D, 0x51, 0xFD, 0xD5, 0xEB, 0x13, 0x00, 0x85, 0x8F};
__ALIGN_BEGIN static uint8_t aSHA1Digest[20] __ALIGN_END;
__ALIGN_BEGIN static uint8_t aExpectSHA1Digest[20] __ALIGN_END = {0xA5,0x88,0xAA,0x71,0x42,0xF6,0xA1,0x08,0xB2,0x2A,0x89,0x58,0x9D,0x9C,0x46,0x2B,0x9C,0xC8,0x9C,0x8C};
static void MX_HASH_Init(void);
int main(void)
{
...
MX_HASH_Init();
if (HAL_HMAC_SHA1_Start(&hhash, (uint8_t *)aInput, INPUT_TAB_SIZE, aSHA1Digest, 0xFF) != HAL_OK)
{
Error_Handler(); }
if (memcmp(aSHA1Digest, aExpectSHA1Digest, sizeof(aExpectSHA1Digest) / sizeof(aExpectSHA1Digest[0])) != 0)
{
Error_Handler(); }
else
{ BSP_LED_On(LED1); }
if(HAL_HASH_DeInit(&hhash) != HAL_OK)
{ Error_Handler(); }
MX_HASH_Init();
/* Compute HMAC-MD5 */
if (HAL_HMAC_MD5_Start(&hhash, (uint8_t *)aInput, INPUT_TAB_SIZE, aMD5Digest, 0xFF) != HAL_OK)
{
Error_Handler(); }
/* Compare computed digest with expected one */
if (memcmp(aMD5Digest, aExpectMD5Digest, sizeof(aExpectMD5Digest) / sizeof(aExpectMD5Digest[0])) != 0)
{
Error_Handler(); }
else
{BSP_LED_On(LED2);}
while (1)
{}
程序运行,LED1、LED2随即点亮,硬件HASH速度很快,解析与预设一致;
- 2024-03-15
-
加入了学习《泰克MSO6B探索营》,观看 MSO6B强大的测试和分析功能