Linux上位机开发实践(SoC和MCU的差异)

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

        soc一般是指跑linux的芯片,而mcu默认是跑rtos的芯片,两者在基本原理方面其实差异不大。只不过,前者由于性能的原因,会被用在性能较高的场景之下,后者则多用于实时应用的场合,本质上两者的差别没有大家想象的那么大。

1、soc+ddr+flash=mcu

        mcu可以看成是soc、ddr、flash的一个集合体。mcu的cpu一般是8051,或者是arm,频率不是很高,通常是几十到上百M不等,内部集成了232等低速接口。ddr就是ram,一般几k到上百k,当然soc的内部用mmu管理ddr。flash就是代码存储的地方,一般也是几十到1M不等。这部分集成在一起,就是mcu。

        当然现在也有一种mcu是集成在soc里面,这种mcu,当成soc的一个设备节点就可以了。

2、mcu电源要求不高

        mcu的电压,大多数情况都是5v转3.3v。soc则要复杂的多,很多时候除了3.3v,可能还需要2.5v、1.8v、1.2v等等,所以为了简便,soc的外围很多时候会集成一个pmic芯片,专门用来负责不同电压的输出。

3、烧入方式稍有差异

        mcu目前swd烧入基本是标配,soc的话,则是usb otg烧入为主。mcu就是内部flash启动,soc则是spi nor、spi nand、emmc或者tf卡启动。至于晶振和复位,两者一样。

4、除非特定camera产品,mcu一般低速接口为主

        这里的低速接口就是大家一直使用的gpio、232、485、can、spi、i2c、pwm,少部分集成了sdio、usb和eth。有一些mcu是专门用来处理camera数据的,左边从mipi进来之后,经过isp,通过usb uvc协议送出去,这种专门处理camera的mcu芯片也是存在的,很多的usb相机也是这么做的。只不过这种芯片都是专款专用,除了camera,就不能用在其他方面了。与此相比较,soc则是聚集了很多高速的接口,这些接口都是以差分总线的形式存在。

5、mcu价格普遍不高

        大多数mcu的价格都是在10块钱以下,2-3块钱的mcu也是不稀奇,甚至是1块钱、几毛钱。当然,很多高端的mcu还是不便宜的,比如m7的mcu。soc的价格则相对贵一点,大部分都是10块钱以上,哪怕是f1c100s这样内部集成32m ddr的soc,价格也在1.5个美金,大约10块钱左右。

        当然要想soc运行起来,外部还要一个nandflash,这相当于成本上又多了几块钱。

6、mcu可以实现soc的大多数功能

        一般soc可以做的,mcu都可以做。比如传感器数据的处理、普通接口的处理、屏幕显示、网络通信、文件系统、usb通信等等,这部分mcu都可以完成。所以,mcu能做的工作事实上,要比大家认为的多得多。

7、图像数据是mcu、soc应用的分水岭

        对于低速数据,mcu和soc差异不大,但是高速总线部分,两者就慢慢拉开差距。比如复杂的soc,一般默认集成了isp,可以对图像数据进行编码、解码的处理,除此之外,soc通常还会集成npu,实现图像ai处理,这些都是目前为止soc才有的功能。

        图象处理是生产、生活中很大的一个应用,从最基础的显示、截图和录制,到rtsp低时延访问,再到工业相机、内窥镜、ai部分,这块市场其实非常大。mcu虽然也可以做一部分usb camera的工作,不过主力的实现还是通过soc+linux+加速ip来完成的。哪怕是usb camera,用mipi+soc+usb otg实现,效果也会更好,功能也会更全。

        有了图像数据,所有的配套都要修改,比如cpu频率要提高,ddr要扩大,flash要增大,算法要硬加速,网络传输也要更快,所以数据量的提高、需求的变化是嵌入式技术发展最本质的原因。

8、实时控制是mcu的拿手好戏

        一开始mcu就是被用来进行控制处理的,比如电机的控制周期是6ms、8ms这样,用windows或者linux是没有办法完成的,但是对mcu来说却是很容易做到的事情。所以,只要是涉及到实时处理的部分,哪怕外挂都会外挂一个mcu来处理。

9、mcu非常适合个人来做

        从软硬件协同的角度说,mcu非常适合个人来做,本身电路不复杂,而且大部分mcu的应用就是while(1)+中断的形式来进行,就算是需要上位机适配,做一个qt上位机就好了,自己可以把大部分精力放在业务端来进行,养活自己肯定是没有问题的。

        相比较而言,soc要复杂一点,首先电路涉及到soc+ddr+nand+pmic,弄好了硬件,接着还得继续搭建uboot/kernel/rootfs的框架,不同的外设还得找不同的驱动,哪怕是一个屏幕,还有spi、iic、rgb、mcu接口、mipi、hdmi、lvds等很多的标准。等到这些都做好了,才能开始业务开发。为了突出业务的竞争力,必须适配厂家的sdk平台,寻找开源代码,这方面自然就没有mcu方便。这一切都做好了之后,才能慢慢去找客户,找市场。相比较而言,mcu的开发要容易一点。

10、用到什么学什么

        mcu和soc没有明显的分水岭,不存在谁比谁高级的问题,客户需要什么,我们就做什么。技术再好,卖出去才行。所以大家没必要画地为牢、固步自封,只需要知道两者的区别,在不同的场景下选择哪种方案合适就好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离线导出和安装Python库

详细介绍:离线导出和安装Python库 常用命令: 生成requirement.txt文件 pip freeze > requirement.txt离线批量下载库 pip download -d packages -r requirement.txt离线批量安装库 pip install --no-index --find-links./ -r requirement.txt

基于Vue Node.js的电影售票网站的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 互联网技术的成熟和普及,势必会给人们的生活方式带来不同程度的改变。越来越多的经营模式中都少不了线上运营,互联网正强力推动着社会和经济发展。国人对民族文化的自信和不同文化的包容,再加上电影行业的发展,如此繁荣吸引…

利用 Python 和 AI 技术创作独特的图像艺术作品

1. 项目目标 生成艺术作品:利用 AI 模型(如 Stable Diffusion)生成具有艺术风格的图像。自定义风格:通过文本提示(prompt)控制图像的艺术风格(如赛博朋克、印象派、超现实主义等)。…

XR技术赋能艺术展演|我的宇宙推动东方美学体验化

本次广州展览现场引入我的宇宙XR体验模块,通过空间计算与动作捕捉技术,让观众在潮玩艺术氛围中体验虚拟互动,打造“看得懂也玩得动”的展演新场景。 作为科技与文化融合的推动者,我的宇宙正在以“体验科技”为媒介,为潮…

接口的集成测试步骤

一、集成测试是什么 ‌接口的集成测试‌是指在软件开发过程中,将各个模块或组件按照设计要求组合在一起,并测试它们之间的接口是否能够正确交互和协同工作的过程。集成测试是软件开发中的一个重要阶段,通常在单元测试之后进行,目的…

上门服务 APP 30 亿营收商业模式在乌干达的技术赋能与实践

不久前,非洲乌干达出现黑人女技师提供上门足疗服务的消息引发关注。据了解,当地一次40分钟的上门按摩服务仅需约40元人民币,价格仅为国内同类服务的十分之一。这一现象折射出全球健康服务行业正在经历的数字化转型浪潮。 国内领先的上门服务平…

go语言学习笔记:gin + gorm + mysql 用户增删改查案例入门

大家好,我是此林。 Golang 语言现在已经成为了编程的趋势,毕竟是大厂背书嘛,Google 研发的。 目前很多云原生项目都是基于 go 来编写的,比如: Kubernetes (K8s)​ 容器编排系统, Docker​ 容器化技术&…

探索亮数据Web Unlocker API:让谷歌学术网页科研数据 “触手可及”

本文目录 一、引言二、Web Unlocker API 功能亮点三、Web Unlocker API 实战1.配置网页解锁器2.定位相关数据3.编写代码 四、Web Scraper API技术亮点 五、SERP API技术亮点 六、总结 一、引言 网页数据宛如一座蕴藏着无限价值的宝库,无论是企业洞察市场动态、制定…

SpringBoot整合POI实现Excel文件的导出与导入

使用 Apache POI 操作 Excel文件,系列文章: 《SpringBoot整合POI实现Excel文件的导出与导入》 《SpringMVC实现文件的上传与下载》 《C#使用NPOI导出Excel文件》 《NPOI使用手册》 1、Apache POI 的介绍 Apache POI 是一个基于 Java 的开源库,专为读写 Microsoft Office 格…

构建用户友好的记账体验 - LedgerX交互设计与性能优化实践

构建用户友好的记账体验 - LedgerX交互设计与性能优化实践 发布日期: 2025-04-16 引言 在财务管理应用领域,技术实力固然重要,但最终决定用户留存的往往是日常使用体验。本文作为LedgerX技术博客的第二篇,将深入探讨我们如何通过精心的交互…

如何用AI辅助软件产品原型设计及工具推荐

以下是针对软件产品原型设计的 AI辅助工具推荐,涵盖国内外主流工具,结合功能特点、优劣势及适用场景分析,并标注是否为国内软件及付费情况: 一、国内工具推荐 1. 墨刀AI(MockingBot AI) 特点:…

MySQL的MVCC机制详解

1. 什么是MVCC? MVCC(Multi-Version Concurrency Control,多版本并发控制)是数据库系统中用于实现并发控制的一种技术。它通过保存数据在某个时间点的快照来实现,使得在同一个数据行上可以同时存在多个版本&#xff0…

C语言数字图像处理---2.31统计滤波器

本文介绍空域滤波器中的一种:统计滤波器 [定义与算法] 统计滤波(Statistic Filter)定义:基于图像处理中的邻域统计方法,对邻域内的像素信息进行统计,如基于均值和方差的信息,用于平滑或去噪图像,同时保留边缘信息。 算法步骤如下: 统计滤波器的优点和缺点主要包…

计算机视觉相机模型与标定:如何让计算机“看懂”三维世界?

计算机视觉相机模型与标定:如何让计算机“看懂”三维世界? 一、前言二、相机模型基础​2.1 针孔相机模型​2.1.1 模型原理​2.1.2 代码示例​2.2 透视变换与相机内参​2.2.1 透视变换矩阵​2.2.2 内参矩阵的作用​2.3 相机外参​2.3.1 世界坐标系与相机坐标系的转换​2.3.2 外…

DeepSpeed ZeRO++:降低4倍网络通信,显著提高大模型及类ChatGPT模型训练效率

图1: DeepSpeed ZeRO 简介 大型 AI 模型正在改变数字世界。基于大型语言模型 (LLM)的 Turing-NLG、ChatGPT 和 GPT-4 等生成语言模型用途广泛,能够执行摘要、代码生成和翻译等任务。 同样,DALLE、Microsoft Designer 和 Bing Image Creator 等大型多模…

Seq2Seq - 编码器(Encoder)和解码器(Decoder)

本节实现一个简单的 Seq2Seq(Sequence to Sequence)模型 的编码器(Encoder)和解码器(Decoder)部分。 重点把握Seq2Seq 模型的整体工作流程 理解编码器(Encoder)和解码器&#xff08…

Spring Boot集成MinIO的详细步骤

1. 安装MinIO 使用Docker部署MinIO 拉取MinIO镜像: docker pull minio/minio 这将从Docker Hub中获取最新的MinIO镜像。 创建目录: mkdir -p /home/minio/config mkdir -p /home/minio/data 这些目录将用于持久化MinIO的数据和配置文件 创建MinIO…

基于PLC的停车场车位控制系统的设计

2.1 设计目标 本课题为基于PLC的停车场车位控制系统来设计,在此将功能确定如下: 针对8个车位的停车场进行设计将停车场分为入口处,车位处、以及出口处三个部分;每个车位都有指示灯指示当前位置是否空闲,方便司机查找空…

微服务即时通信系统---(四)框架学习

目录 ElasticSearch 介绍 安装 安装kibana ES客户端安装 头文件包含和编译时链接库 ES核心概念 索引(Index) 类型(Type) 字段(Field) 映射(mapping) 文档(document) ES对比MySQL Kibana访问ES测试 创建索引库 新增数据 查看并搜索数据 删除索引 ES…

除了 `task_type=“SEQ_CLS“`(序列分类),还有CAUSAL_LM,QUESTION_ANS

task_type="SEQ_CLS"是什么意思:QUESTION_ANS 我是qwen,不同模型是不一样的 SEQ_CLS, SEQ_2_SEQ_LM, CAUSAL_LM, TOKEN_CLS, QUESTION_ANS, FEATURE_EXTRACTION. task_type="SEQ_CLS" 通常用于自然语言处理(NLP)任务中,SEQ_CLS 是 Sequence Classif…