0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件产品的研发流程,优秀硬件工程师需要什么?

lPCU_elecfans 来源:未知 作者:李倩 2018-06-08 09:27 次阅读

计算机硬件如PC、手机、摄像机、路由器、交换机、服务器等产品的基础就是硬件单板,硬件工程师就是设计合格的单板。之前做EMC的时候,觉得硬件工程师无非就是参考设计那来一抄,原理图连连线就好,后来发现不是。

我是一个还没有踏上社会的学生,对硬件有着无限的热情与爱好,对未来也有着无限的憧憬与向往,没有丰富的项目经验和社会阅历,所以凡想在此文中获取高深的人生哲理与职业箴言,那我恳请您赶紧不要看下去,如若不然,我恐怕受到您的讥笑。

仅以此文献给那些刚刚踏上硬件之路和还在徘徊的同学们,我简要的记录了我的学习经历和其间自己所获的一些心得,以避免初学者走弯路或者是少走弯路。

我总是想用最简短的话语来表达我的思想,说出我最想对初学者说的话,但是往往力不能及。

也深知大家时间的宝贵,不愿把时间浪费在毫无意义的事情上,所以我把我最想说的话用提纲的形式列在文章的前头了,没有时间的话,各位看官只需看看前头就可以了。首先,介绍下一个硬件产品的研发流程,如下图所示:

硬件工程师在研发团队中重要的一员,硬件产品的研发团队大致组成如下图所示:

优秀硬件工程师需要什么:

1. 对硬件无限的热情2. 数字电路模拟电路、protel 等(高频等其他的知识我还没有用过)3. C 语言4. 单片机汇编语言)5. FPGA(包括verilog/vhdl、sopc)6. ARM(包括嵌入式操作系统,建议先学UCOS,适合初学者)7. DSP

1.学习单片机的话,仿真器是必不可少的,有没有编程器倒是影响不大,建议自己买一块即插即用的万能板,自己搭建系统来试验。还有有一台示波器的话那是再理想不过了,那会帮助我们分析解决问题,特别是在做串口实验、中断、I2CEEPROM 读写的时候。

2.学习FPGA,那么就不能像学习单片机一样找来一片芯片就可以动手了。像51 类单片机的引脚不是很多,但是FPGA 就不一样了,往往有几十个甚至一百多的引脚,所以这个时候我们就必须在市场上买一个开发板了。

我用的是altera 公司的EP1C20cyclone 系列的开发板,是我们办公室的人以前买的,现在正好我用。

据说是5000 元,还是大学计划时候买的。有条件用好的当然好,但是对于我们一般初学者用的话,只要带有常用功能的开发板就可以了,市场上1000 元左右的还是有的。3.ARM 学习的话,当然也离不开开发板的购买,上次给我二导提建议给我买一个,他很爽快的答应了,让我挑选一块,我选了周立功的smartarm2200,1980 元RMB,货现在还没有来。

学习arm 的话,嵌入式操作系统是少不了的。操作系统有很多,用的最多的是linux ,由之发展而来的有uclinux、armlinux 等;其次是ucos。

本人建议先学习ucos,它代码量少,容易学习。要是有altera 的nios 开发板的话,也可以学习ucos,altera 公司的nios ide 支持好几种RTOS,其中就包括ucos,直接用就ok 了。4.DSP属于比较高的层次,对人的要求比较高。开发板价格应该也不菲,我现在还没有用过。

大部分的我们是没有这份闲钱的,同学们可以找几个志同道合的同学一块买,还可以一块讨论。

要是学校实验室有的话就在实验室搞,要是导师有就找导师要,总之不要放过任何可能的机会,同志们要深知我们的命运把握在我们自己手中,既然选择了硬件这条路,就要认认真真地走下去,不光要走下去,还要想方设法走的很好。热情不是唯一的原因,还有另外一个原因就是试验室给我提供了很好的学习环境。学习单片机的时候,试验室有现成的winbond 51 单片机,有伟福仿真器,有advanced labtool 48uxp 万能编程器,有一台十二万的示波器,自己买个万能板,找本书就在上边进行试验了。

从简单的led 闪烁、数码管显示、pwm 到中断、串口通信(单片机与单片机通信,单片机与pc 机通信)、I2Ceeprom 读写、A/D转换、温度的测量等等,给我成就感的是每一个试验经过资料的查找、程序的编写以及调试、再到后来问题的解决,那份成就感与喜悦之心只有有过这种经历的人才能够体会。

正是有这份热情和爱好,常常在实验室呆上十二三个小时,通常是晚饭在食堂吃了后直接到验室,晚上九点半回寝室(办公楼10 点关门)。虽说那时候没有做过什么大项目,但是这每一个小小的实验也是人生知识的积累,有了这些知识的积累,我想也为以后作更大的项目打下了基础。

刚进实验室的时候,我的二导就给了我一块开发版,是altera 公司的nios ep1c20 cyclone 系列开发板,当时是以大学计划买的,5000RMB。于是就开始了我的fpga 学习之路。

以前学习过verilog,当时只是停留在纯粹的理论阶段,编几个小小的程序,用quartus-ii 自带的仿真软件进行一下仿真就ok 了。

用仿真软件进行仿真,往往能够得出你所想要的结果,但是一旦下载到芯片里边运行的话问题就会接踵而来。和单片机机学习一样,万事开有难。

我做的第一个实验也是点亮led。自己编写程序(几行而已),编译,引脚分配,仿真,然后就用jtag 下载线连接开发版板和pc 机,将sof 文件下载到芯片。

现在想起来这是多么简单的几个步骤,但是对于当时的我来说,是花费了很多的时间和精力来查找资料和埋头做实验的。

特别是引脚的分配,对着文档只说需要这么做,然而为什么要这么做呢?当时没有过多的想法,只想让我看到实验的结果,有了结果我就有了无限的成就感和对做实验的热情。

所以当看到经过我的努力,在我的第一个fpga 实验里led 按照我的意图来动作的时候,那种喜悦之情与当初学习单片机时候实现led 闪烁的情形是多么的相似。

这也是我做实验的一个惯例和一个经验,那就是边做实验边看书,在实验中发现问题,遇到不懂的问题或者原理在查找相关的文档,我习惯动手,要是让我坐在实验室看上哪怕是1 天的纯理论书籍,我的脑袋也会爆炸的,赫赫,因为没有这么看过书,所以脑袋也一直没有爆炸。

以及后来学习ucos 嵌入式操作系统我也采用的这个方法,我把它叫做"阶梯成就感"。

抱着这种热情,自己后来一点一点地深入的学习fpga,一些常规逻辑电路的设计,包括逻辑门电路、数据选择器、编译码器、加减乘除运算器、移位器,到后来的稍微复杂的电路设计,包括FIFO、数字跑表、频率计、状态机、交通等的控制、卡式电话计费系统以及UART 等。开始学习sopc。从最小系统硬件平台的搭建,到简单的led 闪烁程序的编写,到sof 文件在芯片上跑起来,看着led 的亮与灭,心中一直充满着无限的热清。

每一次接触新知识都有一种发自内心的激动,每一次接触的新东西我都是从最简单的led 闪烁开始,从单片机到fpga 到sopc 再到ucos,只有每天的一个小小的进步才能让我拥有对工作的热情,只有这每天小小的看得见的"阶梯成就感",才能激发自己对更多知识的追求。

最近一段时间在学习ucos 嵌入式操作系统,主要是运用在FPGA 里面。nios 已经为我们移植好了,不需要修改任何文件。在nios 用户界面里进行一些相应的设置,就可以用它了。许多模版为我们提供的模板里边有几个很好的例子,任务管理、信号量、邮箱传递、事件标志、时间管理等都为我们提供了很好的模板。

我们需要作的是认真的阅读它,研究它,必要的话对模板进行一些改写来完成自己的功能,这是模仿的更高的一个境地了,把他的一些东西进行吸收转化成为自己的东西,我想这是一个硬件爱好者和初学者非常乐于做的事情。在进行fpga 学习的时候,我遇到过事情停滞不前,没有进展,心情沮丧的时候。那个时候对底层硬件一无所知,连对基本的原理图也看不懂,更别说程序在开发板上是怎么运行的了。

再到后来进行nios 开发的时候,这种沮丧感与日俱增,每天一点进步也没有,那是一个很漫长的日子,现在想起来,依然庆幸自己没有绝望,没有对自己热爱的硬件失去信心。后来事件出现了转机。

有一次我和我办公室的一个工程师聊天,谈到了我的空惑,他建议我先学习单片机,自己搭建硬件平台从最小系统做起。这个工程师热心助人,学习方面的问题他总是很耐心的为我解答,让我受益匪浅。

我想说的是,遇到问题的时候,当我们感觉事情没法进展下去的时候,我们不妨换一种方式,多与周边的人聊聊天。在我的环境里,我的导师是一个拥有近30 年硬件开发经验的资深研究员,才开始的时候我什么都不懂,但是我总喜欢跑到我导师的办公室和他瞎聊。人生总是有很多坎坷,我们的学习也是的。

在这个时候我们就要看看任正非写给华为员工的一封信《要快乐的度过充满困难的一生》,在那里我们可以找到好好活下去的理由;当看中了某件事情的时候,我们就需要鼓足勇气,满腔热情地去迎接它,遇到困难的时候多和别人交流,或者是去网上看看李嘉诚的写给青年的《are you ready》,在那里我们可以学到谦虚、勇气、智慧、毅力。

个人觉得硬件工程师需要知识储备比较多,电子信息领域的技术和知识本来就很多,人需要不断的学习。我大概列举一些,是自己工作以来学习的方向,当然工作中会不到遇到各种更新更深入的问题需要学习。

最后几点

硬件工程师最大的优势就是在研发工作中可以涉及到各种各样的问题、学习各个领域的知识,这是成长的基石,不停地总结,可以从整个产品的角度思考问题。

有人说什么都懂得一点的人注定只是普通的硬件工程师,但我们必须都要懂一点,这是硬件工程师的基础。但我们还需要在自己的领域成为专家,因此需要在技术上对一个行业非常的了解。

个人觉得有两个领域值得去深入研究,以后是物联网的时代,网络无线通信的应用会越来越多。

1.网络:也是交换机和路由器等应用与组网。现在互联网基于以太网,802.3标准规定了MAC和PHY规范。上层协议如TCP/IP、UDP、ARP、环网等等,总之网络的水很深,值得一探。

2.无线通信:如移动通讯、WIFI、sub1GHz等等应用会越来越多,之前国家发布的什么旅游规划,有一条就是景区要实现免费WIFI覆盖。无线通信也基本是802.x协议族。基带和RF都可以深入学习。

我现在也很迷茫,不知道往那条路上走,但有一条是不变的那就是学习,硬件工程师需要保持好奇心,不断学习新的知识。不知道烧友们有什么建议,欢迎在评论区告诉小编。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5996

    文章

    43941

    浏览量

    620331
  • 硬件
    +关注

    关注

    11

    文章

    2917

    浏览量

    64707
  • 数字电路
    +关注

    关注

    192

    文章

    1379

    浏览量

    79714

原文标题:学会这7大技能,你就可以在工程师圈混了!

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一位优秀硬件工程师需要什么

    如何成为一个优秀硬件工程师优秀硬件工程师需要什么
    发表于 10-15 10:29 1.6w次阅读

    立宇泰电子诚聘硬件工程师研发助理(测试工程师)!

    和测试标准; 5,对各种硬件异常问题给予判断、分析和解决办法; 6,跟踪产品的批量化、工艺化流程。 岗位名称:研发助理(测试工程师)要求:
    发表于 12-10 16:12

    紧急招聘硬件研发工程师

    喜报喜报:一家专注于电商erp,电子商务有限公司委托招聘硬件研发工程师(工作地点在厦门)一、招聘硬件研发
    发表于 12-17 14:41

    紧急招聘-硬件研发工程师

    紧急招聘:招聘硬件研发工程师:1:熟悉arm linux 和ucos有电路设计基础2:3-5年硬件研发经验,做过工业
    发表于 12-17 14:43

    诚聘硬件研发工程师(FPGA)

    猎头职位:硬件研发工程师(FPGA)【北京】岗位职责:1、基于FPGA技术实现计算机体系结构设计; 2、利用可编程逻辑设计技术进行产品设计与实现; 3、分析确认设计需求,评估芯片选型,
    发表于 11-14 15:33

    诚聘硬件开发工程师

    猎头职位:硬件开发工程师【北京】岗位职责:1.参与产品硬件部分的需求分析、硬件设计、测试、调试、生产等工作;2.建立和整理PCB库,PCBL
    发表于 06-07 10:33

    优秀硬件工程师需要具备的能力

    分信号线,在调试和测试中没有出现问题。 需要熟悉各种电平标准,保证电平匹配。 五、硬件PCB图设计 目的:通过具体的项目案例,进行PCB设计全部经验揭密,使你迅速成长为优秀硬件
    发表于 07-22 13:51

    【珠海】诚聘高级硬件工程师

    猎头职位:高级硬件工程师(年薪:15-25W)工作职责:1.负责产品硬件设计与调试,并主动与其他相关工程师进行设计沟通,确保
    发表于 07-25 14:38

    诚聘硬件研发工程师

    猎头职位:硬件研发工程师【北京】职位描述:1、负责产品硬件的需求分析、原理图设计,PCB设计,调试和验证;2、编写
    发表于 08-01 11:30

    诚聘高级硬件工程师

    工程师进行模块调试与测试工作;4、根据研发流程编写相关硬件技术文件。任职要求:1、本科及以上学历,通信、电子信息类相关专业,3年以上电子产品
    发表于 08-11 12:00

    诚聘高级硬件工程师

    ,试产与投产阶段全程跟进工厂生产流程和质量管控;6.完成设计文档的编写和归档。任职要求:1.本科及以上学历,5年以上硬件工程师工作经验,熟悉智能硬件
    发表于 10-30 11:54

    想做硬件研发工程师需要学习的课程有哪些?

    想做硬件研发工程师需要学习的课程有哪些?本人电子信息工程专业本科毕业给自己定的目标是硬件
    发表于 03-19 13:48

    【微信精选】这年头做硬件工程师没前途?不存在的,那是你不懂硬件设计!

    如下图所示:一个硬件产品的项目团队中,有两个和所有人打交道的角色,一是项目经理,另外一个就是硬件工程师硬件
    发表于 09-26 07:30

    华为硬件工程师分享:嵌入式硬件产品开发流程

    硬件2-3年,有一点的积淀后,想要升职加薪,就要往管理岗位走,不熟悉硬件产品开发流程怎么行?华为硬件
    发表于 04-15 10:04

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程一般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀硬件
    发表于 06-21 10:15