嵌入式硬件工程师与嵌入式软件工程师

纯硬件设备与嵌入式设备

纯硬件设备是指内部不包含微处理器,无需烧写软件就能够运行的电子设备。如天线、老式收音机、老式电视机、老式洗衣机等。这类设备通常功能简单,易于操作,用户通常只需要打开电源开关并调节电位器、可变电容就能够使设备进行工作。

嵌入式设备是指内部包含微处理器,需要烧写软件才能够运行的电子设备。由于具备微处理器和程序代码,因此嵌入式设备能够完成比较复杂的功能。用户通常需要按照屏幕上的菜单进行选择,才能够使设备工作于希望的模式。用户甚至可以对设备进行编程,使设备按照特定的时序进行工作。

嵌入式硬件工程师与嵌入式软件工程师

嵌入式硬件工程师的职责包括:根据应用需求,设计硬件电路实现方案;选择合适的元器件;设计原理图和PCB图;加工PCB焊接元器件;调试PCB,完成设备功能调试。

嵌入式软件工程师的职责是根据设备的应用需求和PCB上的微处理器及外设的功能,在充分理解微处理器及外设的寄存器与其硬件功能的对应关系的基础上,用C语言代码、汇编语言代码、或其他语言进行编程,实现设备的功能。

嵌入式软件工程师和嵌入式硬件工程师的不同之处有以下几点:

  1. 相比软件工程师来说,硬件工程师的起点高。要成为一名合格的硬件工程师,首先应该掌握电磁学,热力学等基础理论知识。理解电流能够产生热量,电压高到一定程度能够能够击穿造成设备的损坏。理解电场和磁场会造成电磁波辐射形成干扰,理解温度高到一定程度后会造成元器件工作不稳定。此外,还需要掌握示波器、逻辑分析仪等测量仪器的使用方法。因此要求嵌入式硬件工程师在初中,高中时具有良好的物理、数学成绩。嵌入式软件工程师只需要学习C语言程序设计及其分支、循环等语言结构,看懂寄存器与硬件之间的对应关系,就能够进行嵌入式软件设计。因此对于程序设计来说,中小学生就可以掌握,进行程序设计并写出hello world或者点亮LED灯等简单的程序。
  2. 嵌入式硬件工程师的天花板要比嵌入式软件工程师的天花板低。嵌入式硬件工程师的技术难点是电路板设计以及电路板调试。而这些技术很难形成完备的理论体系,很少形成理论突破。因此要通过硬件设计获得博士学位或硕士学位是很难的,当然这里所说的硬件不包括微电子设计。软件工程理论的发展使得软件设计具有广阔的增长空间,例如对于面向对象的设计,类,对象,继承,多态等理论体系的发展,几乎使得软件设计进入到了哲学的高度。
  3. 硬件工程师的工作环境较差。软件工程师的工作环境,包括一台电脑,一个办公桌,电源烧写器等。占用的空间小。而硬件工程师除了这些桌面上还需要示波器逻辑分析仪网络分析仪等电气测试设备。甚至在必要的时候还需要用烙铁对元器件进行焊接和调试。

纯硬件设备依然有一定的市场

虽然嵌入式设备的功能丰富,性价比高,但却存在着操作复杂的问题。对于智能电视,开机后通常只显示开机界面。要想看某个视频节目,需要操作人员用遥控器进行多项选择才能完成。这对于老人来说,实在不是件轻松的事情。而传统的纯硬件设备电视,只需要按下开关安静,在电视机上进行选台,就能够看到某个频道的电视节目。因此,纯硬件设备虽然功能单一,但在老年客户中还有一定的市场。