首页 > 产品 > 微控制器 (MCU) > 无线 MCU > TI 无线系列深度学习 与动手实验 >

无线 MCU

最新课程

热门课程

CC1310详细介绍以及软件开发教程

最后一堂 大家都比较累了 所以大家可以放松一点 其实最后一堂的这个 Slides里面的这个内容还蛮多的 而且还是蛮复杂的一个 但是我们可以很轻松的过一下 有什么问题 我们到时候再探讨 今天这个主要的目的 就是跟大家讲一下我们这个1310 怎么用的 其实我前面 插了几个 这个画面和新的场景的东西 目前(听不清-? 需要一些时间?) (听不清-在年底?) 大家可以从TI的 官网上下载一些新的资料 嗯 这个我们目前1310呢 框架是这样的一个框架 就是说 呃上面会有这个硬件组成 中间我们的一个叫做RF Driver层 这中间在里边 OS的一个 嗯一个 OS的系统来支持整个的功耗的(听不?法)啊 调度啊 任务啊 计算量啊 诸如此类的 但是呢我们新的马上 大概2Q底 会要release的一个新的版本的 这个SDK呢就里面就不会再有 就是会有一个有OS 和没有OS两个版本的东西 因为这也是响应很多客户说 很多应用它不需要用到OS 比较简单一点 OS有可能对这个 工作式的要求高一点 因为他要理解 不仅是理解什么是OS 还要理解什么叫TI OS 这个其实是相对来说 对客户的程式开发的难度要高一点 就是接下来的这个SDK里面 有OS的 还有一个叫Non-OS 整个的这个系统就是这样 这个的话 我们这里面是讲 讲了我们OS的一些特点嘛 其实我个人觉得呢 有OS的底层更重要的是 就是你用得更加顺畅 你不用考虑这些 同步啊 (听不清) 包括一些那种 (听不清)包括像flash操作的时候 有可能要(听不清)你的任务啊 这样 因为你是单线组成的一个东西的话 就是在前端的地方 有可能 或是你需要通过一些什么(听不清)再去(听不清)在去处理 整个任务的流程就比较复杂 但是如果有用到OS的话呢 大家可以看到里面有互斥 有任务调度 来包括一些(听不清)的这些东西 都是 在底层的 (听不清)这个的 一些机制 这个的话呢就是 我们几个模块的一些分工 这些新的 大家可以看看 这个我们现在的这个 这个新的功耗非常低 原因是因为 我们不仅有低功耗的M3 这个(听不清)是比如性能来一个 这个 M0 Core 但是我们通常还有一个 叫做SCE的sensor control的单元 这个sensor control(听不清)是在独立的(听不清)像一些市场里面 (听不清)可以做一些节点的产品 节点方面的产品 就是包括 比如说什么(听不清) 像什么光啊 运动啊加速度啊 诸如此类 一些杂七杂八的数据 也可以在M3不工作的情况下的时候 可以使用它来 做 你们大家可以看一下这个 1234 大家可以看到 在这个里面 我们的波形 功耗会体现在四个步骤 这个 这四个部分大家在(听不清)非常低 大家可以看到我们对(听不清)的应用 但M3一旦工作起来 我们在这里有一个(听不清)电流的 有些人呢这个 (听不清)今年发射 发射的时候大概可以看到 这个是一个接收(听不清)发送的状态 接收发送 这个时候我们接收(听不清)可以达到5.4 发射电流(听不清)高一点 309 平时的话 如果你要做一些(听不清)4的话这里 (听不清)会有一个(听不清)的(听不清) 就是 呃 (听不清)我们1310呢 就是会要用到 一些工具配合我们的(听不清) 这样的一些应用环境 (听不清)有一个叫做smartrf的这样一个工具 这个工具呢 这工具的特点就是(听不清) 我们可以在一个图形化的界面里面 把它填好了之后呢 最终会生成一个 (听不清)在这个文件里就可以把它加入到你现有的 1310的现有的参考历程里面 直接替换掉我们工程里面已有的 这个(听不清)里边 (听不清)就是可以配置成你现有的一些无线参数 大家可以看一下它最终会生成一个像这样的(听不清) (听不清)配置好 其实你 太去关注一下它们的内容 但是如果你想自己去 非常仔细去的去 了解它 到底它是怎么配置的 我们有相关的文档和这个参考(听不清)对数的代码 代码的部分 你会看到一些 具体的操作过程 这个的话 大家在 渐渐熟练了所有的一些工具啊 就是如果要开发 CC1310的(听不清) 我们无线的一些应用的话 大家可以看到我们的SMARTRF Studio 这个其实不仅仅是针对1310的 也包括我们的蓝牙 zigbee (听不清)都是通过它来配置它的无线设定参数 这个的话呢 是这个 我们叫做 这是一个siniffer 主要是我们(听不清?104?) 或者是 蓝牙的一个(听不清)的工具 这个的话呢是flash programmer (听不清)也可以生产一个(听不清) 通过这个 (听不清)的组件 再通过这个烧录线直接进入 (听不清)就可以直接进入烧录 这样的话呢 就不需要再打开这个工程文件啊 或者通过(听不清)的方式去下载 sensor controller就是我刚才说的 我们的sensor controller那个模块 做了一个(听不清)处理器 那个它是需要另外一个编程环境来开发的 我们这里有 一个叫做sensor controller studio 这个开发环境 类似于(听不清)的开发环境 也是这种集成的 包括 (听不清) 包括(听不清) 一些最终的图形化的一些结果 目前 它的逐步完善会 会越做越好 但是 但目前看还是不够完善的 做一些简单的应用 因为它这里面 我们的sensor controller里面相当于 可以同时跑八个(听不清) 合成到一个工程里面之后 实际上 我们最终是通过 主MCU把这个它里面生成的(听不清) 拷到RAM里面去 在RAM里面去跑这个生成(听不清)的(听不清) 所以它跟MCU是不完全分开的 只是说这个加了 (听不清) 需要MCU来(听不清) 把相关的(听不清)到那里面去 这个是sensor controller的一个介绍 大家看到的 这个其实它是 呃 sensor controller 它能做些什么应用 主要是为什么呢 sensor controller 它是控制sensor 我们会有很多各式各样的sensor 都可以通过它来做 现在(听不清)开放出来 (听不清)在修理 这是sensor controller的一个界面 我们这里面会有很多个历程 怎么控制LED灯 怎么做这个touch 怎么通过(听不清)来 控制monitor(听不清)的一个 (听不清) 通过APE来 采取外来的传感器的数据 然后用信号广播 现在主要再讲一下RF Core 这是TI编程的一套逻辑 了解这套逻辑之后呢 再去自己看代码 有可能会比较清楚这套逻辑里面 就是怎么这套逻辑里面 (听不清)了以后我们的SDK的一个开发的一个包 那这个包里面 有很多针对到 今天的这个模型 大家就可以知道 到底是怎么样的一个工作原理 1310的话呢 其实它是这样的一个通讯方式 大家可以看到 我们是多核的嘛 这就是用RF的core 这边一般是一个RCU RCU会产生一个 (听不清)之后 我们可以告诉桌面 计算器的这个模块 这个我们叫做 radio doorbell radio doorbell 这个是一个 它就会告诉这个 我们发一个指令给它 它就会告诉 RF core到哪个地址里面去 读取或者主MCU 给它发的一个命令 读取了这个命令 这个命令里面会有一个结论 会有我们一定的结构 它会去解读这个结构 进而就会去执行相关的命令 所以 在这里面 就跟以前传统的我们叫做 标准的(听不清)的这种 会有很大的一个差别 (听不清)的差别是直接会控制计算器 比如(听不清) 我要去发射功率 但是那样有一个问题 就是你要对计算机的 配置这个要非常熟悉 你要跟(听不清)里面具体了解每分钟就要达到怎么样的一个效果 你也要非常清楚 我想在座的有可能 不是对这种设备非常了解的 可能在这块的配置 是有很大的一个压力的 所以 TI做了这套软件的集成呢 出发点就是希望 让更多的人能够轻易地 把这个东西使用起来 然后直接用到产品里面去 这个是一个更详细的doorbell的 一个过程 大家可以看到 这个(听不清)的话 先产生一个命令 这个主MCU把(听不清) 命令结构放到整个系统中的位置 之后 再去唤醒这个radio doorbell的command command呢之后 会通知这个 radio的CPU到这个 (听不清)总线图里面去 读取这个命令 整个的一个流程大概是这样 最后再做(听不清)的专门的应用 这个是体现了整个的流程 如果大家把这个思路也理一下的话呢 再参考我们的代码 其实 我们的那个SDK的代码是 全是开源的 就是说 (听不清)里面的集成 它是怎么去用的 所以再结合这个 你会比较容易去理解 大家可以看到 为什么我们的功耗会做到很低 因为我们的M3的时候 大部分的情况下都是在休眠的 我们发一个命令之后呢 我们通过那种doorbell 发送了那个命令之后 实际上M3就进入休眠了 这个时候我们的radio的(听不清)才会 接手这个工作 M0就会进入这个休眠 如果它需要处理的时候 比如这是个接收的状态 它会进入这个(听不清)休眠 这个时候开始接收 接收之后 在进入休眠 之后 再进入一个 持续的接收 前面的这个过程中 M3是不工作的 整个处理包接收完之后 再通过终端 唤起这个M3 然后进入到这里面 这是一个多个芯片 反复的一个交汇的过程 尽量让功耗降低到最低的状态 命令链 就是传统的这种(听不清)的芯片的话 比如你新收完了一个包 然后再希望发出去 或者是 或者是说你要先设计一个 当然 这里举个例子 就是说 就是先设置这个频率 然后进入接收 这也是一种命令面 (听不清)情况下 我们需要 多条指令进入主MCU 发一个(听不清) 但是因为现在我们(听不清)的核 所以我们可以把所有的命令 排成一个队列 之后就一次性M3 发一个命令 给这个M0 然后就进入到休眠 就会有一个 一个命令的(听不清)序列处理完了之后 才回去吧把我们的这个M3给唤醒 这样的话 就会更加的灵活 我们把它叫做命令链 而且整个的这个命令触发的过程中呢 我们的命令的结构里面 大家 可以去看一下 结构里面 有(听不清) 什么情况下出发 什么情况下出发 什么情况下结束 包括它返回的状态 呃 还有一些都会在我们的命令结构体 里面都会有一个解释 不会说我们再去看像以前(听不清)里面的那个 (听不清)器的什么(听不清) 很专业的 让你去 (听不清) modem的带宽 他们有什么相关性 这个很多东西是很难去 把它理解地非常通透的 (听不清)如何配置出来 很多的问题问题 大家可以看到 这个是我们刚才说的那个命令 就是让这个RF core去 去读的这个命令 命令的一个结构中 我们通常会有一个头部 命令的具体的数据 就是有可能是设置频率啊 也有可能是发送的命令 也有可能是接受的命令 都可以在同一个命令中提供 结构体里面 会有命令的名字 我们就是说 不同的命令会有不同的ID号 当时这个命令的状态 执行完这个命令之后 我们可以 再执行怎么样的一条命令 这就是我们所说的命令链 大家如果学过C程序的人 大家都知道 我们的编程是可以通过一个链条 可以把几个命令串在一个链条里面 甚至可以把这个命令变成一个(听不清-译码?密码?) 不停地在执行 当它发射(听不清)的情况的时候 (听不清)情况的时候 比如 我接收失败 或者说 或者是接收CIC错误 或者接收完几个包 比如我可以从那个链条中再跳出来 跳出来之后 不再执行密码的一个历程 所以这个命令里面 都可以像类似编程一样 去配置 这样的话 (听不清)很简单 这是 站在程序员的(听不清)来讲 这更像是一个编程 而不是 设计一个计算器 大家看 这是命令的一个状态 就是 我们经常不是说 接收完了之后 我们需要发送一个响应 比如 我接收完了之后 我要给人家一个响应 说明我收到了 这个时候呢 通常情况下 我们有两条指令 不管是设置成(听不清)还是说 其他的芯片都会 调整 但现在我们可以做 两条指令之后 放到 内存里面之后 通知那个receiving的芯片 告诉它 你需要把这两个指令一起处理掉 所以这个时候我们的M3会进入休眠 让(听不清)来处理相关的程序 或者整个的一个功耗 各个方面就会进一步的被控制了 这是另外的一个命令的 一个形式 就是说 先发完了再收 我先发完了一个数据之后 是吧 我再去检测我看是不是有一些 我发送完了之后 我希望别人得到的响应 我发送完了之后 我都会进入一个接收的状态 其实我也可以把它变成链式的一个状态来 进行处理 还有就是这个 这个就是更复杂的一个 三个命令串在一起的 逻辑 这个 这个发完 发完之后 我进入到接收状态 之后 我连续发了多少个命令 发完了之后 我再跳出整个的循环(听不清) 就是通过我刚才说的那个结构体 (听不清)的指针 包括(听不清)的情况下会 跳出着个指针的一个环境 一个肯定型的配置 哇 这个就更复杂了 这个是多通道跳频的一个链式的 一个就是说 这里的话 我们可以先 配置一个频率 进入到接收状态 在这个频率(不清楚)发现 (听不清) 再配置一个频率 再进入到下一个阶段呢 整个这是一个(听不清)的话 中间是不需要任何M3的干预 这样就可以非常快的 做一些快速的跳频扫频 或者是可以跳频发射信号的时候 都可以做 做一个快速的一个切换 OK 这个 大家可以看一下 这个 那个软件部分呢 或者 (听不清)的情况呢 我会讲到呢 这个现在就是因为 一个原理图的部分 大家看 通常我们(听不清) 设计是这样的 我们会(听不清)的分装 这个大家可以看到我们我们是个 balun filter 然后来添加的匹配 这个电路发射的功率大概是14个频率(听不清-8对8?) (听不清)的设计 那如果你想做433的设计 其实是一个道理 只不过 我们这个balun(听不清) 匹配不太一样 这个地方也会改一下 这个的框架大概就是这样的一个参考设计 还有就是 这里面会有几个 点 就是说 我们几个电源的一些关注点 就是 (听不清) 的时候包括我们这个 电容会摆得稍微近一点 整个对这个射频性能 都会有很大的一些影响 还有就是设计这块 哪怕有一点点的(听不清) 或者一些干扰辐射 都会对整个的这个系统 产生一个影响 所以 这些是我们设计的时候 怎么对 (听不清)我们仅有的一些 参考的一些要领 还有就是怎么就近的去 布线 这是内部的一个DCDC的方案 大家可以看到 我们有多种 这个方案 就是说 如果(听不清)内部的(听不清)的恐怕效率不够 (听不清)我要非常非常低的能耗 那么我们内部的(听不清)可能需要 (听不清)比较高的效率 效率更高 甚至到百分的九十七以上以上 (听不清)这种效率的 这种DCDC 你可以直接加到我们这个1.8V的(听不清)上面 (听不清)可以提供我们内部的这种(听不清) 这样效率会不好 1.8伏会自供 就是我们刚才说的那种 还有晶体晶振 我们会有一些参考要求的 具体的应用 就是说 如果你对 这种 首先第一点 射频的晶振肯定是 (听不清)高的 因为你这个是 (听不清) 24(听不清)868 915或者2.4G 最终都是通过这个 晶振(听不清)的 所以这个过程的话设计的(听不清) 这个性能的要求会稍微高一点 (听不清)个PBM 肯定不止 就是这个大概40个(听不清) 就OK了 这个我们一般做到(听不清) (听不清)应该更好用 所以呢 但是呢 这个 低功耗这个晶振呢 其实 也很关键 尤其是你在做低功耗的 (听不清) 就是说你 你要做这种不管是主网啊 还是做任何这种 有交互性的东西的时候时候呢 大家可以想到就是说我要 去接听的一个信号 我肯定不会是说 他什么时候发过来 天生我就知道 其实不是 这样的 我们是会有个协议说 有可能我是 (听不清)的时候 这个时候 我们发现 (听不清) 因为我们这边要接收的时候 我也会在 两秒钟 提前那么一点点 那(听不清)大家都是通过一个 (听不清)的时钟 来进行唤醒自己的 那么这个时钟 如果你是一个频率 (听不清)偏大的情况下呢 你也有可能 (听不清) 比如集成大概 100个微秒起来 我的(听不清) 当然也有可能为了防止 我错过别人发包 就是为了实现200多个(听不清) 这样的话 你的功耗肯定就会高 所以这个可能呢设计的时候 也要考虑这个这个 (听不清) 看你(听不清)的是什么样的一个网络 怎样的主网 怎么样响应的一个要求 以及对功耗有一些什么样的需求 这是一个综合的评估 但是呢 建议大家呢 稍微好一点的会更好 这样你就不用想太多 这样做出来的方案的(听不清)比较多 性价比啊 还有整个的工程施工啊(听不清) 就生产的角度来讲 都会更好的) 控制 这是我们的(听不清)接口 我们烧录整个程序的话 大概 是(听不清) 有接口 不要紧呐 就是 不是标准的(听不清) 与标准的(听不清)有些差别 (听不清)不只是维修 对 两种都支持 但是 目前来看 我们很少用完整的(听不清) 因为(听不清) 它会多出两到三个(不清楚) (听众问话-听不清)呃 坦率来讲 你如果哪怕是走完整的(听不清) 你也只能是烧录 不能调试 不是 可以说 不管是你射线的 还是这种 呃 标准的 利用我们TI内部的 这个 那个 还是跟标准的有些差别 所以你的烧录(听不清)调试的话 你可能还需要我们内部的一些应用器 因为我们是双核的嘛 我们的那些计算器会更多 比较容易看 其实说我们不容许 一些标准的(听不清)去传我们另外的(听不清) 另外的一个(听不清)的东西 所以会 屏蔽掉一些东西 这样的话 你 只能是烧录这些芯片 也就是去调试这个芯片 所以 你要调试的话 你只能用视角 但是用(听不清)中间再 经过那个转化 这个转化也会把这个(听不清)的这个调试的把他(听不清) 但是也会转换调完 这个M3 所以大概的这个思路就是这样的 所以在一种标准的(听不清)里面 只能烧录 (听不清)里面的调试 但你想调试的话呢 又想调试 又想烧录的话呢 那就只能走这种视线图 或者你是走TI提供的 JTAG的这个环路系列 就是TI的那个 大概可以看到 (听不清)调控器 它里面的内环境是TI提供的(听不清) 所以它里面有自动的(听不清) 也会用到一些 怎么说呢 一些 怎么去访问里面的一些模型 但您刚才说实际上调试的时候 就是访问这里面的一个孔 对 它特意帮你帮你屏蔽掉 就是不能访问另外一个口 到目前为止 (听不清) 所以这个是(听不清)他们做的 所以这个是不太一样的 就是尽量是希望说 那个是一个封闭的 让大家便于控制 (不清楚)那边是更调解的 那我们是数字的一个软控 数字的软控 那里面有分为三个部分的代码 一个是(听不清)的代码 一个是做(听不清)的代码 还有一个叫做 那个 (听不清)的一个代码 那个图形 (听不清)三块的话呢 其实都是用 软件来处理的 而不是硬件的一个借调 所以我们可以支持从4兆一直支持到5K甚至更低的一个频率 就是根据不同的软件 来支持不同的射频(听不清) 大家可以看到 我们这个主要有几种 应用设计的前端 不同的前端 它的(听不清)发射功率也是不太一样的 大家可以看到 (听不清)的话 就是性能最高的 不管是发射功率 还是这个接收(听不清)都是最好的 如果是外片加单桩的 这个 大家可以看到 大概是1个DB的差别 有些客户可能会想得很小的(听不清)传为(听不清) 大家可以选择 我也不需要那么远 的一个距离(听不清) 有不同的东西可以去选择 其实最简单的就是这种 单桩 那那么你只需要三个 这个稍微复杂一点 这四个再加一个(听不清)编制 假如我内部(听众问题-听不清) 如果用这种方式的话 它的功耗会(听不清)吗 因为你功率出不来了嘛 我知道 但是我功耗是一样的嘛 比如说我 (听不清)发给(听不清) 就是我设计的话 我(听不清) 这种会影响本质的(听不清)的嘛 不会影响 因为你功率出不来 那可能会很小 如果你叉分的话 叉分的话 你的电是两倍啊 你可能被(听不清) 发射那么多 它出不来 实际上(听不清)还是不太高 就是说它功能是一样的 只是 功能不一样 我觉得应该是不一样 为什么呢 因为你信号出来以后 比如这个像你的(听不清) 叉分 假设 (听不清) 你的叉分就相当于是6伏 是不是 你现在多了大概(听不清) 这三个(听不清) 如果你(听不清)是发不出来的 它顶住了母线 那你电压顶住了 是不是 电压顶住了 你的电压产生的整个的损耗 可能只有(听不清) 电流是出不来的 那我也试了(听不清) (听不清)的弄不到 最终是这样的一个概念 layout 会有一些注意的比如 (听不清)啊 就近啊 其实TI的(听不清) 是建议大家用我们的(听不清)框设计 包括我们的 尤其是前端怎么去走线 包括一些(听不清)器的一些摆放 包括像这种叉分的 还有包括 铺地的间距 还有这些东西 整个的 都需要有一个 因为射频的东西比较多 有可能(听不清)到传导 也可能(听不清)到辐射 尽量就是说 我们需要有一个 很好的网路给大家(听不清) 这个射频 辐射和网路的一些干扰 这个 大家就是可以看到我们的一些 摆放的位置 (听不清)在电路里面怎么排放的 (听不清) 怎么去控制一些电路 这个包括我们一些关键的电源 还有一些电路的排放 (听不清)的一些(听不清) 怎么去录 射频也是有一些讲究 通常(听不清) 在线路能走通的情况下 就可以了 所以这个还是需要 有可能你一把(听不清)能搞定 就是还是需要花点精力的 这(听不清)的这个地都是 整个跟(听不清)紧密联系在一起 (听不清)的吗 啊 (听不清)吗 这个啊 这个应该是四层的 这个是看你怎么用 如果你的板子面积大了 你是 你用两层板也可以 但是你的板面积小的话 就是(听不清)可能就不够大 就是不够大 这样的话呢 反正又是一个(听不清) 这样的情况下 因为你毕竟你不管是模块还是什么东西 或者说整个的地面面积太小 那么(听不清)电流一旦(听不清)下来 你的(听不清)就会有很大的一个影响 而且对于(听不清)面积 比如我的(听不清) (听不清) OK 我觉得没问题 如果你(听不清) (听不清)面积 我建议你用(听不清) 原因是因为 你的空间就不够大 你的那些电流它就像是一个(听不清) (听不清)一样 (听不清)很重要 总结来说 就是 我们这个 非常容易使用 因为我们有标准的API 标准的SDK 标准的SDK 而且有很多可以参考的历程 大家都可以去下载 去看 那我们为网上也有一些培训的教程 一些视频 关于1310的资料 其实是非常非常的多 就增加了一部分的(听不清) 坦率来讲 有可能比我讲得更好 但是唯一的差别就是我讲的中文 他们讲的是英文 所以这也是为什么 他们会 (听不清)跟大家去讲课 (听不清)要做网络的培训呢 所以 OK 基本上差不多就这么些吧 谢谢

最后一堂 大家都比较累了

所以大家可以放松一点

其实最后一堂的这个 Slides里面的这个内容还蛮多的

而且还是蛮复杂的一个

但是我们可以很轻松的过一下

有什么问题 我们到时候再探讨

今天这个主要的目的 就是跟大家讲一下我们这个1310

怎么用的 其实我前面 插了几个 这个画面和新的场景的东西

目前(听不清-? 需要一些时间?)

(听不清-在年底?) 大家可以从TI的 官网上下载一些新的资料

嗯 这个我们目前1310呢 框架是这样的一个框架

就是说 呃上面会有这个硬件组成

中间我们的一个叫做RF Driver层

这中间在里边 OS的一个 嗯一个

OS的系统来支持整个的功耗的(听不?法)啊 调度啊

任务啊 计算量啊

诸如此类的 但是呢我们新的马上 大概2Q底

会要release的一个新的版本的 这个SDK呢就里面就不会再有

就是会有一个有OS 和没有OS两个版本的东西

因为这也是响应很多客户说 很多应用它不需要用到OS

比较简单一点

OS有可能对这个 工作式的要求高一点

因为他要理解 不仅是理解什么是OS 还要理解什么叫TI OS

这个其实是相对来说 对客户的程式开发的难度要高一点

就是接下来的这个SDK里面

有OS的 还有一个叫Non-OS

整个的这个系统就是这样

这个的话 我们这里面是讲

讲了我们OS的一些特点嘛

其实我个人觉得呢 有OS的底层更重要的是

就是你用得更加顺畅 你不用考虑这些

同步啊 (听不清) 包括一些那种

(听不清)包括像flash操作的时候

有可能要(听不清)你的任务啊 这样

因为你是单线组成的一个东西的话

就是在前端的地方 有可能

或是你需要通过一些什么(听不清)再去(听不清)在去处理

整个任务的流程就比较复杂

但是如果有用到OS的话呢

大家可以看到里面有互斥 有任务调度

来包括一些(听不清)的这些东西 都是

在底层的 (听不清)这个的

一些机制

这个的话呢就是 我们几个模块的一些分工

这些新的 大家可以看看 这个我们现在的这个

这个新的功耗非常低 原因是因为

我们不仅有低功耗的M3

这个(听不清)是比如性能来一个 这个 M0 Core

但是我们通常还有一个 叫做SCE的sensor control的单元

这个sensor control(听不清)是在独立的(听不清)像一些市场里面

(听不清)可以做一些节点的产品

节点方面的产品 就是包括

比如说什么(听不清) 像什么光啊

运动啊加速度啊

诸如此类 一些杂七杂八的数据

也可以在M3不工作的情况下的时候

可以使用它来 做

你们大家可以看一下这个

1234 大家可以看到

在这个里面 我们的波形 功耗会体现在四个步骤

这个 这四个部分大家在(听不清)非常低

大家可以看到我们对(听不清)的应用

但M3一旦工作起来 我们在这里有一个(听不清)电流的

有些人呢这个 (听不清)今年发射 发射的时候大概可以看到

这个是一个接收(听不清)发送的状态

接收发送 这个时候我们接收(听不清)可以达到5.4

发射电流(听不清)高一点 309

平时的话 如果你要做一些(听不清)4的话这里

(听不清)会有一个(听不清)的(听不清)

就是 呃 (听不清)我们1310呢 就是会要用到

一些工具配合我们的(听不清)

这样的一些应用环境

(听不清)有一个叫做smartrf的这样一个工具

这个工具呢 这工具的特点就是(听不清) 我们可以在一个图形化的界面里面

把它填好了之后呢 最终会生成一个

(听不清)在这个文件里就可以把它加入到你现有的

1310的现有的参考历程里面

直接替换掉我们工程里面已有的

这个(听不清)里边

(听不清)就是可以配置成你现有的一些无线参数

大家可以看一下它最终会生成一个像这样的(听不清)

(听不清)配置好 其实你

太去关注一下它们的内容

但是如果你想自己去 非常仔细去的去 了解它 到底它是怎么配置的

我们有相关的文档和这个参考(听不清)对数的代码

代码的部分 你会看到一些

具体的操作过程

这个的话 大家在

渐渐熟练了所有的一些工具啊

就是如果要开发 CC1310的(听不清)

我们无线的一些应用的话

大家可以看到我们的SMARTRF Studio

这个其实不仅仅是针对1310的

也包括我们的蓝牙 zigbee

(听不清)都是通过它来配置它的无线设定参数

这个的话呢 是这个

我们叫做

这是一个siniffer

主要是我们(听不清?104?)

或者是 蓝牙的一个(听不清)的工具

这个的话呢是flash programmer

(听不清)也可以生产一个(听不清) 通过这个

(听不清)的组件

再通过这个烧录线直接进入

(听不清)就可以直接进入烧录 这样的话呢

就不需要再打开这个工程文件啊

或者通过(听不清)的方式去下载

sensor controller就是我刚才说的

我们的sensor controller那个模块

做了一个(听不清)处理器

那个它是需要另外一个编程环境来开发的

我们这里有 一个叫做sensor controller studio

这个开发环境

类似于(听不清)的开发环境

也是这种集成的 包括

(听不清) 包括(听不清)

一些最终的图形化的一些结果

目前 它的逐步完善会

会越做越好 但是

但目前看还是不够完善的

做一些简单的应用

因为它这里面 我们的sensor controller里面相当于

可以同时跑八个(听不清)

合成到一个工程里面之后

实际上 我们最终是通过

主MCU把这个它里面生成的(听不清)

拷到RAM里面去

在RAM里面去跑这个生成(听不清)的(听不清)

所以它跟MCU是不完全分开的

只是说这个加了 (听不清) 需要MCU来(听不清)

把相关的(听不清)到那里面去

这个是sensor controller的一个介绍

大家看到的 这个其实它是 呃

sensor controller 它能做些什么应用 主要是为什么呢

sensor controller 它是控制sensor

我们会有很多各式各样的sensor

都可以通过它来做 现在(听不清)开放出来

(听不清)在修理

这是sensor controller的一个界面

我们这里面会有很多个历程

怎么控制LED灯

怎么做这个touch 怎么通过(听不清)来

控制monitor(听不清)的一个

(听不清) 通过APE来

采取外来的传感器的数据

然后用信号广播

现在主要再讲一下RF Core

这是TI编程的一套逻辑

了解这套逻辑之后呢

再去自己看代码 有可能会比较清楚这套逻辑里面

就是怎么这套逻辑里面 (听不清)了以后我们的SDK的一个开发的一个包

那这个包里面

有很多针对到 今天的这个模型 大家就可以知道

到底是怎么样的一个工作原理

1310的话呢

其实它是这样的一个通讯方式

大家可以看到 我们是多核的嘛

这就是用RF的core

这边一般是一个RCU

RCU会产生一个

(听不清)之后 我们可以告诉桌面

计算器的这个模块 这个我们叫做

radio doorbell

radio doorbell 这个是一个 它就会告诉这个

我们发一个指令给它 它就会告诉

RF core到哪个地址里面去

读取或者主MCU

给它发的一个命令

读取了这个命令 这个命令里面会有一个结论

会有我们一定的结构

它会去解读这个结构

进而就会去执行相关的命令

所以 在这里面 就跟以前传统的我们叫做

标准的(听不清)的这种

会有很大的一个差别

(听不清)的差别是直接会控制计算器

比如(听不清)

我要去发射功率 但是那样有一个问题

就是你要对计算机的 配置这个要非常熟悉

你要跟(听不清)里面具体了解每分钟就要达到怎么样的一个效果

你也要非常清楚

我想在座的有可能

不是对这种设备非常了解的

可能在这块的配置 是有很大的一个压力的

所以 TI做了这套软件的集成呢

出发点就是希望

让更多的人能够轻易地 把这个东西使用起来

然后直接用到产品里面去

这个是一个更详细的doorbell的 一个过程 大家可以看到

这个(听不清)的话 先产生一个命令

这个主MCU把(听不清)

命令结构放到整个系统中的位置

之后 再去唤醒这个radio doorbell的command

command呢之后 会通知这个

radio的CPU到这个

(听不清)总线图里面去

读取这个命令

整个的一个流程大概是这样

最后再做(听不清)的专门的应用

这个是体现了整个的流程

如果大家把这个思路也理一下的话呢

再参考我们的代码 其实

我们的那个SDK的代码是

全是开源的 就是说

(听不清)里面的集成

它是怎么去用的

所以再结合这个

你会比较容易去理解

大家可以看到 为什么我们的功耗会做到很低

因为我们的M3的时候

大部分的情况下都是在休眠的

我们发一个命令之后呢 我们通过那种doorbell

发送了那个命令之后

实际上M3就进入休眠了

这个时候我们的radio的(听不清)才会

接手这个工作

M0就会进入这个休眠

如果它需要处理的时候

比如这是个接收的状态

它会进入这个(听不清)休眠

这个时候开始接收 接收之后

在进入休眠 之后 再进入一个

持续的接收

前面的这个过程中 M3是不工作的

整个处理包接收完之后

再通过终端 唤起这个M3

然后进入到这里面

这是一个多个芯片 反复的一个交汇的过程

尽量让功耗降低到最低的状态

命令链

就是传统的这种(听不清)的芯片的话

比如你新收完了一个包

然后再希望发出去 或者是

或者是说你要先设计一个 当然 这里举个例子 就是说

就是先设置这个频率 然后进入接收

这也是一种命令面

(听不清)情况下 我们需要

多条指令进入主MCU

发一个(听不清)

但是因为现在我们(听不清)的核

所以我们可以把所有的命令

排成一个队列

之后就一次性M3 发一个命令 给这个M0

然后就进入到休眠 就会有一个

一个命令的(听不清)序列处理完了之后

才回去吧把我们的这个M3给唤醒

这样的话 就会更加的灵活

我们把它叫做命令链

而且整个的这个命令触发的过程中呢

我们的命令的结构里面 大家

可以去看一下 结构里面

有(听不清)

什么情况下出发

什么情况下出发 什么情况下结束

包括它返回的状态

呃 还有一些都会在我们的命令结构体 里面都会有一个解释

不会说我们再去看像以前(听不清)里面的那个

(听不清)器的什么(听不清)

很专业的 让你去

(听不清) modem的带宽 他们有什么相关性

这个很多东西是很难去 把它理解地非常通透的

(听不清)如何配置出来

很多的问题问题

大家可以看到 这个是我们刚才说的那个命令

就是让这个RF core去

去读的这个命令

命令的一个结构中 我们通常会有一个头部

命令的具体的数据

就是有可能是设置频率啊

也有可能是发送的命令

也有可能是接受的命令

都可以在同一个命令中提供

结构体里面 会有命令的名字

我们就是说 不同的命令会有不同的ID号

当时这个命令的状态

执行完这个命令之后 我们可以

再执行怎么样的一条命令

这就是我们所说的命令链

大家如果学过C程序的人 大家都知道

我们的编程是可以通过一个链条

可以把几个命令串在一个链条里面

甚至可以把这个命令变成一个(听不清-译码?密码?)

不停地在执行

当它发射(听不清)的情况的时候 (听不清)情况的时候

比如 我接收失败 或者说

或者是接收CIC错误

或者接收完几个包

比如我可以从那个链条中再跳出来

跳出来之后 不再执行密码的一个历程

所以这个命令里面 都可以像类似编程一样

去配置 这样的话

(听不清)很简单 这是

站在程序员的(听不清)来讲

这更像是一个编程 而不是

设计一个计算器

大家看 这是命令的一个状态 就是

我们经常不是说

接收完了之后

我们需要发送一个响应

比如 我接收完了之后

我要给人家一个响应

说明我收到了 这个时候呢

通常情况下 我们有两条指令

不管是设置成(听不清)还是说

其他的芯片都会

调整 但现在我们可以做

两条指令之后 放到

内存里面之后

通知那个receiving的芯片 告诉它

你需要把这两个指令一起处理掉

所以这个时候我们的M3会进入休眠

让(听不清)来处理相关的程序

或者整个的一个功耗

各个方面就会进一步的被控制了

这是另外的一个命令的 一个形式 就是说

先发完了再收

我先发完了一个数据之后

是吧 我再去检测我看是不是有一些

我发送完了之后 我希望别人得到的响应

我发送完了之后 我都会进入一个接收的状态

其实我也可以把它变成链式的一个状态来

进行处理

还有就是这个

这个就是更复杂的一个 三个命令串在一起的

逻辑 这个

这个发完

发完之后 我进入到接收状态

之后 我连续发了多少个命令

发完了之后 我再跳出整个的循环(听不清)

就是通过我刚才说的那个结构体

(听不清)的指针 包括(听不清)的情况下会

跳出着个指针的一个环境

一个肯定型的配置

哇 这个就更复杂了

这个是多通道跳频的一个链式的

一个就是说 这里的话 我们可以先

配置一个频率

进入到接收状态

在这个频率(不清楚)发现

(听不清) 再配置一个频率

再进入到下一个阶段呢

整个这是一个(听不清)的话

中间是不需要任何M3的干预

这样就可以非常快的

做一些快速的跳频扫频

或者是可以跳频发射信号的时候 都可以做

做一个快速的一个切换

OK 这个 大家可以看一下

这个 那个软件部分呢 或者

(听不清)的情况呢

我会讲到呢 这个现在就是因为

一个原理图的部分

大家看 通常我们(听不清) 设计是这样的

我们会(听不清)的分装

这个大家可以看到我们我们是个

balun

filter 然后来添加的匹配

这个电路发射的功率大概是14个频率(听不清-8对8?)

(听不清)的设计

那如果你想做433的设计

其实是一个道理 只不过

我们这个balun(听不清)

匹配不太一样

这个地方也会改一下

这个的框架大概就是这样的一个参考设计

还有就是 这里面会有几个

点 就是说

我们几个电源的一些关注点 就是

(听不清) 的时候包括我们这个

电容会摆得稍微近一点

整个对这个射频性能

都会有很大的一些影响

还有就是设计这块

哪怕有一点点的(听不清)

或者一些干扰辐射

都会对整个的这个系统

产生一个影响

所以 这些是我们设计的时候 怎么对

(听不清)我们仅有的一些

参考的一些要领

还有就是怎么就近的去

布线 这是内部的一个DCDC的方案

大家可以看到 我们有多种

这个方案 就是说

如果(听不清)内部的(听不清)的恐怕效率不够

(听不清)我要非常非常低的能耗

那么我们内部的(听不清)可能需要

(听不清)比较高的效率

效率更高 甚至到百分的九十七以上以上

(听不清)这种效率的

这种DCDC

你可以直接加到我们这个1.8V的(听不清)上面

(听不清)可以提供我们内部的这种(听不清)

这样效率会不好

1.8伏会自供

就是我们刚才说的那种

还有晶体晶振

我们会有一些参考要求的

具体的应用 就是说

如果你对 这种 首先第一点 射频的晶振肯定是

(听不清)高的 因为你这个是

(听不清) 24(听不清)868

915或者2.4G

最终都是通过这个

晶振(听不清)的

所以这个过程的话设计的(听不清)

这个性能的要求会稍微高一点

(听不清)个PBM

肯定不止

就是这个大概40个(听不清)

就OK了 这个我们一般做到(听不清)

(听不清)应该更好用

所以呢 但是呢 这个

低功耗这个晶振呢 其实

也很关键

尤其是你在做低功耗的 (听不清)

就是说你 你要做这种不管是主网啊

还是做任何这种 有交互性的东西的时候时候呢

大家可以想到就是说我要

去接听的一个信号

我肯定不会是说

他什么时候发过来 天生我就知道

其实不是 这样的

我们是会有个协议说 有可能我是

(听不清)的时候

这个时候 我们发现

(听不清) 因为我们这边要接收的时候 我也会在

两秒钟 提前那么一点点

那(听不清)大家都是通过一个

(听不清)的时钟 来进行唤醒自己的

那么这个时钟 如果你是一个频率

(听不清)偏大的情况下呢

你也有可能 (听不清) 比如集成大概

100个微秒起来

我的(听不清) 当然也有可能为了防止

我错过别人发包

就是为了实现200多个(听不清)

这样的话 你的功耗肯定就会高

所以这个可能呢设计的时候 也要考虑这个这个

(听不清)

看你(听不清)的是什么样的一个网络 怎样的主网

怎么样响应的一个要求

以及对功耗有一些什么样的需求

这是一个综合的评估 但是呢

建议大家呢 稍微好一点的会更好 这样你就不用想太多

这样做出来的方案的(听不清)比较多

性价比啊 还有整个的工程施工啊(听不清)

就生产的角度来讲 都会更好的)

控制

这是我们的(听不清)接口

我们烧录整个程序的话 大概

是(听不清)

有接口 不要紧呐

就是 不是标准的(听不清)

与标准的(听不清)有些差别

(听不清)不只是维修

对 两种都支持

但是 目前来看 我们很少用完整的(听不清)

因为(听不清) 它会多出两到三个(不清楚)

(听众问话-听不清)呃 坦率来讲

你如果哪怕是走完整的(听不清)

你也只能是烧录

不能调试

不是 可以说

不管是你射线的 还是这种

呃 标准的 利用我们TI内部的

这个 那个 还是跟标准的有些差别

所以你的烧录(听不清)调试的话

你可能还需要我们内部的一些应用器

因为我们是双核的嘛

我们的那些计算器会更多

比较容易看

其实说我们不容许

一些标准的(听不清)去传我们另外的(听不清)

另外的一个(听不清)的东西 所以会

屏蔽掉一些东西

这样的话 你

只能是烧录这些芯片

也就是去调试这个芯片

所以 你要调试的话 你只能用视角

但是用(听不清)中间再

经过那个转化

这个转化也会把这个(听不清)的这个调试的把他(听不清)

但是也会转换调完

这个M3

所以大概的这个思路就是这样的

所以在一种标准的(听不清)里面 只能烧录

(听不清)里面的调试

但你想调试的话呢

又想调试 又想烧录的话呢

那就只能走这种视线图

或者你是走TI提供的

JTAG的这个环路系列

就是TI的那个 大概可以看到

(听不清)调控器

它里面的内环境是TI提供的(听不清)

所以它里面有自动的(听不清)

也会用到一些 怎么说呢 一些

怎么去访问里面的一些模型

但您刚才说实际上调试的时候

就是访问这里面的一个孔

对 它特意帮你帮你屏蔽掉

就是不能访问另外一个口

到目前为止 (听不清)

所以这个是(听不清)他们做的

所以这个是不太一样的

就是尽量是希望说

那个是一个封闭的

让大家便于控制 (不清楚)那边是更调解的

那我们是数字的一个软控

数字的软控

那里面有分为三个部分的代码 一个是(听不清)的代码

一个是做(听不清)的代码

还有一个叫做 那个

(听不清)的一个代码

那个图形

(听不清)三块的话呢 其实都是用

软件来处理的

而不是硬件的一个借调

所以我们可以支持从4兆一直支持到5K甚至更低的一个频率

就是根据不同的软件 来支持不同的射频(听不清)

大家可以看到 我们这个主要有几种

应用设计的前端

不同的前端 它的(听不清)发射功率也是不太一样的

大家可以看到 (听不清)的话

就是性能最高的

不管是发射功率

还是这个接收(听不清)都是最好的

如果是外片加单桩的 这个

大家可以看到

大概是1个DB的差别

有些客户可能会想得很小的(听不清)传为(听不清)

大家可以选择 我也不需要那么远

的一个距离(听不清)

有不同的东西可以去选择

其实最简单的就是这种

单桩 那那么你只需要三个

这个稍微复杂一点

这四个再加一个(听不清)编制

假如我内部(听众问题-听不清)

如果用这种方式的话

它的功耗会(听不清)吗

因为你功率出不来了嘛

我知道 但是我功耗是一样的嘛

比如说我 (听不清)发给(听不清)

就是我设计的话 我(听不清)

这种会影响本质的(听不清)的嘛

不会影响

因为你功率出不来 那可能会很小

如果你叉分的话

叉分的话 你的电是两倍啊

你可能被(听不清)

发射那么多 它出不来

实际上(听不清)还是不太高

就是说它功能是一样的 只是

功能不一样

我觉得应该是不一样

为什么呢 因为你信号出来以后

比如这个像你的(听不清) 叉分 假设

(听不清) 你的叉分就相当于是6伏

是不是 你现在多了大概(听不清)

这三个(听不清) 如果你(听不清)是发不出来的

它顶住了母线

那你电压顶住了 是不是

电压顶住了 你的电压产生的整个的损耗

可能只有(听不清)

电流是出不来的

那我也试了(听不清)

(听不清)的弄不到

最终是这样的一个概念

layout 会有一些注意的比如

(听不清)啊

就近啊 其实TI的(听不清)

是建议大家用我们的(听不清)框设计

包括我们的 尤其是前端怎么去走线

包括一些(听不清)器的一些摆放

包括像这种叉分的

还有包括 铺地的间距

还有这些东西

整个的 都需要有一个

因为射频的东西比较多

有可能(听不清)到传导

也可能(听不清)到辐射

尽量就是说 我们需要有一个

很好的网路给大家(听不清)

这个射频

辐射和网路的一些干扰

这个 大家就是可以看到我们的一些

摆放的位置

(听不清)在电路里面怎么排放的

(听不清) 怎么去控制一些电路

这个包括我们一些关键的电源

还有一些电路的排放

(听不清)的一些(听不清)

怎么去录

射频也是有一些讲究 通常(听不清)

在线路能走通的情况下

就可以了

所以这个还是需要

有可能你一把(听不清)能搞定

就是还是需要花点精力的

这(听不清)的这个地都是

整个跟(听不清)紧密联系在一起

(听不清)的吗

啊 (听不清)吗

这个啊

这个应该是四层的

这个是看你怎么用 如果你的板子面积大了 你是

你用两层板也可以

但是你的板面积小的话

就是(听不清)可能就不够大

就是不够大 这样的话呢

反正又是一个(听不清)

这样的情况下

因为你毕竟你不管是模块还是什么东西

或者说整个的地面面积太小

那么(听不清)电流一旦(听不清)下来

你的(听不清)就会有很大的一个影响

而且对于(听不清)面积 比如我的(听不清)

(听不清) OK 我觉得没问题

如果你(听不清)

(听不清)面积

我建议你用(听不清) 原因是因为

你的空间就不够大

你的那些电流它就像是一个(听不清)

(听不清)一样

(听不清)很重要

总结来说 就是

我们这个 非常容易使用

因为我们有标准的API 标准的SDK

标准的SDK

而且有很多可以参考的历程

大家都可以去下载 去看

那我们为网上也有一些培训的教程

一些视频

关于1310的资料

其实是非常非常的多

就增加了一部分的(听不清)

坦率来讲 有可能比我讲得更好

但是唯一的差别就是我讲的中文 他们讲的是英文

所以这也是为什么 他们会

(听不清)跟大家去讲课

(听不清)要做网络的培训呢

所以 OK

基本上差不多就这么些吧 谢谢

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

相关下载

视频简介

CC1310详细介绍以及软件开发教程

所属课程:TI 无线系列深度学习 与动手实验 发布时间:2017.12.06 视频集数:3 本节视频时长:30:16
已有20人参与了讨论去论坛跟帖交流
new
关闭广告