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

MSP430

最新课程

热门课程

1.4 “小身材,大味道” – System

那么第三部分呢 我想来看看 系统篇 那么系统篇讲起来你们的 (听不清)这么简单 它其实就是一颗很小的芯片 然后整体的FRAM空间呢 不算最大 然后外设呢 我并没有说 有什么别人没有而我有的外设 但恰恰是我们这么一颗小的芯片呢 我们用我们这些代码辅助的功能 用TI过去十几年的一个经验 做出了其中一个很大的味道 那么在整个系统篇的功能里面呢 其实不能说 用它来做出了一个大的系统 而是在你整个的系统里面 我们的芯片可以辅助你 解决系统级的一些怎样的问题 那么首先来看看第一个功能 我觉得大家想也想的得到 EEPROM模拟 为什么要说EEPROM模拟呢 其实我觉得这个题目都不太贴切 因为我觉得我们的FRAM 比EEPROM要好得多 我们根本就没有必要 去模拟EEPROM 那么为什么这么写呢 其实也是因为整体来说的话呢 在很多的工业系统应用中 大家都会用到EEPROM EEPROM变得越来越随便地 就可以被大家选择说 我要记一个什么数据 好吧 我外面挂一个EEPROM来记记数据吧 其实也未必便宜 也未必低功耗 但是大家 大家都习惯用了 所以在这里呢 我想给大家说的就是 其实呢 如果你的系统里面 有我们刚才说的很多小功能 DI监控啊 RDC功能啊 这个时候你又 需要做一些数据保存的话 那我们这样一个模拟EEPROM的功能 就可以起到一个非常大的作用 并且我们会比EEPROM做的更好 通常来说EEPROM它应用 因为需要自己的擦除和 写入的操作 整体的功耗会比较高 一般无论是哪家的EEPROM 它的写入时间都是毫秒级 然后它的写入的电流都是 毫安级的一个功耗 那么在我们的这颗(听不清)上面 虽然我们不是memory 但是我们能实现的是什么呢 我们能实现微秒级的写入操作 然后我们是微安级的功耗消耗 那么整体来说的话呢 根据你实际应用的需要 你可以选择用SPI I2C或者UART 等等 不同类型的通信端口给 我们的(听不清)芯片发送相应的数据 然后发送的数据呢 由我们的(听不清)芯片 记录在我们本地 的FRAM上 如果当你需要的时候 随时都可以 取出来用 那么在你不做记录的时候 整个芯片其实都是一直处于一个 低功耗的状态的 那么整体的功耗也是非常低的 接下来我们来看看 还可以用来干些什么 这部分呢 是我觉得 我自己看了以后 或者我自己用了以后 觉得蛮新奇的一种想法 或者也是TI实实在在给大家考虑 怎么用我们的这颗芯片来增加你的 价值的这样的一个体现 就是反侵入 很多客户都会有这样子的一个需求 比如说我有一个产品 我外面有一个盒子 我这个盖子呢 是不允许我的终端用户开的 只要我的终端用户开 开了或者我的竞争对手 开了以后的话呢 我内部的数据就会做自毁操作 或者说我就会报警 等等这样类型的功能 其实在大部分的工业客户里面 我们都会看到一个反侵入的一个 检测功能 那么430到底跟这个有什么关系呢 我们以前是怎么做的呢 绝大部分的话呢 我看到的很多 都是上面会有一个机器按键的弹片 然后盖子一开呢 这个弹片就弹回去了 我的IO口就检测不到东西了 通过这种方式来做 那么这种方式有什么不好呢 机器按键贵啊 现在已经到了机械结构件比我们 电子部件更贵的一个年代了 所以说 用430为什么可以这样做呢 我们是电子部件 我们只要用IO口 做一些简单的处理 就可以实现这个功能 那么下面我来给大家讲一讲 为什么 我们的芯片可以这样来做 那么大家看看中间的那个盒子 我们把它当做 一个终端用户应用的产品 它在这个板子上 实际上是用了我们的一颗芯片 无论是它之前用我们的芯片做RTC啊 或者是PWM啊等等 这种功能也好 但是它附加的 也可以做这样一个侵入检测的 这样一个功能 在这 里面 我们会用到两个IO口 一个IO口呢 我们会输出我们 430芯片的一个辅助时钟 这个辅助时钟输出以后呢 它会到盒子的另一端 通过一个 不管是细丝 或者说是 导线啊等等 这种类型的东西 连一下 然后再被 送回到我的另一个IO口 那么我在我的另一个IO口上呢 我会一直在那计时 计脉冲数 计我的单位时间的脉冲数是不是够 来判断我的这个盒子是不是被打开 大家可以想象如果这个盒子被开了 这个触点碰不到了 我的这个计数 我这个计脉冲的IO口 肯定计不到脉冲 这个时候 它就会去做相应的自毁操作 把我重要用户的很多数据都擦除掉 那有一点好的是 我们的FRAM 你如果把一些重要的数据 都记录在我们的FRAM上面 我们的FRAM 其实不需要擦除的操作的 不像Flash或EEPROM 我要花几个毫秒的时间去做擦除 这里的话呢 我擦一遍芯片 其实就是写F 然后微秒的时间就可以完成 所有的自毁的操作 那么保护你一些特别关键的数据 不被各种的方式所窃取掉 那么这个就是 我们做反侵入检测的一个概念 那么如果你是现在才播上来的话呢 那么麻烦你 现在要run demo的话呢 首先第一步 你需要做的 去以上的链接呢 下载我们所有的 25种功能的demo demo打开了以后呢 每个demo都是以它功能 名称来命名 比如 这个demo叫 temp detector 打开以后会有两个 文件夹 然后里面会是 我们全部已经整理好的 CCS和IAR的项目文件夹 直接在你习惯的开发环境 CCS或者IAR里面 把它打开 打开以后的话呢 你就可以看到所有相关的源代码了 那么第二个步骤 我们需要做什么呢 其实第二个步骤 都是TI给大家做好的 TI做了什么呢 首先我们 是配置各个功能引脚 比如我在哪个端口 我需要输出 ACLK信号 我在哪个端口做计数 我在哪个端口报警等等 这一类操作都是做相应的初始化配置 那第二部分来说的话呢 我们会配置一下我们的p1.0 这样的计数脉冲的一个 终端子程序 在终端子程序里面呢 我们会一直计ACLK的脉冲 那通过单位时间内计脉冲总数的 多少来判断 我这个外壳是不是被人为地 各种原因给拆开了 那第三步呢 我们会配置一下 我们的RTC定时中断 那么在这里面做相应的RTC定时 来计算单位时间内 这个单位时间 有没有用到 那么这个 整体在反侵入检测的 demo里面比较重要的三个部分 就是这三个部分 但是这里呢 完全不需要客户自己来写代码 所以代码TI都是以 源代码的形式开放给客户了 而且我们做得非常优化的是 为了 精简我们的整个代码量把它 让大家的25分钱出的非常超值 所以我们的代码都是精简过的 非常有效地完成了我们刚才所说的 反侵入检测的功能 那么第三步又需要大家做了 第三步呢 大家一定要 申请我们相应的评估板 无论是找TI的代理商 TI的销售代表 或者到我们E2E的网站上面 都可以拿到这样的一个评估板 现在我们的优惠价格是4.3美金 当大家拿到评估板 然后连接上了你的开发环境 完成了以后 编译之前呢 有一步需要大家做的话 我们就会相应有一个 参数 这个参数是干什么呢 用来配置我每隔多长时间 做一次这样的反侵入的检测 那有可能 如果你让系统做的及时 度比较高的话 你几个毫秒就测一次 也有可能我觉得没那么紧张 我一秒钟测一次 那也可以 那就随你的需要 所以这个环节的的定义呢 是自定义的 那你可以根据你的实际需要来 定义你需要的检测时间的 一个间隔是多少 那么只需要更改一步 让所有的功能都可以直接在 我们的评估板上测到相应的功能 所以非常简单 那么同样呢 作为工程师嘛 我们 还是要知其然还要知其所以然 所以你想要知其所以然的话呢 直接到我们的这样子一个 刚才看到的页面里面 它会有一个 technical document的链接 点进去呢 就可以找到我们 为了这个demo 专门写的一个说明文档 在说明文档里面呢 我们会把整个 反侵入检测的这样子一个功能 做非常详细的原理性的一个描述 并且提供一部分的测试参数 那么比如说右边的 我们的RTC DRV 到底应该怎么样配啊 那我的时间间隔 侵入检测的时间间隔 到底它的范围是什么 那么按照我们右边 这个表格所列的时间呢 基本上可以从零点几毫秒 到几十秒这样的一个不等的时间 都可以设定 所以这个是 我今天这个部分主要是 告诉大家怎么样来用 TI所提供的这些代码和工具 这个是我今天另外 想讲的一个部分的demo 那么反侵入检测讲完了 我们来看看 还有什么别的功能可以做的 那么在系统上面来说的话呢 我们往往会有很多按键 或者在按键太多了情况下呢 我们可以把它称作键盘 keypad 那么假设 我们这边有4 x 4 有16个按键 那么这个时候的话呢 如果 对于你的整个系统 如果它是一个 主控制器 或者是processor啊 或者是功能非常齐全 的主MCU来说的话呢 你要它不停花时间去检测 这16个按键的输入的话呢 往往都会非常费系统的时间 那么有可能整天 都没有这个按键的输入 但是你的主芯片 不停要active来检测这样子一个按键 那么对于我们的这颗芯片来说呢 如果你除了这个按键 还有其他功能 那当然更加完美了 但是如果没有其他功能 你也完全可以 用我们的这个demo来做 按键检测输入的这个功能 你可以根据自己 我们这个demo里面呢 把这16个按键检测完了以后呢 把这个键值通过UART口 送到主芯片上 当然你也可以熟练了以后 你要用SPI I2C等等接口 都是可以做的 那这部分也是完全提供源代码的 除此之外的话呢 ADC 刚才我们有一个环节里面 我们有讲到我们的芯片很便宜嘛 所以我们在上面 没有办法以25分钱再送 大家一个DAC了 所以我们用一个PWM波加上一个 外部的滤波电路来 实现DAC的功能 那么在ADC的部分呢 其实我们有一款 最最最最低端的芯片 它其实片上是没有那种传统的ADC 只有那种slope类型的ADC 对于客户来说 可能我的ADC功能 对精度要求 其实我们的精度做得也蛮高的 其实说 要求没那么高 速度要求没那么快 但是我就是想查一下 我现在的供电是多少伏 或者说我主芯片上的电压还有没有 对于这一类的应用来说的话 我觉得用一个slope的ADC 就完全可以满足它的要求了 那其实我在过去的很多年里面 我有帮很多客户去调过这样的一个 slope ADC的功能 以前往往是 客户说 我觉得slope ADC 做是可以做的 但是做起来呢 麻烦 然后麻烦在哪里呢 范围的电阻怎么样匹配 我到底要写多少的代码 以前ADC的话 集存机写一写就可以用了 但是你这个slope ADC 我还得写一段代码来做 太麻烦 那么往往出于 这种考虑 而不愿意用slope ADC 但在这里呢 我们帮你把所有东西都做好了 我们的demo直接按照我们的 电阻匹配 电容搭好以后呢 run一下我们的demo 直接就可以 跑出这样的一个ADC的一个 结果的效果 并且从我们的technical document 的链接进去 你还可以看到很具体的 他测什么电压 达到了什么样的精度 用了多少的FRAM 或者代码区的资源 来做这些功能 都可以找到这样子一个参考 那么这个是其中一种 当你没有独立ADC 只要slope ADC的时候 我们到底应该怎样做 我们也提供所有的源代码 复位芯片 复位芯片 这个东西呢其实 很难说在你的系统里 一定需要 但是往往就是在很多的系统里面 还真的少不了 这样的一个复位控制器 它往往是为了解决你 多颗芯片之间先后上电的需求 或者是多颗芯片之间 其中某一颗它可能掉电复位不好啊 上电太早啊 或者在什么情况下 拉在复位上不让它跑这样子 的问题 那么对于 我们这颗(听不清)系列的芯片呢 其实我们是非常适宜在 一个复杂的系统里面 作为一个复位控制起 来管理所有芯片的复位功能的 那么在我们的demo里面的话呢 我们其实是做了两个 两个有啥差别呢 我们做了一个软复位 和一个硬复位的功能 那么在我们的IO口呢 分别 输出相应的低电频 其中一个IO口的低电频呢 是连接到主控 主控芯片它的复位引脚上面的 那么这样的话 可以让你的主芯片 产生一个硬复位的效果 hard reset 但如果对于你的主系统来说的话呢 我不希望我每次复位的时候 都是被硬复位 我希望我有一个IO口 可以触发我 让我知道我该做软复位了 我自己再去复位 那基于这样子的一个考虑呢 我们会在 另外一个引脚 也可以输出一个软复位的 复位信号 那这个当然只是我们现在基于 我们之前的一些经验 所构想的一些系统级的应用 那真正你用我们的这颗芯片 在你的系统里面 怎么样来控制你的时序 来怎么更好的 利用这25分钱的功能的话呢 那就需要大家各位自己回头去 看看有木有这样子的需要了 那么UART 这其实不是UART 只能说是 是一个智慧的比较器 这个其实很多工程师 或者硬件工程师 都有这样的经验 我外围有一个输入信号 它类似于三角波 或者说是一个无规则的信号 那我希望 当电压大于 多少的时候呢 我输出一个高电频 当电压低于多少的时候呢 输出一个低电频 那平时呢 硬件工程师 当然呢 第一个概念就是 我用一个比较器来做一下吧 那对于我们的这个MCU来说 我们跟比较器不一样的地方 是什么呢 我们还会有非常 灵活的方式 把这个信息给送出去 当然我们的芯片里面 因为本身 有比较器嘛 所以我们可以非常方便地 来实现这样一个硬件工程师所 需要的把一个三角波 进行这样子一个滤了以后变成 这样子一个方波的功能 那除了这个之外的话呢 我们还可以 根据需要 把这样子一个 信息通过不同的通讯口 给送到主机端 这部分肯定就是一颗 Analog的芯片没有办法做到的 那这就是我们为什么要用这颗芯片 来实现 那么除了这个之外的话呢 关于ADC唤醒 也是跟刚才一个功能比较类似 就是我的芯片可以一直 用低功耗的方式呢 监控 某个ADC的电压 比如说是某个sensor 如果某个sensor输出的电压 大了或者小了 需要 主芯片做相应处理的时候呢 我就可以把这个信息发给主芯片 做相应的这样一个处理 这也是ADC唤醒的功能 那么对于正交编码的这样子 技术功能的话呢 其实这个在我们 的430的FRAM芯片上面 也是非常容易实现的 除了能实现识别它的 输入信号来数拍子之外呢 我们也可以通过把它的这些信号 通过不同的通讯口发出去 那么现在在我们的demo里面呢 我们是通过UART来 做这样的发送的处理 那么实际上呢 你可以根据你各个 不同的实际应用需要 来修改其他的端口 那么以及可编程的时钟源 在我们的这颗(听不清)芯片上面呢 我们会有运行的主时钟 或者说是辅助时钟 那么我们可以把自己的时钟呢 通过一些IO口的引脚 做相应的分频以后 或者说不做分频以后 输出到IO引脚上面 供你系统里面其他的 单元所使用 那这个呢为大家的系统里面 可以提供可编程的 这样一个不同时钟频率的 时钟源 那如果说你的系统里面 有各种时钟源供给的需要的话呢 我们这颗(听不清) 25分钱的芯片 也非常适合 并且它可以搭载我刚才介绍的很多 很多功能一起用 所以是一个非常方便实用灵活的 一颗芯片 那以及的话 我们也可以输出 相应的一个锁屏环的一个功能 所以跟上面的时钟部分比较类似了

那么第三部分呢 我想来看看

系统篇

那么系统篇讲起来你们的

(听不清)这么简单

它其实就是一颗很小的芯片

然后整体的FRAM空间呢

不算最大

然后外设呢 我并没有说

有什么别人没有而我有的外设

但恰恰是我们这么一颗小的芯片呢

我们用我们这些代码辅助的功能

用TI过去十几年的一个经验

做出了其中一个很大的味道

那么在整个系统篇的功能里面呢

其实不能说 用它来做出了一个大的系统

而是在你整个的系统里面

我们的芯片可以辅助你 解决系统级的一些怎样的问题

那么首先来看看第一个功能

我觉得大家想也想的得到

EEPROM模拟

为什么要说EEPROM模拟呢

其实我觉得这个题目都不太贴切

因为我觉得我们的FRAM 比EEPROM要好得多

我们根本就没有必要 去模拟EEPROM

那么为什么这么写呢

其实也是因为整体来说的话呢

在很多的工业系统应用中

大家都会用到EEPROM

EEPROM变得越来越随便地 就可以被大家选择说

我要记一个什么数据 好吧

我外面挂一个EEPROM来记记数据吧

其实也未必便宜

也未必低功耗 但是大家

大家都习惯用了

所以在这里呢 我想给大家说的就是

其实呢 如果你的系统里面

有我们刚才说的很多小功能

DI监控啊 RDC功能啊

这个时候你又 需要做一些数据保存的话

那我们这样一个模拟EEPROM的功能

就可以起到一个非常大的作用

并且我们会比EEPROM做的更好

通常来说EEPROM它应用

因为需要自己的擦除和

写入的操作 整体的功耗会比较高

一般无论是哪家的EEPROM

它的写入时间都是毫秒级

然后它的写入的电流都是

毫安级的一个功耗

那么在我们的这颗(听不清)上面

虽然我们不是memory

但是我们能实现的是什么呢

我们能实现微秒级的写入操作

然后我们是微安级的功耗消耗

那么整体来说的话呢

根据你实际应用的需要

你可以选择用SPI

I2C或者UART 等等

不同类型的通信端口给

我们的(听不清)芯片发送相应的数据

然后发送的数据呢 由我们的(听不清)芯片

记录在我们本地

的FRAM上

如果当你需要的时候 随时都可以

取出来用 那么在你不做记录的时候

整个芯片其实都是一直处于一个

低功耗的状态的

那么整体的功耗也是非常低的

接下来我们来看看 还可以用来干些什么

这部分呢 是我觉得

我自己看了以后 或者我自己用了以后

觉得蛮新奇的一种想法

或者也是TI实实在在给大家考虑

怎么用我们的这颗芯片来增加你的

价值的这样的一个体现

就是反侵入

很多客户都会有这样子的一个需求

比如说我有一个产品

我外面有一个盒子

我这个盖子呢 是不允许我的终端用户开的

只要我的终端用户开

开了或者我的竞争对手 开了以后的话呢

我内部的数据就会做自毁操作

或者说我就会报警

等等这样类型的功能

其实在大部分的工业客户里面 我们都会看到一个反侵入的一个

检测功能

那么430到底跟这个有什么关系呢

我们以前是怎么做的呢

绝大部分的话呢 我看到的很多

都是上面会有一个机器按键的弹片

然后盖子一开呢 这个弹片就弹回去了

我的IO口就检测不到东西了

通过这种方式来做

那么这种方式有什么不好呢 机器按键贵啊

现在已经到了机械结构件比我们

电子部件更贵的一个年代了

所以说 用430为什么可以这样做呢

我们是电子部件 我们只要用IO口

做一些简单的处理 就可以实现这个功能

那么下面我来给大家讲一讲 为什么

我们的芯片可以这样来做

那么大家看看中间的那个盒子

我们把它当做 一个终端用户应用的产品

它在这个板子上 实际上是用了我们的一颗芯片

无论是它之前用我们的芯片做RTC啊

或者是PWM啊等等

这种功能也好

但是它附加的 也可以做这样一个侵入检测的

这样一个功能 在这

里面 我们会用到两个IO口

一个IO口呢 我们会输出我们

430芯片的一个辅助时钟

这个辅助时钟输出以后呢

它会到盒子的另一端 通过一个

不管是细丝 或者说是

导线啊等等

这种类型的东西

连一下 然后再被 送回到我的另一个IO口

那么我在我的另一个IO口上呢

我会一直在那计时

计脉冲数

计我的单位时间的脉冲数是不是够

来判断我的这个盒子是不是被打开

大家可以想象如果这个盒子被开了

这个触点碰不到了 我的这个计数

我这个计脉冲的IO口

肯定计不到脉冲

这个时候 它就会去做相应的自毁操作

把我重要用户的很多数据都擦除掉

那有一点好的是 我们的FRAM

你如果把一些重要的数据 都记录在我们的FRAM上面

我们的FRAM 其实不需要擦除的操作的

不像Flash或EEPROM

我要花几个毫秒的时间去做擦除

这里的话呢 我擦一遍芯片 其实就是写F

然后微秒的时间就可以完成

所有的自毁的操作

那么保护你一些特别关键的数据

不被各种的方式所窃取掉

那么这个就是 我们做反侵入检测的一个概念

那么如果你是现在才播上来的话呢

那么麻烦你 现在要run demo的话呢

首先第一步 你需要做的

去以上的链接呢 下载我们所有的

25种功能的demo

demo打开了以后呢 每个demo都是以它功能

名称来命名 比如

这个demo叫 temp detector

打开以后会有两个

文件夹 然后里面会是

我们全部已经整理好的 CCS和IAR的项目文件夹

直接在你习惯的开发环境 CCS或者IAR里面

把它打开 打开以后的话呢

你就可以看到所有相关的源代码了

那么第二个步骤 我们需要做什么呢

其实第二个步骤 都是TI给大家做好的

TI做了什么呢 首先我们

是配置各个功能引脚

比如我在哪个端口 我需要输出

ACLK信号

我在哪个端口做计数

我在哪个端口报警等等

这一类操作都是做相应的初始化配置

那第二部分来说的话呢

我们会配置一下我们的p1.0

这样的计数脉冲的一个

终端子程序

在终端子程序里面呢 我们会一直计ACLK的脉冲

那通过单位时间内计脉冲总数的

多少来判断 我这个外壳是不是被人为地

各种原因给拆开了

那第三步呢 我们会配置一下 我们的RTC定时中断

那么在这里面做相应的RTC定时

来计算单位时间内 这个单位时间

有没有用到 那么这个

整体在反侵入检测的

demo里面比较重要的三个部分

就是这三个部分

但是这里呢 完全不需要客户自己来写代码

所以代码TI都是以 源代码的形式开放给客户了

而且我们做得非常优化的是 为了

精简我们的整个代码量把它

让大家的25分钱出的非常超值

所以我们的代码都是精简过的

非常有效地完成了我们刚才所说的

反侵入检测的功能

那么第三步又需要大家做了

第三步呢 大家一定要 申请我们相应的评估板

无论是找TI的代理商

TI的销售代表

或者到我们E2E的网站上面

都可以拿到这样的一个评估板

现在我们的优惠价格是4.3美金

当大家拿到评估板

然后连接上了你的开发环境

完成了以后 编译之前呢

有一步需要大家做的话 我们就会相应有一个

参数

这个参数是干什么呢

用来配置我每隔多长时间

做一次这样的反侵入的检测

那有可能 如果你让系统做的及时

度比较高的话 你几个毫秒就测一次

也有可能我觉得没那么紧张

我一秒钟测一次

那也可以

那就随你的需要

所以这个环节的的定义呢

是自定义的

那你可以根据你的实际需要来

定义你需要的检测时间的

一个间隔是多少

那么只需要更改一步

让所有的功能都可以直接在

我们的评估板上测到相应的功能

所以非常简单

那么同样呢

作为工程师嘛 我们

还是要知其然还要知其所以然

所以你想要知其所以然的话呢

直接到我们的这样子一个

刚才看到的页面里面

它会有一个 technical document的链接

点进去呢 就可以找到我们

为了这个demo 专门写的一个说明文档

在说明文档里面呢 我们会把整个

反侵入检测的这样子一个功能

做非常详细的原理性的一个描述

并且提供一部分的测试参数

那么比如说右边的

我们的RTC DRV 到底应该怎么样配啊

那我的时间间隔

侵入检测的时间间隔

到底它的范围是什么

那么按照我们右边 这个表格所列的时间呢

基本上可以从零点几毫秒

到几十秒这样的一个不等的时间

都可以设定

所以这个是 我今天这个部分主要是

告诉大家怎么样来用

TI所提供的这些代码和工具

这个是我今天另外 想讲的一个部分的demo

那么反侵入检测讲完了 我们来看看

还有什么别的功能可以做的

那么在系统上面来说的话呢

我们往往会有很多按键

或者在按键太多了情况下呢

我们可以把它称作键盘

keypad 那么假设 我们这边有4 x 4 有16个按键

那么这个时候的话呢 如果

对于你的整个系统 如果它是一个

主控制器 或者是processor啊

或者是功能非常齐全 的主MCU来说的话呢

你要它不停花时间去检测 这16个按键的输入的话呢

往往都会非常费系统的时间

那么有可能整天 都没有这个按键的输入

但是你的主芯片 不停要active来检测这样子一个按键

那么对于我们的这颗芯片来说呢

如果你除了这个按键 还有其他功能

那当然更加完美了

但是如果没有其他功能 你也完全可以

用我们的这个demo来做

按键检测输入的这个功能

你可以根据自己 我们这个demo里面呢

把这16个按键检测完了以后呢

把这个键值通过UART口

送到主芯片上

当然你也可以熟练了以后

你要用SPI I2C等等接口

都是可以做的

那这部分也是完全提供源代码的

除此之外的话呢

ADC 刚才我们有一个环节里面

我们有讲到我们的芯片很便宜嘛

所以我们在上面 没有办法以25分钱再送

大家一个DAC了

所以我们用一个PWM波加上一个

外部的滤波电路来

实现DAC的功能

那么在ADC的部分呢

其实我们有一款 最最最最低端的芯片

它其实片上是没有那种传统的ADC

只有那种slope类型的ADC

对于客户来说 可能我的ADC功能

对精度要求 其实我们的精度做得也蛮高的

其实说 要求没那么高

速度要求没那么快

但是我就是想查一下 我现在的供电是多少伏

或者说我主芯片上的电压还有没有

对于这一类的应用来说的话

我觉得用一个slope的ADC 就完全可以满足它的要求了

那其实我在过去的很多年里面

我有帮很多客户去调过这样的一个

slope ADC的功能

以前往往是 客户说

我觉得slope ADC 做是可以做的

但是做起来呢 麻烦

然后麻烦在哪里呢

范围的电阻怎么样匹配

我到底要写多少的代码

以前ADC的话 集存机写一写就可以用了

但是你这个slope ADC 我还得写一段代码来做

太麻烦 那么往往出于

这种考虑 而不愿意用slope ADC

但在这里呢 我们帮你把所有东西都做好了

我们的demo直接按照我们的

电阻匹配 电容搭好以后呢

run一下我们的demo 直接就可以

跑出这样的一个ADC的一个

结果的效果

并且从我们的technical document 的链接进去

你还可以看到很具体的 他测什么电压

达到了什么样的精度

用了多少的FRAM

或者代码区的资源

来做这些功能

都可以找到这样子一个参考

那么这个是其中一种

当你没有独立ADC 只要slope ADC的时候

我们到底应该怎样做

我们也提供所有的源代码

复位芯片

复位芯片 这个东西呢其实

很难说在你的系统里 一定需要

但是往往就是在很多的系统里面

还真的少不了 这样的一个复位控制器

它往往是为了解决你

多颗芯片之间先后上电的需求

或者是多颗芯片之间

其中某一颗它可能掉电复位不好啊

上电太早啊

或者在什么情况下 拉在复位上不让它跑这样子

的问题 那么对于 我们这颗(听不清)系列的芯片呢

其实我们是非常适宜在

一个复杂的系统里面

作为一个复位控制起 来管理所有芯片的复位功能的

那么在我们的demo里面的话呢

我们其实是做了两个

两个有啥差别呢

我们做了一个软复位

和一个硬复位的功能

那么在我们的IO口呢 分别

输出相应的低电频

其中一个IO口的低电频呢

是连接到主控

主控芯片它的复位引脚上面的

那么这样的话 可以让你的主芯片

产生一个硬复位的效果

hard reset

但如果对于你的主系统来说的话呢

我不希望我每次复位的时候

都是被硬复位

我希望我有一个IO口

可以触发我 让我知道我该做软复位了

我自己再去复位

那基于这样子的一个考虑呢 我们会在

另外一个引脚 也可以输出一个软复位的

复位信号

那这个当然只是我们现在基于

我们之前的一些经验

所构想的一些系统级的应用

那真正你用我们的这颗芯片

在你的系统里面 怎么样来控制你的时序

来怎么更好的 利用这25分钱的功能的话呢

那就需要大家各位自己回头去

看看有木有这样子的需要了

那么UART

这其实不是UART 只能说是

是一个智慧的比较器

这个其实很多工程师 或者硬件工程师

都有这样的经验

我外围有一个输入信号

它类似于三角波

或者说是一个无规则的信号

那我希望 当电压大于

多少的时候呢 我输出一个高电频

当电压低于多少的时候呢 输出一个低电频

那平时呢 硬件工程师 当然呢

第一个概念就是 我用一个比较器来做一下吧

那对于我们的这个MCU来说

我们跟比较器不一样的地方

是什么呢 我们还会有非常

灵活的方式 把这个信息给送出去

当然我们的芯片里面 因为本身

有比较器嘛 所以我们可以非常方便地

来实现这样一个硬件工程师所

需要的把一个三角波

进行这样子一个滤了以后变成

这样子一个方波的功能

那除了这个之外的话呢 我们还可以

根据需要 把这样子一个

信息通过不同的通讯口

给送到主机端

这部分肯定就是一颗

Analog的芯片没有办法做到的

那这就是我们为什么要用这颗芯片

来实现

那么除了这个之外的话呢

关于ADC唤醒

也是跟刚才一个功能比较类似

就是我的芯片可以一直

用低功耗的方式呢 监控

某个ADC的电压

比如说是某个sensor

如果某个sensor输出的电压

大了或者小了 需要

主芯片做相应处理的时候呢

我就可以把这个信息发给主芯片

做相应的这样一个处理

这也是ADC唤醒的功能

那么对于正交编码的这样子

技术功能的话呢

其实这个在我们 的430的FRAM芯片上面

也是非常容易实现的

除了能实现识别它的

输入信号来数拍子之外呢

我们也可以通过把它的这些信号

通过不同的通讯口发出去

那么现在在我们的demo里面呢

我们是通过UART来

做这样的发送的处理

那么实际上呢 你可以根据你各个

不同的实际应用需要

来修改其他的端口

那么以及可编程的时钟源

在我们的这颗(听不清)芯片上面呢

我们会有运行的主时钟

或者说是辅助时钟

那么我们可以把自己的时钟呢

通过一些IO口的引脚

做相应的分频以后

或者说不做分频以后

输出到IO引脚上面

供你系统里面其他的

单元所使用

那这个呢为大家的系统里面

可以提供可编程的

这样一个不同时钟频率的

时钟源

那如果说你的系统里面

有各种时钟源供给的需要的话呢

我们这颗(听不清) 25分钱的芯片

也非常适合

并且它可以搭载我刚才介绍的很多

很多功能一起用

所以是一个非常方便实用灵活的

一颗芯片

那以及的话 我们也可以输出

相应的一个锁屏环的一个功能

所以跟上面的时钟部分比较类似了

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

视频简介

1.4 “小身材,大味道” – System

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