一个工程师的硬件之路

发布者:诚信与爱最新更新时间:2015-10-19 来源: eefocus关键字:工程师  硬件之路 手机看文章 扫描二维码
随时随地手机看文章
本人是一个在校研究生,本科就读于吉林大学通信工程学院,硕士正就读于中船重工709 研究所计算机应用专业。对硬件有着无限的热情与爱好,对未来也有着无限的憧憬与向往。每一个人都在为自己的将来作着各种各样的计划,都在考虑我们未来的职业,既然我们已经选择了硬件,那么我们就热爱它吧,把我们的才能与热情都奉献出来,我们不仅仅能够得到物质的补偿(赫赫,现在还没有得到什么物质补偿,我想毕业后就会的),还会在精神上感到满足与快乐(已经有所感受了,哈哈)。我是一个还没有踏上社会的学生,没有丰富的项目经验和社会阅历,所以凡想在此文中获取高深的人生哲理与职业箴言,那我恳请您赶紧不要看下去,如若不然,我恐怕受到您的讥笑;仅以此文献给那些刚刚踏上硬件之路和还在徘徊的同学们,我简要的记录了我的学习经历和其间自己所获的一些心得,以避免初学者走弯路或者是少走弯路。我深知对于一个初学者来说,身边有一个手把手的老师那该是多么幸福的一件事情,他的一句不经意的话或许我们初学者都要花上几天甚至是几个月的时间去思考和验证。但是我们身边并非总是有一个这么样的老师,我们就需要在网络上去寻找答案了,前人的经验是非常值得借鉴的,我们从他们写得一些文章中可以悟出一些东西,为我所用,或者是从中吸取精神动力等等。搞硬件的人一定要读一读任正非的文章,李嘉诚的文章,周立功的文章,以及网上流传的其他一些文章。现在还记得学习单片机的时候找到的一片文章叫做《学习单片机的八个步骤》。这些文章总是像一个指路标,指引初学者向着正确的方向走去。此文纯属无稽之谈,毫无含金量,若是能够给初学者带来哪怕是一点点地影响,能够为你们提供一点点地帮助,那么我将感到无限的欣慰。


我总是想用最简短的话语来表达我的思想,说出我最想对初学者说的话,但是往往力不能及。也深知大家时间的宝贵,不愿把时间浪费在毫无意义的事情上,所以我把我最想说的话用提纲的形式列在文章的前头了,没有时间的话,各位看官只需看看前头就可以了。

优秀硬件工程师需要什么(来自网上文章以及自己的总结):

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

以上并非每一种都要精通,根据自己的实际,5、6、7 可以选择其中的一到两种,当然都会的话那更好。2-4 本人认为这是基础,必须精通。

硬件需求配置:

1.学习单片机的话,仿真器是必不可少的,有没有编程器倒是影响不大,建议自己买一块即插即用的万能板,自己搭建系统来试验。这样不用烙铁焊接了,因为我们作为学习者,很容易焊错器件或者是引脚。买开发板的话,就会对硬件的连接不会很了解,建议初学者自己搭建系统以及其他的外扩器件。这会让你对整体的硬件连接了如指掌。全在自己的掌控之中。还有有一台示波器的话那是再理想不过了,那会帮助我们分析解决问题,特别是在做串口实验、中断、I2CEEPROM 读写的时候。

2. 学习FPGA,那么就不能像学习单片机一样找来一片芯片就可以动手了。像51 类单片机的引脚不是很多,但是FPGA 就不一样了,往往有几十个甚至一百多的引脚,我用的altera 的ep1c20 有144 个引脚,全贴片工艺,所以这个时候我们就必须在市场上买一个开发板了。我用的是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属于比较高的层次,对人的要求比较高。开发板价格应该也不菲,我现在还没有用过。各位同学看了后会发现学习这些东西不光是时间、精力的问题,还涉及到一个让我们同学们很感冒的问题,那就是器件的购买,这些都需要钱,而且价格都不菲。大部分的我们是没有这份闲钱的,同学们可以找几个志同道合的同学一块买,还可以一块讨论。要是学校实验室有的话就在实验室搞,要是导师有就找导师要,总之不要放过任何可能的机会,同志们要深知我们的命运把握在我们自己手中,既然选择了硬件这条路,就要认认真真地走下去,不光要走下去,还要想方设法走的很好。以上都是我的一家之言,同学们千万不要全信,仅给诸君一个初步的认识,如若错误还请一笑了之,纯当小孩之言,无稽之谈。

在啰嗦之前,我想介绍一下我办公室的人员组成,因为这个对我有很大的影响。办公室有四个人,一个是拥有十一年工作经验且已拥有自己专利的高级工程师(我的导师要他带我,我习惯叫他二导,这是我为什么在这个办公室的原因),一个是拥有5 年经验热心助人的工程师,还有两个分别是电源和视频方面的专家或者元老级人物。耳濡目染,自己渐渐的对硬件发生了浓厚的兴趣。从单片机,FPGA,SOPC 硬件的搭建以及软件编程,以及现在正在努力研究的ARM,我是凭着无限的热情来做的。

热情不是唯一的原因,还有另外一个原因就是试验室给我提供了很好的学习环境。学习单片机的时候,试验室有现成的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 等。


以上的试验我都是采用的verilog 语言来实现的。当初接触fpga 的时候向学习VHDL,那时同学们都用verilog,以便和他们讨论问题的方便,后来就改学习verilog 了,一学不要紧,发现自己深深地爱上了verilog,因为对于我来说,他无疑更加适合我。这也是我的一个经验,那就是看看你旁边的人用的是什么工具,他们用的工具往往不是你最喜欢的或者是不是当前最流行的和用的最广泛的,但是你若要和他们交流讨论问题的话,那你还是迁就一下,大环境是这样的,和你旁边的人所用工具一样,交流起来也会顺畅方便。来实验室后,因为我们实验室的员工用的伟福的仿真器,所以软件当然还是用伟福提供的。伟福的软件不怎么好,只支持汇编,比起大名鼎鼎的keil c51 那是逊了一大截。但是在前期的时候我还是选择了伟福的软件,因为我不想到时候我有问题不会的时候周边没有人帮助我。再后来,经过自己的摸索和向身边的工程师们请教,伟福用的已经很熟悉了,汇编也有了自己的一套,这个时候我开始在伟福里边嵌入keil,用c 语言来写程序,但是调试的时候用伟福软件还是有缺陷,比如说不能够单步执行。所以再后来我下载了keil c51 软件,从此以后我正式的在keil 的开发界面下写程序了。当然仿真的时候也可以在keil 环境下用伟福仿真器,我想伟福在制造他的产品的时候就已经考虑到这点了,他的一些产品肯定要兼容主流软件keil 的。用了keil C51 后就不想用伟福编译软件了,同样的用了c 写程序后,就不想用汇编了。但是汇编是每一个硬件研发工程师们都必需的,汇编有c 不可企及之处,有时候还非用汇编不可。汇编的运行效率高,但是写起来很是繁琐,繁琐规繁琐,当在某些特定的时刻,汇编发挥了他不可替代的作用。比如在将usoc 移植到单片机的时候,与处理器相关的程序还真是必须用汇编来完成。


再后来,开始学习sopc。从最小系统硬件平台的搭建,到简单的led 闪烁程序的编写,到sof 文件在芯片上跑起来,看着led 的亮与灭,心中一直充满着无限的热清。每一次接触新知识都有一种发自内心的激动,每一次接触的新东西我都是从最简单的led 闪烁开始,从单片机到fpga 到sopc 再到ucos,只有每天的一个小小的进步才能让我拥有对工作的热情,只有这每天小小的看得见的"阶梯成就感",才能激发自己对更多知识的追求。本人比较欣赏altera 公司推出的可编程片上系统(即sopc),她解放了我们搭建硬件系统的繁琐,仅仅需要按照需求在系统里边加上自己的IP 核和一些必须的外设。altera公司或者其他的第三方公司已经为我们提供了性能和功能很完善的IP 核,我们所要做的只是将这些IP核加入到我们的系统里完成我们需要的功能。硬件系统完成后,需要在altera 公司为我们提供的nios IDE环境里边对我们的硬件系统进行软件编程,在这里,完全用c 语言来完成我们所需要的功能。与前边学习单片机、fpga 一样,第一个实验还是led 闪烁,然后慢慢的转向一些比较复杂的功能设计上去,也无非是实现以前用verilog 实现过的一些功能。两者的区别是:一种完全用verilog 语言来实现全部功能;一种需要先用sopc builder 搭建硬件系统,然后在nios ide 中进行软件的编程。这两种方法都能够实现我们需要的功能,但是后者更方便快捷,因为在这种方法里,我们使用的是"拿来主义",IP 核已经实现了我们的功能,要做的仅仅是去用它而已。


最近一段时间在学习ucos 嵌入式操作系统,主要是运用在FPGA 里面。nios 已经为我们移植好了,不需要修改任何文件。在nios 用户界面里进行一些相应的设置,就可以用它了。altera 公司为我们提供的模板里边有几个很好的例子,任务管理、信号量、邮箱传递、事件标志、时间管理等都为我们提供了很好的模板,我们需要作的是认真的阅读它,研究它,必要的话对模板进行一些改写来完成自己的功能,这是模仿的更高的一个境地了,把他的一些东西进行吸收转化成为自己的东西,我想这是一个硬件爱好者和初学者非常乐于做的事情。


在进行fpga 学习的时候,我遇到过事情停滞不前,没有进展,心情沮丧的时候。那个时候对底层硬件一无所知,连对基本的原理图也看不懂,更别说程序在开发板上是怎么运行的了。再到后来进行nios 开发的时候,这种沮丧感与日俱增,每天一点进步也没有,那是一个很漫长的日子,现在想起来,依然庆幸自己没有绝望,没有对自己热爱的硬件失去信心。后来事件出现了转机。有一次我和我办公室的一个工程师聊天,谈到了我的空惑,他建议我先学习单片机,自己搭建硬件平台从最小系统做起。这个工程师热心助人,学习方面的问题他总是很耐心的为我解答,让我受益匪浅,我很庆幸能够在这种环境当中学习,虽说我不在高校,但是研究所为我提供的学习环境与硬件设施我想不是每个高校学生能够享受到的。我想说的是,遇到问题的时候,当我们感觉事情没法进展下去的时候,我们不妨换一种方式,多与周边的人聊聊天。在我的环境里,我的导师是一个拥有近30 年硬件开发经验的资深研究员,才开始的时候我什么都不懂(赫赫,感觉现在依然什么都不懂,东西越学越多,总也学不完),但是我总喜欢跑到我导师的办公室和他瞎聊。他和蔼可亲,容易接近,和他交流的时候总是给我一些职业和人生方面的忠告,这些忠告将会伴随着我的人生。


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


最后送给我们的初学者一句话。《圣经》中马太福音里的一句话:凡有的,还要加给他叫他多余;没有的,连他所有的也要夺过来。

关键字:工程师  硬件之路 引用地址:一个工程师的硬件之路

上一篇:MSP430学习笔记(二)
下一篇:请不要做浮躁的嵌入式工程师

推荐阅读最新更新时间:2024-03-16 14:36

FBI工程师承认向中国泄密 获赠欧洲游
     46岁的美国归化公民秦昆山(Kun Shan Chun)试图隐瞒自己和一名中国官员的关系并向其提供情报。8月1日,走出法院的秦昆山被媒体拍到。 一位有权接触高级机密文件的美国联邦调查局(FBI)工程师周一(8月2日)承认向中国提供了FBI的内部文件以及其他敏感材料。 曼哈顿的检察官起诉46岁的归化公民秦昆山(音译,Kun Shan Chun)试图隐瞒自己和一名中国官员的关系,这涉嫌违反他签署的保密协议。 在离开法院时,秦昆山拒绝回答媒体提问。其辩护律师在一份声明中称,秦对自己的行为感到非常遗憾。 法庭文件透露,秦昆山从1997年开始为FBI工作。在开始为FBI计算机中央系统监管部门工作后,秦认识了一位试图获取技术资料
[手机便携]
工程师不可不知的开关电源关键设计(一)
      牵涉到开关电源技术设计或分析成为电子工程师的心头之痛已是不争的事实,应广大网友迫切要求,电子发烧友推出开关电源设计整合系列和工程师们一起分享,请各位继续关注后续章节。    一、12V开关电源电路原理分析   该开关电源属于小功率开关电源,输入220V交流市电,输出12V直流电,最大输出电流1.3A,主要应用于小型设备的供电,比如楼宇监控设备等。其电原理图如图1所示。其控制核心器件为脉宽调制集成电路TL3843P(内含振荡器、脉宽调制比较器、逻辑控制器,具有过流、欠压等保护控制功能,最高工作频率可达500MHz.启动电流仅需ImA)。各引脚功能如下:(1)脚是内部误差放大器的输出端,通常与(2)脚之间有反
[电源管理]
<font color='red'>工程师</font>不可不知的开关电源关键设计(一)
工程师观点:采用数字电源还是模拟电源?
工程师观点:采用数字电源还是模拟电源? 近几年,使用微处理器控制开关式电源不断发展。在数字电源相比模拟电源的优点方面仍存在许多争议,两大阵营你来我往、争论激烈。 实际上,每一种方法都有其自己的优点和缺点。但设计人员最终都必须做出选择,是使用模拟解决方案还是使用数字解决方案,而要做出明智的决定需要了解每种方案的优点和缺点。 模拟开关式电源已经使用了几十年。其设计为人们所熟知,而且有许多优秀的教科书、仿真工具包、应用手册和研讨会。还有众多厂商提供的大量低成本集成电路,其封装了许多功能,从集成栅极驱动器及开关到电流感应和保护。总之,无论如何数字电源都会使模拟电源多余的观点太过牵强。 数字控制拥有一些模拟世界不具有的特性,其
[电源管理]
资深工程师心声:信任专业,世界可以更美好
  科学家与工程师们可以解决这世上大多数的问题,前提是只要企业的管理阶层、公司政策以及政府监管机构肯让他们去做──以上是在美国德州举行的NI Week 2010活动期间一场热烈进行之业界高阶主管座谈会上的共识。   “像是墨西哥湾BP石油漏油事件、丰田(Toyota)汽车召回事件,甚至是苹果的(Apple)天线门事件,工程师们的意见都获得了管理高层的采纳、也取得了能够妥善解决问题的机会。”美国国家仪器(NI)执行长暨共同创办人James Truchard表示。   在NI被昵称为Dr. T的Truchard在闲聊中表示,他认为:“我们活在一个太两极化的世界。”在他最偏好的能源解决方案──核融合──准备好迈向全盛时期之前,他宁可
[半导体设计/制造]
越来越多工程师选择世强元件电商缩短物联网研发时间
“物联网发展迅速,但物联网研发也面临碎片化严重,企业无法获取有用信息、无法精准选型、技术服务获取难、研发物料难获取、容易遭遇旺季涨价等情况。世强凭借24年来服务中国先进电子企业的经验、资源和服务,借助电商平台,能够大幅缩短物联网的研发时间,目前我们平台上同时服务着超过2万个物联网及相关领域的研发项目”,世强元件电商的相关负责人在第四届中国IoT大会上提到。 2017年12月6-7日,第四届中国IoT大会在深圳隆重举行,包括Silicon Labs、TI、高通、华为、微软、世强元件电商等企业共同探讨了物联网的市场机会和发展趋势,而且还对智慧城市、工业物联网、可穿戴设备、智能家庭、智能汽车等领域新的解决方案进行了深入的解析。世强元
[物联网]
越来越多<font color='red'>工程师</font>选择世强元件电商缩短物联网研发时间
一位软件工程师的6年总结
很多想学电子的朋友都会觉得电子很神秘,其实,你看完这篇文章后会觉得,学电子道路清晰了很多。 “又是一年毕业时”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位;想想自己也曾经意气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标。本文主要是关于软件开发人员如何提高自己的软件专业技术方面的具体建议,前面几点旨在确定大的方向,算是废话吧。 谨以此文献给那个自己为你奉献3年青春与激情的开发团队。还有团队成员:PPL、YT、YK、TYF、LGL、CHL、CDY、CB、DPD。 1、分享第一条经验:“ 学历代表过去、能力代表现在、学习力代表未来。” 其
[单片机]
工程师实战干货分享:77条STM32知识汇总
以下是工程师结合自己的工作实战经验分享,总共有77条STM32知识汇总,建议收藏!SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL等。 1、 SYSCLK时钟源有三个来源:HSI RC、HSE OSC、PLL 2、 MCO 可以提供4源不同的时钟同步信号,PA8 3、 GPIO口貌似有两个反向串联的二极管用作钳位二极管。 4、 ICode总线,DCode总线、系统总线、DMA总线、总线矩阵、AHB/APB桥 5、在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟 6、 STM32复位有三种:系统复位、上电复位、备份区域复位。其中系统复位除了RCC_CSR中
[单片机]
<font color='red'>工程师</font>实战干货分享:77条STM32知识汇总
工程师总结的估计信号完整性效应的经验法则
经验法则只是一种大概的近似估算,它的设计目的是以最小的工作量,以知觉为基础找到一个快速的答案。经验法则是估算的出发点,它可以帮助我们区分5或50,而且它能帮助我们在设计的早期阶段就对设计有较好的整体规划。在速度和精度的权衡之间,经验法则倾向于速度,但它并不是很准确。 当然,不可以盲目的使用经验法则,它必须基于对基本理论的深刻了解和良好的工程判断能力。 当精确度很重要时,例如在设计中某个数值偏离百分之几就要付出百万美元的代价,就必须使用验证过的数值仿真工具。 1、信号上升时间约是时钟周期的10%,即1/10x1/Fclock。例如100MHZ 使中的上升时间大约是1NS. 2、理想方波的N 次谐波的振幅约是时钟电压副值的2/(
[模拟电子]
<font color='red'>工程师</font>总结的估计信号完整性效应的经验法则
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved