【嵌入式笔记0】嵌入式技术栈分析

本文最后更新于:2022年12月31日 下午

嵌入式技术栈分析

嵌入式开发流程

流程图

一般来说,嵌入式开发的基本流程如下图所示。我们“从下往上”讲解。

1、画原理图

大学的时候因为一些特殊的原因,接触过电路设计以及硬件开发的知识。但研究并不深,也未曾想到自己会从事嵌入式开发,所以工作时只能花大量时间将其补上。

言归正传,画原理图首先是需要有原理图库,也可以自己构建元器件图,当然也可以从别人那里拷贝。有了原理图库,就开始画原理图。画原理图需要你有很扎实的电路、数电、模电、电力电子基础,需要会设计电路原理,需要会器件选型,熟悉芯片的最小系统,熟悉常用的电源电路,熟悉基本的滤波电路和运算放大电路。

下面是我从网上随便找的原理图,可做参考。

R-C

2、画PCB图

原理图画好了以后,开始画PCB板,Printed Circuit Board,印制电路板。画PCB板子,首先是根据选型的元器件,查看元器件的数据手册,根据元器件真实封装大小画出PCB元器件库。有了PCB元器件库,就开始画PCB,画PCB需要你懂如何走线(比如不可以走直角),如何进行强弱电分离,如何避免电源对信号的干扰,如何处理EMI、EMC,如何对高频信号进行蛇形等长走线,专门干这个的叫layout工程师(有时候还需要画多层板,更难)。以上两步常用的软件有AD、PADS、Cadence Allegro等。

如果说原理图是对电路板的逻辑设计,那PCB就是对电路板的实现设计。这里主要目标是针对如何更好的实现电路板,让其更加符合理想化。围绕的问题在于元器件大小,元器件排布,走线之间影响最小等等。

因为最近比较关注嘉立创的开源项目,一个迷你的小电视,在此截个PCB图以作参考。

2022-11-17-215454

3、打板与焊接

打板就是将板子给做出来,而PCB设计便是对板子的设计。PCB画好了以后,可以发给厂家打板生产(如嘉立创,每个月都有两次免费打板的机会),板子回来以后,进行焊接。焊接也是一个技术活,最难的是焊接芯片,其他元器件都好焊。这个因为没有实际动手操作过,就不多说了。

4、嵌入式软件设计(系统移植)

本人工作的主要内容便在这个环节。

当确定经过测试硬件没有问题后,板子需要交到软件工程师手中进行设计与开发。因为windows系统太过于臃肿,所以板载系统都是Linux(Linux系统不仅小,还可以经过剪裁和二次开发使其更符合相关业务)。

关于嵌入式设计,还有一个新技术,这也是我工作后才知道的FPGA开发设计。该技术具有其特殊性,在可编程芯片上才有这项技术。FPGA本质上其实也算是软件层面的,或者说是硬件到软件过度层面的。因为所用的电子元器件具有特殊性,为可编程芯片。所以该芯片的引脚和功能出厂时并未固定死,也就留出来一定的设计空间。但其实也受限于硬件,硬件从成样后便固定死了,所以FPGA的设计被局限于产品芯片的引脚等。(FPGA刚学没多久,这些都是自接触以来的个人理解,如有错误请评论,我会及时修正)

嵌入式软件设计有单片机的程序设计(一般是C语言)和系统移植的Linux软件开发(这个语言就很很广泛了,但C/C++因为更近低层,性能更强,所以用的更多)。

嵌入式Linux软件开发分为:系统移植,驱动编写,程序开发,固件烧写等。

因为从事的工作涉及到特定的芯片以及该芯片相关的技术与软件,所以后续的嵌入式学习笔记将以工作所需技术为主进行编写。

5、通讯协议的定制与测试

该步骤其实是和上一节同步进行的,因为在写程序的时候往往就开始针对通信协议进行商讨和制定。而我写代码的主要内容便是围绕着这些协议,编写UDP承载或者TCP(很少用),然后针对数据进行各种位运算,一层层的给数据套上自定义的协议头等等,这里计算机网络相关的知识就显得尤为重要。

总结

如果让我说整个嵌入式技术栈中哪一步最难?我个人觉得局限性越大的技术越难,因为你要在极小的设计空间内完成业务的设计流程,是一件很费脑细胞的一件事。

在这里,我认为难度:硬件>FPGA>软件开发。

软件的优势在于开源社区,网上具有许多资料,学习门槛低。

FPGA在不同芯片中具有不同的设计,相关资料少,如果针对较为流行通用的芯片(例如赛灵思)进行学习难度应该不是太大,但不限于一类芯片时,各种芯片之间的区别,兼容性等等能让你头疼。例如我最近在做从赛灵思跨度到复旦微的国产化就问题不断。

硬件的开发相关的学习资料就更少了,除此之外硬件出BUG在网上是很难去搜索答案的,需要许多工具去检验(例如万用表。频谱仪,示波器等等)而且硬件的学习成本极高。(各类元器件都好贵的,一个好的频谱仪和示波器价格都贵的吓人)


【嵌入式笔记0】嵌入式技术栈分析
https://jinbilianshao.github.io/2022/11/17/【嵌入式笔记0】嵌入式技术栈分析/
作者
连思鑫
发布于
2022年11月17日
许可协议