1. 软硬件平台差异大且非标准
相比几乎标准化的PC系统,嵌入式系统之间的差异可谓巨大。
a. CPU主频快的几GHz,慢的几MHz;
b. 内存大的几GB,小的几KB;
c. 外设丰富多样,连接稀奇古怪,配置五花八门;
d. 操作系统种类繁多,性能各异,有的实时,有的通用,还有的干脆裸奔。
所带来的一系列问题:
a. 没有工程师能掌握所有的嵌入式技术;
b. 遇到问题,不太容易问到答案,大家的软硬件环境可都不一样;
c. 对元器件供应商的依赖:元器件采购难易、货期长短、价格高低、支持好坏等都会影响产品的研发和量产。
2. 硬件能力受限,成本敏感,功耗敏感
CPU速度和内存大小往往直接受制于成本。甚至增加成本都解决不了:散热空间有限,不能安装风扇,只能降低CPU速度;体积也有限,没法增加内存。
调试方式受限。作为PC系统调试最基本最常用的Print大法,在很多嵌入式调试中是奢侈:有的没地方输出,有的直接影响时序,有的速度太慢,有的编译器不支持。
手持设备一般还对功耗有明确要求。有些场合电池容量甚至就是产品寿命。
3. 环境恶劣,可靠性要求高
以我曾经开发过的电力线载波产品为例,安装的地方,可能冰天雪地,可能太阳暴晒,可能强电磁干扰,可能经常断电。
军工、航空、高铁、汽车及很多工控产品就更不用说了。环境恶劣不说,出了问题可是人命关天,来不得半点马虎。
4. 跨学科,跨领域,跨行业
就算精通了嵌入式系统的软硬件知识,要想成为好的嵌入式工程师仍远远不够。
例如,要设计温度控制系统:传感器的选择和安装,信号的调理和采样,控制算法的性能和复杂度,加热或冷却装置的安装和操控,温度的校准,设备的维护,这些都不是嵌入式范畴内的知识和技能。
例如,要设计光学测量系统:镜头、辅助光源的设计、选择和安装,图像处理算法的性能和复杂度,材料、结构、工艺的稳定性,摄像机的标定,这些也不是嵌入式系统的知识和技能。
例如,要设计无线通信系统:天线的设计和调试、小信号的放大和采样,噪声和干扰的处理,频偏的估计和补偿,信道的复用和解复用,协议栈的设计和实现,跟嵌入式系统也是相关但不同的研究方向。
嵌入式系统的专家,需要与各行业专家紧密配合。知识面、沟通能力、协作能力,也是嵌入式工程师成长的必要技能。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!