MyException - 我的异常网
当前位置:我的异常网» 硬件开发 » 现在很迫切的想知道,作为一名硬件工程师,需要哪些

现在很迫切的想知道,作为一名硬件工程师,需要哪些知识?该如何解决

www.myexceptions.net  网友分享于:2013-03-27  浏览:17次
现在很迫切的想知道,作为一名硬件工程师,需要哪些知识?
现在很迫切的想知道,作为一名硬件工程师(设计)需要哪些知识?
1.需要读哪些书?
2.要达到什么标准?
在此,特别诚恳的等待高手的解答?那条路怎么走?请过来人给点意见。

------解决方案--------------------
路还很长。。。

模电、数电、FPGA/cpld、常用的pcb软件、常用芯片的Datasheet、等等,这些都是基本的吧,
硬件设计博大精深,还是从实际中学习吧,经验是最重要的了。。。
------解决方案--------------------
必须掌握一些基础知识(这是必要的,毕竟你还不知道毕业后将干什么工作),基础知识主要有模拟电路和数字电路以及高等数学知识(必修课).然后重点学习一些别的知识,比如单片机,FPGA,PCB设计,DSP(这些都是选修课),不要什么都学,自己感兴趣的,有条件的学一学.有些人的求职简历写着学了什么什么,罗列一大堆,我认为这种人是吹牛,或者是学而不精.每个领域,要想精通,不要说一年两年,可能10年8年,都有的学.如果我去招聘,我反而看重简历里学的知识不是很杂,但有所精通的人.这些人一般有比较多的实践经验.实践比理论要重要的多,对于搞电子的来说.特别是高频,理论通,实践往往不通,但是实践通的,理论上又难于解析。

  对于单片机来说,主要学习一下51单片机,尽管有了一些别的单片机,比如AVR,PIC,MSP430,ST,MOTOROLA等,但是51用的企业还是最多的,搞电子的厂家,不用51的,是少数.对于求职,你懂51的话,很多公司都可以去.但是别的单片机,如果对方根本不用,那么他就不会考虑招你进去.当然对别的单片机进行一些了解,当然是可以的,但重点还是在51上.主要51的开发工具比较成熟,而且供货商相当多,根本不用考虑货源问题.51是开放的内核,多厂家生产,而别的内核都不是开放的,独家生产.学习51,主要以KeilC51为主,来学习,因为KeilC51是世界上最好的(个人认为)的编译器,懂keil的人也很多,技术支持完备.要以KeilC51V6.xx版本为基础学习,不要用DOS版或KeilC51V5.xx,这些版本几乎已经淘汰,只有一些仿真机厂家才当作宝贝,嵌入低版本的编译器,这种做法始终是落后的.目前专门描述KeilC51V6.xx的书还没有,为了帮助大家学习,与时代同步,我写了一些教程,给大家参考.有时间再看一些别的单片机的资料。

  PCB制版,可以学习Protel99,介绍Protel99的书很多,也很容易买到,电路制版需要学习的时间不需要很多,可以掌握一下,有条件的最好自己实际去制作一下电路板。

  CPLD,FPGA是可编程逻辑电路,这个很有必要花功夫学习,目前一些企业的技术还是比较落后,还经常使用8155,8237,138等一些老掉牙的芯片.没有办法,学校里学习的都是这些.用gal,CPLD已经可以完全代替这些电路.而且成本还便宜.一些网友发给我的电路我一看就头晕,一堆的74hc00,74hc04,4069,373,138等,板子很大,为何不用一块GAL,或CPLD搞定?用这些芯片,不但电路布线复杂,容易出问题,而且影响成品率,容易被人复制.要制造更为复杂的逻辑,那就非CPLD,FPGA莫属了.CPLD的设计主要有Xilinx和Altera两个公司的.可以学习其中的一种.这些开发板,一般都可以买到,不少人制作和销售.我的网站将主要以Altera的为主,因为软件是免费的,我的网站有下载,芯片也容易买.学习的时候主要以图形设计为主,用语言设计毕竟还比较抽象,有时间就可以加深一下,学习一下VHDL语言。

  DSP知识,需要学习的人有比较好的数学基础,如果你的数学很好,可以选修一下.DSP设计的门槛比较高,开发工具也比较贵,高校设立dsp课程的也比较少,一般的学校都没有条件去学,有条件学习的,学一下,没有条件的,就不学也罢。

  其他知识,比如高频电路,外壳设计(AutoCAD),属于专业性比较强的知识,学习该专业的可以学一下,不是该专业的,可以不学。

  总结:

  1.学习模拟电路和数字电路,高等数学等基础知识。

  2.必修单片机,PCB电路板设计。

  3.选修CPLD,DSP,高频电路,外壳设计等。

  4.能力强的学多一些,能力小的,学少一些。

  5.注重实践,多动手,理论要联系实际。


------解决方案--------------------
最重要的一点:勤动手、多思考。
书上的东西并不一定就是你自己的东西
------解决方案--------------------

------解决方案--------------------
多看书,多实践,尤其是模拟的东西,很多东西必须要试
------解决方案--------------------
一、嵌入式系统的概念 着重理解“嵌入”的概念 

主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。 2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是Wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。 3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。

以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科

二、嵌入式系统的分层与专业的分类。 嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。 

  1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。 硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。 2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。 驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

文章评论

程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
每天工作4小时的程序员
每天工作4小时的程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员应该关注的一些事儿
程序员应该关注的一些事儿
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
老程序员的下场
老程序员的下场
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java程序员必看电影
Java程序员必看电影
程序员和编码员之间的区别
程序员和编码员之间的区别
那些争议最大的编程观点
那些争议最大的编程观点
我的丈夫是个程序员
我的丈夫是个程序员
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
鲜为人知的编程真相
鲜为人知的编程真相
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
10个调试和排错的小建议
10个调试和排错的小建议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
一个程序员的时间管理
一个程序员的时间管理
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
如何成为一名黑客
如何成为一名黑客
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我是如何打败拖延症的
我是如何打败拖延症的
程序员的鄙视链
程序员的鄙视链
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
漫画:程序员的工作
漫画:程序员的工作
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
代码女神横空出世
代码女神横空出世
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员都该阅读的书
程序员都该阅读的书
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为什么程序员都是夜猫子
为什么程序员都是夜猫子
编程语言是女人
编程语言是女人
中美印日四国程序员比较
中美印日四国程序员比较
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有