【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
对于开发车规级嵌入式软件的同学来说,soc+mcu这样的组合,他们并不陌生。但是传统的工业领域,比如发动机、医疗或者是轨道交通等行业,一般还是以基本的mcu为主。消费领域的话,也差不多,工具类的产品基本还是mcu,而娱乐影音类的产品则是以soc为主。软件系统的话,也是以android为主。
只不过现在国产替代之后,出现了很多的mcu芯片企业,这些芯片价格低廉,性价比高。借助于这些mcu、甚至是fpga,可以完成很多原来做不了的事情。今天,我们就来简单讨论下,如果可以通过巧用mcu,实现哪些奇妙的用途。
1、加密
每一颗mcu都有一个自己的id信息,那么就可以利用mcu id和soc id做一个双向绑定。有了这个绑定之后,软件就不能轻易地拷贝和复制。当然,有的同学会说,可以逆向破解,这就是另外一个话题了。只是说,对于极度便宜的mcu来说,sop8的芯片拿来做加密也是不错的一个选择。
2、输入输出扩充
有些soc处于成本和封装的原因,对外提供的gpio口不多。但是,我们自己对产品的定义,有的时候又需要很多的gpio口,这种情况下,就可以通过外挂一个mcu的方法来解决。后期通过soc spi master + mcu spi slave这样的形式,来管理gpio即可。这样,就可以利用mcu实现这些gpio口的管理,soc专注于自己要实现的事情即可。
3、借助于mcu拓展自己的用途
很多接口,本身soc是不提供的,比如说lin、can这些接口。而在工业上,这些接口又是必须的。他们和232、485、usb、ethernet一起,构成了基本的工业接口方案。以前soc没有这些接口的时候,我们可能会考虑,是不是重新换一颗soc。那现在有了mcu之后,我们就可以通过1+1的办法来实现这一目的,很多时候还可以达成降成本的目的。
4、实时系统的要求
soc大多数时候都是运行linux系统,但是mcu是运行rtos,或者是裸奔系统的。这种情况下,就可以把一些实时性要求比较高的代码放在mcu上面来完成,而对实时性要求不高,但是计算量很大的应用放到soc来完成。很多应用,其实也只能放在soc这一侧来做,比如ai之类的应用。
当然现在也慢慢出现一些带npu的mcu,只是由于成本的原因,暂时推广还比较慢。
5、集成为烧录器
很多时候我们知道,需要通过外部usb或者tf卡给soc进行烧录。这样soc,才能完成正常启动。而大部分soc启动的方法都是spi norflash,或者是spi nandflash,这种情况下,完全可以通过mcu烧录的方法,先烧入uboot,然后再通过通过烧入uboot系统,完成其他soc的烧录。
这样做的好处,就是让开发者脱离具体soc厂家的限制,后期都采用自定义的烧入方法。
6、降成本的需求
从前市场竞争不激烈的时候,我们可能追求单一soc集成很多的功能,但是现在由于性价比的影响,要求我们必须既考虑功能,也考虑成本。这种情况下,将2分解成1+1,也是不错的一个选择。只要两颗低价芯片,完成相同的功能即可,都是可以考虑的事情。