【车载开发系列】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兼容芯片品牌比较多的元器件。
公司兼容原则:尽量选择以前老产品用过的元器件