# HardwareDesign **Repository Path**: srefan/hardware-design ## Basic Information - **Project Name**: HardwareDesign - **Description**: 介绍硬件设计的一些内容 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 124 - **Created**: 2022-08-22 - **Last Updated**: 2022-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. 前言 送大家一句话:正其谊、不谋其利,明其道、不计其功。 也希望大家在工作中,能跳出工程师的固有思维,多从产品的角度思考问题,能坚持本心,做一个体面的人。 # 2. Update History [所有笔记的链接](https://gitee.com/AndrewChu/hardware-design) 1. 2022/02/26:Andrew.Chu 1. New Add:[产品RE测试实操](https://gitee.com/AndrewChu/hardware-design/blob/master/EMC%20Operation%20Handbook.md) 2. New Add:[文章上传GItee方法](https://gitee.com/AndrewChu/hardware-design/blob/master/Gitee%20use%20notes.md) 1. 2022/07/24:Andrew.Chu 1. Modification:所有文章内容优化 2. New Add: [产品认证:MD中的功能安全](https://gitee.com/AndrewChu/hardware-design/blob/master/Gitee%20use%20notes.md)](1) 3. New Add:新增章节-工作感悟 # 3. Content **偏差和噪声**的区别?**RS485和CAN收发器**的区别,以及产生的效果? 因为篇幅限制,外加我更想记录自己对一些理论知识的见解,所以绝大部分内容不适合0基础学习。希望大家**少接触快餐知识**,**少被贩卖焦虑**,多沉下心来自己去消化吸收理论知识,最后再和别人的经验进行参照对比。 内容已经分门别类,请直接点击链接: 1. Electronic_Basics 电子基础: - 说明:基本元件的工作特性简单,前提是工作在低频段;但是随着电路的工作频率越来越高,基础元件的寄生参数的作用会越来越明显。同时MOSFET想要用好需要关注更多的参数。 - [R-C-L-D](https://gitee.com/AndrewChu/hardware-design/blob/master/Electronic_Basics/R-C-L-D.md) - [BJT-MOSFET](https://gitee.com/AndrewChu/hardware-design/blob/master/Electronic_Basics/BJT-MOSFET.md) 2. Power_Electronics 电源相关: - 说明:一个好的电源是产品的基础。电源设计不好,会出现功能性问题和EMC的问题。一定要了解清楚电源的工作原理和各种外围器件的选型要点 - [DC-DC-Basics](https://gitee.com/AndrewChu/hardware-design/blob/master/Power_Electronics/DC-DC-Basics.md) - [ACDC DCDC-Common-mistakes](https://gitee.com/AndrewChu/hardware-design/blob/master/Power_Electronics/DC-DC-Common-mistake.md) - [Motor_Driver](https://gitee.com/AndrewChu/hardware-design/blob/master/Power_Electronics/Power_Electronics/Motor_Driver.md) 2. 模拟: - 说明:纯模拟越来越少,模数混合是趋势。搞不懂OPA和ADC,是做不好模拟信号采集的。基本上所有的参数,都有DC模式和AC模式。 - [Analog-Engineer's-Pocket-Reference-TI](https://gitee.com/AndrewChu/hardware-design/blob/master/Analog-Engineer's-Pocket-Reference-TI.md) - [ADC-PrecisionLABS-TI](https://gitee.com/AndrewChu/hardware-design/blob/master/ADC-PrecisionLABS-TI..md) - [OPA-PrecisionLABS-TI](https://gitee.com/AndrewChu/hardware-design/blob/master/OPA-PrecisionLABS-TI.md) - [新概念模拟电路](https://gitee.com/AndrewChu/hardware-design/blob/master/Analog-Circuit-compilation-yang_notes.md) 3. EMC: - [产品EMC测试实操](https://gitee.com/AndrewChu/hardware-design/blob/master/EMC%20Operation%20Handbook.md) - [EMC_Brief_notes](https://gitee.com/AndrewChu/hardware-design/blob/master/EMC_Brief_notes.md) - [产品EMC设计](https://gitee.com/AndrewChu/hardware-design/blob/master/Product_EMC_Evaluation.md) 3. 信号完整性: - 说明:我们在设计低速电路的时候已经有了部分考虑 - [SI](https://gitee.com/AndrewChu/hardware-design/blob/master/SI_notes.md) 3. 仿真: - 说明:暂时只有用SPICE模型对模拟电路的仿真,如瞬态响应,环路稳定性,噪声分析等。后续会加入HyperLynx的传输线信号完整性仿真的内容。 - [LTspice_notes](https://gitee.com/AndrewChu/hardware-design/blob/master/LTspice_notes.md) 3. 总线: - 说明:各种总线的原理,是做嵌入式控制板的底层。会用和搞懂搞清楚是两码事。跑通和稳定可靠也是两码事。 - [RS485_notes](https://gitee.com/AndrewChu/hardware-design/blob/master/RS485_notes.md) - [CAN_notes](https://gitee.com/AndrewChu/hardware-design/blob/master/CAN_notes.md) - [SPI_IIC_UART_notes](https://gitee.com/AndrewChu/hardware-design/blob/master/SPI_IIC_UART_notes.md) - [Ethernet PHY](https://gitee.com/AndrewChu/hardware-design/blob/master/Ethernet.md) - `无线总线` 4. 传感器: - 说明:单纯研究传感器是没有前途的。关键是Sensor+OPA+ADC整个信号链路要了解。不然就会是一头雾水。 - [温度-惠更斯电桥](https://gitee.com/AndrewChu/hardware-design/blob/master/Sensor/Temp.md) - [Hall Effect](https://gitee.com/AndrewChu/hardware-design/blob/master/Sensor/Hall_Effect.md) - [压力](https://gitee.com/AndrewChu/hardware-design/blob/master/Sensor/Pressure_Sensor.md) - [基于CSA的电流检测](https://gitee.com/AndrewChu/hardware-design/blob/master/Sensor/Current.md) - [环境光检测(暂不包含微弱信号检测)](https://gitee.com/AndrewChu/hardware-design/blob/master/Sensor/Optical.md) 2. 数字: - `STM32最小系统设计` - `Xilinx ZYNQ-7000series design` 4. 软件: - [C](https://gitee.com/AndrewChu/hardware-design/blob/master/Software/C_notes.md) - [ZYNQ Notes1](https://gitee.com/AndrewChu/hardware-design/blob/master/FPGA/ZYNQ_notes.md) - [ZYNQ Notes2](https://gitee.com/AndrewChu/hardware-design/blob/master/FPGA/ZYNQ_notes2.md) - [ZYNQ_PS](https://gitee.com/AndrewChu/hardware-design/blob/master/FPGA/ZYNQ_PS_notes2.md) - [Matlab入门](https://gitee.com/AndrewChu/hardware-design/raw/master/PDF/Matlab入门.pdf) - `Raspberry_notes` - `Python_notes` - `Linux_notes` 4. 数学: - [线性代数](https://gitee.com/AndrewChu/hardware-design/blob/master/Math/Linear_Algebra_notes.md) - `高等数学` - `概率论` - [三角级数,傅里叶变换和拉普拉斯变换](https://gitee.com/AndrewChu/hardware-design/blob/master/Math/Fourier_Laplace.md) 4. 英语:[IELTS Preparation](https://gitee.com/AndrewChu/hardware-design/blob/master/IELTS_arrangement.md) 3. 其他书籍:[总结](https://gitee.com/AndrewChu/hardware-design/blob/master/Books/Books_Summary.md) 4. Python实用脚本:[总结](https://gitee.com/AndrewChu/hardware-design/blob/master/Script/readme.md) 5. Gitee:[文章上传GItee方法](https://gitee.com/AndrewChu/hardware-design/blob/master/Gitee%20use%20notes.md) # 4. 基本功 1. 基本元件: 1. R C L的类型,容差,非理想参数,非理想的效应。 2. BJT。先把电路用对。工作点分析,小信号分析。损耗分析 3. MOSFET。先把参数理解对。米勒效应,开关损耗,导通损耗。 2. 电源: 1. 电源的基本拓扑,BUCK BOOST FLYBACK 2. 电源的输入电容,输出电容,电感,MOSFET的选型 3. 电源layout的关键点,电压突变和电流突变的环路 4. 电源的环路稳定性分析,补偿的方式。环路稳定性的测试 5. 纹波测量,噪声测量,line regulation 和 load regulation 1. 运放: 1. 容差分析和非理想参数的理解 2. 噪声分析和计算 2. 环路稳定性分析,补偿的方式。环路稳定性测试 2. 放大电路 2. 滤波电路 1. SK和MFB设计高阶滤波器 2. 巴特沃斯,切比雪夫,贝塞尔的区别 1. 电流检测 1. ADC: 1. 理解ADC的采样和保持,对Vin和Vref的影响 2. ADC的类型和原理 2. 理解容差分析和非理想参数 2. 量化噪声,和前端OPA引入的噪声 3. OPA和ADC接口电路的设计 4. Vref的需求,和对应的设计。 5. 带宽限制和抗混叠 1. EMC: 1. 理解麦克斯韦方程组 2. 理解偶极子天线和环形天线的辐射模式 3. 理解电场辐射和磁场辐射。了解远场和近场 2. 理解测试项和测试标准 2. 理解LISN或者AN的测试原理 3. 理解共模电流的环路 4. 理解常见的干扰源 5. 理解常用的整改方式 1. 信号完整性: 1. 对自己,对别人,对空间 2. 总线和原理: 1. 不是简单的一个发数据一个接受到数据就万事大吉了。要理解PHY的底层。 2. RS485:485的fail safe是个大坑。真的 2. CAN: 3. SPI 4. IIC 3. USB 4. Ethernet 2. 操作系统 1. Linux是未来。先会使用Linux,然后再看看内核,自己做驱动吧。 # 5. 工作感悟 以下是自己多年从事硬件工作的感悟 1. Q1:关于硬件工程师在工作中学不到硬件技术? 1. 对一个公司来说,需要硬件工程师掌握的能力远超过工作中实际需要用到的部分。公司招聘硬件工程师不是让你来学习的,而是让你干活,而且把活干好。这个也是为什么真正优秀的公司都是**面试造火箭,实际拧螺丝**的原因。 2. 工作学不到东西是正常,也是不正常的。 1. 正常的原因:公司不是招聘你来学东西的,尤其是过了实习期的工程公司。公司也不敢把活交给一个边做边学的工程师,项目的质量如何保证 2. 不正常的原因:不可能存在着学不到任何东西的工作。硬件工程师学不到硬件技术,那可以学到研发流程/项目管理,那可以学到如何跨部门沟通工作,那可以学到研发转量产时候的各种问题,那可以学到量产项目在现场的问题,最差的情况你都可以了解这个行业和这种产品 1. 学习是内驱力,而不是外驱力:优秀的硬件工程师的分水岭不是在工作8H,而是在下班之后你个人生活中的8H。自己每天下班躺平刷刷抖音,希望别人在上班的8H来手把手教你学习,这个可能么? 2. Q2:关于硬件工程师怎么做好一份工作? 1. 多思考,多复盘,最重要的是着手做。**学而不思则罔,思而不学则殆**。大家都过了学而不思则罔的阶段了,没有人会逼着你学习了。但是工作后,我见过很多思而不学则殆的工程师,一直都是做着思想上的巨人,行动上的矮子,说到底还是懒。 2. 跳出每天琐碎的事,每天工作的第一件事就是:给自己梳理工作的优先级,定一下一个今天必须完成的一件事。 2. 给自己树立一份个人愿景,并且和公司的愿景结合,把自己的愿景写下来挂到每天自己容易看得到的地方。比如说我的愿景:**....,做一个体面的人** 3. **看树不是树**,不要只把工作做为打工挣钱,而是自己实现个人价值的方式,把产品当做自己的孩子,我们的每一份努力都是为了我们的孩子变得更好更茁壮。 3. Q3:硬件工程师要打好理论基础: 1. **所有诡异的现象,都有一个合理的解释。如果没有,那就是你的能力还不够**。 2. 大胆分析,小心求证,实事求是。 4. Q4:硬件工程师怎么在个人时间学习? 1. B站有很多up主,都在无私分享。张飞的商业气息太重了,没必要花钱去学习很陈旧的东西。老白讲的实诚,但是感觉差点条理性。记住一句话,学习的方式有很多,没有人逼你学习,也没有人逼你不能学习。 2. TI的E2E论坛有个《TI precision Labs》里面的课程非常棒。**学好英语,是世界上性价比最高的技能**。不得不说,国内的好教材真的太少了。建议大家都去看英文的教材,这个语言转换的时间肯定是值的。就算同样是TI,国内的E2E论坛和培训教材,也是差了英文版的一个档次。 3. ADI有个ADI智库,就当是参加线上的研讨会把。 1. Q5: 怎么看待硬件工程师的价值? 1. 很多电路,我们不得不承认,随便搞搞也能凑合使用。不分析电源的环路稳定性,运放的稳定性,运放和ADC的采样精度,在95%的时候,不会出问题。硬件就会越做越low,陷入内卷。 2. 做好硬件,是一门多学科交融的事,只是现在大家都没时间去好好学习一门技能了。所以优秀的硬件工程师都是优秀的系统工程师 1. **硬件工程师不是抄抄抄,抄以前的设计,抄Datasheet里的Typical Application**。现在的硬件,集成度已经越来越高,芯片原厂也越来越简化电子工程师的设计难度。再加上大量的典型设计,参考设计。所以跑通一种芯片门槛很低了。难的是理解芯片原厂为你做了什么,芯片的底层结构是怎么样的,以及怎么样根据我们的应用去优化一些参数,无论是出于特殊场景的稳定性考虑还是降成本的功能裁剪。 # 6. 声明 - 欢迎阅读我关于硬件系统的一些理解。有问题可以留言。 - 也欢迎大家转载,但是转载请注明来源和作者。 - 如果有任何无意侵犯他人权益的行为,请联系我。