一位强人写的嵌入式工程师起码技术要求

2019-05-31 00:21发布

1MCU分类:4位机,51,PIC,AVR,MSP430等系列进行学习;

2硬件知识:元器件,PCB布线,经典电路,通讯协议,EMC,开发工具;

3软件知识:ASM,C,C++,VISIO,SmartDraw,SourceInsight,VC++6.0;

4辅助知识:AutoCAD,Matlab,OrCAD,相关软件,重要项目;

5电子元器件的精通,常用元器件的用途的非常熟悉;

6输入输出端口控制KEY,V/F变换器,语音控制,电源设计与监控,基本的单元电路;

7显示技术LED,LCD,VFD等的控制技术;

8 机电控制技术PWM,电机的控制,遥控器控制;

9数据采集技术AD,DA,各种传感器的知识,以及编写程序的注意;

10信号与算法技术,编码,各种算法数据结构,C,ASM源代码;

11通信技术SPI总线,I2C总线,CAN总线,RS232,RS485,1-WIRE。

12PCB设计技巧,仿真软件MultiSim,EMC,EMI技术知识。

13编程规范ASM ,C,C++的设计能力。

14ADS,Protel DXP,KEILC相关软件的熟练应用;

15嵌入式UC/OS-II内核,ARM架构与编程,典型芯片的熟悉;


下面是从一些电子工程师的招聘要求里总结出来的:

一、常规的要求

1年龄:不限,有的标明20~40岁,其实也是不限

2学历:大本以上,个别是大专

3外语:良好,英语四级以上(虽然你没有过四级,但你可以告诉他证书不能代表什么,那么他一般会拿出一些英文资料,一般是芯片的英文原文资料给你让你翻译,所以这你不能唬弄)

4工作经验:2年(这都是唬人的,优秀的应届毕业生他们也招,所以上面写着要有经验的,千万别就此放弃了,你也应该投投简历,还有口才一定要好点,要自信:)

二、一般技能要求

1有单片机开发经验,熟悉常用的开发工具,有一定的单片机编程经验;

2熟练使用Protel,有的公司要求PowerPCB,个别要求Orcad等CAD软件;

3熟练掌握汇编语言和C语言。(C语言一定要会)

4掌握常用的仿真开发工具(像KEIL软件,ISP编程软件等)

5熟练应用常用电子元器件

6熟练检索各种元器件材料;

7能够使用AVR单片机、PIC单片机(最好多了解了解,有51基础学起来很容易)

三、特殊技能要求

1熟悉嵌入式系统开发,有ARM系统相关开发经验者优先考虑

2有FPGA, CPLD开发经验者优先考虑;

3有四层及以上PCB Layout经验;

4有PCB设计的信号完整性、电源完整性和EMI分析的实践经验;

5熟悉应用相关仿真软件进行分析者优先。

6有嵌入式系统或DVD相关专业设计经验者优先考虑

7熟悉相关的行业标准,有EMC/ESD调试经验者优先考虑 (以上第三条是加分的!)

四、职业经验和道德

1 工作认真细致、态度积极、责任心强

2优秀的语言表达能力

3良好的沟通及解决问题能力

4团队合作能力

5能够经常加班

6有敏锐的“客户服务”意识

技术大牛推荐硬件工程师必备知识

一.硬件工程师基础知识

目的:基于实际经验与实际项目详细理解并掌握成为合格的硬件工程师的最基本知识。

1基本设计规范

2CPU基本知识、架构、性能及选型指导

3MOTOROLA公司的PowerPC系列基本知识、性能详解及选型指导

4网络处理器(INTEL、MOTOROLA、IBM)的基本知识、架构、性能及选型

5常用总线的基本知识、性能详解

6各种存储器的详细性能介绍、设计要点及选型

7Datacom、Telecom领域常用物理层接口芯片基本知识,性能、设计要点及选型

8常用器件选型要点与精华

9FPGA、CPLD、EPLD的详细性能介绍、设计要点及选型指导

10VHDL和Verilog HDL介绍

11网络基础

12国内大型通信设备公司硬件研究开发流程;

二.最流行的EDA工具指导

熟练掌握并使用业界最新、最流行的专业设计工具

1Altium公司的Altium Designer,protel99se

2MentorGraphics公司的PADS

3 Innoveda公司的ViewDraw,PowerPCB,Cam350

4CADENCE公司的OrCad, Allegro,Spectra

5Altera公司的MAX+PLUS II

6学习熟练使用VIEWDRAW、ORCAD、POWERPCB、SPECCTRA、ALLEGRO、CAM350、MAX+PLUS II、ISE、FOUNDATION等工具;

7XILINX公司的FOUNDATION、ISE

三. 硬件总体设计

掌握硬件总体设计所必须具备的硬件设计经验与设计思路

1产品需求分析

2开发可行性分析

3系统方案调研

4总体架构,CPU选型,总线类型

5数据通信与电信领域主流CPU:M68k系列,PowerPC860,PowerPC8240,8260体系结构,性能及对比;

6总体硬件结构设计及应注意的问题;

7通信接口类型选择

8任务分解

9最小系统设计;

10PCI总线知识与规范;

11如何在总体设计阶段避免出现致命性错误;

12如何合理地进行任务分解以达到事半功倍的效果?

13项目案例:中、低端路由器等

四. 硬件原理图设计技术

目的:通过具体的项目案例,详细进行原理图设计全部经验,设计要点与精髓揭密。

1电信与数据通信领域主流CPU(M68k,PowerPC860,8240,8260等)的原理设计经验与精华;

2Intel公司PC主板的原理图设计精髓

3网络处理器的原理设计经验与精华;

4总线结构原理设计经验与精华;

5内存系统原理设计经验与精华;

6数据通信与电信领域通用物理层接口的原理设计经验与精华;

7电信与数据通信设备常用的WATCHDOG的原理设计经验与精华;

8电信与数据通信设备系统带电插拔原理设计经验与精华;

9晶振与时钟系统原理设计经验与精华;

10PCI总线的原理图设计经验与精华;

11项目案例:中、低端路由器等

五.硬件PCB图设计

目的:通过具体的项目案例,进行PCB设计全部经验揭密,使你迅速成长为优秀的硬件工程师

1高速CPU板PCB设计经验与精华;

2普通PCB的设计要点与精华

3MOTOROLA公司的PowerPC系列的PCB设计精华

4Intel公司PC主板的PCB设计精华

5PC主板、工控机主板、电信设备用主板的PCB设计经验精华;

6国内著名通信公司PCB设计规范与工作流程;

7PCB设计中生产、加工工艺的相关要求;

8高速PCB设计中的传输线问题;

9电信与数据通信领域主流CPU(PowerPC系列)的PCB设计经验与精华;

10电信与数据通信领域通用物理层接口(百兆、千兆以太网,ATM等)的PCB设计经验与精华;

11网络处理器的PCB设计经验与精华;

12PCB步线的拓扑结构极其重要性;

13PCI步线的PCB设计经验与精华;

14SDRAM、DDR SDRAM(125/133MHz)的PCB设计经验与精华;

15项目案例:中端路由器PCB设计

六.硬件调试

目的:以具体的项目案例,传授硬件调试、测试经验与要点

1硬件调试等同于黑箱调试,如何快速分析、解决问题?

2大量调试经验的传授;

3如何加速硬件调试过程

4如何迅速解决硬件调试问题

5DATACOM终端设备的CE测试要求

七.软硬件联合调试

1如何判别是软件的错?

2如何与软件进行联合调试?

3大量的联合调试经验的传授;

目的:明确职业发展的方向与定位,真正理解大企业对人才的要求,明确个人在职业技能方面努力的方向。

1职业生涯咨询与指导

2如何成为优秀的硬件开发工程师并获取高薪与高职?

3硬件工程师的困境与出路

4优秀的硬件工程师的标准

几个单片机工程师的必备技能

1超强的动手能力,如果你笨手笨脚,要么拼命练成熟手!要么转行!

举例来说,本人属于动脑子可以但是动手不行那种。但是经过锻炼,

20mil间距的TQFP封装焊的也凑合了。

2宽阔的知识面,软件、硬件、电子、机械、物理、数学都要懂一点。

不必每样都是高手,但是最好都懂点。起码要有概念。

3超强的学习能力。每天都有新的技术和知识要学习。

4胆子要够大,不管什么东西都敢拆开看看。什么东西都要有去修修的勇气。

比如我的电脑硬件本来一点都不懂,但是我的电脑坏了几次,上次风扇坏了,

我把所有配件都拆了,然后换好风扇,现在装电脑都没问题了。不过,最近

电脑又给我闹意见,总是BIOS出错,刷新了好多次BIOS都不行,百思不得其解。

今天突然想起来,可能是主板上电池没电了,换了新的就好了。

5要有一种技术人员的直觉,说白点就是要有悟性。如果先天不行,只能靠后天勤奋了。

6要勤劳。懒人注定平庸。

7要有钻研精神和献身精神,不是把单片机作为工作来做,而是当作兴趣和爱好,当作事业

来做。坛子里的高手,哪个没有熬夜到1点2点的经验啊?拿我个人来说,搞网站根本就是爱

好,光投资没受益,还耗费很多精力,但是自己喜欢就好。

8要谦虚。每个人都是逐渐成长的。无知者无惧,我是体会到了。学的越多,越觉得自己不

行。傲气的人,肯定成不了高手。

9要能够忍受,忍受成长过程的寂寞和痛苦。我以前见到的一位年收入百万的小老板一样的

工程师,每天都只睡4-5个小时,真是神仙。但是有努力才有收获啊!

10几种必备的技能: 掌握至少1种EDA软件(protel orcad powerpcb等),至少1种高级语言

(一般都是指c),至少1种RAD语言(如VB BCB DELPHI等),至少掌握2-3种单片机内核,

至少要懂得基本的数字电路和模拟短路,至少懂得部分纯软件知识(如数据结构、软件工

程、一些算法等等)。

作为一个合格电子工程师所必备的

掌握了以下的硬件和软件知识,基本上就可以成为一个合格的电子工程师:

第一部分:硬件知识

一、 数字信号

1TTL和带缓冲的TTL信号

2RS232和定义

3RS485/422(平衡信号)

4干接点信号

二、 模拟信号视频

1非平衡信号

2 平衡信号

三、 芯片

1封装

27407

37404

47400

574LS573

6ULN2003

774LS244

874LS240

974LS245

1074LS138/238

11CPLD(EPM7128)

121161

13max691

14max485/75176

15mc1489

16mc1488

17ICL232/max232

1889C51

四、 分立器件

1封装

2电阻:功耗和容值

3电容

1) 独石电容

2) 瓷片电容

3) 电解电容

4电感

5电源转换模块

6接线端子

7LED发光管

88字(共阳和共阴)

9三极管2N5551

10蜂鸣器

五、 单片机最小系统

1单片机

2看门狗和上电复位电路

3晶振和瓷片电容

六、 串行接口芯片

1eeprom

2串行I/O接口芯片

3串行AD、DA

4串行LED驱动、max7129

七、 电源设计

1开关电源:器件的选择

2线性电源:

1) 变压器

2) 桥

3) 电解电容

3电源的保护

1) 桥的保护

2) 单二极管保护

八、 维修

1电源

2看门狗

3信号

九、 设计思路

1电源:电压和电流

2接口:串口、开关量输入、开关量输出

3开关量信号输出调理

1) TTL―>继电器

2) TTL―>继电器(反向逻辑)

3) TTL―>固态继电器

4) TTL―>LED(8字)

5) 继电器―>继电器

6) 继电器―>固态继电器

4开关量信号输入调理

1) 干接点―>光耦

2) TTL―>光耦

5CPU处理能力的考虑

6成为产品的考虑:

1) 电路板外形:大小尺寸、异形、连接器、空间体积

2) 电路板模块化设计

3) 成本分析

4) 器件的冗余度

1. 电阻的功耗

2. 电容的耐压值等

5) 机箱

6) 电源的选择

7) 模块化设计

8) 成本核算

1. 如何计算电路板的成本?

2. 如何降低成本?选用功能满足价格便宜的器件

十、 思考题

1如何检测和指示RS422信号

2如何检测和指示RS232信号

3设计一个4位8字的显示板

1) 电源:DC12

2) 接口:RS232

3) 4位3”8字(连在一起)

4) 亮度检测

5) 二级调光

4设计一个33位1”8字的显示板

1) 电源:DC5V

2) 接口:RS232

3) 3排 11位8字,分4个、3个、4个3组,带行与行之间带间隔

4) 单片机最小系统

5) 译码逻辑

6) 显示驱动和驱动器件

5设计一个PCL725和MOXA C168P的接口板

1) 电源:DC5V

2) 接口:PCL725/MOXA 8个RS232

1. PCL725,直立DB37,孔

2. MOXA C168P,DB62弯

3) 开关量输出信号调理:6个固态继电器和8个继电器,可以被任何一路信号控制和驱动,接口:固态继电器5.08直立,继电器3.81直立

4) 开关量输入调理:干接点闭合为1或0可选,接口:3.81直立

5) RS232调理:

1. LED指示

2. 前4路RS232全信号,后4路只需要TX、RX、0

3. 无需光电隔离

4. 接口形式:DB9(针)直立

第二部分:软件知识

一、 汇编语言

二、 C51

该部分可以从市场上买到的N种开发板上学到,至于第一部分,需要人来带吧。为什么要掌握这些知识?实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值。

将电子产品抽象成一个硬件的模型,大约有以下组成:

1输入

2处理核心

3输出

输入基本上有以下的可能:

1键盘

2串行接口(RS232/485/can bus/以太网/USB)

3开关量(TTL,电流环路,干接点)

4模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))

输出基本上有以下组成:

1串行接口(RS232/485/can bus/以太网/USB)

2开关量(TTL、电流环路、干接点、功率驱动)

3模拟量(4~20ma, 0~10ma,0~5V(平衡和非平衡信号))

4LED显示:发光管、八字

5液晶显示器

6蜂鸣器

处理核心主要有:

18位单片机,主要就是51系列

232位arm单片机,主要有atmel和三星系列

51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写。最近三星的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使用的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。 但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中?在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:MAX7219等芯片。市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;这知识,是所有产品都具备的要素。所以要学,再具体应用。

文章来源: https://www.toutiao.com/group/6696780577023984141/