【车载开发系列】MCU选型

【车载开发系列】MCU选型

【车载开发系列】MCU选型

  • 【车载开发系列】MCU选型
    • 一. 重要概念
    • 二. MCU选型的风险
      • 风险1
      • 风险2
    • 三. MCU选型要点
    • 四. MCU选型维度
    • 五. MCU 选型需要考虑的因素
      • 1)ROM/RAM
      • 2)速度/主频
      • 3)分析外设需求
      • 4)工作电压(VCC)
      • 5)仿真器
      • 6)应用领域
    • 六. 元器件选型基本原则

一. 重要概念

在了解MCU选型之前,必须要知道以下这几个概念。
固件:这个概念在不同的系统中有不同的含义,不管如何,程序BIN文件也是固件,本文的固件就是编译软件编译完成后的完整BIN
PIN TO PIN:管脚兼容
Code为程序代码部分
RO-data 表示 程序定义的常量const temp;
RW-data 表示 已初始化的全局变量
ZI-data 表示 未初始化的全局变量
MPU Micro-Processor Unit,微处理器
在这里插入图片描述

二. MCU选型的风险

风险1

硬件工程师缺乏软件知识,根据经验或者其他类似项目使用过该型号的MCU,主观选择好已经用过的MCU,但是项目变化,原先配置的MCU FLASH空间可能不足,内存可能不足会导致项目风险大大增加;

风险2

软件工程师不熟悉硬件外部电路原理,对成本不敏感,需要更理解底层的工程师如驱动工程师来解决。软件工程师喜欢大FALSH 大RAM 给编程预留足够余地,但是较少甚至没有考虑过成本情况。

三. MCU选型要点

涉及硬件MCU的项目选型中,MCU的FLASH空间,SRAM空间大小对软件涉及影响非常之大。因此如何选择一款符合项目要求,成本又低的MCU非常的重要。
这就需要软件开发工程师根据当前项目需求情况以及后续项目升级需求上考虑选择,硬件工程师需要更多听取软件的意见来选择型号!
懂软件与硬件的系统工程师,在此可以发挥出重要价值。

四. MCU选型维度

1,看Flash和RAM容量、余量
2,看管脚数量够不够
3,看运算能力,主频多少
4,看通讯接口资源够不够 - 为了保证开发效率一定要选择带硬件接口的,不用软件模拟的
5,看是否带FIFO或者DMA - 需要处理大量数据时必须带

五. MCU 选型需要考虑的因素

1)ROM/RAM

MCU单片机运行时主要存在两个区域,只读的代码code以及const字符串数据,存放在FLASH空间中,可读写的全局变量,静态变量,局部变量等均分布在SRAM中。程序启动初始化时RW-data等从flash拷贝到SRAM,执行的程序等还在ROM(FLASH)中执行。
需要提前,分析好,各个软件模块所用的 ROM/RAM资源。最好能够细化到各个模块各占用多少ROM/RAM。(特别是占用比较大的模块,例Lib相关)

2)速度/主频

时钟频率越高速度越快。
时钟频率越高功耗也就越大。
因此,要尽量寻找可以在很高的时钟频率下运行而功耗又不高的单片机。
在应用过程中不需要高频的主频参与运算时,可以适当降低主频,可以间接降低整体的功耗,这样就可以实现主频可控了。
大部分的MCU在进入低功耗后就会把IO口的时钟完全关闭,这时的IO口是没有输出能力,当这些外设的控制脚使能后,可能会有一定程度的漏电流,所以在进入低功耗之前,需要将外设的控制脚的状态提前预设好,防止有意外的漏电流。

3)分析外设需求

根据设计需要,选择GPIO数目,ADC数目, UART /SPI /IIC 等模块。寻找一款集成所有这些外设的单片机。

4)工作电压(VCC)

工作电压越高,单片机的功耗也就越大。因此,必须要尽可能地降低工作电压。我们一般都是用一次性的锂电池供电3.3V(满电)~2.4V(快没电)

5)仿真器

仿真器是硬件和底层软件调试时要用到的工具,开发初期如果没有它基本上会寸步难行。选择配套适合的仿真器,将会给开发带来许多便利。对于已经有仿真器的人们,在选型过程中要考虑它是否支持所选的芯片。

6)应用领域

一个产品的功能、性能一旦定制下来,其所在的应用领域也随之确定。应用领域的确定将缩小选型的范围,例如:工业控制领域产品的工作条件通常比较苛刻,因此对芯片的工作温度通常是宽温的,这样就得选择工业级的芯片,民用级的就被排除在外。目前,比较常见的应用领域分类有航天航空、通信、计算机、工业控制、医疗系统、消费电子、汽车电子等。

六. 元器件选型基本原则

通用性原则:所选的元器件要是被广泛使用验证过的,尽量少使用冷门、偏门芯片,减少开发风险。
高性价比原则:在功能、性能、使用率都相近的情况下,尽量选择价格比较好的元器件,降低成本。
采购方便原则:尽量选择容易买到、供货周期短的器件。
可持续原则:尽量选择寿命周期长的器件。可替代原则:尽量选择pin to pin兼容芯片品牌比较多的元器件。
公司兼容原则:尽量选择以前老产品用过的元器件

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

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

相关文章

设计模式- 责任链模式(行为型)

责任链模式 责任链模式是一种行为模式,它为请求创建一个接收者对象的链,解耦了请求的发送者和接收者。责任链模式将多个处理器串联起来形成一条处理请求的链。 图解 角色 抽象处理者: 一个处理请求的接口,可以通过设置返回值的方…

codesys【CAN总线】

1下载设备描述文件: 必须下载设备描述文件,要不然编程软件无法正确组态。 根据实际设备【品牌】去官网搜索下载。 以 DMA882-CAN 为例 CAN的设备描述文件是【.eds】的扩展名 安装设备描述文件。 2添加CAN总线: 1添加【CAN总线】&#xff1a…

同盾中文点选验证码识别方法

中文验证码一直是识别的难题,首先他分类的种类很多,常见中文都有3500个,而且一般中文验证码都会有变形,导致每一个文字都需要大量训练样本。假设每一个汉字样本需要100个,100350035万个样本,所以标记的样本…

excel拖拽怎么使单元格序号不递增

拖拽下来不仅不递增,而且右下角没有倒三角可以设置改变,(即没有下图这个) 则,可以采用以下方法 excel数值拖拽不递增还有一个更快更快捷的方法,这就运用到了excel快捷键,我们把鼠标放到单元格的…

IP分片的隐患,以及TCP分片

好的,我们来用一个生活中的例子更详细地解释 MTU、MSS,以及 IP 和 TCP 分片。 MTU 和 MSS 的概念 MTU(Maximum Transmission Unit,最大传输单元): 假设你搬家,需要用卡车搬运家具。 卡车的最…

Hadoop 2.0:主流开源云架构(一)

目录 一、引例(一)问题概述(二)常规解决方案(三)分布式下的解决方案(四)小结 自从云计算的概念被提出,不断地有IT厂商推出自己的云计算平台,但它们都是商业性…

Suno小技巧大揭秘,不会这些技巧别说你懂AI音乐

Suno是一个强大的AI音乐生成工具,它不仅可以帮你快速生成音乐,还能精确地根据你的需求进行调整。无论你是音乐小白还是专业音乐人,这篇文章将揭示一些鲜为人知的Suno技巧,帮助你最大化利用这个工具的潜力。 技巧一:精准…

解读下/etc/network/interfaces配置文件

/etc/network/interfaces 是一个常见的网络配置文件,通常在 Debian 及其衍生版本的 Linux 发行版中使用。该文件用于配置网络接口和网络连接参数,允许用户手动设置网络连接的属性,包括 IP 地址、子网掩码、网关、DNS 服务器等。 以下是一个可…

基于JSP的班级同学录网站

你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 个人中心 同学录管…

51单片机独立按键控制LED灯,按键按一次亮,再按一次灭

1、功能描述 独立按键控制LED灯,按键按一次亮,再按一次灭 2、实验原理 轻触按键:相当于是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动米实现接通和断开;…

网络网络层之(6)ICMPv6协议

网络网络层之(6)ICMPv6协议 Author: Once Day Date: 2024年6月2日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CS…

WPF-UI布局

WPF布局元素有如下几个: Grid:网格。可以自定义行和列并通过行列的数量、行高和列宽来调整控件的布局。StackPanel:栈式面板。可将包含的元素在竖直或水平方向上排成一条直线,当移除一个元素后,后面的元素会自动向前移…

SpringAI(二)

大模型:具有大规模参数和复杂计算结构的机器学习模型.通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数.其设计目的在于提高模型的表达能力和预测性能,应对复杂的任务和数据. SpringAI是一个AI工程领域的应用程序框架 大概推出时间是2023年7月份(不确定) 目的是将S…

细说NLP中的Embedding层

文章目录 前言一、为什么要引入Embedding层二、Embedding层是怎么发挥作用的?三、感受Embedding的强大四、为什么理解Embedding的底层原理?总结 前言 在构建高效的自然语言处理模型时,Embedding层是不可或缺的组成部分。它不仅可以帮助我们捕…

14.《C语言》——【牛客网BC116—BC123题目讲解】

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优…

标量、向量、矩阵、张量是什么?

参考视频:标量、向量、矩阵、张量-机器学习-李文哲AI人工智能培训_哔哩哔哩_bilibili 参考资料:深度学习基础:标量、向量、矩阵、张量_深度学习本质是矩阵-CSDN博客 标量是一个独立存在的数,比如线性代数中的一个实数5就可以被看…

嵌入式Linux系统编程 — 3.5 utime、utimes、futimens、utimensat函数修改文件时间属性

目录 1 文件的时间属性简介 2 utime()函数 2.1 utime()函数简介 2.2 示例程序 3 utimes()函数 3.1 utimes()函数简介 3.2 示例程序 4 futimens()函数 4.1 futimens()函数简介 4.2 示例程序 5 utimensat()函数 5.1 utimensat()函数简介 5.2 示例程序 1 文件的时间…

react修改本地运行项目的端口

一、描述 如果你想让项目在你想要的端口打开的话,就需要进行设置 二、代码 设置一下pages.json文件就可以了,如下: 如果想打开项目不需要点击下面的链接地址,让他运行npm run dev之后自己直接打开到浏览器的话,在后…

selenium自动化测试入门 —— 上传文件

selenium无法识别非web的控件,上传文件窗口为系统自带,无法识别窗口元素。 上传文件有两种场景:input控制上传和非input控件上传。 大多数情况都是input控件上传文件,只有非常少数的使用自定义的非input上传文件。 一、input控…

2003远程桌面端口修改,远程桌面端口修改的方法有哪些

方法一:通过修改注册表 1、打开注册表编辑器: 打开“开始”菜单,点击“运行”,输入“regedit”,然后按下“Enter”键。 2、导航到远程桌面服务的注册表项: 依次展开以下路径: HKEY_LOCAL_M…