关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
学会这7大技能,你就可以在工程师圈混了!
[复制链接]
作者:
微笑的一眼泪
版块:
›
硬件开发
›
硬件综合
发布时间:
2018-6-19 00:13:20
1644
0
返回列表
微笑的一眼泪
当前离线
新手上路
新手上路, 积分 4, 距离下一级还需 46 积分
新手上路
新手上路, 积分 4, 距离下一级还需 46 积分
积分
4
发消息
楼主
电梯直达
微笑的一眼泪
发表于 2018-6-19 00:13:20
|
只看该作者
|
倒序浏览
|
阅读模式
我是一个还没有踏上社会的学生,对硬件有着无限的热情与爱好,对未来也有着无限的憧憬与向往,没有丰富的项目经验和社会阅历,所以凡想在此文中获取高深的人生哲理与职业箴言,那我恳请您赶紧不要看下去,如若不然,我恐怕受到您的讥笑。
仅以此文献给那些刚刚踏上硬件之路和还在徘徊的同学们,我简要的记录了我的学习经历和其间自己所获的一些心得,以避免初学者走弯路或者是少走弯路。
我总是想用最简短的话语来表达我的思想,说出我最想对初学者说的话,但是往往力不能及。
也深知大家时间的宝贵,不愿把时间浪费在毫无意义的事情上,所以我把我最想说的话用提纲的形式列在文章的前头了,没有时间的话,各位看官只需看看前头就可以了。
首先,介绍下一个硬件产品的研发流程,如下图所示:
硬件工程师在研发团队中重要的一员,硬件产品的研发团队大致组成如下图所示:
优秀硬件工程师需要什么:
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都可以深入学习。
我现在也很迷茫,不知道往那条路上走,但有一条是不变的那就是学习,硬件工程师需要保持好奇心,不断学习新的知识。不知道烧友们有什么建议,欢迎在评论区告诉小编。
来源:电子发烧友网
本文转自
网络
,版权归原作者,如果您觉得不好,请联系我们删除!
广告
关于
立创商城
立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。拥有10000多平方米现代化元器件仓库,现货库存超100000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式元器件采购服务。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
产业缺货背景下,STM32峰会都说了什么?
•
vagrant、docker、virtualbox之间的区别
•
Xmanager使用教程:如何在Linux系统上安装Xterm应用
•
开源项目EasyDarwin编译:Linux系统下编译运行最新EasyDarwin的步骤介绍
•
华为鸿蒙(python程序员)总结的一整套python学习路线,内含python学习视频 ...
•
硬核观察|Python之父对Rust、Go、Julia和TypeScript的看法
•
硬件产品经理技术知识(一)嵌入式系统
•
干货|手把手带你搞定4大容器网络问题
•
对话胡伟武:和国产CPU一起突围的20年
•
如何才能成为一名DevOps工程师?
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
linux
快速回复
返回顶部
返回列表