CapTIvate™:引爆触摸新体验.2
Loading the player...
将在30s后自动为您播放下一课程
后面的内容就给大家介绍一下什么是触摸按键 触摸按键的一个大概原理是怎么样子的 那我们这个这种电容触摸呢 或者是叫电容式这种接近感应 它能够做什么 第一呢就是 电容式触摸实现一个触摸按键的一个功能 或者是滑条啊或是滚轮这种功能 另外是接近感应 就把我的产品给唤醒 或者说实现一个不同的效果的一个功能 然后另外就是手势识别 从原理上来讲的话 那主要就是我们知道第一代的这个 我们的基于 MSP43072 或者是 F4 系列的 这个触摸按键的话 它主要是基于 RC 震荡这么一个原理 它是用一个 timer 做时机 然后如果是 然后基于内部的一个比较器 如果是你就是让外部 这个 RC 电路进行震荡 它通过内部的这个 timer 去测它的频率或测它的周期 去计算它 当你的手指摁下去 或你的手指不摁下去的时候 这个频率的一个差值 通过这个差值呢它就可以把这个外部触摸按键 有没有按键按下去有没有响应 然后给测算出来 那它其实从我们开发者的角度来说 它的缺点其实很多了 第一个就是这种受环境的影响是比较大的 因为它是用 RC 震荡的这种方式 如果是你的外部的电路 比如说你的电容值或者是电阻值 受外部电路影响比较大的话 那它的测算是很不准的 另外呢就是从开发者角度来说 那我们当时那套工具 其实只提供了 library 没提供很好的一个就是上位机的一个开发工具 所以说调试起来很麻烦 另外呢像一些 除此之外像一些滤波的算法啊 或者是一些这种长期可靠性的 一些保证的话其实它是没有的 那很多都是基于我们比较有经验的工程师 自己的一些理解去做的 然后我们新的这套方案呢 它其实采用电荷转移的这种方式 它是把这种电容里面的电荷呢 转移到我们一个叫 sample 电容里面去 看它的一个转移的次数 然后当你的外部这个电容发生变化的时候 它这个转移次数是发生变化的 就是它会测算出了一个 delta 值来 这种方式其实它是比较 要比前面的一种要好很多 下面这个 PPT 呢 是介绍这个基本的一个电路了 主要是有电压和电阻这两个物理量 那电压呢我们知道其实它是为 是提供能量的一个物理量 它主要是 在测算一个单位面积一个电荷的 一个能量的这么一个量纲 那在我们这个 PCB 板上 或者是我们的系统中 电压的一个提供量主要是由电池来提供的 它一般电流的方向呢它主要是从 电池的正极然后通过电阻流向负极 然后电阻呢就是阻碍 我的自由电子流动的这么一个物理量 那因为它在我的导体内部呢 它这个自由电子会跟我的晶格发生碰撞 所以说 发生碰撞过程中它会表现出一定的 阻碍电流流动这么一个效果 所以说它在碰撞过程中它也会产生热能 这个是我们电阻为什么会发热 然后另外呢就是 这个电路中也表示是最简单的一个电路了 也表明了这个有电压有电阻 然后会形成回路以后 它会有电流形成 其实电容就是我们电容触摸按键的一个 最基本的一个物理量了 如果是当我的这个电容里边 没有任何电荷的话 比如说这个电路中有个开关合上以后 那我的电流会通过这个电池电源也好 或者是叫电压也好 然后通过电阻给这个电容充电 然后充电充满了以后 然后如果说我把这个开关给断开 那里边电容里边是有电荷的 电荷多少呢它还与这个电容的容量是有关系的 那这时候呢这个电容就表现了一个特性 就是因为它能储存电荷 所以说它跟电池就表现的其实很相似了 然后另外呢就是这个电荷 就是这个电容呢 可以给我们很多的这个 比如像超级电容 它可以给我们430来供电 然后如果是我们在这个下面这个回路上 就是架一个电线上去 然后把这个开关接到下面这条线上 形成另外一条回路 那这个电容完全就跟电池一样了 它开始放电通过 然后经过这个电阻然后形成一个回路 然后会有电流的生成 然后这个电流的大小呢 这个是完全与我的电容的大小是成比例关系的 然后电容呢它其实从物理结构上来说呢 也很简单那是有两个电极 然后中间有个绝缘层 中间会储存一些电荷来形成的 那下面来讨论一下触摸按键的一个应用 那这个就是很简单一个 PCB 板 或者是一个电容触摸的一个结构了 那最上面这一层就是我的这个丝印层 然后呢中间这个是我的绝缘层 就是这个覆盖层 一般是由亚克力或玻璃来形成的 然后还有中间的这个细的这一层 它是一个粘合层 用胶啊或用其它方式把它压合 跟我的PCB压合到一起 然后再就是下面这个结构 就是我的 PCB 板 最上边这层是铜皮 就是我的电极或是叫 sensor 就是主要用来接到我们的 MCU 引脚上去 然后中间这层就是我的 FR4 的 PCB 板 最下边这层就是我底层的这个铜皮 那其实大家做过电子就知道 它中间会有很多一些电荷效应在里面 或者一些寄生电容在里头 最简单的一个就是我的这个 铜皮这个 sensor 与大地之间是有个寄生电容 然后另外呢就是从我的板子上来讲的话 我的 PCB 电极跟我周边的电路 它是有一定的电容效应 另外就是我的铜皮跟 MCU 之间的走线 跟周围的电路也是有一定电容效应 那我们统一把它抽象出来放到这个位置 跟大地形成一个电容效应 那当我的手摁下去以后 主要是有两部分电容组成 第一部分就是我的手指跟底层的 这个 sensor 之间有一个电容存在 然后另外我的人体跟大地之间是有个电容存在 所以说当我的手摁或者不摁的时候 对于铜皮跟大地之间的电容值 它是会发生一些变化的 那就是接到我们 MCU 引脚上这个电容呢 它是有一定的变化 那它也是通过检测电容的一个这种 靠近跟不靠近的时候 这个电容的一个变化来实现触摸按键的 那我们实现的方式就是叫电荷转移法 那它是把这个储存在外部的这些 包括说我的手指跟地 或者其它的这几个电容里面的电荷 转移到内部一个采样电容里面去 然后通过这个电荷转移这种方式 来实现触摸按键 那这个从容值上来说的话 它的大小大概是在 pF 级别 基本是在一个皮法到二十个皮法之间 这个都是有的 从名字来说我们是叫电荷转移 所以说那我们知道电容其实是把 电荷储存的一个容器了 我们可以把它抽象成这个一个杯子 外部这个呢它是一个小点的一个杯子 就是跟我铜皮跟大地之间的一个电容呢 用一个小点的杯子来表示 那在我的 MCU 内部呢 我会有一个大点的电容 叫采样电容 来做计量用的 那就是在外部电容上储存的电荷呢 我可以通过内部这个采样电容来测量出来 它实现的方式它是通过 这个将外部电容 就黄色这部分就是电荷一个表现形式 一个抽象的一个形式了 就像水一样 然后我们是通过从这个小杯子往大杯子倒水 那能够到多少次来实现 通过这个次数来知道大概的外面这个 小杯子容量也好或者是电容的容值也好 这个红线呢就是我倒满的一个标志 说白了也是电压的一个值吧 那内部的大杯子大概是有64个皮法 容值是64个皮法 然后外部呢它是一个皮法级别 但是它大小是不知道 所以我通过小杯子往大杯子里转移电荷 或倒水也好 然后转移一次还没有满 然后再转移一次 再倒第二次还是没有满然后继续来转移 那直到我最后倒了64次 那这个到了我红线这个区域 那我可以把这个倒水的次数能知道 那我这时候可以有个转换的一个基础值 就是等于64 那这个值呢就是叫转换次数 叫 conversion count 总共呢我是转移了64次 然后呢将内部采样的电容装满了 所以说我们能够知道能够估算出外部小电容呢 只有 1/64 oz 1/64 的内部电容的大小 所以说大概是在 1oz 左右 如果是当我们的手指摁到我们按键的时候 那这个容值是会变大的 所以说当手摁下去以后 那我们就换一个大电杯子 那这个大杯子会大概是在32次 会灌32次能够把这个内部的 这个64 oz 的大杯子灌满 那通过这个次数的一个变化 从64次变到32次 那我们能够知道说 这时候外部的电容发生变化了 那可以是不是可以理解说 有手指摁下去或有按键摁下去了 基本的原理就是这么个原理 就是通过一系列的电路 然后去实现这么一个 通过内部的电荷往外面 通过外部的电容电荷往内部的电容去转移 通过这个转移次数 那我们知道这个电容的一个变化 相比传统那种通过测频率或者是测 其实最终的目的都是知道 外部电容的一个容值变化 然后来实现一个按键的监测 那内部这个采样电容呢或者这个大杯子呢 它是集成在我们 MCU 的硅片上去的 然后它是在 MCU 的带上面去 然后它的名字叫采样电容叫 Cs 然后外部这个呢 然后其实这个电容的大小是没有关系的 因为这个电容值一旦确定了以后 那我的这个 往这个电容里面充电的次数 其实也是会发生变化 但是只要我能检测每次 有没有手指摁下去每次的这个差值就可以了 知道这个差值以后我就可以很好检测按键了 那对于我们整个系统来说 它有用的信息其实就是 每次外部电容一个充电次数的一个变化 这是我们的一个框图 那首先呢 就是前面说到那个小杯子是在这个位置 小杯子是在这个位置 叫 Cx 这是我们小杯子的位置 大杯子的位置是在我们这个里面有个寄存器 Cs是在这个位置 那从框图上来说 那首先我们会有这个叫 IO Mux 它是我们引脚的一个分配了 我的电容是直接接到 MCU 的引脚上来的 然后接过来以后内部是有一个叫 Measurement Block 就是测量模块 主要由这几个方面组成 第一个是电荷转移的引擎 它是通过一定的手段去将 外部电容上电荷往里边转移 然后最终呢它会通过这个电荷转移的引擎呢 它会输出一个转移的次数 中间这部分叫信号调理 它会增加一个增益 跟 OFFSET 这么一个子模块 那对于电荷过来以后它会有些进行一些处理 最终送到我的采样电容上来 这是一个叫个计分器 然后这个电容上最终会有个电压在上边 然后通过这个电压跟我的参考电压相比较 通过这个比较器 最终生成一个转换完成的这么一个标志位 转化完成以后 我们 MCU 会把这个转换的次数 这个值给记录下来 记录下来以后就可以大概的能够 知道外部电容的一个情况了 从这个测量模块上来说呢 那我们每个测量模块内部呢 是有4个小的一个小 Block 然后外面其实它还挂了一些辅助的一些外设 比如像专门的 LDO 用于电容这种充电的 另外就是前面介绍的这个 电压的一个基准 reference 然后就是这个采样电容 另外呢它也通过一些 还有一些 oscillator 振荡器 做一些一定的一些 比如像跳频特性或扩频这种特性 用于 EMC 或 EMI 的一些预防 然后最后呢是有一个状态机可以实现 跑一些状态在里面可以实现接近唤醒啊 或者一些其它一些处理 另外它自己有一个单独的一个 timer 不占用系统的 timer 叫事件 timer 它跟那个 timerA 是类似的 正是由于这些单独的这些部分 比如像这个内部的这个 LDO 其实它的作用是很大的 我们知道像做第一代的 GR 系列的触摸按键的话 如果是外部供电会发生一定的变化 或说你 I/O 口上挂的 LED 过多的话 那对于按键其实它是影响比较大的 因为我们都是 我们知道 RC 震荡的曲线 是一个指数的一个曲线 所以说它如果是你的 LDO 就是3.3V 供电发生变化的话 那内部的 reference 也是变化比较大 所以它第一代的触摸按键 其实它如果说外面挂的 LED 过多 对于整个触摸的效果是影响比较大的 那我们这是独立于内部的 LDO 外部的 LDO 那我们内部会有一个1.5V的一个 LDO 那如果说外面发生一些波动的话 其实对内部的影响基本没有的 另外这个跳频 oscillator 呢 它可以有四种频率可以输出 从16M到11M之间 它的一个优点就是比如说做一些这种测试 或者是 EMC 要求比较严格的地方的话 那我四个频率会同时去 就是我一个按键呢会采样4次 用四个频率去同时去采 如果是同时采的四个结果是一样的话 那我们认为是一个有效的一个触摸 然后扩频技术其实主要是针对 EMI 的 对于将我的尖峰的一个频点的这个能量 给它扩到周边去 然后另外单独的这个 timer 就是它是可以有做这个 就是使用源去给它主动配置的 然后转换完成以后呢 我们可以输出一个中断 去告诉 MCU 去唤醒 MCU 去做处理 或做是做一些其它一些处理 这个是整个的一个的模块的运行情况 上午的时候我们同事也介绍说 它是有这种自电容或者互电容这种形式 那互电容一般是做这种按键矩阵用的 那我们知道最简单的一种形式 比如像左下角这种 它是我的电容跟大地之间的一个电容值 然后还有另外一种形式就是 我的两个引脚之间的一个电容值 那就是有一个叫 Tx 有一个叫 Rx 然后电场是从 Tx sensor 开始往外发出 然后到了 Rx sensor 上面去 它两个之间也是一个电容效应存在的 那通过这种呢我们可以很容易去做 这种矩阵式的一个触摸 可以支持更多的一个按键 那我们像这种形式的话 我们容值测量是在 Tx Rx 接点之间的 那像这种自电容的形式呢 它的测量都是我的引脚 或是我的电极跟地之间的 那我们这个所有的配置都是很灵活 都可以通过软件 或是我们的一个 design center 都可以很简单去配置 正是由于自电容跟互电容的存在呢 那我们在开发的时候 其实如果是你按键多也不要紧 我们也可以去处理 那如果是采用这种自电容形式的 它的电场形成是这种来形成的 那红色这部分就是我们的 sensor 电极 那电场是通过这个电极往外去辐射 然后形成这种电场 这个呢就是采用这种自电容的形式呢 它是每一个 sensor 都会接到 我们一个 CapTIvate 的 I/O 上面去的 那我们最多的 GR 系列的 CapTIvate 的 MCU 呢 它可以有16个I/O 所以说它最多支持16个触摸按键 那对于比如说像 高分辨率的 slider 或 wheel 的话 它支持是比较好的 另外呢像这种接近感应 我们也是推荐用自电容的检测的这种方式 那互电容呢我们通过昨天也可以看出 它是其实在这个 Tx 跟 Rx 两个电极之间 形成这么一个电场 因为都是这个 其实也是有一定电容效应在里边的 那如果是我手接近它了以后会破坏它这个电场 所以说它幅值可能发生变化的 所有的节点都是由这个 Tx 跟 Rx 两部分组成 那很容易实现就是这种按键矩阵的形式 最多可以支持到8x8 64个按键 另外呢它也支持多点触摸这种效果 比如说像我这个 类似于我电脑上这个触摸 pad 这个效果 然后第三种呢其实比如说我需要20个按键 那我就只好采取这种组合的方式 那可以这种自电容跟互电容都是同时存在的 这种形式也是比较灵活的 然后我们所有的软件都是很好的支持 下面给大家介绍一下 采取电荷转移这种方式的一些优点了 第一就是高分辨率 高分辨率主要体现在两个方面 第一就是支持一个低功耗3D的手势识别 比如说像上午介绍的我可以实现一个 左滑动右滑动的这么一个效果 最高的距离可以到30个厘米 然后如果是同时采样四个sensor 的话 那我们只需要在500个微秒以内 就可以完成这个采样 所以说它速度还是很快的 另外就像针对这种 slider 跟 wheel 的话 它分辨率最高呢可以到0.29个厘米 就是我下边会放四个 sensor 在下面 然后呢最近分辨率是0.029个厘米 其实分辨率还是蛮不错的 另外最后一个呢就是 我们会支持比较厚的这个玻璃 或者是塑料的一个介质层的 一种触摸效果 那比如说像有些应用中 比如有些锅炉的这种温度检测 或者一些特殊应用的话 那它可能这种触摸按键上面的 亚克力层是比较厚 那我们因为它有比较高的分辨率 它是可以支持的 我们有个 TI 的参考设计 它是实现了一个60厘米的一个玻璃 在玻璃上面实现这么一个触摸按键效果 不好意思 60毫米 对 60毫米实现了一个触摸按键的效果 它这个分辨率呢 最低是到了10个伏法左右 对电容的一个分辨率 那另外高分辨率来说的话 那主要是有下面这两个模块来实现的 第一就是增益这个 然后另外就有一个 Offset 增益呢 因为我们很多时候在设计触摸按键的时候 它外部这个电容的容量其实没法控制的 有大或有小 然后另外你手摁上去以后 它对于电容的一个变化也是有大有小的 那我们是通过这个增益 Gain 也是提供了两个变量 去来动态的调整外部电容的大小 就是它内部转移过电荷以后 会去动态调整它这个大小 然后让它能够适应外部电容的一个变化 另外一个就是 Offset 那它主要是跟我们灵敏度有关系的 它是将类似于 比如说我们外部电容有些寄生电容 或者有一些这种其它一些容性的影响的话 它是将那的部分电容的影响给去掉 就相当于减去一个直流的量 那它会把变化的量会放大 然后就是可靠性 那我们对于这个液体啊 或者是手掌的一个这种误触发的一个效果 是能够处理的很不错 那它主要的实现呢就是 以我们这个板子为例 它是在这个按键外面包了一层铜皮 那这个铜皮呢 它是接到我们触摸按键的 IO 上面去的 那如果说当我的水倒上去 或者是当我的手触碰到我这个按键板的话 那最先变化比较大的就是 我这个外面这个叫防护这个通道 变化比较大 那如果是它 我们通过一定的软件算法去检测防护通道 如果是它变化比较大的话 那么我们可以认为它是有水 或者是有手放上去 有误触发 就可以给你一个防止误触发的处理了 它的这个阈值可以设置的 可以动态的调整 那可以设的很高或者很低 这都是可以设置的 那它这个叫防护通道呢 它也是直接接到我们的芯片的 IO 上面去 也是作为一个触摸按键来存在的 因为它的面积比较大 所以说它能感测这个容量什么的 灵敏度也是相比其它的要高一些 对于这种噪声的一些抑制 或是过一些安规的一些测试的话 那我们也提供了很多的方法 第一就是前面介绍的就是 有那个跳频的 oslator 它是提供了四个频率 从16M到11.2M的一个频率出来 那用这四个频率 同时去采样这个电容的一个变化 如果是四个同时有按键的话 有按键反应的话 那我认为是一次正确的触发 另外就是扩频这种技术的话 有助于降低这个往外辐射能量的一个幅值 另外从软件上来说 我们也提供了一些滤波的一些算法 比如像这种触摸按键的一些采样的话 那进行一个很好的一个滤波效果 另外针对这种长期 比如说 我的产品会工作5年10年 或随着环境它会发生一些材质的一些变化的话 那我又是有一些长期的动态阈值调整 也会随着温度啊 或是随着湿度我们材质会发生变化 所以这个动态调整的时间的话 都是在程序里面可以设置 那这个图就是 这两个图就是我们做的一个实验了 就是当做的一个注入电流的一个实验 我是在电源上打入了一个3V这个信号上去 那像这种自感的方式 它采样出的结果是这样的 那实际的信号是这样的 那我最终通过我的一些处理 或者是一些算法处理以后呢 那蓝色这个就是我滤除后的一个基础值 那我们可以看到它这个值还是比较平稳的 有效的将我们的干扰信号给滤除掉 然后你可以看出在这个 在打入这个干扰的时候呢 这个阈值也是随着发生了一些变化 这个绿色这条线呢就是我们阈值 还有发生了一些变化 那由于 delta 值就变化比较大 所以说呢它会认为它是一次有效的一次按键 然后另外呢针对这种 IEC61000的一些 常用的一些测试的话 那我们也是有一颗板子针对这种测试 已经拿到了一些相应的一些认证 我们也知道就是很多时候呢就是 基本上所有的产品都是要经过这个认证的 我们针对这种 从硬件上我们会在意 触摸按键这些外围的这些外设啊 或者是一些模块 我们进行了一些优化 比如说跳频就是 另外就是有一些交流信号的 我们会检测它的过零点 在过零点的时候有个同步信号发出来 通过检测这个同步信号得到以后我们开始检测 那会把 会有效的避开交流信号幅值比较高的地方 这个也是在我们的硅片上完全能实现的 另外就是从软件上来说呢 我们有这个过采样 包括就是抗误触发 然后就是 AC 噪音的滤除的一些软件算法 去实现这种误触发的检测 然后从系统来说呢 我们也提供了很好的一个参考设计 去满足一些 EMC 的一些规则 针对这种液体倒到 我们触摸按板上的一个误触发的一个检测 我们是 就是前面介绍到的有这个防护通道的一个设置 然后来实现这种误触发的检测 另外就是针对这种 EMI 的问题的话 我们会有这种跳频 就是扩频的这个 oslator 然后可以有效的将这个辐射出去的频率 辐射出去的能量减少 这个模块就是针对这种 EMC 或 EMI 的 一些防护或者是保护的一些 一个模块了 就是这个跳频这个模块 还有扩频的 oslator 那通过这个 oslator 的引入呢 还是会把这个辐射频率 给扩散到这个频点周围去 那除此之外呢 我们这个系统也是支持金属触摸的效果 因为我们对于这个 电容检测的一个分辨率是比较高的 所以说 如果是你在金属板 跟我的 sensor 之间形成的电容效应 它也是可以检测出来的 所以说 后面会有详细介绍这个金属触摸的一个原理 另外就是针对这个 我们可以支持自电容检测和互电容检测的 它可以支持多达64个按键 这个3D手势识别前面都介绍了都 另外就接近感应都是可以支持 我们其实是针对这个基于我们 大家拿到的一个板子 它是有一个金属触摸的参考设计 上面有8个按键 那从结构上来说的话 我们这个金属触摸的结构呢主要分这五层 第一上面就是我的金属层 然后金属层跟我的 PCB 之间呢 会有一个介质层 就是用于把这个金属层和 PCB 板 进行绝缘的这么个层 正是因为这个介质层的存在呢 让这个上面这个金属板 跟我的 PCB 上的 sensor 之间呢 可以形成一个电容效应 然后再下边呢就是我的这个底板上 其实在我们的实际产品中 这下边这两个底板是可有可无的 那它是形成一个让 PCB 板 跟底下这个固定的板子粘合的这么两层 那从这种简化结构上来说的话 其实起作用的主要这三层 第一就是我的金属板还有介质层 然后介质层跟金属板还有 PCB 之间呢 会有一个就是叫空气层也好 或者是叫绝缘层也好 然后呢 PCB 板上面有个 sensor 然后 sensor 跟金属层之间呢 会有个电容效应存在 如果是当我的手摁到这个金属板子之后 因为金属板会有一定的 金属上会有一定的形变 所以说形变它会有一个 delta 的电容的一个变化 那我可以通过检测 delta 电容的一个变化 来实现一个触摸按键的一个检测 那在我们最新的参考设计上边呢 它可以实现一个手指摁压力度的一个检测 那因为我 大家都知道根据我力度的一个变化 那这个 delta 值其实变化是很明显的 也是随着变化的 那它是通过这个基础值 然后也可以把手指摁下去这个力度来检测出来 这是更详细的一个介绍 那我们知道就是 这个就是我们通常电容的一个表达有个公式呢 就是这个公式 那最主要的就是 我们知道比较重要的一个量就是 d 就是我的上面这金属层跟我下面这个 sensor 层之间的一个距离 当我的手摁下去以后 那它这个距离其实是发生变化的 那发生变化以后 其实我的电容值相应的也发生变化 那距离越近那个电容值会越大 就是通过这个公式 那也可以直观的知道它大概的原理了 那下面介绍一下低功耗的性能 那它首先它从分两个方面 第一呢就是 MCU 本身的这么一个 因为我们是基于 FRAM 的这个 MCU 它的每兆赫兹的功耗大概只有一百个微安左右 那会比这个 flash 版本的会低一半 那基于这个 FRAM 的 MCU 的话 我们可以实现每个按键是 大概是0.9个微安的一个电流消耗 那它的测试前提是扫描四个按键 那如果是我们使用单节电池供电的话 能够持续工作15年 另外呢就是我们铁电本身的一些优点就是 保证了这个功耗是比较低的 那整个电容触摸的这个检测 以及数据处理是不需要 MCU 干预的 那这个左边的流程图呢 也大概给大家介绍一个 然后首先 MCU 上电以后 它会把将这些按键进行一个初始化 包括我们通道啊 包括我们的 timer 的一个初始化 初始化完了以后 那我的 MCU 就处于休眠模式 整个这个 CapTIvate 这个模块呢 会自己会进行一个定期的会进行一个检测 检测的比如说我的阈值 检测到阈值 基础值呢已经超出了我的阈值了 那我会触发一个中断 将 MCU 唤醒 那大部分时间呢 MCU 就处于一个休眠模式 那这个模块是自己来工作的 这个唤醒这个机制呢主要是由 这个状态机的这么个逻辑来实现的 另外呢 像很多应用中 就是如果是你想实现这种低功耗的效果的话 也可以跟我们的一些无线的产品相配合 比如这个应用就是一个电子门锁的一个应用 那它是基于我们 FR26x 配合我们的一些 WIFI 啊 或者是 1GHz 以下或 BLE 将我的数据给发出去 然后按键的话 它可以采用这种塑料健或者金属按健 直接接到 MCU 上面去 然后外设的话可以加一些 NFC RFID 或者说指纹识别 然后最终呢是通过一个低功耗的马达驱动芯片 去驱动我的马达进行开门或者关门 那工具的话前面介绍的就是我们有这个 CapTIvate Design Center 这个工具 就是在第一代的 基于 GR 系列的那个电容触摸开发的话 那我们是缺少这个工具的 那对于有些阈值的设定啊 我们很多时候都是通过 我们开发工具 IAR 或 CCS 去检测这个 变量的一个变化来实现的 那在最新的这个呢 我们会提供一整套的这个 从按键设计到代码生成一整套的这么一个工具 大大简化了电容触摸的开发的难度 主要分几步来 第一步就是将我的按键通过控件的拖拉 放到我的窗口里面来 然后呢根据我的 PCB 或者我原理图通往的一个设置 然后将我的 MCU 的管脚 跟铜皮之间进行一个连接的一个配置 连接配置完了以后 我会有一个实时的一个 tunin 这么一个界面 那我会实时的看到我当前的检测的基础值 然后就是 delta 值都可以实时检测到 检测到了以后 那我可以就是通过生成代码这个按键 然后可以生成可以支持 CCS 或是支持 IER 的这个工程代码出来 那最后呢通过在 CCS 或 IER里面 将我生成的工程导入到 IDE 里面去 然后进行进一步的开发 整个流程都是还是比较简单的 然后也是支持按键滑条滚轮接近感应 这些 sensor 都是支持的 除此之外呢 针对有一些这些抗干扰啊 或者是一些软件算法在里面都是可以 都是集成的 都可以实时的来调整 另外呢 这个就是我们主要的一个软件开发的框图了 大部分的电容触摸的 API 都是集成在 ROM 里面去的 那我们通过一些回掉函数 去在我们应用程序中 去调用这些相应的 API 函数 然后去控制我们底层的外设 因为我们片上集成的16K的 ROM 所以说这个包括像 Driver-Lib 啊 或者是 CapTIvate 这个库 都是放在 ROM 里面的 都是放在 ROM 里面的 另外 BSL 也是放在 ROM 里面的 所以说你需要做的就是将你的这个通信程序 或者是软件初始化的一个程序 放在你的 FRAM 里面去 那还有很多的这个 大量的代码空间可以被你的系统来用 你可以放一个无线 或者是放一些其它的特殊的处理在里面 硬件开发工具的话那主要就是 大家拿到的一个板子叫 MSP CapTLvate FR2633 它是基于我们的 FR2633 MCU 做的这么一个开发工具 然后支持六个 上面里面有六个板子 支持多种的这种触摸按键 比如像这个滚轮滑条按键 然后另外就是一些接近感应它都是 能够很好的来评估的 如果是大家是对这个金属触摸有兴趣的话 那我们也是有金属触摸的一个板子 也可以接到这上面去 然后做金属触摸的一个评估 然后还有就是很多时候呢 我们在做按键设计的时候 可能说它需要一个反馈 那用来告知你有没有按键按下去 需要有这种金属 需要有这种按键的一个反馈出来 那我们也是后面会有 基于我们 haptic 的一个开发工具 它是基于线性马达驱动 叫 DRV2605L 这么一个开发工具 如果是按键手按上去以后 它会有一个振动效果出来 或者有一些呼吸灯的效果出来 上午我们同事也介绍说 这个最新的这个 MSP430 它都是有一些库函数支持的 那我们可以通过在我们的 MSPWare 里头 找到这些相应的一些库函数的支持 包括像很多外设都是有一些参考例程出来的 大家记住这些参考例程 就可以很快的完成触摸按键以外的 这些外设的一些使用 那下面我们来做第二个实验就是 就是我们这个 BSWP 的一个板子 然后可以通过这个 design center 去拖拉控件然后生成代码 然后最终在我们 CCS 里面 把程序下载到我们的芯片里面去 了解整个开发的一个过程 大家可以打开我们就是发给大家资料里面 有个 Lbs 然后有个 Lab_2 Lab_2 是介绍了整个实验的一个流程 那我们一步一步来 第一步呢就是先生成一个新的设计 那它的主要的步骤就是 首先在我们 CCS 里边 或者说单独的这个 design center 这个工具栏打开以后 然后创建一个新的工程 然后将我们的 MCU 拖到这个设计窗口来 然后对 MCU 进行配置 配置完了以后将控件拖进来 然后最后呢 将我的每一个控件的一些按键 跟我的 MCU 相对应起来 对应起来以后 然后最终生成可执行的代码 然后将可执行的代码然后进行保存 这是第一步 我们先做第一步吧 步骤的话就按这个 Lab_2 来进行就可以了
后面的内容就给大家介绍一下什么是触摸按键 触摸按键的一个大概原理是怎么样子的 那我们这个这种电容触摸呢 或者是叫电容式这种接近感应 它能够做什么 第一呢就是 电容式触摸实现一个触摸按键的一个功能 或者是滑条啊或是滚轮这种功能 另外是接近感应 就把我的产品给唤醒 或者说实现一个不同的效果的一个功能 然后另外就是手势识别 从原理上来讲的话 那主要就是我们知道第一代的这个 我们的基于 MSP43072 或者是 F4 系列的 这个触摸按键的话 它主要是基于 RC 震荡这么一个原理 它是用一个 timer 做时机 然后如果是 然后基于内部的一个比较器 如果是你就是让外部 这个 RC 电路进行震荡 它通过内部的这个 timer 去测它的频率或测它的周期 去计算它 当你的手指摁下去 或你的手指不摁下去的时候 这个频率的一个差值 通过这个差值呢它就可以把这个外部触摸按键 有没有按键按下去有没有响应 然后给测算出来 那它其实从我们开发者的角度来说 它的缺点其实很多了 第一个就是这种受环境的影响是比较大的 因为它是用 RC 震荡的这种方式 如果是你的外部的电路 比如说你的电容值或者是电阻值 受外部电路影响比较大的话 那它的测算是很不准的 另外呢就是从开发者角度来说 那我们当时那套工具 其实只提供了 library 没提供很好的一个就是上位机的一个开发工具 所以说调试起来很麻烦 另外呢像一些 除此之外像一些滤波的算法啊 或者是一些这种长期可靠性的 一些保证的话其实它是没有的 那很多都是基于我们比较有经验的工程师 自己的一些理解去做的 然后我们新的这套方案呢 它其实采用电荷转移的这种方式 它是把这种电容里面的电荷呢 转移到我们一个叫 sample 电容里面去 看它的一个转移的次数 然后当你的外部这个电容发生变化的时候 它这个转移次数是发生变化的 就是它会测算出了一个 delta 值来 这种方式其实它是比较 要比前面的一种要好很多 下面这个 PPT 呢 是介绍这个基本的一个电路了 主要是有电压和电阻这两个物理量 那电压呢我们知道其实它是为 是提供能量的一个物理量 它主要是 在测算一个单位面积一个电荷的 一个能量的这么一个量纲 那在我们这个 PCB 板上 或者是我们的系统中 电压的一个提供量主要是由电池来提供的 它一般电流的方向呢它主要是从 电池的正极然后通过电阻流向负极 然后电阻呢就是阻碍 我的自由电子流动的这么一个物理量 那因为它在我的导体内部呢 它这个自由电子会跟我的晶格发生碰撞 所以说 发生碰撞过程中它会表现出一定的 阻碍电流流动这么一个效果 所以说它在碰撞过程中它也会产生热能 这个是我们电阻为什么会发热 然后另外呢就是 这个电路中也表示是最简单的一个电路了 也表明了这个有电压有电阻 然后会形成回路以后 它会有电流形成 其实电容就是我们电容触摸按键的一个 最基本的一个物理量了 如果是当我的这个电容里边 没有任何电荷的话 比如说这个电路中有个开关合上以后 那我的电流会通过这个电池电源也好 或者是叫电压也好 然后通过电阻给这个电容充电 然后充电充满了以后 然后如果说我把这个开关给断开 那里边电容里边是有电荷的 电荷多少呢它还与这个电容的容量是有关系的 那这时候呢这个电容就表现了一个特性 就是因为它能储存电荷 所以说它跟电池就表现的其实很相似了 然后另外呢就是这个电荷 就是这个电容呢 可以给我们很多的这个 比如像超级电容 它可以给我们430来供电 然后如果是我们在这个下面这个回路上 就是架一个电线上去 然后把这个开关接到下面这条线上 形成另外一条回路 那这个电容完全就跟电池一样了 它开始放电通过 然后经过这个电阻然后形成一个回路 然后会有电流的生成 然后这个电流的大小呢 这个是完全与我的电容的大小是成比例关系的 然后电容呢它其实从物理结构上来说呢 也很简单那是有两个电极 然后中间有个绝缘层 中间会储存一些电荷来形成的 那下面来讨论一下触摸按键的一个应用 那这个就是很简单一个 PCB 板 或者是一个电容触摸的一个结构了 那最上面这一层就是我的这个丝印层 然后呢中间这个是我的绝缘层 就是这个覆盖层 一般是由亚克力或玻璃来形成的 然后还有中间的这个细的这一层 它是一个粘合层 用胶啊或用其它方式把它压合 跟我的PCB压合到一起 然后再就是下面这个结构 就是我的 PCB 板 最上边这层是铜皮 就是我的电极或是叫 sensor 就是主要用来接到我们的 MCU 引脚上去 然后中间这层就是我的 FR4 的 PCB 板 最下边这层就是我底层的这个铜皮 那其实大家做过电子就知道 它中间会有很多一些电荷效应在里面 或者一些寄生电容在里头 最简单的一个就是我的这个 铜皮这个 sensor 与大地之间是有个寄生电容 然后另外呢就是从我的板子上来讲的话 我的 PCB 电极跟我周边的电路 它是有一定的电容效应 另外就是我的铜皮跟 MCU 之间的走线 跟周围的电路也是有一定电容效应 那我们统一把它抽象出来放到这个位置 跟大地形成一个电容效应 那当我的手摁下去以后 主要是有两部分电容组成 第一部分就是我的手指跟底层的 这个 sensor 之间有一个电容存在 然后另外我的人体跟大地之间是有个电容存在 所以说当我的手摁或者不摁的时候 对于铜皮跟大地之间的电容值 它是会发生一些变化的 那就是接到我们 MCU 引脚上这个电容呢 它是有一定的变化 那它也是通过检测电容的一个这种 靠近跟不靠近的时候 这个电容的一个变化来实现触摸按键的 那我们实现的方式就是叫电荷转移法 那它是把这个储存在外部的这些 包括说我的手指跟地 或者其它的这几个电容里面的电荷 转移到内部一个采样电容里面去 然后通过这个电荷转移这种方式 来实现触摸按键 那这个从容值上来说的话 它的大小大概是在 pF 级别 基本是在一个皮法到二十个皮法之间 这个都是有的 从名字来说我们是叫电荷转移 所以说那我们知道电容其实是把 电荷储存的一个容器了 我们可以把它抽象成这个一个杯子 外部这个呢它是一个小点的一个杯子 就是跟我铜皮跟大地之间的一个电容呢 用一个小点的杯子来表示 那在我的 MCU 内部呢 我会有一个大点的电容 叫采样电容 来做计量用的 那就是在外部电容上储存的电荷呢 我可以通过内部这个采样电容来测量出来 它实现的方式它是通过 这个将外部电容 就黄色这部分就是电荷一个表现形式 一个抽象的一个形式了 就像水一样 然后我们是通过从这个小杯子往大杯子倒水 那能够到多少次来实现 通过这个次数来知道大概的外面这个 小杯子容量也好或者是电容的容值也好 这个红线呢就是我倒满的一个标志 说白了也是电压的一个值吧 那内部的大杯子大概是有64个皮法 容值是64个皮法 然后外部呢它是一个皮法级别 但是它大小是不知道 所以我通过小杯子往大杯子里转移电荷 或倒水也好 然后转移一次还没有满 然后再转移一次 再倒第二次还是没有满然后继续来转移 那直到我最后倒了64次 那这个到了我红线这个区域 那我可以把这个倒水的次数能知道 那我这时候可以有个转换的一个基础值 就是等于64 那这个值呢就是叫转换次数 叫 conversion count 总共呢我是转移了64次 然后呢将内部采样的电容装满了 所以说我们能够知道能够估算出外部小电容呢 只有 1/64 oz 1/64 的内部电容的大小 所以说大概是在 1oz 左右 如果是当我们的手指摁到我们按键的时候 那这个容值是会变大的 所以说当手摁下去以后 那我们就换一个大电杯子 那这个大杯子会大概是在32次 会灌32次能够把这个内部的 这个64 oz 的大杯子灌满 那通过这个次数的一个变化 从64次变到32次 那我们能够知道说 这时候外部的电容发生变化了 那可以是不是可以理解说 有手指摁下去或有按键摁下去了 基本的原理就是这么个原理 就是通过一系列的电路 然后去实现这么一个 通过内部的电荷往外面 通过外部的电容电荷往内部的电容去转移 通过这个转移次数 那我们知道这个电容的一个变化 相比传统那种通过测频率或者是测 其实最终的目的都是知道 外部电容的一个容值变化 然后来实现一个按键的监测 那内部这个采样电容呢或者这个大杯子呢 它是集成在我们 MCU 的硅片上去的 然后它是在 MCU 的带上面去 然后它的名字叫采样电容叫 Cs 然后外部这个呢 然后其实这个电容的大小是没有关系的 因为这个电容值一旦确定了以后 那我的这个 往这个电容里面充电的次数 其实也是会发生变化 但是只要我能检测每次 有没有手指摁下去每次的这个差值就可以了 知道这个差值以后我就可以很好检测按键了 那对于我们整个系统来说 它有用的信息其实就是 每次外部电容一个充电次数的一个变化 这是我们的一个框图 那首先呢 就是前面说到那个小杯子是在这个位置 小杯子是在这个位置 叫 Cx 这是我们小杯子的位置 大杯子的位置是在我们这个里面有个寄存器 Cs是在这个位置 那从框图上来说 那首先我们会有这个叫 IO Mux 它是我们引脚的一个分配了 我的电容是直接接到 MCU 的引脚上来的 然后接过来以后内部是有一个叫 Measurement Block 就是测量模块 主要由这几个方面组成 第一个是电荷转移的引擎 它是通过一定的手段去将 外部电容上电荷往里边转移 然后最终呢它会通过这个电荷转移的引擎呢 它会输出一个转移的次数 中间这部分叫信号调理 它会增加一个增益 跟 OFFSET 这么一个子模块 那对于电荷过来以后它会有些进行一些处理 最终送到我的采样电容上来 这是一个叫个计分器 然后这个电容上最终会有个电压在上边 然后通过这个电压跟我的参考电压相比较 通过这个比较器 最终生成一个转换完成的这么一个标志位 转化完成以后 我们 MCU 会把这个转换的次数 这个值给记录下来 记录下来以后就可以大概的能够 知道外部电容的一个情况了 从这个测量模块上来说呢 那我们每个测量模块内部呢 是有4个小的一个小 Block 然后外面其实它还挂了一些辅助的一些外设 比如像专门的 LDO 用于电容这种充电的 另外就是前面介绍的这个 电压的一个基准 reference 然后就是这个采样电容 另外呢它也通过一些 还有一些 oscillator 振荡器 做一些一定的一些 比如像跳频特性或扩频这种特性 用于 EMC 或 EMI 的一些预防 然后最后呢是有一个状态机可以实现 跑一些状态在里面可以实现接近唤醒啊 或者一些其它一些处理 另外它自己有一个单独的一个 timer 不占用系统的 timer 叫事件 timer 它跟那个 timerA 是类似的 正是由于这些单独的这些部分 比如像这个内部的这个 LDO 其实它的作用是很大的 我们知道像做第一代的 GR 系列的触摸按键的话 如果是外部供电会发生一定的变化 或说你 I/O 口上挂的 LED 过多的话 那对于按键其实它是影响比较大的 因为我们都是 我们知道 RC 震荡的曲线 是一个指数的一个曲线 所以说它如果是你的 LDO 就是3.3V 供电发生变化的话 那内部的 reference 也是变化比较大 所以它第一代的触摸按键 其实它如果说外面挂的 LED 过多 对于整个触摸的效果是影响比较大的 那我们这是独立于内部的 LDO 外部的 LDO 那我们内部会有一个1.5V的一个 LDO 那如果说外面发生一些波动的话 其实对内部的影响基本没有的 另外这个跳频 oscillator 呢 它可以有四种频率可以输出 从16M到11M之间 它的一个优点就是比如说做一些这种测试 或者是 EMC 要求比较严格的地方的话 那我四个频率会同时去 就是我一个按键呢会采样4次 用四个频率去同时去采 如果是同时采的四个结果是一样的话 那我们认为是一个有效的一个触摸 然后扩频技术其实主要是针对 EMI 的 对于将我的尖峰的一个频点的这个能量 给它扩到周边去 然后另外单独的这个 timer 就是它是可以有做这个 就是使用源去给它主动配置的 然后转换完成以后呢 我们可以输出一个中断 去告诉 MCU 去唤醒 MCU 去做处理 或做是做一些其它一些处理 这个是整个的一个的模块的运行情况 上午的时候我们同事也介绍说 它是有这种自电容或者互电容这种形式 那互电容一般是做这种按键矩阵用的 那我们知道最简单的一种形式 比如像左下角这种 它是我的电容跟大地之间的一个电容值 然后还有另外一种形式就是 我的两个引脚之间的一个电容值 那就是有一个叫 Tx 有一个叫 Rx 然后电场是从 Tx sensor 开始往外发出 然后到了 Rx sensor 上面去 它两个之间也是一个电容效应存在的 那通过这种呢我们可以很容易去做 这种矩阵式的一个触摸 可以支持更多的一个按键 那我们像这种形式的话 我们容值测量是在 Tx Rx 接点之间的 那像这种自电容的形式呢 它的测量都是我的引脚 或是我的电极跟地之间的 那我们这个所有的配置都是很灵活 都可以通过软件 或是我们的一个 design center 都可以很简单去配置 正是由于自电容跟互电容的存在呢 那我们在开发的时候 其实如果是你按键多也不要紧 我们也可以去处理 那如果是采用这种自电容形式的 它的电场形成是这种来形成的 那红色这部分就是我们的 sensor 电极 那电场是通过这个电极往外去辐射 然后形成这种电场 这个呢就是采用这种自电容的形式呢 它是每一个 sensor 都会接到 我们一个 CapTIvate 的 I/O 上面去的 那我们最多的 GR 系列的 CapTIvate 的 MCU 呢 它可以有16个I/O 所以说它最多支持16个触摸按键 那对于比如说像 高分辨率的 slider 或 wheel 的话 它支持是比较好的 另外呢像这种接近感应 我们也是推荐用自电容的检测的这种方式 那互电容呢我们通过昨天也可以看出 它是其实在这个 Tx 跟 Rx 两个电极之间 形成这么一个电场 因为都是这个 其实也是有一定电容效应在里边的 那如果是我手接近它了以后会破坏它这个电场 所以说它幅值可能发生变化的 所有的节点都是由这个 Tx 跟 Rx 两部分组成 那很容易实现就是这种按键矩阵的形式 最多可以支持到8x8 64个按键 另外呢它也支持多点触摸这种效果 比如说像我这个 类似于我电脑上这个触摸 pad 这个效果 然后第三种呢其实比如说我需要20个按键 那我就只好采取这种组合的方式 那可以这种自电容跟互电容都是同时存在的 这种形式也是比较灵活的 然后我们所有的软件都是很好的支持 下面给大家介绍一下 采取电荷转移这种方式的一些优点了 第一就是高分辨率 高分辨率主要体现在两个方面 第一就是支持一个低功耗3D的手势识别 比如说像上午介绍的我可以实现一个 左滑动右滑动的这么一个效果 最高的距离可以到30个厘米 然后如果是同时采样四个sensor 的话 那我们只需要在500个微秒以内 就可以完成这个采样 所以说它速度还是很快的 另外就像针对这种 slider 跟 wheel 的话 它分辨率最高呢可以到0.29个厘米 就是我下边会放四个 sensor 在下面 然后呢最近分辨率是0.029个厘米 其实分辨率还是蛮不错的 另外最后一个呢就是 我们会支持比较厚的这个玻璃 或者是塑料的一个介质层的 一种触摸效果 那比如说像有些应用中 比如有些锅炉的这种温度检测 或者一些特殊应用的话 那它可能这种触摸按键上面的 亚克力层是比较厚 那我们因为它有比较高的分辨率 它是可以支持的 我们有个 TI 的参考设计 它是实现了一个60厘米的一个玻璃 在玻璃上面实现这么一个触摸按键效果 不好意思 60毫米 对 60毫米实现了一个触摸按键的效果 它这个分辨率呢 最低是到了10个伏法左右 对电容的一个分辨率 那另外高分辨率来说的话 那主要是有下面这两个模块来实现的 第一就是增益这个 然后另外就有一个 Offset 增益呢 因为我们很多时候在设计触摸按键的时候 它外部这个电容的容量其实没法控制的 有大或有小 然后另外你手摁上去以后 它对于电容的一个变化也是有大有小的 那我们是通过这个增益 Gain 也是提供了两个变量 去来动态的调整外部电容的大小 就是它内部转移过电荷以后 会去动态调整它这个大小 然后让它能够适应外部电容的一个变化 另外一个就是 Offset 那它主要是跟我们灵敏度有关系的 它是将类似于 比如说我们外部电容有些寄生电容 或者有一些这种其它一些容性的影响的话 它是将那的部分电容的影响给去掉 就相当于减去一个直流的量 那它会把变化的量会放大 然后就是可靠性 那我们对于这个液体啊 或者是手掌的一个这种误触发的一个效果 是能够处理的很不错 那它主要的实现呢就是 以我们这个板子为例 它是在这个按键外面包了一层铜皮 那这个铜皮呢 它是接到我们触摸按键的 IO 上面去的 那如果说当我的水倒上去 或者是当我的手触碰到我这个按键板的话 那最先变化比较大的就是 我这个外面这个叫防护这个通道 变化比较大 那如果是它 我们通过一定的软件算法去检测防护通道 如果是它变化比较大的话 那么我们可以认为它是有水 或者是有手放上去 有误触发 就可以给你一个防止误触发的处理了 它的这个阈值可以设置的 可以动态的调整 那可以设的很高或者很低 这都是可以设置的 那它这个叫防护通道呢 它也是直接接到我们的芯片的 IO 上面去 也是作为一个触摸按键来存在的 因为它的面积比较大 所以说它能感测这个容量什么的 灵敏度也是相比其它的要高一些 对于这种噪声的一些抑制 或是过一些安规的一些测试的话 那我们也提供了很多的方法 第一就是前面介绍的就是 有那个跳频的 oslator 它是提供了四个频率 从16M到11.2M的一个频率出来 那用这四个频率 同时去采样这个电容的一个变化 如果是四个同时有按键的话 有按键反应的话 那我认为是一次正确的触发 另外就是扩频这种技术的话 有助于降低这个往外辐射能量的一个幅值 另外从软件上来说 我们也提供了一些滤波的一些算法 比如像这种触摸按键的一些采样的话 那进行一个很好的一个滤波效果 另外针对这种长期 比如说 我的产品会工作5年10年 或随着环境它会发生一些材质的一些变化的话 那我又是有一些长期的动态阈值调整 也会随着温度啊 或是随着湿度我们材质会发生变化 所以这个动态调整的时间的话 都是在程序里面可以设置 那这个图就是 这两个图就是我们做的一个实验了 就是当做的一个注入电流的一个实验 我是在电源上打入了一个3V这个信号上去 那像这种自感的方式 它采样出的结果是这样的 那实际的信号是这样的 那我最终通过我的一些处理 或者是一些算法处理以后呢 那蓝色这个就是我滤除后的一个基础值 那我们可以看到它这个值还是比较平稳的 有效的将我们的干扰信号给滤除掉 然后你可以看出在这个 在打入这个干扰的时候呢 这个阈值也是随着发生了一些变化 这个绿色这条线呢就是我们阈值 还有发生了一些变化 那由于 delta 值就变化比较大 所以说呢它会认为它是一次有效的一次按键 然后另外呢针对这种 IEC61000的一些 常用的一些测试的话 那我们也是有一颗板子针对这种测试 已经拿到了一些相应的一些认证 我们也知道就是很多时候呢就是 基本上所有的产品都是要经过这个认证的 我们针对这种 从硬件上我们会在意 触摸按键这些外围的这些外设啊 或者是一些模块 我们进行了一些优化 比如说跳频就是 另外就是有一些交流信号的 我们会检测它的过零点 在过零点的时候有个同步信号发出来 通过检测这个同步信号得到以后我们开始检测 那会把 会有效的避开交流信号幅值比较高的地方 这个也是在我们的硅片上完全能实现的 另外就是从软件上来说呢 我们有这个过采样 包括就是抗误触发 然后就是 AC 噪音的滤除的一些软件算法 去实现这种误触发的检测 然后从系统来说呢 我们也提供了很好的一个参考设计 去满足一些 EMC 的一些规则 针对这种液体倒到 我们触摸按板上的一个误触发的一个检测 我们是 就是前面介绍到的有这个防护通道的一个设置 然后来实现这种误触发的检测 另外就是针对这种 EMI 的问题的话 我们会有这种跳频 就是扩频的这个 oslator 然后可以有效的将这个辐射出去的频率 辐射出去的能量减少 这个模块就是针对这种 EMC 或 EMI 的 一些防护或者是保护的一些 一个模块了 就是这个跳频这个模块 还有扩频的 oslator 那通过这个 oslator 的引入呢 还是会把这个辐射频率 给扩散到这个频点周围去 那除此之外呢 我们这个系统也是支持金属触摸的效果 因为我们对于这个 电容检测的一个分辨率是比较高的 所以说 如果是你在金属板 跟我的 sensor 之间形成的电容效应 它也是可以检测出来的 所以说 后面会有详细介绍这个金属触摸的一个原理 另外就是针对这个 我们可以支持自电容检测和互电容检测的 它可以支持多达64个按键 这个3D手势识别前面都介绍了都 另外就接近感应都是可以支持 我们其实是针对这个基于我们 大家拿到的一个板子 它是有一个金属触摸的参考设计 上面有8个按键 那从结构上来说的话 我们这个金属触摸的结构呢主要分这五层 第一上面就是我的金属层 然后金属层跟我的 PCB 之间呢 会有一个介质层 就是用于把这个金属层和 PCB 板 进行绝缘的这么个层 正是因为这个介质层的存在呢 让这个上面这个金属板 跟我的 PCB 上的 sensor 之间呢 可以形成一个电容效应 然后再下边呢就是我的这个底板上 其实在我们的实际产品中 这下边这两个底板是可有可无的 那它是形成一个让 PCB 板 跟底下这个固定的板子粘合的这么两层 那从这种简化结构上来说的话 其实起作用的主要这三层 第一就是我的金属板还有介质层 然后介质层跟金属板还有 PCB 之间呢 会有一个就是叫空气层也好 或者是叫绝缘层也好 然后呢 PCB 板上面有个 sensor 然后 sensor 跟金属层之间呢 会有个电容效应存在 如果是当我的手摁到这个金属板子之后 因为金属板会有一定的 金属上会有一定的形变 所以说形变它会有一个 delta 的电容的一个变化 那我可以通过检测 delta 电容的一个变化 来实现一个触摸按键的一个检测 那在我们最新的参考设计上边呢 它可以实现一个手指摁压力度的一个检测 那因为我 大家都知道根据我力度的一个变化 那这个 delta 值其实变化是很明显的 也是随着变化的 那它是通过这个基础值 然后也可以把手指摁下去这个力度来检测出来 这是更详细的一个介绍 那我们知道就是 这个就是我们通常电容的一个表达有个公式呢 就是这个公式 那最主要的就是 我们知道比较重要的一个量就是 d 就是我的上面这金属层跟我下面这个 sensor 层之间的一个距离 当我的手摁下去以后 那它这个距离其实是发生变化的 那发生变化以后 其实我的电容值相应的也发生变化 那距离越近那个电容值会越大 就是通过这个公式 那也可以直观的知道它大概的原理了 那下面介绍一下低功耗的性能 那它首先它从分两个方面 第一呢就是 MCU 本身的这么一个 因为我们是基于 FRAM 的这个 MCU 它的每兆赫兹的功耗大概只有一百个微安左右 那会比这个 flash 版本的会低一半 那基于这个 FRAM 的 MCU 的话 我们可以实现每个按键是 大概是0.9个微安的一个电流消耗 那它的测试前提是扫描四个按键 那如果是我们使用单节电池供电的话 能够持续工作15年 另外呢就是我们铁电本身的一些优点就是 保证了这个功耗是比较低的 那整个电容触摸的这个检测 以及数据处理是不需要 MCU 干预的 那这个左边的流程图呢 也大概给大家介绍一个 然后首先 MCU 上电以后 它会把将这些按键进行一个初始化 包括我们通道啊 包括我们的 timer 的一个初始化 初始化完了以后 那我的 MCU 就处于休眠模式 整个这个 CapTIvate 这个模块呢 会自己会进行一个定期的会进行一个检测 检测的比如说我的阈值 检测到阈值 基础值呢已经超出了我的阈值了 那我会触发一个中断 将 MCU 唤醒 那大部分时间呢 MCU 就处于一个休眠模式 那这个模块是自己来工作的 这个唤醒这个机制呢主要是由 这个状态机的这么个逻辑来实现的 另外呢 像很多应用中 就是如果是你想实现这种低功耗的效果的话 也可以跟我们的一些无线的产品相配合 比如这个应用就是一个电子门锁的一个应用 那它是基于我们 FR26x 配合我们的一些 WIFI 啊 或者是 1GHz 以下或 BLE 将我的数据给发出去 然后按键的话 它可以采用这种塑料健或者金属按健 直接接到 MCU 上面去 然后外设的话可以加一些 NFC RFID 或者说指纹识别 然后最终呢是通过一个低功耗的马达驱动芯片 去驱动我的马达进行开门或者关门 那工具的话前面介绍的就是我们有这个 CapTIvate Design Center 这个工具 就是在第一代的 基于 GR 系列的那个电容触摸开发的话 那我们是缺少这个工具的 那对于有些阈值的设定啊 我们很多时候都是通过 我们开发工具 IAR 或 CCS 去检测这个 变量的一个变化来实现的 那在最新的这个呢 我们会提供一整套的这个 从按键设计到代码生成一整套的这么一个工具 大大简化了电容触摸的开发的难度 主要分几步来 第一步就是将我的按键通过控件的拖拉 放到我的窗口里面来 然后呢根据我的 PCB 或者我原理图通往的一个设置 然后将我的 MCU 的管脚 跟铜皮之间进行一个连接的一个配置 连接配置完了以后 我会有一个实时的一个 tunin 这么一个界面 那我会实时的看到我当前的检测的基础值 然后就是 delta 值都可以实时检测到 检测到了以后 那我可以就是通过生成代码这个按键 然后可以生成可以支持 CCS 或是支持 IER 的这个工程代码出来 那最后呢通过在 CCS 或 IER里面 将我生成的工程导入到 IDE 里面去 然后进行进一步的开发 整个流程都是还是比较简单的 然后也是支持按键滑条滚轮接近感应 这些 sensor 都是支持的 除此之外呢 针对有一些这些抗干扰啊 或者是一些软件算法在里面都是可以 都是集成的 都可以实时的来调整 另外呢 这个就是我们主要的一个软件开发的框图了 大部分的电容触摸的 API 都是集成在 ROM 里面去的 那我们通过一些回掉函数 去在我们应用程序中 去调用这些相应的 API 函数 然后去控制我们底层的外设 因为我们片上集成的16K的 ROM 所以说这个包括像 Driver-Lib 啊 或者是 CapTIvate 这个库 都是放在 ROM 里面的 都是放在 ROM 里面的 另外 BSL 也是放在 ROM 里面的 所以说你需要做的就是将你的这个通信程序 或者是软件初始化的一个程序 放在你的 FRAM 里面去 那还有很多的这个 大量的代码空间可以被你的系统来用 你可以放一个无线 或者是放一些其它的特殊的处理在里面 硬件开发工具的话那主要就是 大家拿到的一个板子叫 MSP CapTLvate FR2633 它是基于我们的 FR2633 MCU 做的这么一个开发工具 然后支持六个 上面里面有六个板子 支持多种的这种触摸按键 比如像这个滚轮滑条按键 然后另外就是一些接近感应它都是 能够很好的来评估的 如果是大家是对这个金属触摸有兴趣的话 那我们也是有金属触摸的一个板子 也可以接到这上面去 然后做金属触摸的一个评估 然后还有就是很多时候呢 我们在做按键设计的时候 可能说它需要一个反馈 那用来告知你有没有按键按下去 需要有这种金属 需要有这种按键的一个反馈出来 那我们也是后面会有 基于我们 haptic 的一个开发工具 它是基于线性马达驱动 叫 DRV2605L 这么一个开发工具 如果是按键手按上去以后 它会有一个振动效果出来 或者有一些呼吸灯的效果出来 上午我们同事也介绍说 这个最新的这个 MSP430 它都是有一些库函数支持的 那我们可以通过在我们的 MSPWare 里头 找到这些相应的一些库函数的支持 包括像很多外设都是有一些参考例程出来的 大家记住这些参考例程 就可以很快的完成触摸按键以外的 这些外设的一些使用 那下面我们来做第二个实验就是 就是我们这个 BSWP 的一个板子 然后可以通过这个 design center 去拖拉控件然后生成代码 然后最终在我们 CCS 里面 把程序下载到我们的芯片里面去 了解整个开发的一个过程 大家可以打开我们就是发给大家资料里面 有个 Lbs 然后有个 Lab_2 Lab_2 是介绍了整个实验的一个流程 那我们一步一步来 第一步呢就是先生成一个新的设计 那它的主要的步骤就是 首先在我们 CCS 里边 或者说单独的这个 design center 这个工具栏打开以后 然后创建一个新的工程 然后将我们的 MCU 拖到这个设计窗口来 然后对 MCU 进行配置 配置完了以后将控件拖进来 然后最后呢 将我的每一个控件的一些按键 跟我的 MCU 相对应起来 对应起来以后 然后最终生成可执行的代码 然后将可执行的代码然后进行保存 这是第一步 我们先做第一步吧 步骤的话就按这个 Lab_2 来进行就可以了
后面的内容就给大家介绍一下什么是触摸按键
触摸按键的一个大概原理是怎么样子的
那我们这个这种电容触摸呢
或者是叫电容式这种接近感应
它能够做什么
第一呢就是
电容式触摸实现一个触摸按键的一个功能
或者是滑条啊或是滚轮这种功能
另外是接近感应
就把我的产品给唤醒
或者说实现一个不同的效果的一个功能
然后另外就是手势识别
从原理上来讲的话
那主要就是我们知道第一代的这个
我们的基于 MSP43072
或者是 F4 系列的
这个触摸按键的话
它主要是基于 RC 震荡这么一个原理
它是用一个 timer 做时机
然后如果是
然后基于内部的一个比较器
如果是你就是让外部
这个 RC 电路进行震荡
它通过内部的这个 timer
去测它的频率或测它的周期
去计算它
当你的手指摁下去
或你的手指不摁下去的时候
这个频率的一个差值
通过这个差值呢它就可以把这个外部触摸按键
有没有按键按下去有没有响应
然后给测算出来
那它其实从我们开发者的角度来说
它的缺点其实很多了
第一个就是这种受环境的影响是比较大的
因为它是用 RC 震荡的这种方式
如果是你的外部的电路
比如说你的电容值或者是电阻值
受外部电路影响比较大的话
那它的测算是很不准的
另外呢就是从开发者角度来说
那我们当时那套工具
其实只提供了 library
没提供很好的一个就是上位机的一个开发工具
所以说调试起来很麻烦
另外呢像一些
除此之外像一些滤波的算法啊
或者是一些这种长期可靠性的
一些保证的话其实它是没有的
那很多都是基于我们比较有经验的工程师
自己的一些理解去做的
然后我们新的这套方案呢
它其实采用电荷转移的这种方式
它是把这种电容里面的电荷呢
转移到我们一个叫 sample 电容里面去
看它的一个转移的次数
然后当你的外部这个电容发生变化的时候
它这个转移次数是发生变化的
就是它会测算出了一个 delta 值来
这种方式其实它是比较
要比前面的一种要好很多
下面这个 PPT 呢
是介绍这个基本的一个电路了
主要是有电压和电阻这两个物理量
那电压呢我们知道其实它是为
是提供能量的一个物理量
它主要是
在测算一个单位面积一个电荷的
一个能量的这么一个量纲
那在我们这个 PCB 板上
或者是我们的系统中
电压的一个提供量主要是由电池来提供的
它一般电流的方向呢它主要是从
电池的正极然后通过电阻流向负极
然后电阻呢就是阻碍
我的自由电子流动的这么一个物理量
那因为它在我的导体内部呢
它这个自由电子会跟我的晶格发生碰撞
所以说
发生碰撞过程中它会表现出一定的
阻碍电流流动这么一个效果
所以说它在碰撞过程中它也会产生热能
这个是我们电阻为什么会发热
然后另外呢就是
这个电路中也表示是最简单的一个电路了
也表明了这个有电压有电阻
然后会形成回路以后
它会有电流形成
其实电容就是我们电容触摸按键的一个
最基本的一个物理量了
如果是当我的这个电容里边
没有任何电荷的话
比如说这个电路中有个开关合上以后
那我的电流会通过这个电池电源也好
或者是叫电压也好
然后通过电阻给这个电容充电
然后充电充满了以后
然后如果说我把这个开关给断开
那里边电容里边是有电荷的
电荷多少呢它还与这个电容的容量是有关系的
那这时候呢这个电容就表现了一个特性
就是因为它能储存电荷
所以说它跟电池就表现的其实很相似了
然后另外呢就是这个电荷
就是这个电容呢
可以给我们很多的这个
比如像超级电容
它可以给我们430来供电
然后如果是我们在这个下面这个回路上
就是架一个电线上去
然后把这个开关接到下面这条线上
形成另外一条回路
那这个电容完全就跟电池一样了
它开始放电通过
然后经过这个电阻然后形成一个回路
然后会有电流的生成
然后这个电流的大小呢
这个是完全与我的电容的大小是成比例关系的
然后电容呢它其实从物理结构上来说呢
也很简单那是有两个电极
然后中间有个绝缘层
中间会储存一些电荷来形成的
那下面来讨论一下触摸按键的一个应用
那这个就是很简单一个 PCB 板
或者是一个电容触摸的一个结构了
那最上面这一层就是我的这个丝印层
然后呢中间这个是我的绝缘层
就是这个覆盖层
一般是由亚克力或玻璃来形成的
然后还有中间的这个细的这一层
它是一个粘合层
用胶啊或用其它方式把它压合
跟我的PCB压合到一起
然后再就是下面这个结构
就是我的 PCB 板
最上边这层是铜皮
就是我的电极或是叫 sensor
就是主要用来接到我们的 MCU 引脚上去
然后中间这层就是我的 FR4 的 PCB 板
最下边这层就是我底层的这个铜皮
那其实大家做过电子就知道
它中间会有很多一些电荷效应在里面
或者一些寄生电容在里头
最简单的一个就是我的这个
铜皮这个 sensor 与大地之间是有个寄生电容
然后另外呢就是从我的板子上来讲的话
我的 PCB 电极跟我周边的电路
它是有一定的电容效应
另外就是我的铜皮跟 MCU 之间的走线
跟周围的电路也是有一定电容效应
那我们统一把它抽象出来放到这个位置
跟大地形成一个电容效应
那当我的手摁下去以后
主要是有两部分电容组成
第一部分就是我的手指跟底层的
这个 sensor 之间有一个电容存在
然后另外我的人体跟大地之间是有个电容存在
所以说当我的手摁或者不摁的时候
对于铜皮跟大地之间的电容值
它是会发生一些变化的
那就是接到我们 MCU 引脚上这个电容呢
它是有一定的变化
那它也是通过检测电容的一个这种
靠近跟不靠近的时候
这个电容的一个变化来实现触摸按键的
那我们实现的方式就是叫电荷转移法
那它是把这个储存在外部的这些
包括说我的手指跟地
或者其它的这几个电容里面的电荷
转移到内部一个采样电容里面去
然后通过这个电荷转移这种方式
来实现触摸按键
那这个从容值上来说的话
它的大小大概是在 pF 级别
基本是在一个皮法到二十个皮法之间
这个都是有的
从名字来说我们是叫电荷转移
所以说那我们知道电容其实是把
电荷储存的一个容器了
我们可以把它抽象成这个一个杯子
外部这个呢它是一个小点的一个杯子
就是跟我铜皮跟大地之间的一个电容呢
用一个小点的杯子来表示
那在我的 MCU 内部呢
我会有一个大点的电容
叫采样电容
来做计量用的
那就是在外部电容上储存的电荷呢
我可以通过内部这个采样电容来测量出来
它实现的方式它是通过
这个将外部电容
就黄色这部分就是电荷一个表现形式
一个抽象的一个形式了
就像水一样
然后我们是通过从这个小杯子往大杯子倒水
那能够到多少次来实现
通过这个次数来知道大概的外面这个
小杯子容量也好或者是电容的容值也好
这个红线呢就是我倒满的一个标志
说白了也是电压的一个值吧
那内部的大杯子大概是有64个皮法
容值是64个皮法
然后外部呢它是一个皮法级别
但是它大小是不知道
所以我通过小杯子往大杯子里转移电荷
或倒水也好
然后转移一次还没有满
然后再转移一次
再倒第二次还是没有满然后继续来转移
那直到我最后倒了64次
那这个到了我红线这个区域
那我可以把这个倒水的次数能知道
那我这时候可以有个转换的一个基础值
就是等于64
那这个值呢就是叫转换次数
叫 conversion count
总共呢我是转移了64次
然后呢将内部采样的电容装满了
所以说我们能够知道能够估算出外部小电容呢
只有 1/64 oz
1/64 的内部电容的大小
所以说大概是在 1oz 左右
如果是当我们的手指摁到我们按键的时候
那这个容值是会变大的
所以说当手摁下去以后
那我们就换一个大电杯子
那这个大杯子会大概是在32次
会灌32次能够把这个内部的
这个64 oz 的大杯子灌满
那通过这个次数的一个变化
从64次变到32次
那我们能够知道说
这时候外部的电容发生变化了
那可以是不是可以理解说
有手指摁下去或有按键摁下去了
基本的原理就是这么个原理
就是通过一系列的电路
然后去实现这么一个
通过内部的电荷往外面
通过外部的电容电荷往内部的电容去转移
通过这个转移次数
那我们知道这个电容的一个变化
相比传统那种通过测频率或者是测
其实最终的目的都是知道
外部电容的一个容值变化
然后来实现一个按键的监测
那内部这个采样电容呢或者这个大杯子呢
它是集成在我们 MCU 的硅片上去的
然后它是在 MCU 的带上面去
然后它的名字叫采样电容叫 Cs
然后外部这个呢
然后其实这个电容的大小是没有关系的
因为这个电容值一旦确定了以后
那我的这个
往这个电容里面充电的次数
其实也是会发生变化
但是只要我能检测每次
有没有手指摁下去每次的这个差值就可以了
知道这个差值以后我就可以很好检测按键了
那对于我们整个系统来说
它有用的信息其实就是
每次外部电容一个充电次数的一个变化
这是我们的一个框图
那首先呢
就是前面说到那个小杯子是在这个位置
小杯子是在这个位置
叫 Cx
这是我们小杯子的位置
大杯子的位置是在我们这个里面有个寄存器
Cs是在这个位置
那从框图上来说
那首先我们会有这个叫 IO Mux
它是我们引脚的一个分配了
我的电容是直接接到 MCU 的引脚上来的
然后接过来以后内部是有一个叫
Measurement Block
就是测量模块
主要由这几个方面组成
第一个是电荷转移的引擎
它是通过一定的手段去将
外部电容上电荷往里边转移
然后最终呢它会通过这个电荷转移的引擎呢
它会输出一个转移的次数
中间这部分叫信号调理
它会增加一个增益
跟 OFFSET 这么一个子模块
那对于电荷过来以后它会有些进行一些处理
最终送到我的采样电容上来
这是一个叫个计分器
然后这个电容上最终会有个电压在上边
然后通过这个电压跟我的参考电压相比较
通过这个比较器
最终生成一个转换完成的这么一个标志位
转化完成以后
我们 MCU 会把这个转换的次数
这个值给记录下来
记录下来以后就可以大概的能够
知道外部电容的一个情况了
从这个测量模块上来说呢
那我们每个测量模块内部呢
是有4个小的一个小 Block
然后外面其实它还挂了一些辅助的一些外设
比如像专门的 LDO
用于电容这种充电的
另外就是前面介绍的这个
电压的一个基准 reference
然后就是这个采样电容
另外呢它也通过一些
还有一些 oscillator 振荡器
做一些一定的一些
比如像跳频特性或扩频这种特性
用于 EMC 或 EMI 的一些预防
然后最后呢是有一个状态机可以实现
跑一些状态在里面可以实现接近唤醒啊
或者一些其它一些处理
另外它自己有一个单独的一个 timer
不占用系统的 timer
叫事件 timer
它跟那个 timerA 是类似的
正是由于这些单独的这些部分
比如像这个内部的这个 LDO
其实它的作用是很大的
我们知道像做第一代的
GR 系列的触摸按键的话
如果是外部供电会发生一定的变化
或说你 I/O 口上挂的 LED 过多的话
那对于按键其实它是影响比较大的
因为我们都是
我们知道 RC 震荡的曲线
是一个指数的一个曲线
所以说它如果是你的 LDO
就是3.3V 供电发生变化的话
那内部的 reference 也是变化比较大
所以它第一代的触摸按键
其实它如果说外面挂的 LED 过多
对于整个触摸的效果是影响比较大的
那我们这是独立于内部的 LDO
外部的 LDO
那我们内部会有一个1.5V的一个 LDO
那如果说外面发生一些波动的话
其实对内部的影响基本没有的
另外这个跳频 oscillator 呢
它可以有四种频率可以输出
从16M到11M之间
它的一个优点就是比如说做一些这种测试
或者是 EMC 要求比较严格的地方的话
那我四个频率会同时去
就是我一个按键呢会采样4次
用四个频率去同时去采
如果是同时采的四个结果是一样的话
那我们认为是一个有效的一个触摸
然后扩频技术其实主要是针对 EMI 的
对于将我的尖峰的一个频点的这个能量
给它扩到周边去
然后另外单独的这个 timer
就是它是可以有做这个
就是使用源去给它主动配置的
然后转换完成以后呢
我们可以输出一个中断
去告诉 MCU 去唤醒 MCU 去做处理
或做是做一些其它一些处理
这个是整个的一个的模块的运行情况
上午的时候我们同事也介绍说
它是有这种自电容或者互电容这种形式
那互电容一般是做这种按键矩阵用的
那我们知道最简单的一种形式
比如像左下角这种
它是我的电容跟大地之间的一个电容值
然后还有另外一种形式就是
我的两个引脚之间的一个电容值
那就是有一个叫 Tx
有一个叫 Rx
然后电场是从 Tx sensor 开始往外发出
然后到了 Rx sensor 上面去
它两个之间也是一个电容效应存在的
那通过这种呢我们可以很容易去做
这种矩阵式的一个触摸
可以支持更多的一个按键
那我们像这种形式的话
我们容值测量是在 Tx Rx 接点之间的
那像这种自电容的形式呢
它的测量都是我的引脚
或是我的电极跟地之间的
那我们这个所有的配置都是很灵活
都可以通过软件
或是我们的一个 design center
都可以很简单去配置
正是由于自电容跟互电容的存在呢
那我们在开发的时候
其实如果是你按键多也不要紧
我们也可以去处理
那如果是采用这种自电容形式的
它的电场形成是这种来形成的
那红色这部分就是我们的 sensor 电极
那电场是通过这个电极往外去辐射
然后形成这种电场
这个呢就是采用这种自电容的形式呢
它是每一个 sensor 都会接到
我们一个 CapTIvate 的 I/O 上面去的
那我们最多的 GR 系列的
CapTIvate 的 MCU 呢
它可以有16个I/O
所以说它最多支持16个触摸按键
那对于比如说像
高分辨率的 slider 或 wheel 的话
它支持是比较好的
另外呢像这种接近感应
我们也是推荐用自电容的检测的这种方式
那互电容呢我们通过昨天也可以看出
它是其实在这个 Tx 跟 Rx 两个电极之间
形成这么一个电场
因为都是这个
其实也是有一定电容效应在里边的
那如果是我手接近它了以后会破坏它这个电场
所以说它幅值可能发生变化的
所有的节点都是由这个 Tx 跟 Rx 两部分组成
那很容易实现就是这种按键矩阵的形式
最多可以支持到8x8 64个按键
另外呢它也支持多点触摸这种效果
比如说像我这个
类似于我电脑上这个触摸 pad 这个效果
然后第三种呢其实比如说我需要20个按键
那我就只好采取这种组合的方式
那可以这种自电容跟互电容都是同时存在的
这种形式也是比较灵活的
然后我们所有的软件都是很好的支持
下面给大家介绍一下
采取电荷转移这种方式的一些优点了
第一就是高分辨率
高分辨率主要体现在两个方面
第一就是支持一个低功耗3D的手势识别
比如说像上午介绍的我可以实现一个
左滑动右滑动的这么一个效果
最高的距离可以到30个厘米
然后如果是同时采样四个sensor 的话
那我们只需要在500个微秒以内
就可以完成这个采样
所以说它速度还是很快的
另外就像针对这种
slider 跟 wheel 的话
它分辨率最高呢可以到0.29个厘米
就是我下边会放四个 sensor 在下面
然后呢最近分辨率是0.029个厘米
其实分辨率还是蛮不错的
另外最后一个呢就是
我们会支持比较厚的这个玻璃
或者是塑料的一个介质层的
一种触摸效果
那比如说像有些应用中
比如有些锅炉的这种温度检测
或者一些特殊应用的话
那它可能这种触摸按键上面的
亚克力层是比较厚
那我们因为它有比较高的分辨率
它是可以支持的
我们有个 TI 的参考设计
它是实现了一个60厘米的一个玻璃
在玻璃上面实现这么一个触摸按键效果
不好意思 60毫米 对
60毫米实现了一个触摸按键的效果
它这个分辨率呢
最低是到了10个伏法左右
对电容的一个分辨率
那另外高分辨率来说的话
那主要是有下面这两个模块来实现的
第一就是增益这个
然后另外就有一个 Offset
增益呢
因为我们很多时候在设计触摸按键的时候
它外部这个电容的容量其实没法控制的
有大或有小
然后另外你手摁上去以后
它对于电容的一个变化也是有大有小的
那我们是通过这个增益 Gain
也是提供了两个变量
去来动态的调整外部电容的大小
就是它内部转移过电荷以后
会去动态调整它这个大小
然后让它能够适应外部电容的一个变化
另外一个就是 Offset
那它主要是跟我们灵敏度有关系的
它是将类似于
比如说我们外部电容有些寄生电容
或者有一些这种其它一些容性的影响的话
它是将那的部分电容的影响给去掉
就相当于减去一个直流的量
那它会把变化的量会放大
然后就是可靠性
那我们对于这个液体啊
或者是手掌的一个这种误触发的一个效果
是能够处理的很不错
那它主要的实现呢就是
以我们这个板子为例
它是在这个按键外面包了一层铜皮
那这个铜皮呢
它是接到我们触摸按键的 IO 上面去的
那如果说当我的水倒上去
或者是当我的手触碰到我这个按键板的话
那最先变化比较大的就是
我这个外面这个叫防护这个通道
变化比较大
那如果是它
我们通过一定的软件算法去检测防护通道
如果是它变化比较大的话
那么我们可以认为它是有水
或者是有手放上去
有误触发
就可以给你一个防止误触发的处理了
它的这个阈值可以设置的
可以动态的调整
那可以设的很高或者很低
这都是可以设置的
那它这个叫防护通道呢
它也是直接接到我们的芯片的 IO 上面去
也是作为一个触摸按键来存在的
因为它的面积比较大
所以说它能感测这个容量什么的
灵敏度也是相比其它的要高一些
对于这种噪声的一些抑制
或是过一些安规的一些测试的话
那我们也提供了很多的方法
第一就是前面介绍的就是
有那个跳频的 oslator
它是提供了四个频率
从16M到11.2M的一个频率出来
那用这四个频率
同时去采样这个电容的一个变化
如果是四个同时有按键的话
有按键反应的话
那我认为是一次正确的触发
另外就是扩频这种技术的话
有助于降低这个往外辐射能量的一个幅值
另外从软件上来说
我们也提供了一些滤波的一些算法
比如像这种触摸按键的一些采样的话
那进行一个很好的一个滤波效果
另外针对这种长期
比如说
我的产品会工作5年10年
或随着环境它会发生一些材质的一些变化的话
那我又是有一些长期的动态阈值调整
也会随着温度啊
或是随着湿度我们材质会发生变化
所以这个动态调整的时间的话
都是在程序里面可以设置
那这个图就是
这两个图就是我们做的一个实验了
就是当做的一个注入电流的一个实验
我是在电源上打入了一个3V这个信号上去
那像这种自感的方式
它采样出的结果是这样的
那实际的信号是这样的
那我最终通过我的一些处理
或者是一些算法处理以后呢
那蓝色这个就是我滤除后的一个基础值
那我们可以看到它这个值还是比较平稳的
有效的将我们的干扰信号给滤除掉
然后你可以看出在这个
在打入这个干扰的时候呢
这个阈值也是随着发生了一些变化
这个绿色这条线呢就是我们阈值
还有发生了一些变化
那由于 delta 值就变化比较大
所以说呢它会认为它是一次有效的一次按键
然后另外呢针对这种
IEC61000的一些
常用的一些测试的话
那我们也是有一颗板子针对这种测试
已经拿到了一些相应的一些认证
我们也知道就是很多时候呢就是
基本上所有的产品都是要经过这个认证的
我们针对这种
从硬件上我们会在意
触摸按键这些外围的这些外设啊
或者是一些模块
我们进行了一些优化
比如说跳频就是
另外就是有一些交流信号的
我们会检测它的过零点
在过零点的时候有个同步信号发出来
通过检测这个同步信号得到以后我们开始检测
那会把
会有效的避开交流信号幅值比较高的地方
这个也是在我们的硅片上完全能实现的
另外就是从软件上来说呢
我们有这个过采样
包括就是抗误触发
然后就是 AC 噪音的滤除的一些软件算法
去实现这种误触发的检测
然后从系统来说呢
我们也提供了很好的一个参考设计
去满足一些 EMC 的一些规则
针对这种液体倒到
我们触摸按板上的一个误触发的一个检测
我们是
就是前面介绍到的有这个防护通道的一个设置
然后来实现这种误触发的检测
另外就是针对这种 EMI 的问题的话
我们会有这种跳频
就是扩频的这个 oslator
然后可以有效的将这个辐射出去的频率
辐射出去的能量减少
这个模块就是针对这种 EMC 或 EMI 的
一些防护或者是保护的一些
一个模块了
就是这个跳频这个模块
还有扩频的 oslator
那通过这个 oslator 的引入呢
还是会把这个辐射频率
给扩散到这个频点周围去
那除此之外呢
我们这个系统也是支持金属触摸的效果
因为我们对于这个
电容检测的一个分辨率是比较高的
所以说
如果是你在金属板
跟我的 sensor 之间形成的电容效应
它也是可以检测出来的
所以说
后面会有详细介绍这个金属触摸的一个原理
另外就是针对这个
我们可以支持自电容检测和互电容检测的
它可以支持多达64个按键
这个3D手势识别前面都介绍了都
另外就接近感应都是可以支持
我们其实是针对这个基于我们
大家拿到的一个板子
它是有一个金属触摸的参考设计
上面有8个按键
那从结构上来说的话
我们这个金属触摸的结构呢主要分这五层
第一上面就是我的金属层
然后金属层跟我的 PCB 之间呢
会有一个介质层
就是用于把这个金属层和 PCB 板
进行绝缘的这么个层
正是因为这个介质层的存在呢
让这个上面这个金属板
跟我的 PCB 上的 sensor 之间呢
可以形成一个电容效应
然后再下边呢就是我的这个底板上
其实在我们的实际产品中
这下边这两个底板是可有可无的
那它是形成一个让 PCB 板
跟底下这个固定的板子粘合的这么两层
那从这种简化结构上来说的话
其实起作用的主要这三层
第一就是我的金属板还有介质层
然后介质层跟金属板还有 PCB 之间呢
会有一个就是叫空气层也好
或者是叫绝缘层也好
然后呢 PCB 板上面有个 sensor
然后 sensor 跟金属层之间呢
会有个电容效应存在
如果是当我的手摁到这个金属板子之后
因为金属板会有一定的
金属上会有一定的形变
所以说形变它会有一个
delta 的电容的一个变化
那我可以通过检测 delta 电容的一个变化
来实现一个触摸按键的一个检测
那在我们最新的参考设计上边呢
它可以实现一个手指摁压力度的一个检测
那因为我
大家都知道根据我力度的一个变化
那这个 delta 值其实变化是很明显的
也是随着变化的
那它是通过这个基础值
然后也可以把手指摁下去这个力度来检测出来
这是更详细的一个介绍
那我们知道就是
这个就是我们通常电容的一个表达有个公式呢
就是这个公式
那最主要的就是
我们知道比较重要的一个量就是 d
就是我的上面这金属层跟我下面这个
sensor 层之间的一个距离
当我的手摁下去以后
那它这个距离其实是发生变化的
那发生变化以后
其实我的电容值相应的也发生变化
那距离越近那个电容值会越大
就是通过这个公式
那也可以直观的知道它大概的原理了
那下面介绍一下低功耗的性能
那它首先它从分两个方面
第一呢就是 MCU 本身的这么一个
因为我们是基于 FRAM 的这个 MCU
它的每兆赫兹的功耗大概只有一百个微安左右
那会比这个 flash 版本的会低一半
那基于这个 FRAM 的 MCU 的话
我们可以实现每个按键是
大概是0.9个微安的一个电流消耗
那它的测试前提是扫描四个按键
那如果是我们使用单节电池供电的话
能够持续工作15年
另外呢就是我们铁电本身的一些优点就是
保证了这个功耗是比较低的
那整个电容触摸的这个检测
以及数据处理是不需要 MCU 干预的
那这个左边的流程图呢
也大概给大家介绍一个
然后首先 MCU 上电以后
它会把将这些按键进行一个初始化
包括我们通道啊
包括我们的 timer 的一个初始化
初始化完了以后
那我的 MCU 就处于休眠模式
整个这个 CapTIvate 这个模块呢
会自己会进行一个定期的会进行一个检测
检测的比如说我的阈值
检测到阈值 基础值呢已经超出了我的阈值了
那我会触发一个中断
将 MCU 唤醒
那大部分时间呢
MCU 就处于一个休眠模式
那这个模块是自己来工作的
这个唤醒这个机制呢主要是由
这个状态机的这么个逻辑来实现的
另外呢
像很多应用中
就是如果是你想实现这种低功耗的效果的话
也可以跟我们的一些无线的产品相配合
比如这个应用就是一个电子门锁的一个应用
那它是基于我们 FR26x
配合我们的一些 WIFI 啊
或者是 1GHz 以下或 BLE
将我的数据给发出去
然后按键的话
它可以采用这种塑料健或者金属按健
直接接到 MCU 上面去
然后外设的话可以加一些 NFC RFID
或者说指纹识别
然后最终呢是通过一个低功耗的马达驱动芯片
去驱动我的马达进行开门或者关门
那工具的话前面介绍的就是我们有这个
CapTIvate Design Center 这个工具
就是在第一代的
基于 GR 系列的那个电容触摸开发的话
那我们是缺少这个工具的
那对于有些阈值的设定啊
我们很多时候都是通过
我们开发工具 IAR 或 CCS 去检测这个
变量的一个变化来实现的
那在最新的这个呢
我们会提供一整套的这个
从按键设计到代码生成一整套的这么一个工具
大大简化了电容触摸的开发的难度
主要分几步来
第一步就是将我的按键通过控件的拖拉
放到我的窗口里面来
然后呢根据我的 PCB
或者我原理图通往的一个设置
然后将我的 MCU 的管脚
跟铜皮之间进行一个连接的一个配置
连接配置完了以后
我会有一个实时的一个 tunin 这么一个界面
那我会实时的看到我当前的检测的基础值
然后就是 delta 值都可以实时检测到
检测到了以后
那我可以就是通过生成代码这个按键
然后可以生成可以支持 CCS
或是支持 IER 的这个工程代码出来
那最后呢通过在 CCS 或 IER里面
将我生成的工程导入到 IDE 里面去
然后进行进一步的开发
整个流程都是还是比较简单的
然后也是支持按键滑条滚轮接近感应
这些 sensor 都是支持的
除此之外呢
针对有一些这些抗干扰啊
或者是一些软件算法在里面都是可以
都是集成的
都可以实时的来调整
另外呢
这个就是我们主要的一个软件开发的框图了
大部分的电容触摸的 API
都是集成在 ROM 里面去的
那我们通过一些回掉函数
去在我们应用程序中
去调用这些相应的 API 函数
然后去控制我们底层的外设
因为我们片上集成的16K的 ROM
所以说这个包括像 Driver-Lib 啊
或者是 CapTIvate 这个库
都是放在 ROM 里面的
都是放在 ROM 里面的
另外 BSL 也是放在 ROM 里面的
所以说你需要做的就是将你的这个通信程序
或者是软件初始化的一个程序
放在你的 FRAM 里面去
那还有很多的这个
大量的代码空间可以被你的系统来用
你可以放一个无线
或者是放一些其它的特殊的处理在里面
硬件开发工具的话那主要就是
大家拿到的一个板子叫
MSP CapTLvate FR2633
它是基于我们的 FR2633 MCU
做的这么一个开发工具
然后支持六个
上面里面有六个板子
支持多种的这种触摸按键
比如像这个滚轮滑条按键
然后另外就是一些接近感应它都是
能够很好的来评估的
如果是大家是对这个金属触摸有兴趣的话
那我们也是有金属触摸的一个板子
也可以接到这上面去
然后做金属触摸的一个评估
然后还有就是很多时候呢
我们在做按键设计的时候
可能说它需要一个反馈
那用来告知你有没有按键按下去
需要有这种金属
需要有这种按键的一个反馈出来
那我们也是后面会有
基于我们 haptic 的一个开发工具
它是基于线性马达驱动
叫 DRV2605L 这么一个开发工具
如果是按键手按上去以后
它会有一个振动效果出来
或者有一些呼吸灯的效果出来
上午我们同事也介绍说
这个最新的这个 MSP430
它都是有一些库函数支持的
那我们可以通过在我们的 MSPWare 里头
找到这些相应的一些库函数的支持
包括像很多外设都是有一些参考例程出来的
大家记住这些参考例程
就可以很快的完成触摸按键以外的
这些外设的一些使用
那下面我们来做第二个实验就是
就是我们这个 BSWP 的一个板子
然后可以通过这个 design center
去拖拉控件然后生成代码
然后最终在我们 CCS 里面
把程序下载到我们的芯片里面去
了解整个开发的一个过程
大家可以打开我们就是发给大家资料里面
有个 Lbs
然后有个 Lab_2
Lab_2 是介绍了整个实验的一个流程
那我们一步一步来
第一步呢就是先生成一个新的设计
那它的主要的步骤就是
首先在我们 CCS 里边
或者说单独的这个 design center
这个工具栏打开以后
然后创建一个新的工程
然后将我们的 MCU 拖到这个设计窗口来
然后对 MCU 进行配置
配置完了以后将控件拖进来
然后最后呢
将我的每一个控件的一些按键
跟我的 MCU 相对应起来
对应起来以后
然后最终生成可执行的代码
然后将可执行的代码然后进行保存
这是第一步
我们先做第一步吧
步骤的话就按这个 Lab_2 来进行就可以了
后面的内容就给大家介绍一下什么是触摸按键 触摸按键的一个大概原理是怎么样子的 那我们这个这种电容触摸呢 或者是叫电容式这种接近感应 它能够做什么 第一呢就是 电容式触摸实现一个触摸按键的一个功能 或者是滑条啊或是滚轮这种功能 另外是接近感应 就把我的产品给唤醒 或者说实现一个不同的效果的一个功能 然后另外就是手势识别 从原理上来讲的话 那主要就是我们知道第一代的这个 我们的基于 MSP43072 或者是 F4 系列的 这个触摸按键的话 它主要是基于 RC 震荡这么一个原理 它是用一个 timer 做时机 然后如果是 然后基于内部的一个比较器 如果是你就是让外部 这个 RC 电路进行震荡 它通过内部的这个 timer 去测它的频率或测它的周期 去计算它 当你的手指摁下去 或你的手指不摁下去的时候 这个频率的一个差值 通过这个差值呢它就可以把这个外部触摸按键 有没有按键按下去有没有响应 然后给测算出来 那它其实从我们开发者的角度来说 它的缺点其实很多了 第一个就是这种受环境的影响是比较大的 因为它是用 RC 震荡的这种方式 如果是你的外部的电路 比如说你的电容值或者是电阻值 受外部电路影响比较大的话 那它的测算是很不准的 另外呢就是从开发者角度来说 那我们当时那套工具 其实只提供了 library 没提供很好的一个就是上位机的一个开发工具 所以说调试起来很麻烦 另外呢像一些 除此之外像一些滤波的算法啊 或者是一些这种长期可靠性的 一些保证的话其实它是没有的 那很多都是基于我们比较有经验的工程师 自己的一些理解去做的 然后我们新的这套方案呢 它其实采用电荷转移的这种方式 它是把这种电容里面的电荷呢 转移到我们一个叫 sample 电容里面去 看它的一个转移的次数 然后当你的外部这个电容发生变化的时候 它这个转移次数是发生变化的 就是它会测算出了一个 delta 值来 这种方式其实它是比较 要比前面的一种要好很多 下面这个 PPT 呢 是介绍这个基本的一个电路了 主要是有电压和电阻这两个物理量 那电压呢我们知道其实它是为 是提供能量的一个物理量 它主要是 在测算一个单位面积一个电荷的 一个能量的这么一个量纲 那在我们这个 PCB 板上 或者是我们的系统中 电压的一个提供量主要是由电池来提供的 它一般电流的方向呢它主要是从 电池的正极然后通过电阻流向负极 然后电阻呢就是阻碍 我的自由电子流动的这么一个物理量 那因为它在我的导体内部呢 它这个自由电子会跟我的晶格发生碰撞 所以说 发生碰撞过程中它会表现出一定的 阻碍电流流动这么一个效果 所以说它在碰撞过程中它也会产生热能 这个是我们电阻为什么会发热 然后另外呢就是 这个电路中也表示是最简单的一个电路了 也表明了这个有电压有电阻 然后会形成回路以后 它会有电流形成 其实电容就是我们电容触摸按键的一个 最基本的一个物理量了 如果是当我的这个电容里边 没有任何电荷的话 比如说这个电路中有个开关合上以后 那我的电流会通过这个电池电源也好 或者是叫电压也好 然后通过电阻给这个电容充电 然后充电充满了以后 然后如果说我把这个开关给断开 那里边电容里边是有电荷的 电荷多少呢它还与这个电容的容量是有关系的 那这时候呢这个电容就表现了一个特性 就是因为它能储存电荷 所以说它跟电池就表现的其实很相似了 然后另外呢就是这个电荷 就是这个电容呢 可以给我们很多的这个 比如像超级电容 它可以给我们430来供电 然后如果是我们在这个下面这个回路上 就是架一个电线上去 然后把这个开关接到下面这条线上 形成另外一条回路 那这个电容完全就跟电池一样了 它开始放电通过 然后经过这个电阻然后形成一个回路 然后会有电流的生成 然后这个电流的大小呢 这个是完全与我的电容的大小是成比例关系的 然后电容呢它其实从物理结构上来说呢 也很简单那是有两个电极 然后中间有个绝缘层 中间会储存一些电荷来形成的 那下面来讨论一下触摸按键的一个应用 那这个就是很简单一个 PCB 板 或者是一个电容触摸的一个结构了 那最上面这一层就是我的这个丝印层 然后呢中间这个是我的绝缘层 就是这个覆盖层 一般是由亚克力或玻璃来形成的 然后还有中间的这个细的这一层 它是一个粘合层 用胶啊或用其它方式把它压合 跟我的PCB压合到一起 然后再就是下面这个结构 就是我的 PCB 板 最上边这层是铜皮 就是我的电极或是叫 sensor 就是主要用来接到我们的 MCU 引脚上去 然后中间这层就是我的 FR4 的 PCB 板 最下边这层就是我底层的这个铜皮 那其实大家做过电子就知道 它中间会有很多一些电荷效应在里面 或者一些寄生电容在里头 最简单的一个就是我的这个 铜皮这个 sensor 与大地之间是有个寄生电容 然后另外呢就是从我的板子上来讲的话 我的 PCB 电极跟我周边的电路 它是有一定的电容效应 另外就是我的铜皮跟 MCU 之间的走线 跟周围的电路也是有一定电容效应 那我们统一把它抽象出来放到这个位置 跟大地形成一个电容效应 那当我的手摁下去以后 主要是有两部分电容组成 第一部分就是我的手指跟底层的 这个 sensor 之间有一个电容存在 然后另外我的人体跟大地之间是有个电容存在 所以说当我的手摁或者不摁的时候 对于铜皮跟大地之间的电容值 它是会发生一些变化的 那就是接到我们 MCU 引脚上这个电容呢 它是有一定的变化 那它也是通过检测电容的一个这种 靠近跟不靠近的时候 这个电容的一个变化来实现触摸按键的 那我们实现的方式就是叫电荷转移法 那它是把这个储存在外部的这些 包括说我的手指跟地 或者其它的这几个电容里面的电荷 转移到内部一个采样电容里面去 然后通过这个电荷转移这种方式 来实现触摸按键 那这个从容值上来说的话 它的大小大概是在 pF 级别 基本是在一个皮法到二十个皮法之间 这个都是有的 从名字来说我们是叫电荷转移 所以说那我们知道电容其实是把 电荷储存的一个容器了 我们可以把它抽象成这个一个杯子 外部这个呢它是一个小点的一个杯子 就是跟我铜皮跟大地之间的一个电容呢 用一个小点的杯子来表示 那在我的 MCU 内部呢 我会有一个大点的电容 叫采样电容 来做计量用的 那就是在外部电容上储存的电荷呢 我可以通过内部这个采样电容来测量出来 它实现的方式它是通过 这个将外部电容 就黄色这部分就是电荷一个表现形式 一个抽象的一个形式了 就像水一样 然后我们是通过从这个小杯子往大杯子倒水 那能够到多少次来实现 通过这个次数来知道大概的外面这个 小杯子容量也好或者是电容的容值也好 这个红线呢就是我倒满的一个标志 说白了也是电压的一个值吧 那内部的大杯子大概是有64个皮法 容值是64个皮法 然后外部呢它是一个皮法级别 但是它大小是不知道 所以我通过小杯子往大杯子里转移电荷 或倒水也好 然后转移一次还没有满 然后再转移一次 再倒第二次还是没有满然后继续来转移 那直到我最后倒了64次 那这个到了我红线这个区域 那我可以把这个倒水的次数能知道 那我这时候可以有个转换的一个基础值 就是等于64 那这个值呢就是叫转换次数 叫 conversion count 总共呢我是转移了64次 然后呢将内部采样的电容装满了 所以说我们能够知道能够估算出外部小电容呢 只有 1/64 oz 1/64 的内部电容的大小 所以说大概是在 1oz 左右 如果是当我们的手指摁到我们按键的时候 那这个容值是会变大的 所以说当手摁下去以后 那我们就换一个大电杯子 那这个大杯子会大概是在32次 会灌32次能够把这个内部的 这个64 oz 的大杯子灌满 那通过这个次数的一个变化 从64次变到32次 那我们能够知道说 这时候外部的电容发生变化了 那可以是不是可以理解说 有手指摁下去或有按键摁下去了 基本的原理就是这么个原理 就是通过一系列的电路 然后去实现这么一个 通过内部的电荷往外面 通过外部的电容电荷往内部的电容去转移 通过这个转移次数 那我们知道这个电容的一个变化 相比传统那种通过测频率或者是测 其实最终的目的都是知道 外部电容的一个容值变化 然后来实现一个按键的监测 那内部这个采样电容呢或者这个大杯子呢 它是集成在我们 MCU 的硅片上去的 然后它是在 MCU 的带上面去 然后它的名字叫采样电容叫 Cs 然后外部这个呢 然后其实这个电容的大小是没有关系的 因为这个电容值一旦确定了以后 那我的这个 往这个电容里面充电的次数 其实也是会发生变化 但是只要我能检测每次 有没有手指摁下去每次的这个差值就可以了 知道这个差值以后我就可以很好检测按键了 那对于我们整个系统来说 它有用的信息其实就是 每次外部电容一个充电次数的一个变化 这是我们的一个框图 那首先呢 就是前面说到那个小杯子是在这个位置 小杯子是在这个位置 叫 Cx 这是我们小杯子的位置 大杯子的位置是在我们这个里面有个寄存器 Cs是在这个位置 那从框图上来说 那首先我们会有这个叫 IO Mux 它是我们引脚的一个分配了 我的电容是直接接到 MCU 的引脚上来的 然后接过来以后内部是有一个叫 Measurement Block 就是测量模块 主要由这几个方面组成 第一个是电荷转移的引擎 它是通过一定的手段去将 外部电容上电荷往里边转移 然后最终呢它会通过这个电荷转移的引擎呢 它会输出一个转移的次数 中间这部分叫信号调理 它会增加一个增益 跟 OFFSET 这么一个子模块 那对于电荷过来以后它会有些进行一些处理 最终送到我的采样电容上来 这是一个叫个计分器 然后这个电容上最终会有个电压在上边 然后通过这个电压跟我的参考电压相比较 通过这个比较器 最终生成一个转换完成的这么一个标志位 转化完成以后 我们 MCU 会把这个转换的次数 这个值给记录下来 记录下来以后就可以大概的能够 知道外部电容的一个情况了 从这个测量模块上来说呢 那我们每个测量模块内部呢 是有4个小的一个小 Block 然后外面其实它还挂了一些辅助的一些外设 比如像专门的 LDO 用于电容这种充电的 另外就是前面介绍的这个 电压的一个基准 reference 然后就是这个采样电容 另外呢它也通过一些 还有一些 oscillator 振荡器 做一些一定的一些 比如像跳频特性或扩频这种特性 用于 EMC 或 EMI 的一些预防 然后最后呢是有一个状态机可以实现 跑一些状态在里面可以实现接近唤醒啊 或者一些其它一些处理 另外它自己有一个单独的一个 timer 不占用系统的 timer 叫事件 timer 它跟那个 timerA 是类似的 正是由于这些单独的这些部分 比如像这个内部的这个 LDO 其实它的作用是很大的 我们知道像做第一代的 GR 系列的触摸按键的话 如果是外部供电会发生一定的变化 或说你 I/O 口上挂的 LED 过多的话 那对于按键其实它是影响比较大的 因为我们都是 我们知道 RC 震荡的曲线 是一个指数的一个曲线 所以说它如果是你的 LDO 就是3.3V 供电发生变化的话 那内部的 reference 也是变化比较大 所以它第一代的触摸按键 其实它如果说外面挂的 LED 过多 对于整个触摸的效果是影响比较大的 那我们这是独立于内部的 LDO 外部的 LDO 那我们内部会有一个1.5V的一个 LDO 那如果说外面发生一些波动的话 其实对内部的影响基本没有的 另外这个跳频 oscillator 呢 它可以有四种频率可以输出 从16M到11M之间 它的一个优点就是比如说做一些这种测试 或者是 EMC 要求比较严格的地方的话 那我四个频率会同时去 就是我一个按键呢会采样4次 用四个频率去同时去采 如果是同时采的四个结果是一样的话 那我们认为是一个有效的一个触摸 然后扩频技术其实主要是针对 EMI 的 对于将我的尖峰的一个频点的这个能量 给它扩到周边去 然后另外单独的这个 timer 就是它是可以有做这个 就是使用源去给它主动配置的 然后转换完成以后呢 我们可以输出一个中断 去告诉 MCU 去唤醒 MCU 去做处理 或做是做一些其它一些处理 这个是整个的一个的模块的运行情况 上午的时候我们同事也介绍说 它是有这种自电容或者互电容这种形式 那互电容一般是做这种按键矩阵用的 那我们知道最简单的一种形式 比如像左下角这种 它是我的电容跟大地之间的一个电容值 然后还有另外一种形式就是 我的两个引脚之间的一个电容值 那就是有一个叫 Tx 有一个叫 Rx 然后电场是从 Tx sensor 开始往外发出 然后到了 Rx sensor 上面去 它两个之间也是一个电容效应存在的 那通过这种呢我们可以很容易去做 这种矩阵式的一个触摸 可以支持更多的一个按键 那我们像这种形式的话 我们容值测量是在 Tx Rx 接点之间的 那像这种自电容的形式呢 它的测量都是我的引脚 或是我的电极跟地之间的 那我们这个所有的配置都是很灵活 都可以通过软件 或是我们的一个 design center 都可以很简单去配置 正是由于自电容跟互电容的存在呢 那我们在开发的时候 其实如果是你按键多也不要紧 我们也可以去处理 那如果是采用这种自电容形式的 它的电场形成是这种来形成的 那红色这部分就是我们的 sensor 电极 那电场是通过这个电极往外去辐射 然后形成这种电场 这个呢就是采用这种自电容的形式呢 它是每一个 sensor 都会接到 我们一个 CapTIvate 的 I/O 上面去的 那我们最多的 GR 系列的 CapTIvate 的 MCU 呢 它可以有16个I/O 所以说它最多支持16个触摸按键 那对于比如说像 高分辨率的 slider 或 wheel 的话 它支持是比较好的 另外呢像这种接近感应 我们也是推荐用自电容的检测的这种方式 那互电容呢我们通过昨天也可以看出 它是其实在这个 Tx 跟 Rx 两个电极之间 形成这么一个电场 因为都是这个 其实也是有一定电容效应在里边的 那如果是我手接近它了以后会破坏它这个电场 所以说它幅值可能发生变化的 所有的节点都是由这个 Tx 跟 Rx 两部分组成 那很容易实现就是这种按键矩阵的形式 最多可以支持到8x8 64个按键 另外呢它也支持多点触摸这种效果 比如说像我这个 类似于我电脑上这个触摸 pad 这个效果 然后第三种呢其实比如说我需要20个按键 那我就只好采取这种组合的方式 那可以这种自电容跟互电容都是同时存在的 这种形式也是比较灵活的 然后我们所有的软件都是很好的支持 下面给大家介绍一下 采取电荷转移这种方式的一些优点了 第一就是高分辨率 高分辨率主要体现在两个方面 第一就是支持一个低功耗3D的手势识别 比如说像上午介绍的我可以实现一个 左滑动右滑动的这么一个效果 最高的距离可以到30个厘米 然后如果是同时采样四个sensor 的话 那我们只需要在500个微秒以内 就可以完成这个采样 所以说它速度还是很快的 另外就像针对这种 slider 跟 wheel 的话 它分辨率最高呢可以到0.29个厘米 就是我下边会放四个 sensor 在下面 然后呢最近分辨率是0.029个厘米 其实分辨率还是蛮不错的 另外最后一个呢就是 我们会支持比较厚的这个玻璃 或者是塑料的一个介质层的 一种触摸效果 那比如说像有些应用中 比如有些锅炉的这种温度检测 或者一些特殊应用的话 那它可能这种触摸按键上面的 亚克力层是比较厚 那我们因为它有比较高的分辨率 它是可以支持的 我们有个 TI 的参考设计 它是实现了一个60厘米的一个玻璃 在玻璃上面实现这么一个触摸按键效果 不好意思 60毫米 对 60毫米实现了一个触摸按键的效果 它这个分辨率呢 最低是到了10个伏法左右 对电容的一个分辨率 那另外高分辨率来说的话 那主要是有下面这两个模块来实现的 第一就是增益这个 然后另外就有一个 Offset 增益呢 因为我们很多时候在设计触摸按键的时候 它外部这个电容的容量其实没法控制的 有大或有小 然后另外你手摁上去以后 它对于电容的一个变化也是有大有小的 那我们是通过这个增益 Gain 也是提供了两个变量 去来动态的调整外部电容的大小 就是它内部转移过电荷以后 会去动态调整它这个大小 然后让它能够适应外部电容的一个变化 另外一个就是 Offset 那它主要是跟我们灵敏度有关系的 它是将类似于 比如说我们外部电容有些寄生电容 或者有一些这种其它一些容性的影响的话 它是将那的部分电容的影响给去掉 就相当于减去一个直流的量 那它会把变化的量会放大 然后就是可靠性 那我们对于这个液体啊 或者是手掌的一个这种误触发的一个效果 是能够处理的很不错 那它主要的实现呢就是 以我们这个板子为例 它是在这个按键外面包了一层铜皮 那这个铜皮呢 它是接到我们触摸按键的 IO 上面去的 那如果说当我的水倒上去 或者是当我的手触碰到我这个按键板的话 那最先变化比较大的就是 我这个外面这个叫防护这个通道 变化比较大 那如果是它 我们通过一定的软件算法去检测防护通道 如果是它变化比较大的话 那么我们可以认为它是有水 或者是有手放上去 有误触发 就可以给你一个防止误触发的处理了 它的这个阈值可以设置的 可以动态的调整 那可以设的很高或者很低 这都是可以设置的 那它这个叫防护通道呢 它也是直接接到我们的芯片的 IO 上面去 也是作为一个触摸按键来存在的 因为它的面积比较大 所以说它能感测这个容量什么的 灵敏度也是相比其它的要高一些 对于这种噪声的一些抑制 或是过一些安规的一些测试的话 那我们也提供了很多的方法 第一就是前面介绍的就是 有那个跳频的 oslator 它是提供了四个频率 从16M到11.2M的一个频率出来 那用这四个频率 同时去采样这个电容的一个变化 如果是四个同时有按键的话 有按键反应的话 那我认为是一次正确的触发 另外就是扩频这种技术的话 有助于降低这个往外辐射能量的一个幅值 另外从软件上来说 我们也提供了一些滤波的一些算法 比如像这种触摸按键的一些采样的话 那进行一个很好的一个滤波效果 另外针对这种长期 比如说 我的产品会工作5年10年 或随着环境它会发生一些材质的一些变化的话 那我又是有一些长期的动态阈值调整 也会随着温度啊 或是随着湿度我们材质会发生变化 所以这个动态调整的时间的话 都是在程序里面可以设置 那这个图就是 这两个图就是我们做的一个实验了 就是当做的一个注入电流的一个实验 我是在电源上打入了一个3V这个信号上去 那像这种自感的方式 它采样出的结果是这样的 那实际的信号是这样的 那我最终通过我的一些处理 或者是一些算法处理以后呢 那蓝色这个就是我滤除后的一个基础值 那我们可以看到它这个值还是比较平稳的 有效的将我们的干扰信号给滤除掉 然后你可以看出在这个 在打入这个干扰的时候呢 这个阈值也是随着发生了一些变化 这个绿色这条线呢就是我们阈值 还有发生了一些变化 那由于 delta 值就变化比较大 所以说呢它会认为它是一次有效的一次按键 然后另外呢针对这种 IEC61000的一些 常用的一些测试的话 那我们也是有一颗板子针对这种测试 已经拿到了一些相应的一些认证 我们也知道就是很多时候呢就是 基本上所有的产品都是要经过这个认证的 我们针对这种 从硬件上我们会在意 触摸按键这些外围的这些外设啊 或者是一些模块 我们进行了一些优化 比如说跳频就是 另外就是有一些交流信号的 我们会检测它的过零点 在过零点的时候有个同步信号发出来 通过检测这个同步信号得到以后我们开始检测 那会把 会有效的避开交流信号幅值比较高的地方 这个也是在我们的硅片上完全能实现的 另外就是从软件上来说呢 我们有这个过采样 包括就是抗误触发 然后就是 AC 噪音的滤除的一些软件算法 去实现这种误触发的检测 然后从系统来说呢 我们也提供了很好的一个参考设计 去满足一些 EMC 的一些规则 针对这种液体倒到 我们触摸按板上的一个误触发的一个检测 我们是 就是前面介绍到的有这个防护通道的一个设置 然后来实现这种误触发的检测 另外就是针对这种 EMI 的问题的话 我们会有这种跳频 就是扩频的这个 oslator 然后可以有效的将这个辐射出去的频率 辐射出去的能量减少 这个模块就是针对这种 EMC 或 EMI 的 一些防护或者是保护的一些 一个模块了 就是这个跳频这个模块 还有扩频的 oslator 那通过这个 oslator 的引入呢 还是会把这个辐射频率 给扩散到这个频点周围去 那除此之外呢 我们这个系统也是支持金属触摸的效果 因为我们对于这个 电容检测的一个分辨率是比较高的 所以说 如果是你在金属板 跟我的 sensor 之间形成的电容效应 它也是可以检测出来的 所以说 后面会有详细介绍这个金属触摸的一个原理 另外就是针对这个 我们可以支持自电容检测和互电容检测的 它可以支持多达64个按键 这个3D手势识别前面都介绍了都 另外就接近感应都是可以支持 我们其实是针对这个基于我们 大家拿到的一个板子 它是有一个金属触摸的参考设计 上面有8个按键 那从结构上来说的话 我们这个金属触摸的结构呢主要分这五层 第一上面就是我的金属层 然后金属层跟我的 PCB 之间呢 会有一个介质层 就是用于把这个金属层和 PCB 板 进行绝缘的这么个层 正是因为这个介质层的存在呢 让这个上面这个金属板 跟我的 PCB 上的 sensor 之间呢 可以形成一个电容效应 然后再下边呢就是我的这个底板上 其实在我们的实际产品中 这下边这两个底板是可有可无的 那它是形成一个让 PCB 板 跟底下这个固定的板子粘合的这么两层 那从这种简化结构上来说的话 其实起作用的主要这三层 第一就是我的金属板还有介质层 然后介质层跟金属板还有 PCB 之间呢 会有一个就是叫空气层也好 或者是叫绝缘层也好 然后呢 PCB 板上面有个 sensor 然后 sensor 跟金属层之间呢 会有个电容效应存在 如果是当我的手摁到这个金属板子之后 因为金属板会有一定的 金属上会有一定的形变 所以说形变它会有一个 delta 的电容的一个变化 那我可以通过检测 delta 电容的一个变化 来实现一个触摸按键的一个检测 那在我们最新的参考设计上边呢 它可以实现一个手指摁压力度的一个检测 那因为我 大家都知道根据我力度的一个变化 那这个 delta 值其实变化是很明显的 也是随着变化的 那它是通过这个基础值 然后也可以把手指摁下去这个力度来检测出来 这是更详细的一个介绍 那我们知道就是 这个就是我们通常电容的一个表达有个公式呢 就是这个公式 那最主要的就是 我们知道比较重要的一个量就是 d 就是我的上面这金属层跟我下面这个 sensor 层之间的一个距离 当我的手摁下去以后 那它这个距离其实是发生变化的 那发生变化以后 其实我的电容值相应的也发生变化 那距离越近那个电容值会越大 就是通过这个公式 那也可以直观的知道它大概的原理了 那下面介绍一下低功耗的性能 那它首先它从分两个方面 第一呢就是 MCU 本身的这么一个 因为我们是基于 FRAM 的这个 MCU 它的每兆赫兹的功耗大概只有一百个微安左右 那会比这个 flash 版本的会低一半 那基于这个 FRAM 的 MCU 的话 我们可以实现每个按键是 大概是0.9个微安的一个电流消耗 那它的测试前提是扫描四个按键 那如果是我们使用单节电池供电的话 能够持续工作15年 另外呢就是我们铁电本身的一些优点就是 保证了这个功耗是比较低的 那整个电容触摸的这个检测 以及数据处理是不需要 MCU 干预的 那这个左边的流程图呢 也大概给大家介绍一个 然后首先 MCU 上电以后 它会把将这些按键进行一个初始化 包括我们通道啊 包括我们的 timer 的一个初始化 初始化完了以后 那我的 MCU 就处于休眠模式 整个这个 CapTIvate 这个模块呢 会自己会进行一个定期的会进行一个检测 检测的比如说我的阈值 检测到阈值 基础值呢已经超出了我的阈值了 那我会触发一个中断 将 MCU 唤醒 那大部分时间呢 MCU 就处于一个休眠模式 那这个模块是自己来工作的 这个唤醒这个机制呢主要是由 这个状态机的这么个逻辑来实现的 另外呢 像很多应用中 就是如果是你想实现这种低功耗的效果的话 也可以跟我们的一些无线的产品相配合 比如这个应用就是一个电子门锁的一个应用 那它是基于我们 FR26x 配合我们的一些 WIFI 啊 或者是 1GHz 以下或 BLE 将我的数据给发出去 然后按键的话 它可以采用这种塑料健或者金属按健 直接接到 MCU 上面去 然后外设的话可以加一些 NFC RFID 或者说指纹识别 然后最终呢是通过一个低功耗的马达驱动芯片 去驱动我的马达进行开门或者关门 那工具的话前面介绍的就是我们有这个 CapTIvate Design Center 这个工具 就是在第一代的 基于 GR 系列的那个电容触摸开发的话 那我们是缺少这个工具的 那对于有些阈值的设定啊 我们很多时候都是通过 我们开发工具 IAR 或 CCS 去检测这个 变量的一个变化来实现的 那在最新的这个呢 我们会提供一整套的这个 从按键设计到代码生成一整套的这么一个工具 大大简化了电容触摸的开发的难度 主要分几步来 第一步就是将我的按键通过控件的拖拉 放到我的窗口里面来 然后呢根据我的 PCB 或者我原理图通往的一个设置 然后将我的 MCU 的管脚 跟铜皮之间进行一个连接的一个配置 连接配置完了以后 我会有一个实时的一个 tunin 这么一个界面 那我会实时的看到我当前的检测的基础值 然后就是 delta 值都可以实时检测到 检测到了以后 那我可以就是通过生成代码这个按键 然后可以生成可以支持 CCS 或是支持 IER 的这个工程代码出来 那最后呢通过在 CCS 或 IER里面 将我生成的工程导入到 IDE 里面去 然后进行进一步的开发 整个流程都是还是比较简单的 然后也是支持按键滑条滚轮接近感应 这些 sensor 都是支持的 除此之外呢 针对有一些这些抗干扰啊 或者是一些软件算法在里面都是可以 都是集成的 都可以实时的来调整 另外呢 这个就是我们主要的一个软件开发的框图了 大部分的电容触摸的 API 都是集成在 ROM 里面去的 那我们通过一些回掉函数 去在我们应用程序中 去调用这些相应的 API 函数 然后去控制我们底层的外设 因为我们片上集成的16K的 ROM 所以说这个包括像 Driver-Lib 啊 或者是 CapTIvate 这个库 都是放在 ROM 里面的 都是放在 ROM 里面的 另外 BSL 也是放在 ROM 里面的 所以说你需要做的就是将你的这个通信程序 或者是软件初始化的一个程序 放在你的 FRAM 里面去 那还有很多的这个 大量的代码空间可以被你的系统来用 你可以放一个无线 或者是放一些其它的特殊的处理在里面 硬件开发工具的话那主要就是 大家拿到的一个板子叫 MSP CapTLvate FR2633 它是基于我们的 FR2633 MCU 做的这么一个开发工具 然后支持六个 上面里面有六个板子 支持多种的这种触摸按键 比如像这个滚轮滑条按键 然后另外就是一些接近感应它都是 能够很好的来评估的 如果是大家是对这个金属触摸有兴趣的话 那我们也是有金属触摸的一个板子 也可以接到这上面去 然后做金属触摸的一个评估 然后还有就是很多时候呢 我们在做按键设计的时候 可能说它需要一个反馈 那用来告知你有没有按键按下去 需要有这种金属 需要有这种按键的一个反馈出来 那我们也是后面会有 基于我们 haptic 的一个开发工具 它是基于线性马达驱动 叫 DRV2605L 这么一个开发工具 如果是按键手按上去以后 它会有一个振动效果出来 或者有一些呼吸灯的效果出来 上午我们同事也介绍说 这个最新的这个 MSP430 它都是有一些库函数支持的 那我们可以通过在我们的 MSPWare 里头 找到这些相应的一些库函数的支持 包括像很多外设都是有一些参考例程出来的 大家记住这些参考例程 就可以很快的完成触摸按键以外的 这些外设的一些使用 那下面我们来做第二个实验就是 就是我们这个 BSWP 的一个板子 然后可以通过这个 design center 去拖拉控件然后生成代码 然后最终在我们 CCS 里面 把程序下载到我们的芯片里面去 了解整个开发的一个过程 大家可以打开我们就是发给大家资料里面 有个 Lbs 然后有个 Lab_2 Lab_2 是介绍了整个实验的一个流程 那我们一步一步来 第一步呢就是先生成一个新的设计 那它的主要的步骤就是 首先在我们 CCS 里边 或者说单独的这个 design center 这个工具栏打开以后 然后创建一个新的工程 然后将我们的 MCU 拖到这个设计窗口来 然后对 MCU 进行配置 配置完了以后将控件拖进来 然后最后呢 将我的每一个控件的一些按键 跟我的 MCU 相对应起来 对应起来以后 然后最终生成可执行的代码 然后将可执行的代码然后进行保存 这是第一步 我们先做第一步吧 步骤的话就按这个 Lab_2 来进行就可以了
后面的内容就给大家介绍一下什么是触摸按键
触摸按键的一个大概原理是怎么样子的
那我们这个这种电容触摸呢
或者是叫电容式这种接近感应
它能够做什么
第一呢就是
电容式触摸实现一个触摸按键的一个功能
或者是滑条啊或是滚轮这种功能
另外是接近感应
就把我的产品给唤醒
或者说实现一个不同的效果的一个功能
然后另外就是手势识别
从原理上来讲的话
那主要就是我们知道第一代的这个
我们的基于 MSP43072
或者是 F4 系列的
这个触摸按键的话
它主要是基于 RC 震荡这么一个原理
它是用一个 timer 做时机
然后如果是
然后基于内部的一个比较器
如果是你就是让外部
这个 RC 电路进行震荡
它通过内部的这个 timer
去测它的频率或测它的周期
去计算它
当你的手指摁下去
或你的手指不摁下去的时候
这个频率的一个差值
通过这个差值呢它就可以把这个外部触摸按键
有没有按键按下去有没有响应
然后给测算出来
那它其实从我们开发者的角度来说
它的缺点其实很多了
第一个就是这种受环境的影响是比较大的
因为它是用 RC 震荡的这种方式
如果是你的外部的电路
比如说你的电容值或者是电阻值
受外部电路影响比较大的话
那它的测算是很不准的
另外呢就是从开发者角度来说
那我们当时那套工具
其实只提供了 library
没提供很好的一个就是上位机的一个开发工具
所以说调试起来很麻烦
另外呢像一些
除此之外像一些滤波的算法啊
或者是一些这种长期可靠性的
一些保证的话其实它是没有的
那很多都是基于我们比较有经验的工程师
自己的一些理解去做的
然后我们新的这套方案呢
它其实采用电荷转移的这种方式
它是把这种电容里面的电荷呢
转移到我们一个叫 sample 电容里面去
看它的一个转移的次数
然后当你的外部这个电容发生变化的时候
它这个转移次数是发生变化的
就是它会测算出了一个 delta 值来
这种方式其实它是比较
要比前面的一种要好很多
下面这个 PPT 呢
是介绍这个基本的一个电路了
主要是有电压和电阻这两个物理量
那电压呢我们知道其实它是为
是提供能量的一个物理量
它主要是
在测算一个单位面积一个电荷的
一个能量的这么一个量纲
那在我们这个 PCB 板上
或者是我们的系统中
电压的一个提供量主要是由电池来提供的
它一般电流的方向呢它主要是从
电池的正极然后通过电阻流向负极
然后电阻呢就是阻碍
我的自由电子流动的这么一个物理量
那因为它在我的导体内部呢
它这个自由电子会跟我的晶格发生碰撞
所以说
发生碰撞过程中它会表现出一定的
阻碍电流流动这么一个效果
所以说它在碰撞过程中它也会产生热能
这个是我们电阻为什么会发热
然后另外呢就是
这个电路中也表示是最简单的一个电路了
也表明了这个有电压有电阻
然后会形成回路以后
它会有电流形成
其实电容就是我们电容触摸按键的一个
最基本的一个物理量了
如果是当我的这个电容里边
没有任何电荷的话
比如说这个电路中有个开关合上以后
那我的电流会通过这个电池电源也好
或者是叫电压也好
然后通过电阻给这个电容充电
然后充电充满了以后
然后如果说我把这个开关给断开
那里边电容里边是有电荷的
电荷多少呢它还与这个电容的容量是有关系的
那这时候呢这个电容就表现了一个特性
就是因为它能储存电荷
所以说它跟电池就表现的其实很相似了
然后另外呢就是这个电荷
就是这个电容呢
可以给我们很多的这个
比如像超级电容
它可以给我们430来供电
然后如果是我们在这个下面这个回路上
就是架一个电线上去
然后把这个开关接到下面这条线上
形成另外一条回路
那这个电容完全就跟电池一样了
它开始放电通过
然后经过这个电阻然后形成一个回路
然后会有电流的生成
然后这个电流的大小呢
这个是完全与我的电容的大小是成比例关系的
然后电容呢它其实从物理结构上来说呢
也很简单那是有两个电极
然后中间有个绝缘层
中间会储存一些电荷来形成的
那下面来讨论一下触摸按键的一个应用
那这个就是很简单一个 PCB 板
或者是一个电容触摸的一个结构了
那最上面这一层就是我的这个丝印层
然后呢中间这个是我的绝缘层
就是这个覆盖层
一般是由亚克力或玻璃来形成的
然后还有中间的这个细的这一层
它是一个粘合层
用胶啊或用其它方式把它压合
跟我的PCB压合到一起
然后再就是下面这个结构
就是我的 PCB 板
最上边这层是铜皮
就是我的电极或是叫 sensor
就是主要用来接到我们的 MCU 引脚上去
然后中间这层就是我的 FR4 的 PCB 板
最下边这层就是我底层的这个铜皮
那其实大家做过电子就知道
它中间会有很多一些电荷效应在里面
或者一些寄生电容在里头
最简单的一个就是我的这个
铜皮这个 sensor 与大地之间是有个寄生电容
然后另外呢就是从我的板子上来讲的话
我的 PCB 电极跟我周边的电路
它是有一定的电容效应
另外就是我的铜皮跟 MCU 之间的走线
跟周围的电路也是有一定电容效应
那我们统一把它抽象出来放到这个位置
跟大地形成一个电容效应
那当我的手摁下去以后
主要是有两部分电容组成
第一部分就是我的手指跟底层的
这个 sensor 之间有一个电容存在
然后另外我的人体跟大地之间是有个电容存在
所以说当我的手摁或者不摁的时候
对于铜皮跟大地之间的电容值
它是会发生一些变化的
那就是接到我们 MCU 引脚上这个电容呢
它是有一定的变化
那它也是通过检测电容的一个这种
靠近跟不靠近的时候
这个电容的一个变化来实现触摸按键的
那我们实现的方式就是叫电荷转移法
那它是把这个储存在外部的这些
包括说我的手指跟地
或者其它的这几个电容里面的电荷
转移到内部一个采样电容里面去
然后通过这个电荷转移这种方式
来实现触摸按键
那这个从容值上来说的话
它的大小大概是在 pF 级别
基本是在一个皮法到二十个皮法之间
这个都是有的
从名字来说我们是叫电荷转移
所以说那我们知道电容其实是把
电荷储存的一个容器了
我们可以把它抽象成这个一个杯子
外部这个呢它是一个小点的一个杯子
就是跟我铜皮跟大地之间的一个电容呢
用一个小点的杯子来表示
那在我的 MCU 内部呢
我会有一个大点的电容
叫采样电容
来做计量用的
那就是在外部电容上储存的电荷呢
我可以通过内部这个采样电容来测量出来
它实现的方式它是通过
这个将外部电容
就黄色这部分就是电荷一个表现形式
一个抽象的一个形式了
就像水一样
然后我们是通过从这个小杯子往大杯子倒水
那能够到多少次来实现
通过这个次数来知道大概的外面这个
小杯子容量也好或者是电容的容值也好
这个红线呢就是我倒满的一个标志
说白了也是电压的一个值吧
那内部的大杯子大概是有64个皮法
容值是64个皮法
然后外部呢它是一个皮法级别
但是它大小是不知道
所以我通过小杯子往大杯子里转移电荷
或倒水也好
然后转移一次还没有满
然后再转移一次
再倒第二次还是没有满然后继续来转移
那直到我最后倒了64次
那这个到了我红线这个区域
那我可以把这个倒水的次数能知道
那我这时候可以有个转换的一个基础值
就是等于64
那这个值呢就是叫转换次数
叫 conversion count
总共呢我是转移了64次
然后呢将内部采样的电容装满了
所以说我们能够知道能够估算出外部小电容呢
只有 1/64 oz
1/64 的内部电容的大小
所以说大概是在 1oz 左右
如果是当我们的手指摁到我们按键的时候
那这个容值是会变大的
所以说当手摁下去以后
那我们就换一个大电杯子
那这个大杯子会大概是在32次
会灌32次能够把这个内部的
这个64 oz 的大杯子灌满
那通过这个次数的一个变化
从64次变到32次
那我们能够知道说
这时候外部的电容发生变化了
那可以是不是可以理解说
有手指摁下去或有按键摁下去了
基本的原理就是这么个原理
就是通过一系列的电路
然后去实现这么一个
通过内部的电荷往外面
通过外部的电容电荷往内部的电容去转移
通过这个转移次数
那我们知道这个电容的一个变化
相比传统那种通过测频率或者是测
其实最终的目的都是知道
外部电容的一个容值变化
然后来实现一个按键的监测
那内部这个采样电容呢或者这个大杯子呢
它是集成在我们 MCU 的硅片上去的
然后它是在 MCU 的带上面去
然后它的名字叫采样电容叫 Cs
然后外部这个呢
然后其实这个电容的大小是没有关系的
因为这个电容值一旦确定了以后
那我的这个
往这个电容里面充电的次数
其实也是会发生变化
但是只要我能检测每次
有没有手指摁下去每次的这个差值就可以了
知道这个差值以后我就可以很好检测按键了
那对于我们整个系统来说
它有用的信息其实就是
每次外部电容一个充电次数的一个变化
这是我们的一个框图
那首先呢
就是前面说到那个小杯子是在这个位置
小杯子是在这个位置
叫 Cx
这是我们小杯子的位置
大杯子的位置是在我们这个里面有个寄存器
Cs是在这个位置
那从框图上来说
那首先我们会有这个叫 IO Mux
它是我们引脚的一个分配了
我的电容是直接接到 MCU 的引脚上来的
然后接过来以后内部是有一个叫
Measurement Block
就是测量模块
主要由这几个方面组成
第一个是电荷转移的引擎
它是通过一定的手段去将
外部电容上电荷往里边转移
然后最终呢它会通过这个电荷转移的引擎呢
它会输出一个转移的次数
中间这部分叫信号调理
它会增加一个增益
跟 OFFSET 这么一个子模块
那对于电荷过来以后它会有些进行一些处理
最终送到我的采样电容上来
这是一个叫个计分器
然后这个电容上最终会有个电压在上边
然后通过这个电压跟我的参考电压相比较
通过这个比较器
最终生成一个转换完成的这么一个标志位
转化完成以后
我们 MCU 会把这个转换的次数
这个值给记录下来
记录下来以后就可以大概的能够
知道外部电容的一个情况了
从这个测量模块上来说呢
那我们每个测量模块内部呢
是有4个小的一个小 Block
然后外面其实它还挂了一些辅助的一些外设
比如像专门的 LDO
用于电容这种充电的
另外就是前面介绍的这个
电压的一个基准 reference
然后就是这个采样电容
另外呢它也通过一些
还有一些 oscillator 振荡器
做一些一定的一些
比如像跳频特性或扩频这种特性
用于 EMC 或 EMI 的一些预防
然后最后呢是有一个状态机可以实现
跑一些状态在里面可以实现接近唤醒啊
或者一些其它一些处理
另外它自己有一个单独的一个 timer
不占用系统的 timer
叫事件 timer
它跟那个 timerA 是类似的
正是由于这些单独的这些部分
比如像这个内部的这个 LDO
其实它的作用是很大的
我们知道像做第一代的
GR 系列的触摸按键的话
如果是外部供电会发生一定的变化
或说你 I/O 口上挂的 LED 过多的话
那对于按键其实它是影响比较大的
因为我们都是
我们知道 RC 震荡的曲线
是一个指数的一个曲线
所以说它如果是你的 LDO
就是3.3V 供电发生变化的话
那内部的 reference 也是变化比较大
所以它第一代的触摸按键
其实它如果说外面挂的 LED 过多
对于整个触摸的效果是影响比较大的
那我们这是独立于内部的 LDO
外部的 LDO
那我们内部会有一个1.5V的一个 LDO
那如果说外面发生一些波动的话
其实对内部的影响基本没有的
另外这个跳频 oscillator 呢
它可以有四种频率可以输出
从16M到11M之间
它的一个优点就是比如说做一些这种测试
或者是 EMC 要求比较严格的地方的话
那我四个频率会同时去
就是我一个按键呢会采样4次
用四个频率去同时去采
如果是同时采的四个结果是一样的话
那我们认为是一个有效的一个触摸
然后扩频技术其实主要是针对 EMI 的
对于将我的尖峰的一个频点的这个能量
给它扩到周边去
然后另外单独的这个 timer
就是它是可以有做这个
就是使用源去给它主动配置的
然后转换完成以后呢
我们可以输出一个中断
去告诉 MCU 去唤醒 MCU 去做处理
或做是做一些其它一些处理
这个是整个的一个的模块的运行情况
上午的时候我们同事也介绍说
它是有这种自电容或者互电容这种形式
那互电容一般是做这种按键矩阵用的
那我们知道最简单的一种形式
比如像左下角这种
它是我的电容跟大地之间的一个电容值
然后还有另外一种形式就是
我的两个引脚之间的一个电容值
那就是有一个叫 Tx
有一个叫 Rx
然后电场是从 Tx sensor 开始往外发出
然后到了 Rx sensor 上面去
它两个之间也是一个电容效应存在的
那通过这种呢我们可以很容易去做
这种矩阵式的一个触摸
可以支持更多的一个按键
那我们像这种形式的话
我们容值测量是在 Tx Rx 接点之间的
那像这种自电容的形式呢
它的测量都是我的引脚
或是我的电极跟地之间的
那我们这个所有的配置都是很灵活
都可以通过软件
或是我们的一个 design center
都可以很简单去配置
正是由于自电容跟互电容的存在呢
那我们在开发的时候
其实如果是你按键多也不要紧
我们也可以去处理
那如果是采用这种自电容形式的
它的电场形成是这种来形成的
那红色这部分就是我们的 sensor 电极
那电场是通过这个电极往外去辐射
然后形成这种电场
这个呢就是采用这种自电容的形式呢
它是每一个 sensor 都会接到
我们一个 CapTIvate 的 I/O 上面去的
那我们最多的 GR 系列的
CapTIvate 的 MCU 呢
它可以有16个I/O
所以说它最多支持16个触摸按键
那对于比如说像
高分辨率的 slider 或 wheel 的话
它支持是比较好的
另外呢像这种接近感应
我们也是推荐用自电容的检测的这种方式
那互电容呢我们通过昨天也可以看出
它是其实在这个 Tx 跟 Rx 两个电极之间
形成这么一个电场
因为都是这个
其实也是有一定电容效应在里边的
那如果是我手接近它了以后会破坏它这个电场
所以说它幅值可能发生变化的
所有的节点都是由这个 Tx 跟 Rx 两部分组成
那很容易实现就是这种按键矩阵的形式
最多可以支持到8x8 64个按键
另外呢它也支持多点触摸这种效果
比如说像我这个
类似于我电脑上这个触摸 pad 这个效果
然后第三种呢其实比如说我需要20个按键
那我就只好采取这种组合的方式
那可以这种自电容跟互电容都是同时存在的
这种形式也是比较灵活的
然后我们所有的软件都是很好的支持
下面给大家介绍一下
采取电荷转移这种方式的一些优点了
第一就是高分辨率
高分辨率主要体现在两个方面
第一就是支持一个低功耗3D的手势识别
比如说像上午介绍的我可以实现一个
左滑动右滑动的这么一个效果
最高的距离可以到30个厘米
然后如果是同时采样四个sensor 的话
那我们只需要在500个微秒以内
就可以完成这个采样
所以说它速度还是很快的
另外就像针对这种
slider 跟 wheel 的话
它分辨率最高呢可以到0.29个厘米
就是我下边会放四个 sensor 在下面
然后呢最近分辨率是0.029个厘米
其实分辨率还是蛮不错的
另外最后一个呢就是
我们会支持比较厚的这个玻璃
或者是塑料的一个介质层的
一种触摸效果
那比如说像有些应用中
比如有些锅炉的这种温度检测
或者一些特殊应用的话
那它可能这种触摸按键上面的
亚克力层是比较厚
那我们因为它有比较高的分辨率
它是可以支持的
我们有个 TI 的参考设计
它是实现了一个60厘米的一个玻璃
在玻璃上面实现这么一个触摸按键效果
不好意思 60毫米 对
60毫米实现了一个触摸按键的效果
它这个分辨率呢
最低是到了10个伏法左右
对电容的一个分辨率
那另外高分辨率来说的话
那主要是有下面这两个模块来实现的
第一就是增益这个
然后另外就有一个 Offset
增益呢
因为我们很多时候在设计触摸按键的时候
它外部这个电容的容量其实没法控制的
有大或有小
然后另外你手摁上去以后
它对于电容的一个变化也是有大有小的
那我们是通过这个增益 Gain
也是提供了两个变量
去来动态的调整外部电容的大小
就是它内部转移过电荷以后
会去动态调整它这个大小
然后让它能够适应外部电容的一个变化
另外一个就是 Offset
那它主要是跟我们灵敏度有关系的
它是将类似于
比如说我们外部电容有些寄生电容
或者有一些这种其它一些容性的影响的话
它是将那的部分电容的影响给去掉
就相当于减去一个直流的量
那它会把变化的量会放大
然后就是可靠性
那我们对于这个液体啊
或者是手掌的一个这种误触发的一个效果
是能够处理的很不错
那它主要的实现呢就是
以我们这个板子为例
它是在这个按键外面包了一层铜皮
那这个铜皮呢
它是接到我们触摸按键的 IO 上面去的
那如果说当我的水倒上去
或者是当我的手触碰到我这个按键板的话
那最先变化比较大的就是
我这个外面这个叫防护这个通道
变化比较大
那如果是它
我们通过一定的软件算法去检测防护通道
如果是它变化比较大的话
那么我们可以认为它是有水
或者是有手放上去
有误触发
就可以给你一个防止误触发的处理了
它的这个阈值可以设置的
可以动态的调整
那可以设的很高或者很低
这都是可以设置的
那它这个叫防护通道呢
它也是直接接到我们的芯片的 IO 上面去
也是作为一个触摸按键来存在的
因为它的面积比较大
所以说它能感测这个容量什么的
灵敏度也是相比其它的要高一些
对于这种噪声的一些抑制
或是过一些安规的一些测试的话
那我们也提供了很多的方法
第一就是前面介绍的就是
有那个跳频的 oslator
它是提供了四个频率
从16M到11.2M的一个频率出来
那用这四个频率
同时去采样这个电容的一个变化
如果是四个同时有按键的话
有按键反应的话
那我认为是一次正确的触发
另外就是扩频这种技术的话
有助于降低这个往外辐射能量的一个幅值
另外从软件上来说
我们也提供了一些滤波的一些算法
比如像这种触摸按键的一些采样的话
那进行一个很好的一个滤波效果
另外针对这种长期
比如说
我的产品会工作5年10年
或随着环境它会发生一些材质的一些变化的话
那我又是有一些长期的动态阈值调整
也会随着温度啊
或是随着湿度我们材质会发生变化
所以这个动态调整的时间的话
都是在程序里面可以设置
那这个图就是
这两个图就是我们做的一个实验了
就是当做的一个注入电流的一个实验
我是在电源上打入了一个3V这个信号上去
那像这种自感的方式
它采样出的结果是这样的
那实际的信号是这样的
那我最终通过我的一些处理
或者是一些算法处理以后呢
那蓝色这个就是我滤除后的一个基础值
那我们可以看到它这个值还是比较平稳的
有效的将我们的干扰信号给滤除掉
然后你可以看出在这个
在打入这个干扰的时候呢
这个阈值也是随着发生了一些变化
这个绿色这条线呢就是我们阈值
还有发生了一些变化
那由于 delta 值就变化比较大
所以说呢它会认为它是一次有效的一次按键
然后另外呢针对这种
IEC61000的一些
常用的一些测试的话
那我们也是有一颗板子针对这种测试
已经拿到了一些相应的一些认证
我们也知道就是很多时候呢就是
基本上所有的产品都是要经过这个认证的
我们针对这种
从硬件上我们会在意
触摸按键这些外围的这些外设啊
或者是一些模块
我们进行了一些优化
比如说跳频就是
另外就是有一些交流信号的
我们会检测它的过零点
在过零点的时候有个同步信号发出来
通过检测这个同步信号得到以后我们开始检测
那会把
会有效的避开交流信号幅值比较高的地方
这个也是在我们的硅片上完全能实现的
另外就是从软件上来说呢
我们有这个过采样
包括就是抗误触发
然后就是 AC 噪音的滤除的一些软件算法
去实现这种误触发的检测
然后从系统来说呢
我们也提供了很好的一个参考设计
去满足一些 EMC 的一些规则
针对这种液体倒到
我们触摸按板上的一个误触发的一个检测
我们是
就是前面介绍到的有这个防护通道的一个设置
然后来实现这种误触发的检测
另外就是针对这种 EMI 的问题的话
我们会有这种跳频
就是扩频的这个 oslator
然后可以有效的将这个辐射出去的频率
辐射出去的能量减少
这个模块就是针对这种 EMC 或 EMI 的
一些防护或者是保护的一些
一个模块了
就是这个跳频这个模块
还有扩频的 oslator
那通过这个 oslator 的引入呢
还是会把这个辐射频率
给扩散到这个频点周围去
那除此之外呢
我们这个系统也是支持金属触摸的效果
因为我们对于这个
电容检测的一个分辨率是比较高的
所以说
如果是你在金属板
跟我的 sensor 之间形成的电容效应
它也是可以检测出来的
所以说
后面会有详细介绍这个金属触摸的一个原理
另外就是针对这个
我们可以支持自电容检测和互电容检测的
它可以支持多达64个按键
这个3D手势识别前面都介绍了都
另外就接近感应都是可以支持
我们其实是针对这个基于我们
大家拿到的一个板子
它是有一个金属触摸的参考设计
上面有8个按键
那从结构上来说的话
我们这个金属触摸的结构呢主要分这五层
第一上面就是我的金属层
然后金属层跟我的 PCB 之间呢
会有一个介质层
就是用于把这个金属层和 PCB 板
进行绝缘的这么个层
正是因为这个介质层的存在呢
让这个上面这个金属板
跟我的 PCB 上的 sensor 之间呢
可以形成一个电容效应
然后再下边呢就是我的这个底板上
其实在我们的实际产品中
这下边这两个底板是可有可无的
那它是形成一个让 PCB 板
跟底下这个固定的板子粘合的这么两层
那从这种简化结构上来说的话
其实起作用的主要这三层
第一就是我的金属板还有介质层
然后介质层跟金属板还有 PCB 之间呢
会有一个就是叫空气层也好
或者是叫绝缘层也好
然后呢 PCB 板上面有个 sensor
然后 sensor 跟金属层之间呢
会有个电容效应存在
如果是当我的手摁到这个金属板子之后
因为金属板会有一定的
金属上会有一定的形变
所以说形变它会有一个
delta 的电容的一个变化
那我可以通过检测 delta 电容的一个变化
来实现一个触摸按键的一个检测
那在我们最新的参考设计上边呢
它可以实现一个手指摁压力度的一个检测
那因为我
大家都知道根据我力度的一个变化
那这个 delta 值其实变化是很明显的
也是随着变化的
那它是通过这个基础值
然后也可以把手指摁下去这个力度来检测出来
这是更详细的一个介绍
那我们知道就是
这个就是我们通常电容的一个表达有个公式呢
就是这个公式
那最主要的就是
我们知道比较重要的一个量就是 d
就是我的上面这金属层跟我下面这个
sensor 层之间的一个距离
当我的手摁下去以后
那它这个距离其实是发生变化的
那发生变化以后
其实我的电容值相应的也发生变化
那距离越近那个电容值会越大
就是通过这个公式
那也可以直观的知道它大概的原理了
那下面介绍一下低功耗的性能
那它首先它从分两个方面
第一呢就是 MCU 本身的这么一个
因为我们是基于 FRAM 的这个 MCU
它的每兆赫兹的功耗大概只有一百个微安左右
那会比这个 flash 版本的会低一半
那基于这个 FRAM 的 MCU 的话
我们可以实现每个按键是
大概是0.9个微安的一个电流消耗
那它的测试前提是扫描四个按键
那如果是我们使用单节电池供电的话
能够持续工作15年
另外呢就是我们铁电本身的一些优点就是
保证了这个功耗是比较低的
那整个电容触摸的这个检测
以及数据处理是不需要 MCU 干预的
那这个左边的流程图呢
也大概给大家介绍一个
然后首先 MCU 上电以后
它会把将这些按键进行一个初始化
包括我们通道啊
包括我们的 timer 的一个初始化
初始化完了以后
那我的 MCU 就处于休眠模式
整个这个 CapTIvate 这个模块呢
会自己会进行一个定期的会进行一个检测
检测的比如说我的阈值
检测到阈值 基础值呢已经超出了我的阈值了
那我会触发一个中断
将 MCU 唤醒
那大部分时间呢
MCU 就处于一个休眠模式
那这个模块是自己来工作的
这个唤醒这个机制呢主要是由
这个状态机的这么个逻辑来实现的
另外呢
像很多应用中
就是如果是你想实现这种低功耗的效果的话
也可以跟我们的一些无线的产品相配合
比如这个应用就是一个电子门锁的一个应用
那它是基于我们 FR26x
配合我们的一些 WIFI 啊
或者是 1GHz 以下或 BLE
将我的数据给发出去
然后按键的话
它可以采用这种塑料健或者金属按健
直接接到 MCU 上面去
然后外设的话可以加一些 NFC RFID
或者说指纹识别
然后最终呢是通过一个低功耗的马达驱动芯片
去驱动我的马达进行开门或者关门
那工具的话前面介绍的就是我们有这个
CapTIvate Design Center 这个工具
就是在第一代的
基于 GR 系列的那个电容触摸开发的话
那我们是缺少这个工具的
那对于有些阈值的设定啊
我们很多时候都是通过
我们开发工具 IAR 或 CCS 去检测这个
变量的一个变化来实现的
那在最新的这个呢
我们会提供一整套的这个
从按键设计到代码生成一整套的这么一个工具
大大简化了电容触摸的开发的难度
主要分几步来
第一步就是将我的按键通过控件的拖拉
放到我的窗口里面来
然后呢根据我的 PCB
或者我原理图通往的一个设置
然后将我的 MCU 的管脚
跟铜皮之间进行一个连接的一个配置
连接配置完了以后
我会有一个实时的一个 tunin 这么一个界面
那我会实时的看到我当前的检测的基础值
然后就是 delta 值都可以实时检测到
检测到了以后
那我可以就是通过生成代码这个按键
然后可以生成可以支持 CCS
或是支持 IER 的这个工程代码出来
那最后呢通过在 CCS 或 IER里面
将我生成的工程导入到 IDE 里面去
然后进行进一步的开发
整个流程都是还是比较简单的
然后也是支持按键滑条滚轮接近感应
这些 sensor 都是支持的
除此之外呢
针对有一些这些抗干扰啊
或者是一些软件算法在里面都是可以
都是集成的
都可以实时的来调整
另外呢
这个就是我们主要的一个软件开发的框图了
大部分的电容触摸的 API
都是集成在 ROM 里面去的
那我们通过一些回掉函数
去在我们应用程序中
去调用这些相应的 API 函数
然后去控制我们底层的外设
因为我们片上集成的16K的 ROM
所以说这个包括像 Driver-Lib 啊
或者是 CapTIvate 这个库
都是放在 ROM 里面的
都是放在 ROM 里面的
另外 BSL 也是放在 ROM 里面的
所以说你需要做的就是将你的这个通信程序
或者是软件初始化的一个程序
放在你的 FRAM 里面去
那还有很多的这个
大量的代码空间可以被你的系统来用
你可以放一个无线
或者是放一些其它的特殊的处理在里面
硬件开发工具的话那主要就是
大家拿到的一个板子叫
MSP CapTLvate FR2633
它是基于我们的 FR2633 MCU
做的这么一个开发工具
然后支持六个
上面里面有六个板子
支持多种的这种触摸按键
比如像这个滚轮滑条按键
然后另外就是一些接近感应它都是
能够很好的来评估的
如果是大家是对这个金属触摸有兴趣的话
那我们也是有金属触摸的一个板子
也可以接到这上面去
然后做金属触摸的一个评估
然后还有就是很多时候呢
我们在做按键设计的时候
可能说它需要一个反馈
那用来告知你有没有按键按下去
需要有这种金属
需要有这种按键的一个反馈出来
那我们也是后面会有
基于我们 haptic 的一个开发工具
它是基于线性马达驱动
叫 DRV2605L 这么一个开发工具
如果是按键手按上去以后
它会有一个振动效果出来
或者有一些呼吸灯的效果出来
上午我们同事也介绍说
这个最新的这个 MSP430
它都是有一些库函数支持的
那我们可以通过在我们的 MSPWare 里头
找到这些相应的一些库函数的支持
包括像很多外设都是有一些参考例程出来的
大家记住这些参考例程
就可以很快的完成触摸按键以外的
这些外设的一些使用
那下面我们来做第二个实验就是
就是我们这个 BSWP 的一个板子
然后可以通过这个 design center
去拖拉控件然后生成代码
然后最终在我们 CCS 里面
把程序下载到我们的芯片里面去
了解整个开发的一个过程
大家可以打开我们就是发给大家资料里面
有个 Lbs
然后有个 Lab_2
Lab_2 是介绍了整个实验的一个流程
那我们一步一步来
第一步呢就是先生成一个新的设计
那它的主要的步骤就是
首先在我们 CCS 里边
或者说单独的这个 design center
这个工具栏打开以后
然后创建一个新的工程
然后将我们的 MCU 拖到这个设计窗口来
然后对 MCU 进行配置
配置完了以后将控件拖进来
然后最后呢
将我的每一个控件的一些按键
跟我的 MCU 相对应起来
对应起来以后
然后最终生成可执行的代码
然后将可执行的代码然后进行保存
这是第一步
我们先做第一步吧
步骤的话就按这个 Lab_2 来进行就可以了
视频报错
手机看
扫码用手机观看
收藏本课程
视频简介
CapTIvate™:引爆触摸新体验.2
所属课程:CapTIvate™:引爆触摸新体验_2016 TI 嵌入式产品研讨会实录
发布时间:2016.08.30
视频集数:4
本节视频时长:00:50:00
MSP CapTIvate 总览,什么是Cap Touch等。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>