首页 > 产品 > 微控制器 (MCU) 和处理器 > MSP430铁电超值微控制器方案——25美分实现25种功能 >

MSP430

最新课程

热门课程

1.3 “小身材,大味道” – Timer

那么我想给你大家讲讲的是我们的定时器 那么首先来看看我们定时器里面的第一个demo 我想大家都不会陌生啦 然后很多人会说我用我自己的主芯片里面随时都可以做一个RTC 或者说我要不要去买一颗外部的RTC芯片 比自己开发代码要方便很多 我为什么要用这样一颗MSP还要自己开发代码呢 我们来看看我们能做到一些什么样的功能和买一颗ASIC的RTC是不一样的 那么在我们的430里面来说的话呢 他所有的MSP430系列的产品全部都是基于TI铁电系列memory来做的 所以说我们的铁电跟大家所知道的铁电一样 他最大的特点就是方便写 第二他的特点就是功耗低 然后对于一般的芯片来说的话呢他一般写入的功耗都要达到毫安级别 但对于我们F-RAM来说 我们是微安级别的一个电流在完成这样一个操作 所以它非常适合于做一些相应的数据记录 在我们的这个demo里面主要的功能是 我们会通过URAT口 比如说你电脑上的URAT口 发送一个控制命令给到我这个芯片 说 我现在是几几几秒 你把时间记下来 然后我的芯片的话呢就把当前的这个时刻给记载在自己的芯片上 就像右边图上所显示的12 就是第12秒 当我记下来以后的话 我就自己在里面做本地的一个计时 这个之后有可能主系统可以去修理啊等这样的操作都可以 当主系统他要读系统时间的时候 他就可以发送相应的命令 在这里我们就用上位机演示为接受 这个时候呢我希望MSP430把当前这个时间再发回给我 然后我又把时间读出来了 我们可以看到读出来的这个时间第19秒 也可以看到整个我从发送让他把时间记下来 然后再到我读出来 看他做的对不对 整个过程都是非常简单 那我们这个25分钱芯片这个demo里面也就是帮大家实现这样一个功能 接下来我们看一个比这个略微复杂一点的 在整个一个大系统里面我们通常都会用到一些比如MSP430芯片呀 或者说RTC芯片啊 或者说我们会有一些小型的低功耗的芯片 做一些系统管理 来负责在需要的时间做整个系统的唤醒操作 那么在这里的话呢我们这个功能可以看一看右图 在这里我们假设有一个host的 MUC 假设他要进入低功耗模式之前 他会下一个RTC的start命令 抵达我的这颗芯片 芯片接到这个命令以后的话呢 我就会知道我现在要开始计时了 然后等双方约定好每次我收到RTC命令计时以后呢 我记5秒钟就把它唤醒 或记10秒钟把它唤醒 到计时时间以后 我就会发送一个唤醒命令给主系统 让主系统可以整个开始恢复工作 其实这个是非常典型的在大系统中通过一个小的芯片来做整个功耗和时序管理的方式 在这里我们的MSP430可以做点什么呢 那么如果你刚刚加入我们这个直播的话呢 可能前面的部分你没有听到 那么从现在开始我还是会把这部分步骤再给大家讲一下 第一部如果你觉得这个功能非常实用 那你可以到我们的网站上去下载这个源代码 这个完了以后在右边文件夹里面可以看到 会有相应的CCS 或者说IR环境下的项目工程 在你熟悉的开发环境里面打开这样一个工程 我这部分是需要你们这边做掉的 第二来说的话呢看看CI在整个代码里面为你做了什么 那么整个代码里面我们首先是在L口的外部中段里面做了一个相应的等待中断的操作 当我收到主系统一个L口中断的一个请求的时候 我就会使能自己本地的RTC开始计时 那么同时我们也会配置RTC中断 当RTC中断计时达到了主系统要求的时间的话 这个时候我就会在相应的唤醒引脚上面输出一个相应的电频 唤醒主系统 包括前面所有的初始化的部分 在我们的代码里面也全部给大家写好了 所以说大家可以不需要花其他的时间去研究TI的驱动怎么样用 去研究TI 的RTC怎样使能 研究我的中断系统是怎样一个结构 所有的这部分的工作在你要run这个demo的时间你都不需要去做相应的研究 第三部需要做什么呢 第三部你需要有一块我们这个现在非常便宜原件是9.9美金 现在是4.3美金的一款评估板 然后得到评估板以后跑一下我们的这个demo 在这个代码里面我们留了一个预定义字给客户自己设定 就是在我们的incremental的预定义字上面 会有你可以设定几秒钟或者10秒钟来把整个系统唤醒 这个需要你们来做的 然后如果在实际应用开发中还想更进一步去了解 我们里面的配置到底为什么这样做 那你可以打开我们的technical document来看一下原理是什么 在我的文档中非常详细的描述了为什么我们的incremental可以这样配 又如何来配合为我们的时钟系统和时钟架构 来完成这样一个秒定时的操作 整个来说的话呢 刚才我说的所有的功能的话呢 大家看看一共有多少字节呢 200个字节 这个在现在25芯片横行的时代里面 大家通常都已经习惯去用driver library或者用原厂提供的库来编写代码 可能有一个JPIO电镐的操作要很多的字节才能完成 但在我们TI的时代 我们为了让我们的客户所出的每一分钱都能值 我们仅仅用了200个字节就完成了上面所有所说的功能 但同整个来说 从系统级别来说的话 他的功耗非常低 用我们这样一颗MSP430来做这样一个唤醒 整个大家可以看到 现在这个页面上1秒 10秒 1分钟唤醒 1小时唤醒 整体的功耗都是在一个微秒左右 甚至比一个微秒更小的水平 所以430任然是一颗功耗非常优秀出色的芯片 并且所有的功能 我们不拼memory 我们只拼功能 除了这个之外 我们工程师不会让一个demo就结束了嘛 那通常我们还会有其他的什么需求呢 假设我们工程师说 我不想说我给你个信号以后 5秒钟你才把我唤醒 我想让你通过用绝对时间的方式来把我快速唤醒可以 或者说每次我唤醒的时候我能不能把这些值都保留到我们芯片的本地 记录在F-RAM里面 我看看他到底被唤醒哦了几次 在哪个时刻被唤醒的 或者说由主机给我们的芯片做时间校准 这些功能可以不可以做呢 其实有一些在我刚才讲的demo都已经包含了 通常我会说 idear和idear的碰撞可以产生yes idear 那我觉得对于TI来说我们这25种功能可能不同时跑在一个芯片上面 但是demo和demo之间的碰撞往往能够产生能够符合你实际设计应用需求的一个代码 所以说大家可以多多去熟悉下我们这种25种功能的代码 每个功能具体到底是怎么样的 来看一看是不是两三个功能一搭就能完成你的设置 除了刚才我们讲的RTC以及两种RTC的功能外 在整个系统级的设计里面的话呢 我们通常也会有这样一个唤醒控制器的一个需求 那么比如说 跟刚才demo不一样的是 现在我主机端他不是通过一个IO口来简单的触发计时 而是说我用通讯端口来做 那么不论你是用URAT口 SPI口 还是I2C都能达到同样的目的 那么当我用通讯口来做的话 往往我就能包含更多的信息量 包括我刚才所说的 比如说我要用绝对时间 来做这样一个唤醒 用主机端可以发送绝对的唤醒时间给到我的(听不清) 或者主芯片觉得430芯片用RTC32.768计时还不够精确的话呢 隔多长时间的话给我做一次校准 告诉你时间现在到底是怎样 这些所有的控制命令都可以在我们的芯片里面加上相应的功能而实现的 这个功能我个人也认为是非常实用的一个辅助类型的系统控制芯片的要求 并且他的功耗非常低 即时加上F-RAM的写操作他的功耗任然是业界最低的一款芯片 除了这个之外的话呢 还有一些watchdog的应用 当然市场上会有很多现成的外部的watchdog可以买啦 我觉得对于watchdog这样一个功能 我们的芯片做它真的是绰绰有余 那么为什么要用他呢 无非就是你已经看到我刚才介绍的demo其中一种功能辅助增加这样watchdog timer的功能 其实也没什么不好 帮你整个系统就省掉了很多成本 把一些小的功能全部放到我们这样一颗MSP430芯片里面 来完成他所有的零零碎碎的辅助功能 把你的其他的一些电压监控呀 看门狗呀 RTC啊 都可以合到430来做 而且比以前只用ASIC芯片达到更高级的功能 还有一些比如说工业客户也会有一些秒表倒计时之类的应用 当然啦 现在很多高端的新一类的显示已经做得很好看了 但很多工业应用里面的话 为了有这样一个很好的亮度 和显示效果的话 包括用这种代码式LDE显示效果 在这里呢 我们的MSP芯片也可以完成这样一个功能 整个来说的话呢 如果说是你想自己做 肯定也可以 但如果用TI 提供的功能的demo的话呢 其实5分钟 10分钟 外围电路一搭 整个demo就可以跑起来了 我把这个代码都是以源代码开放的的形式给大家的 刚才也有说到看门狗 外部的RTC 现在加上外部的电压监控 如果说是你最好用了我们MSP来实现其中一个功能的话 现在的话呢你也可以用我们这个芯片增加一个电压监控的功能 来节省你整体一部分的开销 那么整个来说的话呢我们做电压监控的功耗也非常低 大家如果有需要的话也可以自己下载我们PPT以后 通过点击我们的连接来拿到更多的一个信息

那么我想给你大家讲讲的是我们的定时器

那么首先来看看我们定时器里面的第一个demo

我想大家都不会陌生啦

然后很多人会说我用我自己的主芯片里面随时都可以做一个RTC

或者说我要不要去买一颗外部的RTC芯片

比自己开发代码要方便很多

我为什么要用这样一颗MSP还要自己开发代码呢

我们来看看我们能做到一些什么样的功能和买一颗ASIC的RTC是不一样的

那么在我们的430里面来说的话呢

他所有的MSP430系列的产品全部都是基于TI铁电系列memory来做的

所以说我们的铁电跟大家所知道的铁电一样

他最大的特点就是方便写

第二他的特点就是功耗低

然后对于一般的芯片来说的话呢他一般写入的功耗都要达到毫安级别

但对于我们F-RAM来说 我们是微安级别的一个电流在完成这样一个操作

所以它非常适合于做一些相应的数据记录

在我们的这个demo里面主要的功能是

我们会通过URAT口 比如说你电脑上的URAT口

发送一个控制命令给到我这个芯片

说 我现在是几几几秒 你把时间记下来

然后我的芯片的话呢就把当前的这个时刻给记载在自己的芯片上

就像右边图上所显示的12 就是第12秒

当我记下来以后的话 我就自己在里面做本地的一个计时

这个之后有可能主系统可以去修理啊等这样的操作都可以

当主系统他要读系统时间的时候 他就可以发送相应的命令

在这里我们就用上位机演示为接受

这个时候呢我希望MSP430把当前这个时间再发回给我

然后我又把时间读出来了

我们可以看到读出来的这个时间第19秒

也可以看到整个我从发送让他把时间记下来

然后再到我读出来 看他做的对不对

整个过程都是非常简单

那我们这个25分钱芯片这个demo里面也就是帮大家实现这样一个功能

接下来我们看一个比这个略微复杂一点的

在整个一个大系统里面我们通常都会用到一些比如MSP430芯片呀

或者说RTC芯片啊

或者说我们会有一些小型的低功耗的芯片

做一些系统管理

来负责在需要的时间做整个系统的唤醒操作

那么在这里的话呢我们这个功能可以看一看右图

在这里我们假设有一个host的

MUC 假设他要进入低功耗模式之前 他会下一个RTC的start命令

抵达我的这颗芯片

芯片接到这个命令以后的话呢

我就会知道我现在要开始计时了

然后等双方约定好每次我收到RTC命令计时以后呢

我记5秒钟就把它唤醒 或记10秒钟把它唤醒

到计时时间以后 我就会发送一个唤醒命令给主系统

让主系统可以整个开始恢复工作

其实这个是非常典型的在大系统中通过一个小的芯片来做整个功耗和时序管理的方式

在这里我们的MSP430可以做点什么呢

那么如果你刚刚加入我们这个直播的话呢

可能前面的部分你没有听到

那么从现在开始我还是会把这部分步骤再给大家讲一下

第一部如果你觉得这个功能非常实用

那你可以到我们的网站上去下载这个源代码

这个完了以后在右边文件夹里面可以看到

会有相应的CCS

或者说IR环境下的项目工程

在你熟悉的开发环境里面打开这样一个工程

我这部分是需要你们这边做掉的

第二来说的话呢看看CI在整个代码里面为你做了什么

那么整个代码里面我们首先是在L口的外部中段里面做了一个相应的等待中断的操作

当我收到主系统一个L口中断的一个请求的时候

我就会使能自己本地的RTC开始计时

那么同时我们也会配置RTC中断

当RTC中断计时达到了主系统要求的时间的话

这个时候我就会在相应的唤醒引脚上面输出一个相应的电频

唤醒主系统

包括前面所有的初始化的部分

在我们的代码里面也全部给大家写好了

所以说大家可以不需要花其他的时间去研究TI的驱动怎么样用

去研究TI 的RTC怎样使能

研究我的中断系统是怎样一个结构

所有的这部分的工作在你要run这个demo的时间你都不需要去做相应的研究

第三部需要做什么呢

第三部你需要有一块我们这个现在非常便宜原件是9.9美金

现在是4.3美金的一款评估板

然后得到评估板以后跑一下我们的这个demo

在这个代码里面我们留了一个预定义字给客户自己设定

就是在我们的incremental的预定义字上面

会有你可以设定几秒钟或者10秒钟来把整个系统唤醒

这个需要你们来做的

然后如果在实际应用开发中还想更进一步去了解

我们里面的配置到底为什么这样做

那你可以打开我们的technical document来看一下原理是什么

在我的文档中非常详细的描述了为什么我们的incremental可以这样配

又如何来配合为我们的时钟系统和时钟架构

来完成这样一个秒定时的操作

整个来说的话呢 刚才我说的所有的功能的话呢

大家看看一共有多少字节呢

200个字节

这个在现在25芯片横行的时代里面

大家通常都已经习惯去用driver library或者用原厂提供的库来编写代码

可能有一个JPIO电镐的操作要很多的字节才能完成

但在我们TI的时代 我们为了让我们的客户所出的每一分钱都能值

我们仅仅用了200个字节就完成了上面所有所说的功能

但同整个来说 从系统级别来说的话

他的功耗非常低

用我们这样一颗MSP430来做这样一个唤醒

整个大家可以看到 现在这个页面上1秒 10秒 1分钟唤醒

1小时唤醒 整体的功耗都是在一个微秒左右

甚至比一个微秒更小的水平

所以430任然是一颗功耗非常优秀出色的芯片

并且所有的功能 我们不拼memory 我们只拼功能

除了这个之外 我们工程师不会让一个demo就结束了嘛

那通常我们还会有其他的什么需求呢

假设我们工程师说 我不想说我给你个信号以后

5秒钟你才把我唤醒

我想让你通过用绝对时间的方式来把我快速唤醒可以

或者说每次我唤醒的时候我能不能把这些值都保留到我们芯片的本地

记录在F-RAM里面 我看看他到底被唤醒哦了几次

在哪个时刻被唤醒的

或者说由主机给我们的芯片做时间校准

这些功能可以不可以做呢

其实有一些在我刚才讲的demo都已经包含了

通常我会说

idear和idear的碰撞可以产生yes idear

那我觉得对于TI来说我们这25种功能可能不同时跑在一个芯片上面

但是demo和demo之间的碰撞往往能够产生能够符合你实际设计应用需求的一个代码

所以说大家可以多多去熟悉下我们这种25种功能的代码

每个功能具体到底是怎么样的

来看一看是不是两三个功能一搭就能完成你的设置

除了刚才我们讲的RTC以及两种RTC的功能外

在整个系统级的设计里面的话呢 我们通常也会有这样一个唤醒控制器的一个需求

那么比如说 跟刚才demo不一样的是

现在我主机端他不是通过一个IO口来简单的触发计时

而是说我用通讯端口来做

那么不论你是用URAT口 SPI口 还是I2C都能达到同样的目的

那么当我用通讯口来做的话

往往我就能包含更多的信息量

包括我刚才所说的

比如说我要用绝对时间

来做这样一个唤醒

用主机端可以发送绝对的唤醒时间给到我的(听不清)

或者主芯片觉得430芯片用RTC32.768计时还不够精确的话呢

隔多长时间的话给我做一次校准

告诉你时间现在到底是怎样

这些所有的控制命令都可以在我们的芯片里面加上相应的功能而实现的

这个功能我个人也认为是非常实用的一个辅助类型的系统控制芯片的要求

并且他的功耗非常低

即时加上F-RAM的写操作他的功耗任然是业界最低的一款芯片

除了这个之外的话呢 还有一些watchdog的应用

当然市场上会有很多现成的外部的watchdog可以买啦

我觉得对于watchdog这样一个功能 我们的芯片做它真的是绰绰有余

那么为什么要用他呢

无非就是你已经看到我刚才介绍的demo其中一种功能辅助增加这样watchdog timer的功能

其实也没什么不好

帮你整个系统就省掉了很多成本

把一些小的功能全部放到我们这样一颗MSP430芯片里面

来完成他所有的零零碎碎的辅助功能

把你的其他的一些电压监控呀 看门狗呀 RTC啊 都可以合到430来做

而且比以前只用ASIC芯片达到更高级的功能

还有一些比如说工业客户也会有一些秒表倒计时之类的应用

当然啦 现在很多高端的新一类的显示已经做得很好看了

但很多工业应用里面的话 为了有这样一个很好的亮度

和显示效果的话

包括用这种代码式LDE显示效果

在这里呢 我们的MSP芯片也可以完成这样一个功能

整个来说的话呢 如果说是你想自己做 肯定也可以

但如果用TI 提供的功能的demo的话呢

其实5分钟 10分钟 外围电路一搭 整个demo就可以跑起来了

我把这个代码都是以源代码开放的的形式给大家的

刚才也有说到看门狗

外部的RTC 现在加上外部的电压监控

如果说是你最好用了我们MSP来实现其中一个功能的话

现在的话呢你也可以用我们这个芯片增加一个电压监控的功能

来节省你整体一部分的开销

那么整个来说的话呢我们做电压监控的功耗也非常低

大家如果有需要的话也可以自己下载我们PPT以后

通过点击我们的连接来拿到更多的一个信息

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

1.3 “小身材,大味道” – Timer

所属课程:MSP430铁电超值微控制器方案——25美分实现25种功能 发布时间:2018.03.01 视频集数:5 本节视频时长:00:13:16
本课程介绍了MSP430铁电系列超值型微控制器系列产品,该超值系列仅需25美分即可实现25种外设功能。本课程详细介绍了该系列产品的PWM,Timer,通信接口等外设,并介绍了开发板和相关 TI 设计方案。
TI培训小程序