- 本课程为精品课,您可以登录eeworld继续观看:
- WCS (4.1b) CC13xx Proprietary Mode (2)
- 登录
- 课程目录
- 相关资源
- 课程笔记
私有模式就是我们的 就是我们有 TI 的有
因为有很多那个通讯的一些东西嘛
一些无线的一些产品
通讯的一些协议什么什么的
比如说像 BLE 那个802.15.4
什么 ZigBee 上面这些东西
还有就是一些私有的东西
那这个怎么说 在我们的13和26的那个架构里面
我们就是说都是可以支持这些东西
就是说对 M0 来讲 它是完全是 就是说是那个对它来讲
是一些射频的工作对吧
你上面一些跑一些不同的协议它不管
你只要把它配置成在哪个频段工作哪种模式去工作
然后上面就跑相应的协议就可以所以三方里面很多
都是一些私有的一些东西嘛对吧
有可能会跑6LoWPAN 其实就是这么一种架构
那边它是 那我们的底下的那个 M0
它是完全就是说支持这些模式 就很简单
然后这是我们13支持的所有的那个调试方式
有这么多
速度是可以从4.8到500 kbps
然后这是我们的那个带宽范围45K到4240K
4.2兆 4兆最大 然后那个Preamble
就是说你可以就前导码可以长度是可以自己那个设置的
然后那个同步字 0-64 bits
都是有一些特色 这个没有什么特别的其实
那就是可能早上也有人问过就是刚才就是我们
原来比如说我在用那个老的1101 1120 1200
这些东西做那个开发的时候已经有一些产品了
那我这个新的东西导入进去
它们会还会兼容 所以我们这边13的话
它是说是完全向下兼容 就是老我们老的这些产品
所以就被大家如果在11老的平台基础上
开发新的应用
其实来讲的话也不是不需要付出很多的
那个就是说代价嘛主要是向原来兼容的
TI 目前就是已经有的就是我们有 Smart RF06板子
看上去很像那个26的其实确实很像就长得是一样的
然后还有那个1310的那个 EVM 板
它们基本上是一样的
那唯一的特点不同的地方可能是说
天线可能有点不太一样 和2.4G
这上面它画对
就是大概这个样子 拿到的时候你可以看一下
就是应该有不同的天线设计跟 2.4G 是不一样
如果拿到跟2650 就是 BLE 一样的那个板子
那就说明 TI 给你们发错板子了
然后那个价格是跟那个一样的 也是299
因为可能底板比较贵吧
这个都是说 TI 官网上可以申请到
我们有1350 SensorTag
就是将来 1350 这一颗料
它同时支持就是说有 BLE 的功能
然后也有那个 Sub-1G 的东西
然后你可以就是说那 Sub-1G 的东西
你就不能直接用手机去看了 你跟另外的接收
然后可能另外一块 Sub-1G 的板接收之后
你用屏幕再看看它上面一些传感器的信息
然后它里面天线就我前面讲过
它会有两根天线 然后做 Switch
那个还有我们会有1310 1350的Launch Pad
就是那个火箭版的 所谓的发射板
它会有那个也会有 接下来会有那个量产
所以现在有的是这块 大家可以有兴趣去
如果要做的话就可以这个开始
我个人要推荐这种
因为为什么 因为它的 IO 接口比较全
这个就是跟早上类似的就是跟我讲26的时候也讲过
就是26的那个功耗嘛对吧 13也是一样的
因为架构是一样的 M3 M0
然后它也有 Standby Current
一样的就是0.65 uA
然后它 M3 在工作的时候是多少每兆
在48 MHz下面是多少
需要消耗多少电流全速跑的时候对吧
然后射频这边由于它那个发射功率不太一样
所以那个它的发射的时候稍微高一点
其它地方都是一样
就是那个13的那个可以看到
软件架构
TI也会提供相应的就是13xx 的 SDK
那么跟那个26不太一样 CCS IAR 看的都眼熟
然后也是一样 两个 会有两个工程
有 Application 有一个 Stack
这个Stack 你可以跑不同的 Stack
比如说你没关系 你可以私有的那个东西
当然也有 BLE BLE 的东西可以 然后上面可以跑
或者是 6LoWPAN 的Stack 对吧
然后那个 Application 就是你自己定义的一些东西
自己的这些应用什么传感器 怎么传数据什么这些
这都跟26的都是一样的 下面也是Lower Layers
RTOS 的 kernel RF的那个一些驱动
还是在那个 M3 的 Driver 里面 M3 的 ROM 里面
然后那个 RF 的实际操作的一些东西呢
是在 M0 里面是这样
这是 TI-RTOS
TI-RTOS呢 就是说在那个26 13
包括一会儿我们那个(人名)会讲
32里面 它其实都是有 都是存在的
以后 TI 的出来的无线产品里面都是带着 TI-RTOS
所以如果比如说你原来做过那个做了一个 CC26xx的
像我就是做 CC2640 做过比较熟的
然后我这个时候我再去做那个13
可能对我来讲很多接口都长得一样
特别是那些驱动的什么 UART SPI PWM
这些乱七八糟这些外设的东西
驱动一看 就是说接口跟原来一模一样的
包括整个
因为 RTOS 它运行的整个机制什么都是一样
所以如果你玩过其中一个的话 就玩其它的
就是你可能想玩了 BLE 以后
你又想去搞一下那个什么 Sub-1G
接了又想去玩下WiFi 3200
可能就会觉得很容易很方便
因为 TI 都是以 RTOS 的方式
提供一些开发软件接口 那这边也不多讲
反正就是一般的 RTOS 它都是有优先级抢断
多线程的一些东西 然后有我们有 Scheduler
就是那个 Task 的调度机制
还有那个你可以有那个 kernel
就说我们甚至你可以裁减kernel
就是说 因为 TI-RTOS 它其实
它比一般的可能很多人用过 CE
那个东西要大一些
但是说功能更全一点 就说因为我们
因为我们就说 RTOS 会不停的更新
会有一些变化或怎么样 对吧
你们如果可以根据那个我们的那个更新之后
每次你可以重新安装然后可以看到它里面文档
什么东西加了什么减什么 修理什么bug
所以那 Zero-latency interrupts
就是那个 这其实也没有什么
我觉得这些东西都没有 本质上都没有什么特别
就是 RTOS 它当然会有一些中断处理
但因为大家都知道 有那个 RTOS 它无非就是调度 任务分配
然后那个各种切换 上下文切换 然后加那个
加一些什么 Timer 什么这些东西在里面
那这些都是其实都是 RTOS 的本质属性
所以我也在这里多说了
我想说的就是说是我们的那个这边 好
这两块是比较特殊的 就是因为针对我们TI的cc26 13
或者是那个3200的那个硬件
我们上面有很多外设嘛对吧
一般情况下大家拿到芯片之后 就是就拿到一颗芯片
比如说唉我用了其它的那个
自己原来有的 比如说Free RTOS
或者corse这些东西(9:08)
然后后来移到我们的
比如说移到自己的 MCU 上面
然后发现唉它可能不支持所有的 MCU 的一些驱动
它不可能支持那么多 每家都不一样
所以它就你就得
如果你要去调这些什么 GPIO 的驱动
或者UART SPI这个东西的时候
那你可能得又要去配寄存器什么什么
跟它那个 跟你的那个 MCU 的 Guide 的对吧
那个 Datasheet或者是那个 RTM 来
RTM 来 那 TI 做的是什么东西呢
就是我们在 RTOS 上面
因为这些芯片都是我们自己的 对吧
RTOS 也是我们自己
然后它会把所有的驱动都封装成 API
然后提 就是说提供出来 就比如说UART
等于叫 open 然后Read Write 这样就可以了
不要再定义寄存器 一开始就什么都不需要
可能就感觉有点像 Windows 编程那种
包括那个刚刚前面提过那个射频的一些
私有的一些指令
什么都是以 API 的形式在我们 TI-RTOS 里面
所以这个是比较方便很友好的界面
另外一点就是我们有那个 Power Management在里面
就是那个 TI-RTOS 里面
这个就是说是 因为是低功耗射频设备设备
所以这个东西尤其重要 在那个我们的那个
在我们的整个那个系统里面
所以大家有兴趣 就是这个可以去看一下
就是我们是怎么
因为我们有不同的那个 Power Mode
在不同 Power Mode 下面
我们这个 RTOS 它会自动
因为 RTOS 一直在运行 它会自动去切换
就是说打开关闭哪些外设 就是你可以预先设置
就是说你需要在某个模式下面
哪些外设还是工作的 哪些外设就不需要了对吧
然后你设置好之后
这个 RTOS 它会Power Management
它会自动帮你 那个在你运行过程中
就是到不同模块模式切换的时候
它就会进入不同的这种功耗模式
打开关闭某些设备外设什么这些东西
然后 CCS 里面我们提供了一个叫 System analyzer
其实也是 RTOS 的
要结合 TI- RTOS 可以看到的就说是这个比较重要
就也比较蛮好玩的就是你可以看相当于一个
你比如说你内存用了多少对某一个 Task 用多少
最峰值的时候用多少内存 平均用多少内存
什么类似这种东西可以去看一下 CCS 里面
TI 提供的工具 首先是我们 SmartRF Studio
这是一个 其实是一个通用的工具
它用 Sub-1G 上面可以用
然后用我们的那个 ZigBee BLE 都是可以用得上
然后跟原来的那个 SmartRF Studio 一样
现在是7 以前有6什么的一样
它就是说是它能有产生
那个能产生相关的那个 Code 的
你可以直接导到你工程里面去
然后就可以在那边配一下一些命令
这些以前是寄存器对吧
现在应该都是那个这些这个命令
就是 API 这么很简单很直观的设置频率
什么是 TX 模式 然后那个就是说
那个开始接收发送 这些东西都是在这边 很简单
那就是说这就是你设置好之后
它产生出了那个代码
也可以把它打到你们那个工程里面去
它会有 SmartRFstudio.c 文件
SmartRFstudio.h 很简单 Sensor Controller
跟那个26xx里面是一样的我们有 2K 的 SRAM
就是说它自己跑的 然后那个前面提到过的
8.2 uA/MHz 的那个运行 可以
就是可以32kHz 24MHz里面运行
它说是32kHz的话 效率比较低
因为我们的这个一般低功耗
低功耗射频设备里面都会有两个晶振对吧
一个32kHz的一个24MHz
32K就是RTC 24MHz的话
就是我们这个 Sensor Controller
它最好是在目前来看
是在24MHz下面运行的话是比较最好的
因为它效率高
然后很少时间就执行完了之后
就是那个功耗相对来说比较低
然后它可以进入这个睡眠模式
这样然后把其它事情丢给那个 M3 去处理
那效率会高 所以我们有一些
就是你下载完 Sensor Controller Studio这个工具之后呢
然后你打开 然后我们里面就有一些现成的一些
那个实例代码在那边
就说有 Motion Detector
就是你那个移动的
那个然后有那个 Capacitive touch的
那个我们忘了说
就是我们的那个2613都支持 Capacitive touch
那个代码 还有Proximity Sensor 还有什么加速器
还有那个 ADC 采集的一个数据
还有就是那个 Pulse counting
就是那个脉冲计数的实际代码
就其实都是很多都是跟 Sensor 是有关的
基本上都是跟Sensor有关的 应该
就在打开这个Sensor Controller Studio
你可以把这些实例工程导进去
然后看看其实就很简单
就一个开始设置 然后执行 然后结束了
就分这三段 我在这里不多不仔细讲
反正就你们看一下工程就知道了
然后就是它那个界面可以看到
你可以就是 open existing project
打开之后对吧 然后就可以看一下里面的一些东西
这是一个 Example 我们有的这些
就说 Capacitive touch ADC 采集这些在这边
那就说 TI 的13xx系列呢
就是还导入了一个叫做 Command Chaining的一个概念
这是什么东西呢 就原来我们的
像老的一些1110这些东西里面是没有这个东西的
这是干嘛呢 就是说是原来的话你可能要接收
要发送你的一个就是说去配那些那个命令
等待什么 到时候比方这个我们是一个就是命令链
我们叫做 所以叫做就是说你可以比如说每一个动作
比如说你设置频率 然后 RX 然后再等等什么什么
就你可以把这些命令
我们13xx它就提供了接口 可以 就是软件接口
就可以让你把这些命令串起来 就一个连一个
一个连一个 你可以 所以它可以让它去自动执行嘛
你就是设置完那个 frequence 之后
你就可以直接它会自动的
比如说你设计一个Timer 或者 Counter
然后什么时候进入 RX 它就把那个窗口打开
就等到那个对方数据过来 然后就相当于就是说
这个怎么说呢 在我的理解来看
就是说这样的话 就是说你类似于可以
像蓝牙一样定义自己的一个 Profile
相当于你可以定义一个
整个完整的就是两边的一个交互的数据流程
或者怎么样 对吧设置完之后
然后让 M3 去执行就可以了
就很简单去控制它怎么怎么样执行
所以这个的话 我们有一个就是等会儿
我可以给大家看 就是那个等会就会有一个slice
这边讲到这个 我们这个 command 的一个结构
一个结构里面它有一个比较重要的
就是一个 Next command pointer
就是就是连起整个就命令链的一个关键
就是你的这条命令 我里面有一个 pointer
是指向下一条命令的那个地址的是这样
然后会不会有一些 实际的例子可以给大家看
然后Start triggers 就是怎么样Start
你要 Delay execution呢
就是说 还是说是 就是还是就 Delay
相当于你用内部的一个 Timer
这种过一会去执行呢 还是说是外部的一个
比如说是 IO 触发它 开始执行整条命令
不是 执行一遍 也一样的 还有一个 End trigger
就是说你命令开始到整条命令链结束完
它是有一个 Time out 呢
还是说是有一个也是外部的一个可能
就是说事件触发里面 我不要说了
停止接收或停止发送这样一个东西
所以可以看 就是说接着往下看
就是这是个命令的一个架构
很重要的就是 Specific Data 就是命令的
这个命令的数据 这上面是命令的 Header
就是那个头 我们所有的那个刚才讲到了
什么 pointer 什么乱七八糟
都在这个头里面 就是头的那个情况
Command number ID number Status 就是其他的一些状态
关键就是说这个就是 pNextOp
这点 这个就是说是下一个要执行的指令
把它地址它放到这边 然后那个 Start Timer
就是那个什么时候去执行这个命令
然后 trigger 比如说它有各种trigger的
现在有TRIG_NOW NEVER ABSTIME
就是说跟前面那个设定是有关的
Absolute time 还是 relative time
它相对时间还是这种绝对时间
就是那个CPU系统里面的那些东西都
都可以这样跟着它去设
然后 condition 就说是就是那个状态嘛对吧
就是说你下一个指令
你是说是永远不执行或者说有
还是执行还是怎么样对吧
还是说在某一个状态下
它就停止命令这种 那具体的例子呢
其实这样的话就比较直观
首先就是说我们配置一个在那个 RX的一条指令
这是第一条命令 我们要执行那个命令
就是被 trigger 的命令
然后第二条命令就是 TX 命令
这是我们干嘛用呢
就是我们我们订一个类似于
比如私有的握手的一个协议
就是我发 就是私有握手协议
就是我先收一个数据 然后收一个收一包数据
然后再告诉对方 我就是收到这个数据
就是所以我先 RX 一下 然后再 TX 一下对吧
然后你可以就是然后把两头命令串起来
就是用那个pointer 然后那个我这边收到了
唉我觉得 RX 我觉得数据处理OK了
我就自动的发一个 TX 出去 中间可以判断
这个也是一样的 相对来的 就是说那个 TX
就是另外一端 我先发送 发送完了之后
我在这边启动一个 Timer 等嘛对吧
然后等 然后这都是 M0 里面的处理
M3 发给 M0 的那个事件那个命令
就是 M3比如发给 M0 TX 完了之后
M3 就睡觉了 然后 M0它就直接执行下面的东西
它就等着那个 RX
RX收到数据之后它判断如果是正确的
它可能就是有事情要处理 它可以把 M3唤醒
如果不对它可以回到 TX 重发
就是完全你们自己就是可以定义的
那种相当于把这个下条指令之前的 Timer错过去了
可以那个自己定义的一个就是命令链
那这就是 Retry Counter 什么意思呢
就是前面的我们再加一步 就是说你不能总是
我没收到对方的 ack 可我在不停的重发
不停重发这种对吧 那我可以加个 Counter
那就我重发或者等待对方接收几次以后
我这我就停止
认为这个包是丢了或错了或怎么样对吧
所以一样的先 TX TX 完了之后
它指向下一条命令就是等待 RX
如果 Timer Out之后我就开始Count记一次
然后重新来 TX 再等 RX然后又没收到
然后再 count
到了一定次数之后我就停掉了
我就认为这个就不对了对吧
就是这样很简单 那就是这个就是另外一种情况
就是当然刚才我们说的可能 就是说是我没有设置
只设置了一个频段对吧 我们有多种频段
因为这完全是就是可以自己配置
你可以在一个频段上先设置
然后接收完 然后再设置另外一个可以呢再发送
这样都是命令链这样下去
你就先设置好 然后丢给 M0去处理
然后它收到了正确的 ack 之后再唤醒 M3
这样就是说达到我们这种低功耗的目的
不停的可以循环
你也可以这样执行完一次就结束了
其实就相当于我们
你可以想象就是因为我们 BLE 里面
BLE 里面就是跳频了嘛对吧
它每次发时候它接收发送完一个频段之后
它就会切换到下一个 我们有 Channel Map 对吧
我们知道下次应该跳到哪个 Channel上去
其实你也可以认为
其实 BLE 里面本质上做的是类似这种事情
当然其它 我们这边是 Sub-1G 的
就是 1GHz 以下的那个平台上面它这样做
课程介绍
共计16课时,5小时14分59秒
猜你喜欢
换一换
推荐帖子
- 晒WEBENCH设计的过程+WEBENCH指导下的高通滤波器设计(3)
- TI的webench在线设计工具针对滤波器的设计有专门一套设计流程与方法。 本帖中针对低通滤波器的设计流程做一个简单介绍。 首先从webench设计器中选择filters标签命令,选择lowpass低通滤波器,点击开始设计。如下图。 进入下图参数设计置界面。 在本步骤设置滤波器的截至频率,增益,阻止带宽频率,单双电压偏置。 后点击开始设计 进入下图中,上部分为优化调校,输入参数设计...
- 地瓜patch 模拟与混合信号
- 请问如何测量单片机的功耗
- 低功耗的产品设计。目前采用串入电流表分段测量。长期2uA。短期4.5mA。瞬间20mA. 有什么好方法能用示波器测量电流的波形来看时间算功耗呢?...
- movenight 微控制器 MCU
- 电容各种失效分析
- 陶瓷电容失效分析: 多层片状陶介电容器由陶瓷介质、端电极、金属电极三种材料构成,失效形式为金属电极和陶介之间层错,电气表现为受外力(如轻轻弯曲板子或用烙铁头碰一下)和温度冲击(如烙铁焊接)时电容时好时坏。 多层片状陶介电容器具体不良可分为:1、热击失效2、扭曲破裂失效3、原材失效三个大类 (1)热击失效模式: 热击失效的原理是:在制造多层陶瓷电容时,使用各种兼容材料会导致内部出现张力的不同...
- qwqwqw2088 模拟与混合信号
- IAR导入BLE-CC254x-1.4.0工程的问题!
- IAR导入BLE-CC254x-1.4.0工程的问题! 如图错误 然后根据网上资源,修改 Number of virtual ...
- 蓝雨夜 无线连接