今天,回收参加工作已2个月了,一直出差,修设备的,换个核心板,换个电源之类的。感觉学到东西很少,当初是已硬件工程师助理招进来的。现在都做的啥,基本连续的出差,什么也没学会。这不是坑人吗,想想,自己目前的经济情况,只能寄生于下。但知识,自学是很快的。因此看了些硬件大神的都需要学习那些动西。现在把他们给列出来。
总体,从信号来奋,可以分模拟和数字2类。 模拟的难搞,年轻人搞的很少,要几年才能成为大神,数字的分51/ARM的单片机,DSP类,FPGA类。
FPGA工程师,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。DSP硬件接口比较定型,如果不像驱动算法上靠拢,前途也不会太大。 而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大 。
下面是别人写两篇文章,可以看看,第一篇 “硬件工程师发展的几个方向”。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,DSP类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。DSP硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I 2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。
因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如Protel\ORCAD\PowperPCB\Maplux2\ISE、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。
把一个月前想写的东西,今天终于用一上午的进间整理完了,希望对喜爱嵌入式系统开发的工程师和学生们有所帮助。
第二篇 ,就比较详细。“硬件工程师要学习东西”。
硬件工程师需要学习的知识
1) 基本设计规范
2) CPU基本知识、架构、性能及选型指导
3) MOTOROLA公司的PowerPC系列基本知识、性能详解及选型指导
4) 网络处理器(INTEL、MOTOROLA、IBM)的基本知识、架构、性能及选型
5) 常用总线的基本知识、性能详解
6) 各种存储器的详细性能介绍、设计要点及选型
7) Datacom、Telecom领域常用物理层接口芯片基本知识,性能、设计要点及选型
8) 常用器件选型要点与精华
9) FPGA、CPLD、EPLD的详细性能介绍、设计要点及选型指导
10) VHDL和Verilog HDL介绍
11) 网络基础
12) 国内大型通信设备公司硬件研究开发流程;
最流行的EDA工具指导
熟练掌握并使用业界最新、最流行的专业设计工具
1) Innoveda公司的ViewDraw,PowerPCB,Cam350
2) CADENCE公司的OrCad, Allegro,Spectra
3) Altera公司的MAX PLUS II
4) 学习熟练使用VIEWDRAW、ORCAD、POWERPCB、SPECCTRA、ALLEGRO、CAM350、MAX PLUS II、ISE、FOUNDATION等工具;
5) XILINX公司的FOUNDATION、ISE
硬件总体设计
掌握硬件总体设计所必须具备的硬件设计经验与设计思路
1) 产品需求分析
2) 开发可行性分析
3) 系统方案调研
4) 总体架构,CPU选型,总线类型
5) 数据通信与电信领域主流CPU:M68k系列,PowerPC860,PowerPC8240,8260体系结构,性能及对比;
6) 总体硬件结构设计及应注意的问题;
7) 通信接口类型选择
8) 任务分解
9) 最小系统设计;
10) PCI总线知识与规范;
11) 如何在总体设计阶段避免出现致命性错误;
12) 如何合理地进行任务分解以达到事半功倍的效果?
13) 项目案例:中、低端路由器等
硬件原理图设计技术
目的:通过具体的项目案例,详细进行原理图设计全部经验,设计要点与精髓揭密。
1) 电信与数据通信领域主流CPU(M68k,PowerPC860,8240,8260等)的原理设计经验与精华;
2) Intel公司PC主板的原理图设计精髓
3) 网络处理器的原理设计经验与精华;
4) 总线结构原理设计经验与精华;
5) 内存系统原理设计经验与精华;
6) 数据通信与电信领域通用物理层接口的原理设计经验与精华;
7) 电信与数据通信设备常用的WATCHDOG的原理设计经验与精华;
8) 电信与数据通信设备系统带电插拔原理设计经验与精华;
9) 晶振与时钟系统原理设计经验与精华;
10) PCI总线的原理图设计经验与精华;
11) 项目案例:中、低端路由器等
硬件PCB图设计
目的:通过具体的项目案例,进行PCB设计全部经验揭密,使你迅速成长为优秀的硬件工程师
1) 高速CPU板PCB设计经验与精华;
2) 普通PCB的设计要点与精华
3) MOTOROLA公司的PowerPC系列的PCB设计精华
4) Intel公司PC主板的PCB设计精华
5) PC主板、工控机主板、电信设备用主板的PCB设计经验精华;
6) 国内著名通信公司PCB设计规范与工作流程;
7) PCB设计中生产、加工工艺的相关要求;
8) 高速PCB设计中的传输线问题;
9) 电信与数据通信领域主流CPU(PowerPC系列)的PCB设计经验与精华;
10) 电信与数据通信领域通用物理层接口(百兆、千兆以太网,ATM等)的PCB设计经验与精华;
11) 网络处理器的PCB设计经验与精华;
12) PCB步线的拓扑结构极其重要性;
13) PCI步线的PCB设计经验与精华;
14) SDRAM、DDR SDRAM(125/133MHz)的PCB设计经验与精华;
15) 项目案例:中端路由器PCB设计
硬件调试
目的:以具体的项目案例,传授硬件调试、测试经验与要点
1) 硬件调试等同于黑箱调试,如何快速分析、解决问题?
2) 大量调试经验的传授;
3) 如何加速硬件调试过程
4) 如何迅速解决硬件调试问题
5) DATACOM终端设备的CE测试要求
五.软硬件联合调试
1) 如何判别是软件的错?
2) 如何与软件进行联合调试?
3) 大量的联合调试经验的传授;
这两篇将的细,但一看,头都大了,那么多,自己归纳如下
无非就是基础和提升的两部分
基础部分:
1.元器件的选项,原理图的设计。
2.常用的EDA软件。例如PCB,Protel\ORCAD\PowperPCB\Maplux2\ISE 一般PCB板工程师和EMC工程师做这些师
提升部分:可将51/ARM,DSP,FPGA都学习一下。
,