基于海思soc的智能产品开发(高、中、低soc、以及和fpga的搭配)

news/2025/1/20 12:05:42/

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

        市场上关于图像、音频的soc其实非常多,这里面有高、中、低档,开发方式也不相同。之所以会这样,有价格的因素,也有市场的因素,更有面向人群的差异,本身无所谓对与错,本身都是竞争的需要。今天正好有时间,就简单总结一下。

1、cpu不同

        好一点的soc基本都会采用a76、a72这样的arm cpu,普通一点的会采用a53、a55,再偏下一点就是arm a9、arm a7。甚至于说,采用arm9,或者51单片机都是可以的。如果本身硬件设计足够优秀,也就是主要的算法硬件都已经实现了,cpu只是做控制,那么cpu差一点也是可以的。

2、isp大部分不开源

        很多的soc会提供i2c寄存器、dvp 寄存器、rgb屏寄存器的配置方法,但是对于mipi csi、mipi dsi大部分都是采用闭源的形式提供的。更深入一点的isp,这部分也不会提供代码的。当然,如果使用的话,只需要厂家给出来的芯片手册进行对应的开发就可以了。

3、价格差异极大

        大家如果接触过杰理这类芯片,就会了解到这类mcu的soc价格都不会很贵,普遍都是个位数。但是最近,大家如果了解到rk3588这类的芯片,就会发现国产芯片的价格也慢慢变高了,一颗rk3588也达到了数百元,如果是rk3588j车规级别的soc,则价格更高。

4、不同芯片定位差异大

        以mipi输出为例,很多ipcam soc的低端芯片是不提供mipi输出功能。但是对于另外一些soc来说,他们无所谓,相同的价格,我们可以拿到既带mipi csi输入,还带有mipi dsi输出的soc。所以,对于差不多的soc,不同品牌之间,大家可以好好选一选,这里面的差距还是很大的。

5、越来越多的sdk都是闭源的

        除了之前说的ip和驱动是闭环的,越来越多的sdk也是闭源的。比如说视频的编码、解码,音频的编码、解码,npu的使用,isp上层的配置使用等等,这部分也都是闭源的。更进一步,对于一些上层的网络库,很多soc提供的sdk也是闭源的,比如说rtmp、rtsp库,通常也是只提供h文件、so文件。这样,一方面开发很快,但是另外一方面,相当于开发者也被平台给捆绑住了,有利有弊,需要自己从中权衡。

6、开发方式不同

        大部分soc芯片开发默认都是linux,或者是android。但是对于杰理、富瀚这类厂家来说,mcu+rtos是最常见的开发方式。所以大家在出方案的时候,如果遇到对价格非常敏感的项目,可以考虑mcu+rtos的方案,主打一个短、平、快。

7、npu正在成为趋势

        之前人工智能ai如果说只是点缀的话,现在的npu基本是标配。不管是soc,还是mcu,越来越多的芯片厂家开始标配npu,所以作为开发者而言,如果把这些资源用起来,是需要好好思考下的。

8、高效&定制的算法只有靠fpga+soc解决

        市面上的isp是针对大部分sensor,或者说是大部分应用场景开发的,不一定适用于特定的场景,比如说军工、医疗或者是车规。这种特别细分的场景一般就只能靠fpga来解决了。用了fpga,自然成本就降不下来,也只能在特定的行业中使用了。

        一般fpga是这么处理的,前端通过fpga连接mipi sensor,做一些预处理的工作,处理结束后,输出RGB888,接着通过一颗RGB转mipi csi2的芯片,继续通过soc完成后面的工作。soc本身如果是跑linux的话,无论是编解码、存储、显示,还是网络发送、npu处理,都比fpga方便得多。fpga最大的好处就是算法硬件话,延时非常低,特别适合那些低延时的场景,比如说医疗行业等等。


http://www.ppmy.cn/news/1564655.html

相关文章

使用numpy求解线性代数相关问题

在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组类型相乘是逐元素相乘,而矩阵类型相乘则是矩阵乘法。 以下使用numpy.array类型来进行线性代数问题求解。 矩阵的转置: A.T import numpy as n…

el-tree树结构在名称后面添加其他文字

//在 el-tree 中使用 render-content 插槽来展示文件大小 <template><div><el-treeref"tree"v-loading"treeData.loading":data"treeData.data"node-key"id" :props"defaultProps":render-content"rend…

CSS笔记01

黑马程序员视频地址&#xff1a; 前端Web开发HTML5CSS3移动web视频教程https://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes 目录 引入方式 CSS特性 继承性 层叠性 优先级 Emmet写法 …

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)角点检测

角点检测&#xff08;Corner Detection&#xff09;是计算机视觉和图像处理中重要的步骤&#xff0c;主要用于提取图像中的关键特征&#xff0c;以便进行后续的任务&#xff0c;比如图像匹配、物体识别、运动跟踪等。下面介绍几种常用的角点检测方法及其应用。 1. Harris角点检…

04_角色创建窗口

将上文的登录窗口隐藏 创建空节点 作为创建角色窗口 命名为CreateWnd 创建输入的名字的输入框 再创建一个按钮用来随机角色名字 创建开始游戏按钮 End.

opencv3.4 ffmpeg3.4 arm-linux 交叉编译

一些依赖安装&#xff1a; sudo apt-get install pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev 交叉编译工具链准备&#xff1a;gcc-linaro-6.3.1 1、下载 https://github.com/FFmpeg/FFmpeg 解压后新建目录&#xff1a;Fmpeg-n3.4.13/ffmpeg…

STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态

STM32W5500以太网应用开发003_TCP服务器添加OLED&#xff08;u8g2&#xff09;显示状态 实验效果3-TCP服务器OLED1 拷贝显示驱动代码1.1 拷贝源代码1.2 将源代码添加到工程1.3 修改代码优化等级1.4 添加头文件路径1.5 修改STM32CubeMX工程 2 修改源代码2.1 添加头文件2.2 main函…

重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞??收藏评论 整合 Elasticsearch 8.x &#xff08;二&#xff09;使用Repository 1. 环境准备 1.1 项目依赖1.2 Elasticsearch 配置 2. 使用Repository的基本步骤 2.1 创建实体类2.2 创建 Reposit…