成为高级嵌入式系统硬件工程师是个什么概念入手的?

很多朋友经常会问,要成为高级嵌入式系统硬件工程师需要做什么?那么,让我们从嵌入式硬件工程师的概念入手。

一、如何理解“嵌入式”的概念?

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通道光通道。IXP系列应该是intel在基于ARM的体系结构下集成到Xscale内核中的最高处理器。其中两个对应两个MAC地址,可以用于网关切换,而另一个NPE网络处理器引擎支持DSL,只要外加一个PHY芯片就可以实现DSL上网功能。IXP系列最高频率可达1.8G,支持2G内存,1G×10或10G×1以太网口或Febre通道光通道。IXP系列应该是intel在基于ARM的体系结构下集成到Xscale内核中的最高处理器。其中两个对应两个MAC地址,可以用于网关切换,而另一个NPE网络处理器引擎支持DSL,只要外加一个PHY芯片就可以实现DSL上网功能。IXP系列最高频率可达1.8G,支持2G内存,1G×10或10G×1以太网口或Febre通道光通道。IXP系列应该是intel在基于ARM的体系结构下集成到Xscale内核中的最高处理器。1G×10或10G×1以太网端口或Febre通道光通道。IXP系列应该是intel在基于ARM的体系结构下集成到Xscale内核中的最高处理器。1G×10或10G×1以太网端口或Febre通道光通道。IXP系列应该是intel在基于ARM的体系结构下集成到Xscale内核中的最高处理器。

2、从软件上看,在定制的操作系统内核中选择应用,编译后内核下载到ROM中。定制操作系统内核时选择的应用程序组件是为了完成软件的“嵌入”。比如WinCE定制内核时硬件开发转嵌入式开发难吗,会有相应的选择,包括写字板、PDF、MediaPlay等。如果我们选择,CE启动后,可以在界面中找到这些东西。如果是以前PC上的Windows操作系统,大部分东西都需要重新安装。

3、将软件内核或应用文件系统烧录到嵌入式系统硬件平台的ROM中,实现真正的“嵌入”。

上面的定义比理解更重要,而且书里有很多定义,但是在这个领域,没有人敢说他们的定义很准确,包括那些专家学者,他们毕竟是嵌入式系统。计算机类综合学科

二、嵌入式系统的分层与专业分类

嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。

1、硬件层是整个嵌入式系统的基础。如果你熟悉单片机和接口,并且会用C和汇编语言编程,那么从嵌入式系统的硬件层走出来是比较容易的。该层也是驱动层的基础。一个优秀的驱动工程师必须能够看懂硬件的电路图,自己完成CPLD的逻辑设计。同时,他必须对操作系统内核及其调度相当熟悉。但硬件平台是基础,增值也取决于软件。

硬件层比较适合电子、通信、自动化、机电一体化、信息工程等专业的人。需要掌握的基本专业知识包括单片机原理与接口技术、微机原理与接口技术、C语言等。

2、 驱动层,这部分比较难。驱动工程师不仅要懂电路图,还要非常精通操作系统内核,这样他写的驱动在调用系统时就不会独占操作系统时间。其他任务无法执行,不了解操作系统内核架构和实时调度,没有良好的驱动编写风格。按照大部分书上提到的添加驱动的方式,很多人都可以做到,但可能连初级驱动工程师都达不到,所以这样写的驱动就像我们在windows下打开一个程序,那么当我们打开另一个程序的时候,要么打断之前的程序,要么就是等待一段时间才能运行后面打开的程序。如果你想成为一名优秀的驱动程序硬件开发转嵌入式开发难吗,你没有三、四年的知识,你也不必研究操作系统内核。成功并不容易,但它的薪水却是嵌入式系统四层中最高的。

驱动层比较适合电子、通信、自动化、机电一体化、信息工程等专业的人,尤其是计算机体系结构专业的人。系统原理、编译原理一定要非常精通。

3、操作系统层,对于操作系统层来说,目前只能说是简单的移植,很少有人写出操作系统或者缺胳膊少腿的操作系统。这项工作大部分是由Drive工程师完成的。操作系统负责系统任务的调试,磁盘和文件的管理,嵌入式系统的实时性非常重要。据说,微软花了两年时间投资300人完成XP操作系统,总工时600人年。因此,这部分工作相对来说意义不大。

4、应用层比较容易。如果你知道如何在 Windows 下调用编程接口函数,那么在操作系统下只有编译和开发环境会发生相应的变化。如果涉及到 Java 端的编程,情况也是如此。嵌入式系统所涉及的算法由专业的算法人员处理,不必归属于嵌入式系统的范畴。但是,如果涉及到嵌入式系统下的嵌入式数据库,基于嵌入式系统的网络编程,以及基于一定应用级别的协议应用开发(如基于SIP,H.323、Astrisk) ,比较复杂,还有难度。

三、目标和定位

先有目标,再定位。

学习ARM,在硬件方面,一方面是学习接口电路设计,另一方面是学习汇编和C语言的板级编程。软件方面,需要学习基于ARM处理器的操作系统级别的驱动和移植。这些对于初学者来说一定要清楚,无论是从硬件上,还是从操作系统的熟悉到应用,但不管怎样,只要不是操作系统层面以上纯API的应用层编程,硬件你仍然需要能够理解基于寄存器的东西,你仍然需要了解板级汇编和 C 编程。因此,对于嵌入式系统的硬件层和驱动,ARM的接口电路设计,ARM’

所以,对于初学者来说,一定要把握好方向,你的目标是什么,一定要在那个层次上去。那就开始学好了,比较实用的ARM相关嵌入式系统的硬件层和驱动层这两个层次,不管哪一层学的好,都会很有前途。

学习ARM,在硬件方面,一方面是学习接口电路设计,另一方面是学习汇编和C语言的板级编程。

如果要从嵌入式系统的应用层面走,可能离ARM等系统还很远。需要重点关注嵌入式操作系统的环境应用和相应的开发工具链,比如WinCe操作系统下的EVC应用开发(类似于Windows下的VC),想要进一步突破,应该依靠在一些音视频协议上,如VOIP领域基于SIP或H.323协议的应用层开发,或者基于嵌入式网络数据库的应用层开发。发展等等。

对初学者来说,量力而行,不要以为驱动层薪水高就以它为方向。一定要结合自身的特点。在嵌入式系统的四个层次上,都有专家。当然,也有专家。这也对应着高薪。我在硬件层工作。过去,我每月的工资中被扣除了近3000元的个人所得税。当然,我一方面扮演工程师的角色,另一方面扮演主管的角色。我自己做这项工作,但那是工作时间。在硬件方面可能和我PK的人很少,所以我能拿到这么多的薪水。

四、开发系统选型

很多ARM初学者希望有一个自己可以使用的系统,但是会产生一个误区,认为处理器版本越高性能越好,就像很多人认为ARM9和ARM7更好一样,我觉得对于初学者来说应该以这种方式开始是明智的。开发系统的选择最终取决于嵌入式系统的方向,是做驱动开发还是应用,还是做嵌入式系统硬件层设计和板级测试。. 如果要从操作系统层面或者应用层面去,不管是驱动还是应用,当然处理器性能越高越好,但是这个很难自己学。这不是几个月、半年或一年。它可以在两年内完成。

从某种意义上说,ARM7和9的区别在于丰富了一些功能指令集,增加了主频,比如286和386。对于用户来说,可能什么都找不到,只能感觉速度有点快。

ARM7更适合想从硬件层面走的人,因为ARM7系列处理器内部的MMU很少,更容易控制。比如S3C44B0可以很方便的关闭Cache,内部的接口寄存器很容易理解,各种接口可以通过硬件程序控制或者AXD单步命令行指令来控制。基于51单片机的思路,很容易理解他,把它当成32位单片机,从而省去了很多51工程师。想变成嵌入式系统硬件ARM开发工程师的困惑,不至于被业内一些不懂嵌入式烂的公司带到操作系统层面。

在嵌入式系统中,无论是硬件设计还是软件驱动,都非常注重接口部分。在选择平台时,您还需要检查处理器的外部资源。你接触外部资源越多,对他们越熟悉,你未来就业成功的可能性就越大。越高,这就是招聘时所谓的“相关技能”,因为一个人不可能在短短几年内接触所有处理器,而招聘单位使用的处理器可能是我们没见过的一点也不。就拿台湾几十家小公司生产的ARM型处理器来说(市价千万),也很好用,但是这些东西太通用了,而使用这些处理器的公司只能招募他们。有相关工作经验的人,什么是相关工作经验,硬件方面是外围接口设计,软件方面是接口驱动和操作系统中的应用开发经验。我在这个行业已经将近十年了。ARM出现在2000年,一天开始做ARM7,然后直接去了Xscale(这个板子在ARM10-11之间)。我做了五年了,有几百人面试。这些方面至今仍深有体会。它与操作系统中的接口驱动程序和应用程序开发经验有关。我在这个行业已经将近十年了。ARM出现在2000年,一天开始做ARM7,然后直接去了Xscale(这个板子在ARM10-11之间)。我做了五年了,有几百人面试。这些方面至今仍深有体会。它与操作系统中的接口驱动程序和应用程序开发经验有关。我在这个行业已经将近十年了。ARM出现在2000年,一天开始做ARM7,然后直接去了Xscale(这个板子在ARM10-11之间)。我做了五年了,有几百人面试。这些方面至今仍深有体会。

我个人认为三星的S3C44b0更适合初学者。你为什么这么说?因为界面资源丰富,技术成熟,素材也很多,应该很适合初学者。找人帮助和解决问题可能很容易。因为大部分人都熟悉,就像51型单片机一样,有N多位专家级人物可以帮到你,相关问题也能快速解答,所以业界认为这个ARM不好用过,不过对于初学者来说,是个好东西。

因此,开发系统的选择取决于自己未来的方向,开发板的接口资源,以及行业的通用性。

五、成为高级嵌入式系统硬件工程师的技能

对于硬件,有几个方向。纯信号分为数字和模拟。模拟比较难做,一般需要很长时间的经验积累。单个电阻或电容值的精度可能会导致信号的较大偏差。所以年轻人做的少。随着技术的发展,出现了模拟电路的数字化。例如,手机的Modem RF模块使用成熟的芯片组。当时全世界只有两家公司拥有这项技术,他们觉得自己有模拟功能。不是太强的人不适合这个。如果他们真的能搞定手机的射频模块,只要达到一般水平,他们的月薪可能在15K以上。

另一类是数字部分,大体上可分为51/ARM单片机、DSP、FPGA。国内大部分FPGA工程师在IC设计公司从事IP核的前端验证,这部分不涉及。在门级,未来还不是很清楚。即使你是IC前端验证工程师,也得工作几年才能胜任。DSP硬件接口比较老套。如果不向驱动或算法靠拢,未来不会太大。

ARM单片机内容较多,行业产品占有量大,应用人群广,因此就业空间很大,硬件设计最能体现接口设计的水平和层次。这是各个高级硬件工程师的相互PK。判断水平的依据。

接口设计最关键的部分是看时序,而不是简单的连接。例如,PXA255 处理器 I2C 需要 100Kbps 的速度。如果连接一个最大 100kbps 的 I2C 外围设备,必然会导致设计失败。有很多这样的情况。比如51单片机可以在总线上接LCD,但是为什么这个LCD不能挂在ARM总线上,ARM7总线可以接Winband SD卡控制器,但是为什么这种控制器?不接收 ARM9 或 Xscale 处理器,这些都是问题。因此,接口不是简单的连接,它取决于时序和参数。

一个优秀的硬件工程师应该能够在没有参考解决方案的情况下设计出性价比更高的产品。根据现有的解决方案,也应该做出适当可行的剪裁,但不是随机的。当工程师将方案中的5V DC芯片改成1.8V DC芯片直接换成LDO,有时CPU会烧几个。

前几天有人请我帮他们优化他们基于PXA255平台的手持GPS设备的程序。我询问了情况。地图存储在SD卡中,SD卡和PXA255接口的MMC控制器之间使用SPI,所以地图读取速度很慢。这种情况是设计上的严重缺陷,不是程序问题,所以我提了几个建议,让他们更新一下,再试一次。

因此,要想成为一名优秀的工程师,就需要掌握系统的完整性,了解现有的电路。换句话说,如果给你一组电路图,你就能明白你能理解多少。如果你不能理解超过 80%,那说明你离优秀的工程师还差得很远。二是调试能力和电路审查能力,但最基本的能力是原理图设计PCB绘图和逻辑设计。这是指硬件设计工程师。从以上硬件设计工程师中,也可以划分出ECAD工程师,即画PCB板的专业工程师和帮助他人解决EMC问题的EMC设计工程师。

硬件工程师是板级测试工程师,是一名具有良好C语言能力的硬件工程师。在电路板调试过程中,他可以通过自己编写的测试程序验证硬件功能。然后根据操作系统级别交给驱动开发者。

总而言之,硬件的内容是很复杂的,你练了硬件,你就会成为高手。我经常给别人一个计划评估。很多高级硬件工程师设计的东西经常被我拒绝,所以工程师就做我做的事情。到了这个层次,有些人会被冒犯,但是硬件中确实有很多不为人知的东西,让很多资深硬件工程师不解。

那么高级硬件工程师的技术功底肯定有那些东西。首先要掌握EDA设计的辅助工具,如ProtelORCADPowperPCBMaplux2ISE和VDHL语言。他们必须能够使用这些工具为逻辑设计绘制绘图板,然后具备审查界面设计的能力。另一个是调试能力。如果你能去整体方案设计,你就基本成为高级工程师了。

高级硬件工程师不仅要有设计能力还要有很深的基础功,也就是EDA工具的使用,EDA工程师包括原理图和PCB工具、逻辑设计工具和VHDL

SCH 在 Cadence 下有 Orcad,在 Mentors pad 下有 powerpcb。

当然protel也有这两个功能,只是国际上并不常用。仅供家庭使用。如果你想走的更高或者去台资、日资、美资公司以及需要外汇的国内大公司,以上的硬件原理图工具和PCB工资一定要掌握。对于逻辑,硬件工程师主要负责CPLD。说到FPGA,应该有专业的FPGA人员来做,因为FPGA不适合做逻辑。所以硬件工程师只去CPLD。

五金靠经验和积累,十年磨一剑,百年磨一针。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论