chrisrh

  • 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强大的测试和分析功能

最近访客

< 1/6 >

统计信息

已有199人来访过

  • 芯积分:1977
  • 好友:1
  • 主题:55
  • 回复:119

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言