导图社区 电子工程师知识体系V1.0
个人整理的自己的硬件工程师知识体系,可能对新手有一定帮助。电子工程师指从事各类电子设备和信息系统研究、教学、产品设计、科技开发、生产和管理等工作的高级工程技术人才。一般分为硬件工程师和软件工程师。
编辑于2019-02-21 05:28:17by 海贼王路飞
1.电子工程师
写在前面
版权:主要内容为B站@m海贼王路飞m 所作,转载请注明出处。
知识体系的意义
帮助个人整理自己的知识,知识杂乱无章不利于职业发展,建立知识树有利于在项目过程中做到融会贯通有的放矢。
提醒:本人经验所限,本知识体系可能有各种疏漏,仅供参考。
获取更新
QQ群:664137425
今日头条头条号:一起学电子电路
零-努力目标及方向:
个人方向:高速数字板卡设计及FPGA驱动
任职要求:
1. 电子、自动化或计算机等相关专业硕士以上学历;
2. 5年以上的硬件设计工作经验,具有FPGA产品开发经验者优先;
3. 熟悉Cadence,Mentor等各类电路及PCB设计工具;
4. 有PCIE,DDR4,USB3.0,SFP+等高速信号设计经验
5. 具有高度的责任心和敬业精神,良好的沟通能力和团队合作精神,具备较强的学习能力、分析和解决问题的能力。
6.有FPGA板卡设计经验、SI,PI仿真经验者优先
工作内容:
1. 基于FPGA的硬件板卡设计
2. 硬件原理图,PCB设计
3. 板卡功能,性能,可靠性测试
薪资金额:
在二线城市济南,五年内工资到25万。并有精力搞副业获得额外收入
思考
1)系统化学习,切忌碎片化学习。顺序,顺序,顺序。一两天学会的技术都是给小孩玩的,一两年都学不会要注意下自己的学习方法。2)参考大公司的设计例子,不要闭门造车。(不是牛人是大公司)3)自信和谦虚的人是受欢迎的,表达的时候要根据受众对象将你的能力完全提现出来。4)专注,多做笔记多总结。多用word,PPT,VISIO,EXCEL等工具。5)搜索引擎能解决90%的问题,但其实99%的问题在书上都能解决。6)能动手的东西就别只动嘴,Just do it。
技能树加点
一、☆☆☆数学和算法
二、☆☆☆模电
三、☆☆电源☆☆
四、☆☆☆☆☆逻辑FPGA
五、☆☆☆☆☆信号完整性等
六、☆☆☆嵌入式编程
一、算法、数学
1.微积分、概率论、线性代数
2.数字信号处理
3.信号与系统
FFT
各种滤波
4.机器学习
SVM
二、模电
基础课程
电路
电磁场
等
主要分支
1.运放
2.仪表
3.微弱信号
ADC
分类
指标
信号链相关
TI视频
项目实战
4.射频
5.功放
6.电源
书和文档
TI/ADI 手册(原厂文件言简意赅,是最一手的材料)
基于运算放大器和模拟集成电路的电路设计(极品书)
Chapter 5 静态OP AMP限制
Chapter 6 动态OP AMP限制
Chapter 7 噪声
Chapter 8 稳定性
日本电子系列丛书(不用系统看)
华为工程师内部资料(2000年,可能过时了)
1、华为模拟电路(上册)
1、华为模拟电路(下册)
2、华为数字电路
3、硬件工程师手册
4、EMC设计指南
你好放大器,杨建国、新概念模拟电路
学习视频
MIT电子学
TI高精度实验室
学习板!!!好好学运放
其他
硬十ibox
张飞硬件
陈苍硬件(很给力)
硬件三人行
工具网站
TI参考设计
三、电源
ADI电源大师课(待整理)
LDO
BUCK
BOOST
BUCK-BOOST
四、逻辑FPGA
(先看书和视频体系待整理)
V3学院
精品FPGA培训课程-上海V3学院 入门
2、Verilog 基本语法
4、状态机原理
5、状态机练习
7、时序逻辑组合逻辑真正的意义
8、串并转换方法
9、边沿检测以及同步方法
10、按键消抖方法
12、锁相环
13、RomRamfifo等存储器
15、Cordic算法核
16、矩阵键盘的基本原理
20、单个数码管显示矩阵键盘值
22、IIC标准协议介绍以及应用领域
23、IIC写时序讲解BYTE写页写
24、IIC读时序讲解
25、MIPS CPU功能架构
27、各个功能模块划分以及代码实现
29、扩频通信原理以及应用介绍
32、Uart实现自定义协议传输
33、Uart调试技巧
34、结合串口实现VGA相框
35、Sobel图像边缘检测方法介绍
36、FIFO流水线结构处理数据流
37、各个模块结构划分以及实现
38、Cy7c68013 收发时序讲解以及实现
39、SDRAM工作原理
40、主从状态机的工作模式
小梅哥FPGA设计思想与验证方法系统教程 (配套自学笔记,很适合进一步加深印象)
02、3-8译码器设计验证
本集是视频教程第二讲,主要通过3-8译码器的设计实现与验证,讲解Verilog基础语法,并复习FPGA开发的基本流程。希望通过这样一个视频教程,带领大家进一步熟悉FPGA的开发流程。课程以实现3-8译码器的设计为起点,手把手演示工程创建,设计输入以及仿真验证,让每一个0基础的朋友都能快速跟上节奏。另外,有一定基础的朋友,其实也可以观看,因为在设计中,我已经将很多的设计小技巧穿插在视频中了。请明白:实现3-8译码器不是目的,目的是学习开发流程和基本技巧。
03、二进制计数器设计验证
本集是视频教程第三讲,主要通过FPGA数字逻辑设计中最常用的一个模块——二进制计数器的设计实现与验证,讲解Verilog基础语法,并复习FPGA开发的基本流程。希望通过这样一个视频教程,带领大家进一步熟悉FPGA的开发流程,并体会计数器在FPGA系统中的重要地位。课程以实现二进制计数器的设计为起点,手把手演示工程创建,设计输入以及仿真验证,让每一个0基础的朋友都能快速跟上节奏。另外,有一定基础的朋友,其实也可以观看,因为在设计中,我已经将很多的设计小技巧穿插在视频中了。请明白:实现二进制计数器不是目的,目的是学习开发流程和基本技巧,并体会FPGA数字系统设计中常用的时间控制方式。
04、高性能计数器IP核使用
本集是视频教程第四讲,主要通过演示FPGA数字逻辑设计中除Verilog代码方式设计外另外一种最常用的设计方式——使用IP核进行系统设计。本教程讲解了如何在Quartus II软件中调用一个基本的免费IP核——计数器IP核,并编写Testbench对IP核进行仿真验证,以教会大家如何正确科学的使用一个成熟的IP核。希望大家通过这样一个视频教程,感受到使用IP核进行系统设计的便捷性。课程以学习使用计数器IP核为起点,手把手演示工程创建,IP核调用、Testbench编写以及仿真验证,让每一个0基础的朋友都能快速跟上节奏。另外,有一定基础的朋友,其实也可以观看,因为在设计中,我已经将很多的设计小技巧穿插在视频中了。请明白:学会使用计数器IP核不是不是目的,目的是感受使用IP核进行设计的便捷性。
05、BCD码计数器设计验证
本集是视频教程第五讲,主要讲解数字系统,尤其是时钟系统中非常常见的一个模块——BCD码计数器的设计实现与验证,讲解Verilog基础语法,了解BCD码技术器与普通二进制计数器的区别。BCD码计数器经常用在需要十进制计数,十进制格式输出的场合。希望通过这样一个视频教程,带领大家了解除二进制计数器以外的另一种计数实现方式。该BCD码计数器将在综合实验如数字钟、秒表、简易数字频率计中发挥强大作用,简化系统设计。课程以实现BCD码计数器的设计为起点,手把手演示工程创建,设计输入以及仿真验证,让每一个0基础的朋友都能快速跟上节奏。另外,有一定基础的朋友,其实也可以观看,因为在设计中,我已经将很多的设计小技巧穿插在视频中了。
06、例解阻塞赋值与非阻塞赋值
本集是视频教程第六讲,主要通过简单的例子对比了Verilog语法中阻塞赋值和非阻塞赋值的区别,通过证明非阻塞赋值多种赋值顺序生产电路的唯一性,与非阻塞赋值多种赋值书序生成电路的不确定性,来展示使用非阻塞赋对设计可预测性的重要意义。
07、例说状态机
本集是视频教程第七讲,主要通过简单的例子介绍了FPGA设计中最常见的设计思想——状态机,通过状态机,可以实现很复杂的时序控制内容,学好状态机,是掌握FPGA技术的重中之重。
08、基于状态机的独立按键消抖
本集是视频教程第八讲,主要通过独立按键消抖这样一个实验,来进一步举例讲解状态机的设计思想,独立按键消抖有多种方式可以实现,这里采用状态机的方式,既能方便大家理解按键消抖的整个过程,又能进一步领会状态机的设计思想。
09、独立按键控制LED与亚稳态问题引入
本集是视频教程第九讲,主要通过独立按键控制LED灯状态变化这样一个实验,来验证独立按键消抖是否成功,另外,由于独立按键作为一个外部异步输入信号,因此借此机会刚好给大家详细介绍了亚稳态的原理和应对策略。希望大家在观看学习时,重点体会亚稳态的物理原理并掌握这种简单外部输入信号的亚稳态应对方法。
10、数码管动态扫描设计与实现
本集是视频教程第十讲,主要通过讲解数码管动态扫描原理,并提取出实现的电路结构,从电路结构入手编写代码,仿真对设计进行验证,最终板级调试时,使用In system sources and probes editor调试工具设置需要显示的内容,则数码管显示对应的数值。本节课与前面课程的风格稍有不同,本节课代码不再是核心,核心是电路结构,电路结构确定后编写代码只是照图施工的过程。这也是越来越接近FPGA设计的底层思维。希望大家仔细体会。
11、UART串口发送模块设计与验证
本集是视频教程第十一讲,主要讲解UART串口发送模块的设计与实现,教程同数码管驱动的讲解方法一致,也是从结构到电路,最后写代码照图施工,仿真对设计进行验证,最终板级调试时,使用In system sources and probes editor调试工具设置需要发送的内容,按下按键,则串口发送模块将需要发送的数据对应发送出去,在PC机上使用串口调试工具即可接收显示,验证设计的正确性。该模块将作为后期很多设计的基础模块进行使用,希望大家都能够自己编写并调试通过,为后面的学习做好准备。
12、UART串口接收模块设计与验证
本集是视频教程第十二讲,主要讲解UART串口接收模块的设计与实现,教程同数码管驱动的讲解方法一致,也是从结构到电路,最后写代码照图施工,仿真对设计进行验证,最终板级调试时,在PC机上使用串口调试工具发送测试数据,使用In system sources and probes editor调试工具查看串口接收模块接收到的数据内容。通过比对发送和接收到的数据是否一致,验证设计的正确性。该模块将作为后期很多设计的基础模块进行使用,希望大家都能够自己编写并调试通过,为后面的学习做好准备。
13、嵌入式块RAM应用之双口RAM
本集是视频教程第十三讲,主要讲解FPGA芯片中提供的专用嵌入式块RAM的应用实例之一,也就是RAM IP核的使用。课程首先简单介绍了Altera Cyclone 系列FPGA器件的内部结构,然后介绍了RAM IP核的调用方法和配置窗口中的一些参数含义,然后通过仿真的方式对RAM IP核的接口时序进行了分析,为下一节课,RAM IP的具体应用实例打下了基础。希望大家仔细体会这种使用仿真来探索验证IP核接口时序的方法。
14、搭建串口收发与存取双口RAM简易应用系统
本集是视频教程第十四讲,主要通过将前面三讲(串口发送、串口接收、嵌入式块RAM)综合起来,设计了一个简易的小系统,通过电脑以串口发送数据给FPGA,FPGA接收后存储在RAM中,再在按键的控制下,读取RAM中的数据,通过串口发送出去。来体现模块化设计的巨大优势。同时,视频花了相当的时间来演示使用Visio绘制系统架构图,一个好的架构图,不仅能够让设计者思维更清晰,也更加有利于设计在工程师间的交互,方便后期的升级和维护。希望大家仔细体会我这种模块化拼接的设计思想。
15、ROM的搭建与Signaltap II 工具使用
本集是视频教程第十五讲,主要介绍了嵌入式块RAM的另一个具体应用——ROM。在很多电子系统中,总有一部分数据是从始至终不需要改变,只需要在使用的时候读取即可。在FPGA中,我们可以使用嵌入式块RAM搭建具有ROM属性的存储器,用来存放某些需要永久保存的数据。本节课,通过使用ROM存储器存储三角波数据,外建简易地址发生器,搭建了一个简易的信号发生器系统。并使用Quartus II软件提供的强大的调试工具Signaltap II来对ROM的输出信号进行抓取,以模拟波形的显示出来,从而验证设计的正确性,同时,本课程还介绍了使用In-System memory content editor在线更改ROM中的数据,将三角波的波形数据更改为正弦波,然后再次在Signaltap II工具上观察抓取到的信号,以验证数据确实被更改。本节课程,内容并不复杂,但是却使用了多种调试工具,希望大家学有所获。
16、FIFO介绍与时序验证
本集是视频教程第十六讲,主要介绍了嵌入式块RAM的另一个具体应用——FIFO。FIFO的完整英文拼写为First In First Out,即先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个存储器,常被用于数据的缓存或者高速异步数据的交互。本节课程,理论讲解较为细致,望大家仔细理解体会,祝大家学有所获。
17、使用PLL进行设计+Verilog参数化设计介绍
本集是视频教程第十七讲,主要介绍了Altera FPGA器件中提供的专用时钟管理单元PLL的一些基本特性,并通过一个简单的实例:PLL输出的多路频率不同的时钟驱动同一个LED闪烁模块,通过比较LED闪烁的频率来验证PLL对时钟信号的正确管理。另外,视频还介绍了Verilog语法中非常有用的一种技巧——参数化设计。参数化设计能给我们的功能模块带来最大的灵活性,使我们在不修改原本代码内容的前提下,修改其中某些关键参数,从而适应于不同的应用。本节课程,即讲解了PLL 的有关内容,又讲解了参数化设计的语法,希望大家学习过程中仔细体会参数化设计的好处。
18、基于线性序列机设计思想的串行DAC(TLC5620)驱动
本集是视频教程第十八讲,主要介绍了FPGA设计中除状态机的设计思想外另外一种常见的设计方式——线性序列机。线性序列机和状态机比较相似,确更加容易规划实现,对于信号变化与时间一一对应的时序设计,采用线性序列机往往更加快捷高效。本课首先介绍了线性序列机的设计思想,然后针对芯航线FPGA套件中配套的多通道串行ADDA模块,介绍了其DAC电路和参考源电路,DAC芯片使用TLC5620芯片,该芯片的控制时序就是每个控制信号的变化时间与时间一一对应,因此非常适合使用线性序列机进行设计。接着,在Quartus II软件中设计并使用modelsim仿真验证依据线性序列机的设计思想设计的TLC5620控制器,最后,在芯航线FPGA学习套件上进行板级验证,以验证设计的正确性。验证时,使用In system sources and probes editor工具,输入希望输出的电压值对应的数字值,则芯航线FPGA开发板控制DAC模块输出正确的电压值。本节课程,引入了新的一种设计方式——线性序列机,希望学习者自己体会,感受这种方式在应对具有串行执行特征的时序电路设计中的优势。
19、基于线性序列机设计思想的串行ADC驱动
课程目标:学会使用线性序列机的思想设计常见的有串行执行特征的时序逻辑实验平台:芯航线FPGA学习套件主板,芯航线串行ADDA模块实验现象:将串行多通道ADDA模块接在芯航线FPGA开发板上,使用In system sources and probes editor设置DAC模块输出电压信号,然后使用ADC采样DAC的输出电压,将DAC输出值和ADC采样值进行比较,同时使用万用表测量DAC输出电压以验证ADC控制逻辑的正确性。知识点:
V3存储课DDR SDRAM(还没学到这,先不整理)
进阶-机器学习,ZYNQ
五、信号完整性/EMC/EMI、热设计
(先看书和视频体系待整理)
SI
于争--信号完整性书和视频
第2章 数字信号频谱与带宽
第3章 传输线
第4章 信号的反射与端接
第5章 串扰
第6章 S参数
第7章 互连线中的阻抗不连续
第8章 差分互连
第9章 抖动
第10章 均衡
第11章 电源完整性
Cadence高速电路设计 Allegro Sigrity SI/PI/EMI设计指南 钟章民--有深度、有例程
Cadence Sigrity信号完整性仿真视频实战(实战,必看)-李增
HyperLynx
Hyperlynx林超文EAD无忧
拓扑
于博士
子主题 5
EMC
书
项目过程中的实战
硬件三人行第二部
六、Layout
(先看书和视频体系待整理)
PCB设计技术与实践
Chapter 1 焊盘的设计
Chapter 2 过孔
Chapter 3 PCB的叠层设计
Chapter 4 走线
Chapter 5 接地
Chapter 6 去耦合
Chapter 7 电源电路设计实例
Chapter 8 时钟电路的PCB设计
Chapter 9 模拟电路的PCB设计
Chapter 10 高速数字电路的PCB设计
Chapter 11 模数混合电路的PCB设计
Chapter 12 射频电路的PCB设计
Chapter 13 PCB的散热设计
Chapter 15 PCB的ESD防护设计
Cadence入门学习志博
1.两层-以STM32为例掌握基本操作
1、掌握 Orcad 原理图基本功能操作
2、掌握原理图与 PCB 交互布局方法
3、掌握元器件库制作的方法
4、掌握 PCB 库制作的方法
5、快捷键设置
7、掌握叠层和 ARTWORK 设置方法
8、掌握基本约束管理器的规则设置
9、了解 2 层板 PCB 设计的基本思路及系统设计流程
2.两层进阶-以高速路由器为例(各种模块的布线)
2、加强快捷键的灵活运用,提高设计效率
3、掌握叠层和 ARTWORK 设置方法
4、加强约束管理器设置规则的理解
5、掌握颜色等常用设置的配置复用功能
7、掌握 DXF 的输入技巧与注意事项
8、掌握区域规则的使用方法
9、掌握差分对设置方法
10、掌握等长走线设置
11、掌握铺铜的方法
3.四层板
1、掌握 DXF 的精确定位使用技巧
2、掌握 BGA 高密度 PCB 的初步设计
3、多层 PCB 的应用技巧
4、了解 4 层板 PCB 设计的基本思路
5、常见 EMC/EMI 的处理方式以及注意事项
4.六层,高速接口,电源分割等
1、掌握高密度 BGA 的 PCB 的中高级设计
3、了解 6 层板 PCB 设计的基本思路
4、掌握 DDR3 的布线方法
5、掌握 PMU 的布线方法
6、掌握高速单端线和差分线等长的技巧。
7、电源分割的思路以及注意要点
8、掌握各类接口器件和功能模块的布局布线方法
其他视频
凡亿
V3
MT7688
喵大AD视频 视频重点内容提要
1:多层板处理知识
2:BGA封装芯片的走线处理(DSP+DDR2)
3:等长蛇形线的处理
4:差分走线
5:高级规则技巧
七、嵌入式Linux
能看懂代码,简单改代码,会用中断,查看变量等调试
学会项目代码
八、编程
大话数据结构
C与指针
九、硬件测试
仪器使用
测试方法
板级
产品级
3C
CE
FDA
临床数据
可靠性
十、项目
硬十项目管控模板
01. Demand_tracking
01. 团队组建
02. 需求分解和跟踪
02. System_design
01. 总体方案
02.硬件器件&电路专题分析
03.硬件DFX设计
03. Detailed_design
01. 硬件详设
02. 结构设计
03. 原理图设计
04. PCB设计
05.硬件投板审查
04. Production
01.PCB投板
02.BOM采购
03.单板加工
04.整机装配
05. Test
01.单板调试地图
02.UT测试
03.专业实验
04.生产试制
05.单板问题闭环和改板
十一、就业与择业
确定方向,投相关公司(注意提前批)
职位分析
认识企业
行业前景
大公司
独角兽
小公司(第一份不考虑)
薪资待遇
简历及资料
成绩单
四六级
计算机证书
获奖证书
身份证
证件照
网申模板
刷题准备笔试,面试
笔试复习
智力题与行测题
模电数电基础
题库(智鼎等)
往年题
性格测试
面试
私企问项目
国企研究所看学历,获奖
如何谈薪酬
offer选择
大城市
小城市
十二、自我管理
1.知识体系建设
evenote资料收集
Xmind
OneNote
甘特图
SWOT
日程安排
Onenote
每天整理
备忘录
四象限
每日安排
番茄闹钟、习惯养成