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

        说起来有点诡异,那就是很多芯片公司都会做soc。不管是国内的,还是国外的,但是能够soc做到头部的不多。而且很多公司,做大soc芯片其实不挣钱,但是小芯片却非常挣钱,例如sd卡读卡器、pc camera isp、usb转串口、mipi转hdmi芯片等等。这里面有很多原因,最最主要的就是soc成本大,开支高,不容易做出差异化来。不过这对嵌入式开发的同学来说,却可能是个好消息。

1、同类型的soc功能差不多

        就拿ipcam soc来说。一般的ipcam soc,最早就是做好视频编解码、音频编解码、做好网络收发就可以了。后来为了降成本,就都一股脑新增sip ddr的产品。接着h265流行,又齐聚h265开发。一直到最后,迎来了人工智能,大家又开始卷人工智能。所以,对于行业的头部玩家来说,永远是它引领着行业前进的方向,其他的soc厂家,只能沿着它的道路去跟随,却很难做出差异化。

        而嵌入式开发的同学对于这一点,却非常喜欢。因为这意味着,我们大部分时候只需要学习好一款芯片,因为其他家的soc基本也差不多。

2、同一家的soc,一般只有一套软件框架

        哪怕是同一家的soc,芯片类型也是非常多的。比如说按照行业分的话,有的是汽车专用,有的是安防,有的是消费电子和工业电子。那如果按功能来说,有内置ddr的、有分h264和h265的、有分支持不同屏幕输出、有分支持usb2.0和usb3.0的,还有就是分支不支持网络的。这么多的芯片,每一个芯片都独立开发一套sdk,是不现实的。所以我们深耕一家soc的好处,就是学习好了一套sdk之外,基本上他们家所有的soc都可以用起来。因为这些sdk之间的差别,无非就是编译器的差别、外设的差别、功能的差别以及性能的差别等等。

3、soc不只是linux+外设

        soc大部分都是运行linux,或者运行ubuntu,这一点不假。但是如果仅仅是把soc看成是大号的mcu,那就是大错特错。很多同学学习soc,就是学完了基础的外设,比如内存、存储、网络、串口、gpio、spi、iic、pwm、usb camera和pwm之后,就专门去做linux了。以为这样就是学习soc的最佳办法。其实不同soc之间最主要的差别,还是在于硬件算法ip、成体系的sdk软硬一体,这才是芯片的核心竞争力,而不是简单地把soc看成是放大版的mcu使用。

4、soc的内容比较多,一段时间内只能专注一个

        和小芯片相比较,soc关注的东西很多。这里面有硬件部分,有软件部分;有底层部分,还有上层开发;有比较简单的低速外设,还有usb、eth、mipi、pcie这样要求比较高的高速外设。就拿soc上进行跑的linux来说,里面的命令行学习、sdk编译、驱动配置、dts修改、sdk学习、上层开发等等,每一个都会牵涉到很多的精力。因此如果不专注,是很难有所建树的。况且,现在的soc添加了很多复杂的算法ip,比如说ai,比如说基于ai的isp,还比如h265编解码等等,这里面的知识点可以说是非常、非常地多。很多时候,我们自己也只能用到什么,学什么。

5、学着用soc去做方案

        我们学习soc,本质上还是要它用起来。怎么用,就是去看它可以做什么。各大电商网站,什么卖的比较好,能不能用soc做,成本有没有优势,为什么mcu做不了,如果自己做应该怎么做,目前类似的产品成本多少,毛利多少,自己来做能不能做出什么不一样的地方。如果这样去想的话,就会把自己的路弄得越来越宽,而不仅仅是沉迷于技术本身。

6、坚决和mcu方案区别开

        网上大部分人都是只把mcu看成是嵌入式,但soc其实也是嵌入式。很多的产品,确实用mcu就可以实现,甚至还比较划算,比如小的家电、测量设备、电机控制、儿童玩具等等。但是还有一些产品是mcu做不了的,比如对算力有一定要求的工业设备,对音视频实时性要求比较高的设备,再或者是需要提供npu ai服务的soc等等。总之,我们自己做的时候,一定要和mcu分开来。只有那些确实需要soc来处理的场合,成本有可控地地方,才是我们应该重点关注的领域。

更多推荐