了解下TI新出的MSPM0 MCU

1. 前言

如上链接所示,上个月TI在其公众号发布了一条讯息,正式推出M0+内核的MSPM0 MCU。为了更深入的了解MSPM0,我在TI官网浏览了与其相关的资料,同时也找朋友借了一块MSPM0G3507开发板进行初步的评估。

2. MSPM0系列性能介绍

MSPM0 MCU目前有两个系列,一个是主频为32MHz的MSPM0Lxxxx系列,一个是主频为80MHz的MSPM0Gxxxx系列,主要的型号规格如下图:

MSPM0 MCU(来源:MSPM0快速参考手册)

下面将分别介绍MSPM0Lxxxx系列和MSPM0Gxxxx系列的性能和特点。

2.1 MSPM0Lxxxx系列

MSPM0Lxxxx系列主要有两大类,分别是MSPM0L110x和MSPM0L130x,其中:

  • MSPM0L110x的最高温度为105℃,而MSPM0L130x的最高温度为125℃。
  • MSPM0L130x比MSPM0L110x多了两个零漂移的运放和一个比较器。
  • MSPM0L130x和MSPM0L110x的封装引脚从16pin到32pin不等。

MSPM0L130x和MSPM0L110x的主要性能和参数如下图所示:

MSPM0Lxxxx系列的主要性能

2.2 MSPM0Gxxxx系列

MSPM0Gxxxx系列相比MSPM0Lxxxx系列,有以下几点提升:

  • Flash从64KB提升到128KB
  • 因为集成了PLL模块,主频从32MHz提升到80MHz
  • 增加了高级定时器,UART等外设的数量也有所增加
  • MSPM0G3xxx 还增加了CAN模块,并且支持CAN FD通信
  • MSPM0Gx5xx 增加了支持AES-256,TRNG的加密模块,以及用于数学运算的加速器

MSPM0Gxxxx的主要性能和参数如下图所示:

MSPM0Gxxxx系列的主要性能

3. MSPM0G3507试用

了解了MSPM0的性能参数之后,再借助MSPM0G3507的开发板体验下其软件生态。

3.1 环境准备

需要提前准备的软件以及工具如下:

3.2 运行点灯程序

  1. 安装好CCS 12.2.0之后打开,按下图所示创建新工程:
  2. 点击下图红框的链接,进入在线的SDK的选择界面:
  3. 选择MSPM0 SDK - 1.00.00.04,按下图所示方式安装到本地。
  4. 安装完成之后,可以通过下图所示的《文档概述》文本快速跳转到MSPM0 SDK的快速上手指南,用户指南等文档,快速熟悉MSPM0的SDK用法和架构。
  5. 为了快速评估MSPM0G3507,这里选择点灯例程gpio_toggle_output,例程地址显示在下图中的红框处。
  6. 按下图方式将例程gpio_toggle_output导入CCS的工作区。
  7. 关于例程的细节就不多说了,在README.md中有详细描述。点击锤子图标进行编译,完成后在控制台能够看到相关信息,如下图所示:
  8. 同时,在Memory Allocation界面中还能看到Flash和SRAM的占用情况,如下图所示:
  9. 点击甲壳虫图标下拉中的debug configurations选项,然后新建该例程对应的调试配置,如下图所示:
  10. 调试配置文件的main界面设置如下图:
  11. 调试配置文件的Program界面设置如下图:
  12. 将开发板通过USB线连接电脑,点击debug按钮,一段时间后进入调试界面,如下图所示:
  13. 后面的单步调试等操作和其他基于eclipse的IDE差不多(如S32DS),这里就不赘述了。

4. 关于MSPM0系列发布的一些想法

目前官网上已经能够订购的MSPM0 MCU型号都是工业级的,但是从MSPM0Gxxxx系列的数据手册的命名规则能够看出,MSPM0Gxxxx系列也会推出符合AEC-Q100认证的车规级产品出来。

MSPM0G3507命名规则

对于工业等级的MSPM0系列MCU,个人不是特别看好,毕竟国产有太多仿STM32F103系列的MCU,和STM32F103基本软硬件兼容,而且由于现在不缺货,价格战异常激烈,TI在这个市场上突围出来很难。

如果车规等级的MSPM0 MCU今年能够出来,个人觉得凭借其激进的价格策略还是可以抢占一些份额。虽然现在国产的M0系列车规MCU很多,但是被客户大规模使用的非常少,客户批量方案中还是进口车规MCU占多数。一个原因是汽车市场对电子元器件的失效率和一致性有很高的要求,国产车规MCU在这一块和进口芯片还有较大差距,还有一个原因是进口车规MCU的供货紧张缓解很多,并且价格也回落很多,不少客户又从国产芯片换回了进口芯片。现在很多客户选择国产车规MCU更多是因为车厂指定使用国产化方案,总体而言,目前量产方案中,国产车规MCU占比还不多。

说回个人接触比较多的汽车尾灯模组,之前TI在这个领域,如下图所示,除了MCU(之前有C2000,但是车灯客户基本不用,电机客户用的较多),其他器件都有,包括DCDC、LDO、LED Driver、CAN/LIN收发器等。如果车规级的MSPM0上线,那TI就有了真正意义上的total solution。听说目前已经有一些和TI关系好的车灯客户在预研全TI芯片的尾灯方案了。

汽车尾灯框图(来源:TI官网)

5. 参考资料

设计这样一个自动行驶小车项目,使用TI MSPM0系列微控制器(如MSP430或MSP432)作为核心控制单元,我们需要考虑以下几个关键步骤: 1. **硬件选型**: - **MCU**:MSPM0系列MCU因其低功耗和丰富的IO资源适合此任务。 - **电机驱动**:选择合适的H-bridge电路驱动电机。 - **传感器**:使用红外、超声波或光电传感器检测路径和障碍物。 - **电源管理**:配置电池和电源管理系统。 2. **软件设计**: - **路径跟踪**:在编程中,你可以使用PID控制算法来控制小车沿预设路径移动,例如使用A*搜索算法找到从起点到终点的最优路径。 - **路径识别**:利用传感器数据识别黑色线条,可能是通过比较传感器读数与阈值来判断是否接近线条边缘。 - **运动控制**:当检测到线条时,控制电机改变速度和方向,使其保持在路径上。 3. **代码示例**(简化版本,不包含全部细节): ```c++ #include <msp430.h> const int line_threshold = 50; // 黑色线条的传感器读数阈值 const float radius = 40; // 半径 void setup() { // 初始化传感器和电机 ... } void loop() { int sensorReading; if (readSensor(sensorPin) > line_threshold) { // 小车靠近线条,计算偏移角度并更电机控制信号 calculateAngleForTracking(sensorReading); updateMotorControls(angle); } else { // 距离线条足够远,继续寻找下一段路径 continueOnPath(); } } void calculateAngleForTracking(int reading) { // 根据读数和半径计算小车应转向的角度 } ``` 4. **图形定位点的代码**: 如果你想基于图1所示的具体地点(A、B、C、D)定义路径,可以用数组或结构体存储这些点的坐标,然后在`continueOnPath()`函数里根据当前位置决定下一步的目标。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Auto FAE进阶之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值