【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
坦率来说,现在camera行业这么卷,可以选择的soc这么多,sensor也不少,要想在这么多的产品当中,找到符合自己的方向还真不是一件容易的事情。从前的ipcam是一个增量市场,大到政府和行业的采购,小到企业、个人的消费,很多东西只要做出来,价格合理,基本上都可以销售出去。现在则不同,我们做产品不仅要考虑能否做出来,还要考虑能否卖的出去。毕竟,很多时候,卖的出去比能做出来本身更重要一点。
1、产品形态单一
当前camera类的产品比较单一,主要分成三类应用,一种是存储、显示类,一种是网络通讯协议类,还有一种就是ai类。前面两种基本上都处于饱和状态,例如行车记录仪、运动相机,还有就是ipcam安防摄像头,能想到的、没想到的,基本上都有人涉足了。但是ai类的产品,目前正呈现出方兴未艾的局面,非常值得一试,但是要控制好风险、成本,多选用厂家提供的模型。
当然前面的存储显示和网络,也不是说没有市场,只是说需要在一些细分领域去找市场了。比如说内窥镜领域,比如说无人机航拍通信领域等等,想靠简单粗放的去做产品,已经行不通了。
2、性能不能全部依赖于cpu
之前的嵌入式产品,大部分就是把芯片公司的demo修改一下,添加自己的一些功能之后,替换logo,裁剪镜像,最后加上包装之后就成了自己的产品。如果是产品市场比较大,这么做或许还可以,就算硬件成本高一点也无所谓。例如,很多soc公司,都是把soc搭配pmu一起出售。但是现在市场环境变了,很多开发都考虑一个性价比,那么如何有效地、务实地把硬件成本降下来,就成了大多数参与者需要解决的问题。比如,是不是需要内置ddr,是不是用qfn代替bga等等。
3、isp调试复杂
这种困难体现在两个方面,一方面是这类isp开发人员比较少,另外一方面就是这类人员的用工成本都比较高。如果不涉及到isp调试,比如采用usb摄像头,那么只需要usb uvc接口就可以出图,使用上肯定是方便很多,但缺点就是成本,特别是摄像头模块的成本。这里面如何权衡,就看各个公司自己的打算了。
一个camera要想跑起来,需要涉及到iic、mipi、isp、usb或者mipi等好几个驱动,而isp驱动又是这几个驱动里面最难的。因为它基本上就是算法驱动,而且效果如何带有很强的个人色彩。
4、linux驱动调试人才少,又贵
虽然芯片公司在驱动处理上,为客户做了很多。但是,还是有很多驱动,是需要客户自己去实现的。这里面就包括了mipi屏幕驱动、sdio驱动、usb驱动、iic驱动、spi驱动等等。一个嵌入式工程师,从成本分摊的角度来说,他不可能仅仅做底层,或者是上层的东西。他自己必须是一个复合型的人才,这样才能有效地降低用工成本。
要做好驱动,主要就是三个方面,内核配置、dts配置、代码调试。这三点是从软件角度考虑的。从硬件角度来说,常用的万用表、示波器和逻辑分析仪,这些都是不可缺少的。
5、sdk软硬结合的原理,了解的少
做好嵌入式开发,一般人都会简单地认为是linux开发,这也没有错。毕竟大多数soc都是运行在linux之上的。但是如果认为嵌入式开发,就是x86的简单替代,这就是大错特错。这各种原因,就是没有考虑到芯片中算法加速的部分,这才是核心。常见的音视频编解码、npu、crc都算这部分内容。
不过就我个人的观察,大家还是喜欢用纯cpu去做一些事情。每次遇到瓶颈的时候,就习惯用换硬件的地方解决问题。这也是不足取的,要想自己的产品有竞争力,除了可以用qt社区版、opencv开源库、boost开源库、ffmpeg库和live555库把东西做出来,还有必要结合mpp/mdp,实现产品的高性价比。不过就我个人的观察,大家对硬件加速这部分,总体理解和了解的还是不够。