嵌入式系统硬件设计与实践(学习方法)

时间:2023-02-25 15:52:27

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        刚读书的时候,对什么是嵌入式,其实并不太清楚。等到自己知道的时候,已经毕业很多年了。另外对于计算机毕业的学生来说,大部分时候其实是不需要自己画原理图的。所以,从这方面说,有的同学可能嵌入式做了很久,其实并不知道电路应该怎么画、怎么设计。其实,现在网上有很多的工具、很多的资源都可以拿来学习,不需要自己从头开始学习,完全可以借助于大家的力量实现硬件的设计,自己专注于整个系统的搭建就可以了。

        此外,我们搭建的是嵌入式电路设计,不是射频电路,不是取暖器,也不是什么高压电路。嵌入式电路其实是有它的规律的,大家掌握了这个规律,其实就可以做很多事情。

1、基本的嵌入式电路

嵌入式系统硬件设计与实践(学习方法)

         最简单的嵌入式电路其实就是这样的。一个mcu,启动条件就是需要一个时钟、一个复位电路。这个电路有一个输入,有一个输出。输入、输出有哪些功能取决于有什么需求。比如说,远程开关是一个需求,玩具电子琴是一个需求,平衡车也是一个需求。

2、复杂的soc电路

嵌入式系统硬件设计与实践(学习方法)

         从硬件的角度看,soc电路相比较mcu电路而言,多了pmu、ddr、emmc/sd这三个部分。其他都是一样的。因为soc要求的电压有很多种,并且不同电压的上电顺序不同,所以一般dc/dc或者ldo无法满足soc的要求,因此这里用pmu代替了power传统芯片。此外,和mcu电路相比,这里出现了ddr和emmc/sd,这主要是因为soc需要的内存更大,保存的数据更多,原来的mcu空间已经远远满足不了需求了,所以这里必须用ddr和emmc/sd代替。

3、fpga电路

嵌入式系统硬件设计与实践(学习方法)

         和mcu电路相比较,fpga多了一个norflash。这主要是因为,fpga内部的文件都是从norflash加载进来的,一断电之后,这些文件就都消失了。所以需要一个norflash芯片来专门保存这些文件,这就是fpga电路。fpga电路在特定的场合,比如说运动控制、图像处理,非常有用。

4、复杂的嵌入式电路

        实际开发的时候,一个电路板上面很有可能三个电路都有,比如说mcu+soc,或者soc+fpga,又或者是mcu+soc+fpga,这都是有可能的。主要是因为soc擅长算法,mcu擅长控制,fpga擅长图像,每一个擅长的领域都不一样,所以大家组合起来组成一个电路,可能性很大。

嵌入式系统硬件设计与实践(学习方法)

 

5、擅长用既有的eda工具和开源硬件

        eda工具,建议大家还是用开源,或者免费的eda工具,没有商业敲诈的烦恼。eda有kicad,立创eda,这些都可以。选择自己喜欢的工具就好了。另外,对于开源硬件,主要有两种方式,一种是去电商购买开发板,一般会提供对应的原理图;另外一种就是去一些开源硬件网站,比如https://oshwhub.com/

,这都是学习硬件设计的好方法。

        事实上,目前网上已经有很多的硬件了,大家如果自己想做一些应用,完全可以在这些硬件上面修改、调整,重新布线,没必要自己从0-1开始绘图。这样一方面会节省时间,另外一方面也会让自己很快有成就感,而不是不停遇到挫折,直到最后没有兴趣,放弃了学习。

6、学习硬件的好处

        表面上看上去,学习硬件设计只是多了一门技能,但是事实上学习了硬件之后,你会更在意自己做的东西怎么变成商品、成本是多少、竞争力是什么 ,而不仅仅是功能。原理图怎么画、pcb怎么布局、板子怎么少一点、成本怎么降低一点,这些都是你学习硬件后需要考虑的事情。