超低功耗传感应用:使用CC13xx / CC26xx传感器控制器
Loading the player...
将在30s后自动为您播放下一课程
你好。 欢迎来到使用CC13x2/CC26x2 传感器控制器的超低功耗传感 应用培训。 在本次培训中, 您将学习什么是传感工具, 如何使用它,以及使用哪些工具 进行开发和评估。 您将了解如何启用应用程序的 超低功耗操作。 您将看到如何实现 传感器控制器应用程序示例, 以及如何对它们进行评估。 第1部分--什么是传感器控制器? CC13x2/CC26x2设备家族 拥有一个强大的ARM Cortex-M4F 系统CPU,可以处理 半径任务的操作, 如蓝牙低功耗, [听不清]IEEE 802.15.4和专有射频。 它甚至可以同时处理多个协议, 通常,使用这类设备的应用程序 需要的不仅仅是能够执行 无线通信。 通常需要读取模拟或数字传感器, 或者需要通过有线接口 与板上的所有设备 通信。 传感器控制器是专门为 低功耗应用程序分配的, 让开发人员构建集成的 智能传感器,可以在 硬币电池上运行多年。 传感器控制器是超低功耗, 16位CPU核心优化为低功耗运行 和高效率的外围处理。 它是可编程的,允许用户 在系统的其余部分处于睡眠状态时 读取和处理数据以做出低级决策。 然后,传感器控制器可以唤醒系统 来执行计算量更大的任务, 或者用无线电发送消息。 为了节省电能, CC13x2和CC26x2设备 有一个低功耗模式, 称为待机模式。 这是一种除实时计数器外 整个系统都处于休眠状态的模式, 实时计数器正在运行, 以允许调度下一个唤醒事件。 您还保留了CPU和RAM。 这样,系统CPU就可以继续 从休眠前停止的地方运行 它的应用程序代码。 如您所见,当前消费的差异 非常显著。 虽然活动模式允许您 使用所有外围设备, 甚至可以运行收音机, 但是备用模式,在另一方面, 不允许您使用任何外围设备, 并且您不能执行任何任务。 这就是传感器控制器的作用。 传感器控制器允许您 在系统CPU休眠时 执行简单的任务。 它可以访问许多外围设备, 因此您可以读取模拟和数字信号。 例如,您可以以1赫兹运行ADC, 并且只比在备用模式下 多消耗一点。 您还可以读取SPI传感器。 您可以使用比较器读取模拟信号。 您还可以做更高级的任务, 如测量或电容触摸。 如您所见,传感器控制器 在两种模式下运行。 它有一个24兆赫的有源模式, 它也有一个新的低功耗模式, 它只运行在2兆赫。 使用这种低功耗模式, 您可以访问一个16位CPU 来执行简单的任务, 同时只消耗30微安。 传感器控制器可以访问模拟 和数字外设。 在模拟端,我们有一个 高速连续时间 比较器,我们也有一个 低功耗时钟比较器。 有一个电流源,可编程从0.25微安 到20微安。 有一个每秒200千安培的ADC 12位, 还有一个8位DAC。 所有这些外设都可以独立运行, 也可以一起用来捕获模拟信号。 例如,您可以将比较器 与DAC一起使用, 然后DAC将作为比较器的 参考电压。 在数字方面,我们有一个16位CPU 与4K超低泄漏RAM。 我们有一个脉冲计数器。 我们有一个时间到数字转换器。 我们有两个通用定时器, 一个带PWM的定时器 和四通道捕获/比较。 他们可以访问所有 设备上的引脚。 现在的新功能是 我们有一个SPI外围设备, 它是一个硬件模块,我们还有 一个新的16×16位乘和40位累加。 这意味着你可以 在传感器控制器上 做更多的计算密集型任务, 你不需要经常唤醒大脑皮层M4。 传感器控制器也支持低功耗模式。 这个模式只有2兆赫。 这意味着你不能访问 所有的外围设备。 当前源、ADC和时间到数字转换器 在此模式下不可用。 但是,您可以访问所有 其他外围设备, 并且它仍然可以运行CPU, 这意味着您仍然能够 执行简单的任务, 并且实现低功耗。 为了节省更多的电力, 许多传感器控制器外设 在待机模式下可用。 16位CPU核心没有被唤醒, 但是您可以使用任何 可用的外围设备 来唤醒传感器控制器。 例如,您可以使用 其中一个比较器跟踪模拟信号, 并使用它来触发唤醒事件。 或者您可以使用其中一个定时器 或数字引脚来触发唤醒事件。 除了前面幻灯片中提到的 外围设备, 传感器控制器还将访问 始终在线的 域系统功能。 这包括电池电机、RTC 和VDDR充值监控, 以及系统状态。 使用批处理监视器,您可以测量 和读出VDDS上的电压。 您还可以测量芯片上的温度, RTC使您能够计时测量结果, 并计算唤醒之间的时间。 VDDR充值监控和触发 使您能够重做 或使可能在VDDR充值期间 受到当前峰值干扰的测量 无效。 它还使您能够确保 VDDR充电电流峰值 不会在您的测量期间发生。 当你想读出由VDDS供电的 模拟传感器时,这是很有用的, 因为在VDDS上用VDDR[听不清] 电流尖峰充电。 第2部分--传感器控制器 应用实例。 传感器控制器可以做很多事情, 它可以做的任务,如电容触摸, 超低功耗UART,读出SPI传感器, 读取模拟传感器。 它甚至可以做流量测量, 这是一个更高级的任务。 超低功耗的UART可用于RX和TX, 但我们也支持RX模式, 您可以留在待机模式 和实现亚1微安的电流消耗。 为了评估所有这些应用, 我们有一个专门的助推器包 称为ULPSENSE。 它配有电容触控按钮、 流量计电路、 模拟光传感器、读取开关、 SPI加速度计和电位计。 它还配有传感器电源跳线, 这样你就可以断开 你不使用的传感器, 并且能够只测量你正在评估的 传感器上的电流消耗。 如前所述,我们可以实现超低功耗 流量计只使用传感器控制器。 由于传感器控制器有CPU, 您可以使用软件实现自己的 自定义流量计解决方案。 在ULPSENSE升压包上, 我们实现了一个 简单的LC流量计。 这个解决方案使用比较器A, 这是我们的连续时间比较器, 加上DAC作为参考电压, 还有脉冲计数器。 这些外围设备和外部触发电路 可以实现一个简单的 LC流量计。 LC流量计 使用并行连接的电感 和电容 创建一个LC槽。 这个槽会 在它自己的共振频率引起共鸣, 并依赖于近距离金属物体, 或反之, 振动的阻尼系数 也不同。 因此,我们可以用比较器 和脉冲计数器来测量阻尼系数。 然后我们可以用一个圆盘, 50%被金属覆盖, 50%被非金属覆盖, 然后把它放在水管里, 让水或气体流动。 当水或气体开始流动时, 圆盘就会开始旋转。 然后LC槽就可以 查看磁盘是否正在旋转 或没有。 我们可以用圆盘的旋转 来计算气体或水的流量。 另一个应用例子是电容触摸。 传感器控制器可以处理 多达八个电容式触摸头盔。 它使用内部电流源,连同 比较器和时间到数字转换器, 能够检测触摸。 它还需要一个外部电阻。 这个电阻与一个电流源一起使用, 为比较器 创建参考电压。 然后利用可编程电流源 对电容元件进行充电。 充电所需的时间由 时间-数字转换器检测, 如果你用手指按下按钮 或不按下按钮,情况会有所不同。 第3部分--开发环境。 传感器控制器工作室 是传感器控制器的 主要开发工具。 通过使用与C语言语法 类似的简单编程语言,您可以 为传感器控制器 开发自定义代码。 Sensor Controller Studio还支持 对传感器控制器代码进行调试、 运行时日志记录和任务测试。 当您的代码准备好集成到 运行在系统CPU上的 主应用程序代码中时, 可以使用Sensor Controller Studio 生成驱动程序接口, 该接口由几个ZIP文件组成, 可以导入到您的主应用程序项目, 可能是CCS或IAR。 Sensor Controller Studio也提供了 很多应用实例。 你有ADC记录器,ADC流光, ADC窗口监视器。 如果你不想使用[听不清] 并且节省更多的电力, 你可以使用参考DAC 和比较器,创建软件定义的SAR ADC。 这是一个按钮脱扣器, 电容触控,I2C读出, 这是一个逐位解决方案, 因为你没有I2C的硬件外设。 我们有LC流量计。 我们有LED闪烁和LED PWM。 我们也有UART仿真和SPI读出。 在为传感器控制器开发代码时, 必须创建分配资源、定义数据结构 和常量的任务。 任务也有几个代码块, 这些代码块将在任务运行时执行。 例如,任务可以是电容触摸, 或传感器的SPI读取, 或使用ADC 捕获模拟信号。 如果您的应用程序需要多个功能, 您可以有多个任务来满足需求, 只要它不需要相同的资源。 当您创建了一个任务时, 您需要为它分配资源。 例如,资源可以是外围设备, 可以是IO控制、电源管理、 事件触发器等等。 当为一个任务分配了资源后, 它不能被运行在传感器控制器上的 其他任务使用。 但是,您可以与主系统CPU 共享资源。 任务也需要 数据结构。 我们为传感器控制器预定义了 四种不同的数据结构。 我们有cfg、输入、输出和状态。 cfg由系统CPU在任务启动之前 设置的状态。 输入用于将数据从主CPU 传输到传感器控制器任务。 输出数据结构用于 将数据从传感器控制器 传输到系统CPU。 这个数据结构还支持多缓冲输出 数据交换,这意味着您从 系统CPU读取的数据 总是有效的。 最后,我们有一个叫做状态的 数据结构。 它可以用来实现在传感器控制器上 运行的任务中的状态机。 该任务还包含几个代码块。 它应该在这些代码块中 实现传感器控制器代码。 首先,您的应用程序将需要 一个初始化代码块。 此代码块由系统CPU 在初始化传感器控制器 任务时执行。 在这里,您可以初始化外围设备, 并计划任务的首次执行 或设置事件触发器。 然后是执行代码块 和事件代码块。 根据应用程序的不同, 主传感器控制器操作应该在 这两个代码块中实现,或者同时 在这两个代码块中实现。 当执行代码块由RTC同步触发时, 事件处理程序代码块 由事件触发。 事件可以由比较器、GPIO、 系统事件或任何定时 外围设备触发。 传感器控制器最多支持 三个事件处理程序。 最后,我们有终止代码块, 它在系统CPU停止任务时执行。 在这个代码块中,禁用任何 已启用的演示程序是很重要的。 在开发了任务之后, 可以使用运行时日志工具 验证和优化 传感器控制器任务的性能。 在此模式下,任务在物理CC13xx 或CC26xx设备上全速运行, 而系统CPU则用来 在传感器控制器Studio之间 来回传输数据结构。 所有的数据结构都可以 用绘图仪图形化地显示出来。 您还可以在运行任务时 调整参数。 如果您想深入了解 并在程序集级别调试任务, 可以使用任务测试面板。 在这里,您可以逐步完成任务的 组装代码。 在这种模式下, Sensor Controller Studio 作为一个系统CPU应用程序, 负责控制 Sensor Controller的任务。 在这种模式下, 还可以修改和监视 常量和数据结构,还可以 使用图形绘图仪绘制参数。 当您完成了传感器控制器任务, 并使用传感器控制器调试 和运行时 日志工具对其进行评估 和优化之后, 现在终于可以 将传感器控制器代码 导入到主系统应用程序项目中了。 Sensor Controller Studio 将您的项目 导出到Sensor Controller 驱动程序接口。 这个接口由六个文件组成-- 驱动程序设置、API 和操作系统抽象层。 驱动程序设置可以 将传感器控制器图像 发送到传感器控制器RAM、 数据结构定义和I/O映射中。 该API包含初始化驱动程序、 任务控制、数据交换 和取消初始化驱动程序的方法。 操作系统提取层 支持与操作系统无缝集成, 例如TIR DOS,以及电源 和时钟管理接口。 当您从Sensor Controller Studio 导出驱动程序接口时, 代码生成器 会输出一个定制的使用指南, 用于将Sensor Controller项目 集成到运行在系统CPU上的 应用程序中。 本指南解释了应该在何处 存储导出的文件, 以及如何从系统CPU 干扰传感器控制器应用程序。 现在您已经了解了 什么是传感器控制器, 以及如何使用它, 以及需要使用哪些工具 来为它开发代码。 请访问ti.com/tool/ sensor controller studio 来下载Sensor Controller Studio 并开始您自己的 超低功耗应用程序开发。 感谢收看。
你好。 欢迎来到使用CC13x2/CC26x2 传感器控制器的超低功耗传感 应用培训。 在本次培训中, 您将学习什么是传感工具, 如何使用它,以及使用哪些工具 进行开发和评估。 您将了解如何启用应用程序的 超低功耗操作。 您将看到如何实现 传感器控制器应用程序示例, 以及如何对它们进行评估。 第1部分--什么是传感器控制器? CC13x2/CC26x2设备家族 拥有一个强大的ARM Cortex-M4F 系统CPU,可以处理 半径任务的操作, 如蓝牙低功耗, [听不清]IEEE 802.15.4和专有射频。 它甚至可以同时处理多个协议, 通常,使用这类设备的应用程序 需要的不仅仅是能够执行 无线通信。 通常需要读取模拟或数字传感器, 或者需要通过有线接口 与板上的所有设备 通信。 传感器控制器是专门为 低功耗应用程序分配的, 让开发人员构建集成的 智能传感器,可以在 硬币电池上运行多年。 传感器控制器是超低功耗, 16位CPU核心优化为低功耗运行 和高效率的外围处理。 它是可编程的,允许用户 在系统的其余部分处于睡眠状态时 读取和处理数据以做出低级决策。 然后,传感器控制器可以唤醒系统 来执行计算量更大的任务, 或者用无线电发送消息。 为了节省电能, CC13x2和CC26x2设备 有一个低功耗模式, 称为待机模式。 这是一种除实时计数器外 整个系统都处于休眠状态的模式, 实时计数器正在运行, 以允许调度下一个唤醒事件。 您还保留了CPU和RAM。 这样,系统CPU就可以继续 从休眠前停止的地方运行 它的应用程序代码。 如您所见,当前消费的差异 非常显著。 虽然活动模式允许您 使用所有外围设备, 甚至可以运行收音机, 但是备用模式,在另一方面, 不允许您使用任何外围设备, 并且您不能执行任何任务。 这就是传感器控制器的作用。 传感器控制器允许您 在系统CPU休眠时 执行简单的任务。 它可以访问许多外围设备, 因此您可以读取模拟和数字信号。 例如,您可以以1赫兹运行ADC, 并且只比在备用模式下 多消耗一点。 您还可以读取SPI传感器。 您可以使用比较器读取模拟信号。 您还可以做更高级的任务, 如测量或电容触摸。 如您所见,传感器控制器 在两种模式下运行。 它有一个24兆赫的有源模式, 它也有一个新的低功耗模式, 它只运行在2兆赫。 使用这种低功耗模式, 您可以访问一个16位CPU 来执行简单的任务, 同时只消耗30微安。 传感器控制器可以访问模拟 和数字外设。 在模拟端,我们有一个 高速连续时间 比较器,我们也有一个 低功耗时钟比较器。 有一个电流源,可编程从0.25微安 到20微安。 有一个每秒200千安培的ADC 12位, 还有一个8位DAC。 所有这些外设都可以独立运行, 也可以一起用来捕获模拟信号。 例如,您可以将比较器 与DAC一起使用, 然后DAC将作为比较器的 参考电压。 在数字方面,我们有一个16位CPU 与4K超低泄漏RAM。 我们有一个脉冲计数器。 我们有一个时间到数字转换器。 我们有两个通用定时器, 一个带PWM的定时器 和四通道捕获/比较。 他们可以访问所有 设备上的引脚。 现在的新功能是 我们有一个SPI外围设备, 它是一个硬件模块,我们还有 一个新的16×16位乘和40位累加。 这意味着你可以 在传感器控制器上 做更多的计算密集型任务, 你不需要经常唤醒大脑皮层M4。 传感器控制器也支持低功耗模式。 这个模式只有2兆赫。 这意味着你不能访问 所有的外围设备。 当前源、ADC和时间到数字转换器 在此模式下不可用。 但是,您可以访问所有 其他外围设备, 并且它仍然可以运行CPU, 这意味着您仍然能够 执行简单的任务, 并且实现低功耗。 为了节省更多的电力, 许多传感器控制器外设 在待机模式下可用。 16位CPU核心没有被唤醒, 但是您可以使用任何 可用的外围设备 来唤醒传感器控制器。 例如,您可以使用 其中一个比较器跟踪模拟信号, 并使用它来触发唤醒事件。 或者您可以使用其中一个定时器 或数字引脚来触发唤醒事件。 除了前面幻灯片中提到的 外围设备, 传感器控制器还将访问 始终在线的 域系统功能。 这包括电池电机、RTC 和VDDR充值监控, 以及系统状态。 使用批处理监视器,您可以测量 和读出VDDS上的电压。 您还可以测量芯片上的温度, RTC使您能够计时测量结果, 并计算唤醒之间的时间。 VDDR充值监控和触发 使您能够重做 或使可能在VDDR充值期间 受到当前峰值干扰的测量 无效。 它还使您能够确保 VDDR充电电流峰值 不会在您的测量期间发生。 当你想读出由VDDS供电的 模拟传感器时,这是很有用的, 因为在VDDS上用VDDR[听不清] 电流尖峰充电。 第2部分--传感器控制器 应用实例。 传感器控制器可以做很多事情, 它可以做的任务,如电容触摸, 超低功耗UART,读出SPI传感器, 读取模拟传感器。 它甚至可以做流量测量, 这是一个更高级的任务。 超低功耗的UART可用于RX和TX, 但我们也支持RX模式, 您可以留在待机模式 和实现亚1微安的电流消耗。 为了评估所有这些应用, 我们有一个专门的助推器包 称为ULPSENSE。 它配有电容触控按钮、 流量计电路、 模拟光传感器、读取开关、 SPI加速度计和电位计。 它还配有传感器电源跳线, 这样你就可以断开 你不使用的传感器, 并且能够只测量你正在评估的 传感器上的电流消耗。 如前所述,我们可以实现超低功耗 流量计只使用传感器控制器。 由于传感器控制器有CPU, 您可以使用软件实现自己的 自定义流量计解决方案。 在ULPSENSE升压包上, 我们实现了一个 简单的LC流量计。 这个解决方案使用比较器A, 这是我们的连续时间比较器, 加上DAC作为参考电压, 还有脉冲计数器。 这些外围设备和外部触发电路 可以实现一个简单的 LC流量计。 LC流量计 使用并行连接的电感 和电容 创建一个LC槽。 这个槽会 在它自己的共振频率引起共鸣, 并依赖于近距离金属物体, 或反之, 振动的阻尼系数 也不同。 因此,我们可以用比较器 和脉冲计数器来测量阻尼系数。 然后我们可以用一个圆盘, 50%被金属覆盖, 50%被非金属覆盖, 然后把它放在水管里, 让水或气体流动。 当水或气体开始流动时, 圆盘就会开始旋转。 然后LC槽就可以 查看磁盘是否正在旋转 或没有。 我们可以用圆盘的旋转 来计算气体或水的流量。 另一个应用例子是电容触摸。 传感器控制器可以处理 多达八个电容式触摸头盔。 它使用内部电流源,连同 比较器和时间到数字转换器, 能够检测触摸。 它还需要一个外部电阻。 这个电阻与一个电流源一起使用, 为比较器 创建参考电压。 然后利用可编程电流源 对电容元件进行充电。 充电所需的时间由 时间-数字转换器检测, 如果你用手指按下按钮 或不按下按钮,情况会有所不同。 第3部分--开发环境。 传感器控制器工作室 是传感器控制器的 主要开发工具。 通过使用与C语言语法 类似的简单编程语言,您可以 为传感器控制器 开发自定义代码。 Sensor Controller Studio还支持 对传感器控制器代码进行调试、 运行时日志记录和任务测试。 当您的代码准备好集成到 运行在系统CPU上的 主应用程序代码中时, 可以使用Sensor Controller Studio 生成驱动程序接口, 该接口由几个ZIP文件组成, 可以导入到您的主应用程序项目, 可能是CCS或IAR。 Sensor Controller Studio也提供了 很多应用实例。 你有ADC记录器,ADC流光, ADC窗口监视器。 如果你不想使用[听不清] 并且节省更多的电力, 你可以使用参考DAC 和比较器,创建软件定义的SAR ADC。 这是一个按钮脱扣器, 电容触控,I2C读出, 这是一个逐位解决方案, 因为你没有I2C的硬件外设。 我们有LC流量计。 我们有LED闪烁和LED PWM。 我们也有UART仿真和SPI读出。 在为传感器控制器开发代码时, 必须创建分配资源、定义数据结构 和常量的任务。 任务也有几个代码块, 这些代码块将在任务运行时执行。 例如,任务可以是电容触摸, 或传感器的SPI读取, 或使用ADC 捕获模拟信号。 如果您的应用程序需要多个功能, 您可以有多个任务来满足需求, 只要它不需要相同的资源。 当您创建了一个任务时, 您需要为它分配资源。 例如,资源可以是外围设备, 可以是IO控制、电源管理、 事件触发器等等。 当为一个任务分配了资源后, 它不能被运行在传感器控制器上的 其他任务使用。 但是,您可以与主系统CPU 共享资源。 任务也需要 数据结构。 我们为传感器控制器预定义了 四种不同的数据结构。 我们有cfg、输入、输出和状态。 cfg由系统CPU在任务启动之前 设置的状态。 输入用于将数据从主CPU 传输到传感器控制器任务。 输出数据结构用于 将数据从传感器控制器 传输到系统CPU。 这个数据结构还支持多缓冲输出 数据交换,这意味着您从 系统CPU读取的数据 总是有效的。 最后,我们有一个叫做状态的 数据结构。 它可以用来实现在传感器控制器上 运行的任务中的状态机。 该任务还包含几个代码块。 它应该在这些代码块中 实现传感器控制器代码。 首先,您的应用程序将需要 一个初始化代码块。 此代码块由系统CPU 在初始化传感器控制器 任务时执行。 在这里,您可以初始化外围设备, 并计划任务的首次执行 或设置事件触发器。 然后是执行代码块 和事件代码块。 根据应用程序的不同, 主传感器控制器操作应该在 这两个代码块中实现,或者同时 在这两个代码块中实现。 当执行代码块由RTC同步触发时, 事件处理程序代码块 由事件触发。 事件可以由比较器、GPIO、 系统事件或任何定时 外围设备触发。 传感器控制器最多支持 三个事件处理程序。 最后,我们有终止代码块, 它在系统CPU停止任务时执行。 在这个代码块中,禁用任何 已启用的演示程序是很重要的。 在开发了任务之后, 可以使用运行时日志工具 验证和优化 传感器控制器任务的性能。 在此模式下,任务在物理CC13xx 或CC26xx设备上全速运行, 而系统CPU则用来 在传感器控制器Studio之间 来回传输数据结构。 所有的数据结构都可以 用绘图仪图形化地显示出来。 您还可以在运行任务时 调整参数。 如果您想深入了解 并在程序集级别调试任务, 可以使用任务测试面板。 在这里,您可以逐步完成任务的 组装代码。 在这种模式下, Sensor Controller Studio 作为一个系统CPU应用程序, 负责控制 Sensor Controller的任务。 在这种模式下, 还可以修改和监视 常量和数据结构,还可以 使用图形绘图仪绘制参数。 当您完成了传感器控制器任务, 并使用传感器控制器调试 和运行时 日志工具对其进行评估 和优化之后, 现在终于可以 将传感器控制器代码 导入到主系统应用程序项目中了。 Sensor Controller Studio 将您的项目 导出到Sensor Controller 驱动程序接口。 这个接口由六个文件组成-- 驱动程序设置、API 和操作系统抽象层。 驱动程序设置可以 将传感器控制器图像 发送到传感器控制器RAM、 数据结构定义和I/O映射中。 该API包含初始化驱动程序、 任务控制、数据交换 和取消初始化驱动程序的方法。 操作系统提取层 支持与操作系统无缝集成, 例如TIR DOS,以及电源 和时钟管理接口。 当您从Sensor Controller Studio 导出驱动程序接口时, 代码生成器 会输出一个定制的使用指南, 用于将Sensor Controller项目 集成到运行在系统CPU上的 应用程序中。 本指南解释了应该在何处 存储导出的文件, 以及如何从系统CPU 干扰传感器控制器应用程序。 现在您已经了解了 什么是传感器控制器, 以及如何使用它, 以及需要使用哪些工具 来为它开发代码。 请访问ti.com/tool/ sensor controller studio 来下载Sensor Controller Studio 并开始您自己的 超低功耗应用程序开发。 感谢收看。
你好。
欢迎来到使用CC13x2/CC26x2
传感器控制器的超低功耗传感
应用培训。
在本次培训中, 您将学习什么是传感工具,
如何使用它,以及使用哪些工具
进行开发和评估。
您将了解如何启用应用程序的
超低功耗操作。
您将看到如何实现 传感器控制器应用程序示例,
以及如何对它们进行评估。
第1部分--什么是传感器控制器?
CC13x2/CC26x2设备家族 拥有一个强大的ARM Cortex-M4F
系统CPU,可以处理
半径任务的操作, 如蓝牙低功耗,
[听不清]IEEE 802.15.4和专有射频。
它甚至可以同时处理多个协议,
通常,使用这类设备的应用程序
需要的不仅仅是能够执行
无线通信。
通常需要读取模拟或数字传感器,
或者需要通过有线接口
与板上的所有设备
通信。
传感器控制器是专门为
低功耗应用程序分配的,
让开发人员构建集成的
智能传感器,可以在 硬币电池上运行多年。
传感器控制器是超低功耗,
16位CPU核心优化为低功耗运行
和高效率的外围处理。
它是可编程的,允许用户
在系统的其余部分处于睡眠状态时
读取和处理数据以做出低级决策。
然后,传感器控制器可以唤醒系统
来执行计算量更大的任务,
或者用无线电发送消息。
为了节省电能, CC13x2和CC26x2设备
有一个低功耗模式, 称为待机模式。
这是一种除实时计数器外
整个系统都处于休眠状态的模式,
实时计数器正在运行, 以允许调度下一个唤醒事件。
您还保留了CPU和RAM。
这样,系统CPU就可以继续
从休眠前停止的地方运行
它的应用程序代码。
如您所见,当前消费的差异
非常显著。
虽然活动模式允许您 使用所有外围设备,
甚至可以运行收音机, 但是备用模式,在另一方面,
不允许您使用任何外围设备,
并且您不能执行任何任务。
这就是传感器控制器的作用。
传感器控制器允许您
在系统CPU休眠时 执行简单的任务。
它可以访问许多外围设备,
因此您可以读取模拟和数字信号。
例如,您可以以1赫兹运行ADC,
并且只比在备用模式下
多消耗一点。
您还可以读取SPI传感器。
您可以使用比较器读取模拟信号。
您还可以做更高级的任务,
如测量或电容触摸。
如您所见,传感器控制器
在两种模式下运行。
它有一个24兆赫的有源模式,
它也有一个新的低功耗模式,
它只运行在2兆赫。
使用这种低功耗模式, 您可以访问一个16位CPU
来执行简单的任务, 同时只消耗30微安。
传感器控制器可以访问模拟
和数字外设。
在模拟端,我们有一个 高速连续时间
比较器,我们也有一个 低功耗时钟比较器。
有一个电流源,可编程从0.25微安
到20微安。
有一个每秒200千安培的ADC 12位,
还有一个8位DAC。
所有这些外设都可以独立运行,
也可以一起用来捕获模拟信号。
例如,您可以将比较器 与DAC一起使用,
然后DAC将作为比较器的
参考电压。
在数字方面,我们有一个16位CPU
与4K超低泄漏RAM。
我们有一个脉冲计数器。
我们有一个时间到数字转换器。
我们有两个通用定时器, 一个带PWM的定时器
和四通道捕获/比较。
他们可以访问所有 设备上的引脚。
现在的新功能是 我们有一个SPI外围设备,
它是一个硬件模块,我们还有
一个新的16×16位乘和40位累加。
这意味着你可以 在传感器控制器上
做更多的计算密集型任务,
你不需要经常唤醒大脑皮层M4。
传感器控制器也支持低功耗模式。
这个模式只有2兆赫。
这意味着你不能访问
所有的外围设备。
当前源、ADC和时间到数字转换器
在此模式下不可用。
但是,您可以访问所有 其他外围设备,
并且它仍然可以运行CPU, 这意味着您仍然能够
执行简单的任务,
并且实现低功耗。
为了节省更多的电力, 许多传感器控制器外设
在待机模式下可用。
16位CPU核心没有被唤醒,
但是您可以使用任何 可用的外围设备
来唤醒传感器控制器。
例如,您可以使用
其中一个比较器跟踪模拟信号,
并使用它来触发唤醒事件。
或者您可以使用其中一个定时器
或数字引脚来触发唤醒事件。
除了前面幻灯片中提到的 外围设备,
传感器控制器还将访问
始终在线的
域系统功能。
这包括电池电机、RTC 和VDDR充值监控,
以及系统状态。
使用批处理监视器,您可以测量
和读出VDDS上的电压。
您还可以测量芯片上的温度,
RTC使您能够计时测量结果,
并计算唤醒之间的时间。
VDDR充值监控和触发 使您能够重做
或使可能在VDDR充值期间
受到当前峰值干扰的测量
无效。
它还使您能够确保
VDDR充电电流峰值
不会在您的测量期间发生。
当你想读出由VDDS供电的
模拟传感器时,这是很有用的,
因为在VDDS上用VDDR[听不清]
电流尖峰充电。
第2部分--传感器控制器 应用实例。
传感器控制器可以做很多事情,
它可以做的任务,如电容触摸,
超低功耗UART,读出SPI传感器,
读取模拟传感器。
它甚至可以做流量测量,
这是一个更高级的任务。
超低功耗的UART可用于RX和TX,
但我们也支持RX模式, 您可以留在待机模式
和实现亚1微安的电流消耗。
为了评估所有这些应用,
我们有一个专门的助推器包 称为ULPSENSE。
它配有电容触控按钮、 流量计电路、
模拟光传感器、读取开关、
SPI加速度计和电位计。
它还配有传感器电源跳线,
这样你就可以断开 你不使用的传感器,
并且能够只测量你正在评估的
传感器上的电流消耗。
如前所述,我们可以实现超低功耗
流量计只使用传感器控制器。
由于传感器控制器有CPU,
您可以使用软件实现自己的
自定义流量计解决方案。
在ULPSENSE升压包上,
我们实现了一个 简单的LC流量计。
这个解决方案使用比较器A,
这是我们的连续时间比较器,
加上DAC作为参考电压, 还有脉冲计数器。
这些外围设备和外部触发电路
可以实现一个简单的 LC流量计。
LC流量计 使用并行连接的电感
和电容 创建一个LC槽。
这个槽会 在它自己的共振频率引起共鸣,
并依赖于近距离金属物体, 或反之,
振动的阻尼系数
也不同。
因此,我们可以用比较器
和脉冲计数器来测量阻尼系数。
然后我们可以用一个圆盘, 50%被金属覆盖,
50%被非金属覆盖, 然后把它放在水管里,
让水或气体流动。
当水或气体开始流动时,
圆盘就会开始旋转。
然后LC槽就可以 查看磁盘是否正在旋转
或没有。
我们可以用圆盘的旋转
来计算气体或水的流量。
另一个应用例子是电容触摸。
传感器控制器可以处理
多达八个电容式触摸头盔。
它使用内部电流源,连同
比较器和时间到数字转换器,
能够检测触摸。
它还需要一个外部电阻。
这个电阻与一个电流源一起使用,
为比较器
创建参考电压。
然后利用可编程电流源
对电容元件进行充电。
充电所需的时间由
时间-数字转换器检测,
如果你用手指按下按钮
或不按下按钮,情况会有所不同。
第3部分--开发环境。
传感器控制器工作室 是传感器控制器的
主要开发工具。
通过使用与C语言语法
类似的简单编程语言,您可以
为传感器控制器 开发自定义代码。
Sensor Controller Studio还支持
对传感器控制器代码进行调试、
运行时日志记录和任务测试。
当您的代码准备好集成到
运行在系统CPU上的 主应用程序代码中时,
可以使用Sensor Controller Studio 生成驱动程序接口,
该接口由几个ZIP文件组成,
可以导入到您的主应用程序项目,
可能是CCS或IAR。
Sensor Controller Studio也提供了
很多应用实例。
你有ADC记录器,ADC流光, ADC窗口监视器。
如果你不想使用[听不清]
并且节省更多的电力, 你可以使用参考DAC
和比较器,创建软件定义的SAR
ADC。
这是一个按钮脱扣器,
电容触控,I2C读出, 这是一个逐位解决方案,
因为你没有I2C的硬件外设。
我们有LC流量计。
我们有LED闪烁和LED PWM。
我们也有UART仿真和SPI读出。
在为传感器控制器开发代码时,
必须创建分配资源、定义数据结构
和常量的任务。
任务也有几个代码块,
这些代码块将在任务运行时执行。
例如,任务可以是电容触摸,
或传感器的SPI读取, 或使用ADC
捕获模拟信号。
如果您的应用程序需要多个功能,
您可以有多个任务来满足需求,
只要它不需要相同的资源。
当您创建了一个任务时,
您需要为它分配资源。
例如,资源可以是外围设备,
可以是IO控制、电源管理、
事件触发器等等。
当为一个任务分配了资源后,
它不能被运行在传感器控制器上的 其他任务使用。
但是,您可以与主系统CPU
共享资源。
任务也需要 数据结构。
我们为传感器控制器预定义了
四种不同的数据结构。
我们有cfg、输入、输出和状态。
cfg由系统CPU在任务启动之前 设置的状态。
输入用于将数据从主CPU
传输到传感器控制器任务。
输出数据结构用于
将数据从传感器控制器 传输到系统CPU。
这个数据结构还支持多缓冲输出
数据交换,这意味着您从 系统CPU读取的数据
总是有效的。
最后,我们有一个叫做状态的 数据结构。
它可以用来实现在传感器控制器上
运行的任务中的状态机。
该任务还包含几个代码块。
它应该在这些代码块中
实现传感器控制器代码。
首先,您的应用程序将需要
一个初始化代码块。
此代码块由系统CPU
在初始化传感器控制器 任务时执行。
在这里,您可以初始化外围设备,
并计划任务的首次执行
或设置事件触发器。
然后是执行代码块
和事件代码块。
根据应用程序的不同,
主传感器控制器操作应该在
这两个代码块中实现,或者同时 在这两个代码块中实现。
当执行代码块由RTC同步触发时,
事件处理程序代码块
由事件触发。
事件可以由比较器、GPIO、
系统事件或任何定时 外围设备触发。
传感器控制器最多支持
三个事件处理程序。
最后,我们有终止代码块,
它在系统CPU停止任务时执行。
在这个代码块中,禁用任何
已启用的演示程序是很重要的。
在开发了任务之后,
可以使用运行时日志工具 验证和优化
传感器控制器任务的性能。
在此模式下,任务在物理CC13xx
或CC26xx设备上全速运行,
而系统CPU则用来 在传感器控制器Studio之间
来回传输数据结构。
所有的数据结构都可以
用绘图仪图形化地显示出来。
您还可以在运行任务时
调整参数。
如果您想深入了解
并在程序集级别调试任务,
可以使用任务测试面板。
在这里,您可以逐步完成任务的
组装代码。
在这种模式下, Sensor Controller Studio
作为一个系统CPU应用程序,
负责控制
Sensor Controller的任务。
在这种模式下, 还可以修改和监视
常量和数据结构,还可以
使用图形绘图仪绘制参数。
当您完成了传感器控制器任务,
并使用传感器控制器调试 和运行时
日志工具对其进行评估 和优化之后,
现在终于可以 将传感器控制器代码
导入到主系统应用程序项目中了。
Sensor Controller Studio 将您的项目
导出到Sensor Controller 驱动程序接口。
这个接口由六个文件组成--
驱动程序设置、API
和操作系统抽象层。
驱动程序设置可以 将传感器控制器图像
发送到传感器控制器RAM、
数据结构定义和I/O映射中。
该API包含初始化驱动程序、
任务控制、数据交换
和取消初始化驱动程序的方法。
操作系统提取层
支持与操作系统无缝集成,
例如TIR DOS,以及电源
和时钟管理接口。
当您从Sensor Controller Studio
导出驱动程序接口时, 代码生成器
会输出一个定制的使用指南,
用于将Sensor Controller项目
集成到运行在系统CPU上的 应用程序中。
本指南解释了应该在何处 存储导出的文件,
以及如何从系统CPU
干扰传感器控制器应用程序。
现在您已经了解了 什么是传感器控制器,
以及如何使用它, 以及需要使用哪些工具
来为它开发代码。
请访问ti.com/tool/ sensor controller studio
来下载Sensor Controller Studio 并开始您自己的
超低功耗应用程序开发。
感谢收看。
你好。 欢迎来到使用CC13x2/CC26x2 传感器控制器的超低功耗传感 应用培训。 在本次培训中, 您将学习什么是传感工具, 如何使用它,以及使用哪些工具 进行开发和评估。 您将了解如何启用应用程序的 超低功耗操作。 您将看到如何实现 传感器控制器应用程序示例, 以及如何对它们进行评估。 第1部分--什么是传感器控制器? CC13x2/CC26x2设备家族 拥有一个强大的ARM Cortex-M4F 系统CPU,可以处理 半径任务的操作, 如蓝牙低功耗, [听不清]IEEE 802.15.4和专有射频。 它甚至可以同时处理多个协议, 通常,使用这类设备的应用程序 需要的不仅仅是能够执行 无线通信。 通常需要读取模拟或数字传感器, 或者需要通过有线接口 与板上的所有设备 通信。 传感器控制器是专门为 低功耗应用程序分配的, 让开发人员构建集成的 智能传感器,可以在 硬币电池上运行多年。 传感器控制器是超低功耗, 16位CPU核心优化为低功耗运行 和高效率的外围处理。 它是可编程的,允许用户 在系统的其余部分处于睡眠状态时 读取和处理数据以做出低级决策。 然后,传感器控制器可以唤醒系统 来执行计算量更大的任务, 或者用无线电发送消息。 为了节省电能, CC13x2和CC26x2设备 有一个低功耗模式, 称为待机模式。 这是一种除实时计数器外 整个系统都处于休眠状态的模式, 实时计数器正在运行, 以允许调度下一个唤醒事件。 您还保留了CPU和RAM。 这样,系统CPU就可以继续 从休眠前停止的地方运行 它的应用程序代码。 如您所见,当前消费的差异 非常显著。 虽然活动模式允许您 使用所有外围设备, 甚至可以运行收音机, 但是备用模式,在另一方面, 不允许您使用任何外围设备, 并且您不能执行任何任务。 这就是传感器控制器的作用。 传感器控制器允许您 在系统CPU休眠时 执行简单的任务。 它可以访问许多外围设备, 因此您可以读取模拟和数字信号。 例如,您可以以1赫兹运行ADC, 并且只比在备用模式下 多消耗一点。 您还可以读取SPI传感器。 您可以使用比较器读取模拟信号。 您还可以做更高级的任务, 如测量或电容触摸。 如您所见,传感器控制器 在两种模式下运行。 它有一个24兆赫的有源模式, 它也有一个新的低功耗模式, 它只运行在2兆赫。 使用这种低功耗模式, 您可以访问一个16位CPU 来执行简单的任务, 同时只消耗30微安。 传感器控制器可以访问模拟 和数字外设。 在模拟端,我们有一个 高速连续时间 比较器,我们也有一个 低功耗时钟比较器。 有一个电流源,可编程从0.25微安 到20微安。 有一个每秒200千安培的ADC 12位, 还有一个8位DAC。 所有这些外设都可以独立运行, 也可以一起用来捕获模拟信号。 例如,您可以将比较器 与DAC一起使用, 然后DAC将作为比较器的 参考电压。 在数字方面,我们有一个16位CPU 与4K超低泄漏RAM。 我们有一个脉冲计数器。 我们有一个时间到数字转换器。 我们有两个通用定时器, 一个带PWM的定时器 和四通道捕获/比较。 他们可以访问所有 设备上的引脚。 现在的新功能是 我们有一个SPI外围设备, 它是一个硬件模块,我们还有 一个新的16×16位乘和40位累加。 这意味着你可以 在传感器控制器上 做更多的计算密集型任务, 你不需要经常唤醒大脑皮层M4。 传感器控制器也支持低功耗模式。 这个模式只有2兆赫。 这意味着你不能访问 所有的外围设备。 当前源、ADC和时间到数字转换器 在此模式下不可用。 但是,您可以访问所有 其他外围设备, 并且它仍然可以运行CPU, 这意味着您仍然能够 执行简单的任务, 并且实现低功耗。 为了节省更多的电力, 许多传感器控制器外设 在待机模式下可用。 16位CPU核心没有被唤醒, 但是您可以使用任何 可用的外围设备 来唤醒传感器控制器。 例如,您可以使用 其中一个比较器跟踪模拟信号, 并使用它来触发唤醒事件。 或者您可以使用其中一个定时器 或数字引脚来触发唤醒事件。 除了前面幻灯片中提到的 外围设备, 传感器控制器还将访问 始终在线的 域系统功能。 这包括电池电机、RTC 和VDDR充值监控, 以及系统状态。 使用批处理监视器,您可以测量 和读出VDDS上的电压。 您还可以测量芯片上的温度, RTC使您能够计时测量结果, 并计算唤醒之间的时间。 VDDR充值监控和触发 使您能够重做 或使可能在VDDR充值期间 受到当前峰值干扰的测量 无效。 它还使您能够确保 VDDR充电电流峰值 不会在您的测量期间发生。 当你想读出由VDDS供电的 模拟传感器时,这是很有用的, 因为在VDDS上用VDDR[听不清] 电流尖峰充电。 第2部分--传感器控制器 应用实例。 传感器控制器可以做很多事情, 它可以做的任务,如电容触摸, 超低功耗UART,读出SPI传感器, 读取模拟传感器。 它甚至可以做流量测量, 这是一个更高级的任务。 超低功耗的UART可用于RX和TX, 但我们也支持RX模式, 您可以留在待机模式 和实现亚1微安的电流消耗。 为了评估所有这些应用, 我们有一个专门的助推器包 称为ULPSENSE。 它配有电容触控按钮、 流量计电路、 模拟光传感器、读取开关、 SPI加速度计和电位计。 它还配有传感器电源跳线, 这样你就可以断开 你不使用的传感器, 并且能够只测量你正在评估的 传感器上的电流消耗。 如前所述,我们可以实现超低功耗 流量计只使用传感器控制器。 由于传感器控制器有CPU, 您可以使用软件实现自己的 自定义流量计解决方案。 在ULPSENSE升压包上, 我们实现了一个 简单的LC流量计。 这个解决方案使用比较器A, 这是我们的连续时间比较器, 加上DAC作为参考电压, 还有脉冲计数器。 这些外围设备和外部触发电路 可以实现一个简单的 LC流量计。 LC流量计 使用并行连接的电感 和电容 创建一个LC槽。 这个槽会 在它自己的共振频率引起共鸣, 并依赖于近距离金属物体, 或反之, 振动的阻尼系数 也不同。 因此,我们可以用比较器 和脉冲计数器来测量阻尼系数。 然后我们可以用一个圆盘, 50%被金属覆盖, 50%被非金属覆盖, 然后把它放在水管里, 让水或气体流动。 当水或气体开始流动时, 圆盘就会开始旋转。 然后LC槽就可以 查看磁盘是否正在旋转 或没有。 我们可以用圆盘的旋转 来计算气体或水的流量。 另一个应用例子是电容触摸。 传感器控制器可以处理 多达八个电容式触摸头盔。 它使用内部电流源,连同 比较器和时间到数字转换器, 能够检测触摸。 它还需要一个外部电阻。 这个电阻与一个电流源一起使用, 为比较器 创建参考电压。 然后利用可编程电流源 对电容元件进行充电。 充电所需的时间由 时间-数字转换器检测, 如果你用手指按下按钮 或不按下按钮,情况会有所不同。 第3部分--开发环境。 传感器控制器工作室 是传感器控制器的 主要开发工具。 通过使用与C语言语法 类似的简单编程语言,您可以 为传感器控制器 开发自定义代码。 Sensor Controller Studio还支持 对传感器控制器代码进行调试、 运行时日志记录和任务测试。 当您的代码准备好集成到 运行在系统CPU上的 主应用程序代码中时, 可以使用Sensor Controller Studio 生成驱动程序接口, 该接口由几个ZIP文件组成, 可以导入到您的主应用程序项目, 可能是CCS或IAR。 Sensor Controller Studio也提供了 很多应用实例。 你有ADC记录器,ADC流光, ADC窗口监视器。 如果你不想使用[听不清] 并且节省更多的电力, 你可以使用参考DAC 和比较器,创建软件定义的SAR ADC。 这是一个按钮脱扣器, 电容触控,I2C读出, 这是一个逐位解决方案, 因为你没有I2C的硬件外设。 我们有LC流量计。 我们有LED闪烁和LED PWM。 我们也有UART仿真和SPI读出。 在为传感器控制器开发代码时, 必须创建分配资源、定义数据结构 和常量的任务。 任务也有几个代码块, 这些代码块将在任务运行时执行。 例如,任务可以是电容触摸, 或传感器的SPI读取, 或使用ADC 捕获模拟信号。 如果您的应用程序需要多个功能, 您可以有多个任务来满足需求, 只要它不需要相同的资源。 当您创建了一个任务时, 您需要为它分配资源。 例如,资源可以是外围设备, 可以是IO控制、电源管理、 事件触发器等等。 当为一个任务分配了资源后, 它不能被运行在传感器控制器上的 其他任务使用。 但是,您可以与主系统CPU 共享资源。 任务也需要 数据结构。 我们为传感器控制器预定义了 四种不同的数据结构。 我们有cfg、输入、输出和状态。 cfg由系统CPU在任务启动之前 设置的状态。 输入用于将数据从主CPU 传输到传感器控制器任务。 输出数据结构用于 将数据从传感器控制器 传输到系统CPU。 这个数据结构还支持多缓冲输出 数据交换,这意味着您从 系统CPU读取的数据 总是有效的。 最后,我们有一个叫做状态的 数据结构。 它可以用来实现在传感器控制器上 运行的任务中的状态机。 该任务还包含几个代码块。 它应该在这些代码块中 实现传感器控制器代码。 首先,您的应用程序将需要 一个初始化代码块。 此代码块由系统CPU 在初始化传感器控制器 任务时执行。 在这里,您可以初始化外围设备, 并计划任务的首次执行 或设置事件触发器。 然后是执行代码块 和事件代码块。 根据应用程序的不同, 主传感器控制器操作应该在 这两个代码块中实现,或者同时 在这两个代码块中实现。 当执行代码块由RTC同步触发时, 事件处理程序代码块 由事件触发。 事件可以由比较器、GPIO、 系统事件或任何定时 外围设备触发。 传感器控制器最多支持 三个事件处理程序。 最后,我们有终止代码块, 它在系统CPU停止任务时执行。 在这个代码块中,禁用任何 已启用的演示程序是很重要的。 在开发了任务之后, 可以使用运行时日志工具 验证和优化 传感器控制器任务的性能。 在此模式下,任务在物理CC13xx 或CC26xx设备上全速运行, 而系统CPU则用来 在传感器控制器Studio之间 来回传输数据结构。 所有的数据结构都可以 用绘图仪图形化地显示出来。 您还可以在运行任务时 调整参数。 如果您想深入了解 并在程序集级别调试任务, 可以使用任务测试面板。 在这里,您可以逐步完成任务的 组装代码。 在这种模式下, Sensor Controller Studio 作为一个系统CPU应用程序, 负责控制 Sensor Controller的任务。 在这种模式下, 还可以修改和监视 常量和数据结构,还可以 使用图形绘图仪绘制参数。 当您完成了传感器控制器任务, 并使用传感器控制器调试 和运行时 日志工具对其进行评估 和优化之后, 现在终于可以 将传感器控制器代码 导入到主系统应用程序项目中了。 Sensor Controller Studio 将您的项目 导出到Sensor Controller 驱动程序接口。 这个接口由六个文件组成-- 驱动程序设置、API 和操作系统抽象层。 驱动程序设置可以 将传感器控制器图像 发送到传感器控制器RAM、 数据结构定义和I/O映射中。 该API包含初始化驱动程序、 任务控制、数据交换 和取消初始化驱动程序的方法。 操作系统提取层 支持与操作系统无缝集成, 例如TIR DOS,以及电源 和时钟管理接口。 当您从Sensor Controller Studio 导出驱动程序接口时, 代码生成器 会输出一个定制的使用指南, 用于将Sensor Controller项目 集成到运行在系统CPU上的 应用程序中。 本指南解释了应该在何处 存储导出的文件, 以及如何从系统CPU 干扰传感器控制器应用程序。 现在您已经了解了 什么是传感器控制器, 以及如何使用它, 以及需要使用哪些工具 来为它开发代码。 请访问ti.com/tool/ sensor controller studio 来下载Sensor Controller Studio 并开始您自己的 超低功耗应用程序开发。 感谢收看。
你好。
欢迎来到使用CC13x2/CC26x2
传感器控制器的超低功耗传感
应用培训。
在本次培训中, 您将学习什么是传感工具,
如何使用它,以及使用哪些工具
进行开发和评估。
您将了解如何启用应用程序的
超低功耗操作。
您将看到如何实现 传感器控制器应用程序示例,
以及如何对它们进行评估。
第1部分--什么是传感器控制器?
CC13x2/CC26x2设备家族 拥有一个强大的ARM Cortex-M4F
系统CPU,可以处理
半径任务的操作, 如蓝牙低功耗,
[听不清]IEEE 802.15.4和专有射频。
它甚至可以同时处理多个协议,
通常,使用这类设备的应用程序
需要的不仅仅是能够执行
无线通信。
通常需要读取模拟或数字传感器,
或者需要通过有线接口
与板上的所有设备
通信。
传感器控制器是专门为
低功耗应用程序分配的,
让开发人员构建集成的
智能传感器,可以在 硬币电池上运行多年。
传感器控制器是超低功耗,
16位CPU核心优化为低功耗运行
和高效率的外围处理。
它是可编程的,允许用户
在系统的其余部分处于睡眠状态时
读取和处理数据以做出低级决策。
然后,传感器控制器可以唤醒系统
来执行计算量更大的任务,
或者用无线电发送消息。
为了节省电能, CC13x2和CC26x2设备
有一个低功耗模式, 称为待机模式。
这是一种除实时计数器外
整个系统都处于休眠状态的模式,
实时计数器正在运行, 以允许调度下一个唤醒事件。
您还保留了CPU和RAM。
这样,系统CPU就可以继续
从休眠前停止的地方运行
它的应用程序代码。
如您所见,当前消费的差异
非常显著。
虽然活动模式允许您 使用所有外围设备,
甚至可以运行收音机, 但是备用模式,在另一方面,
不允许您使用任何外围设备,
并且您不能执行任何任务。
这就是传感器控制器的作用。
传感器控制器允许您
在系统CPU休眠时 执行简单的任务。
它可以访问许多外围设备,
因此您可以读取模拟和数字信号。
例如,您可以以1赫兹运行ADC,
并且只比在备用模式下
多消耗一点。
您还可以读取SPI传感器。
您可以使用比较器读取模拟信号。
您还可以做更高级的任务,
如测量或电容触摸。
如您所见,传感器控制器
在两种模式下运行。
它有一个24兆赫的有源模式,
它也有一个新的低功耗模式,
它只运行在2兆赫。
使用这种低功耗模式, 您可以访问一个16位CPU
来执行简单的任务, 同时只消耗30微安。
传感器控制器可以访问模拟
和数字外设。
在模拟端,我们有一个 高速连续时间
比较器,我们也有一个 低功耗时钟比较器。
有一个电流源,可编程从0.25微安
到20微安。
有一个每秒200千安培的ADC 12位,
还有一个8位DAC。
所有这些外设都可以独立运行,
也可以一起用来捕获模拟信号。
例如,您可以将比较器 与DAC一起使用,
然后DAC将作为比较器的
参考电压。
在数字方面,我们有一个16位CPU
与4K超低泄漏RAM。
我们有一个脉冲计数器。
我们有一个时间到数字转换器。
我们有两个通用定时器, 一个带PWM的定时器
和四通道捕获/比较。
他们可以访问所有 设备上的引脚。
现在的新功能是 我们有一个SPI外围设备,
它是一个硬件模块,我们还有
一个新的16×16位乘和40位累加。
这意味着你可以 在传感器控制器上
做更多的计算密集型任务,
你不需要经常唤醒大脑皮层M4。
传感器控制器也支持低功耗模式。
这个模式只有2兆赫。
这意味着你不能访问
所有的外围设备。
当前源、ADC和时间到数字转换器
在此模式下不可用。
但是,您可以访问所有 其他外围设备,
并且它仍然可以运行CPU, 这意味着您仍然能够
执行简单的任务,
并且实现低功耗。
为了节省更多的电力, 许多传感器控制器外设
在待机模式下可用。
16位CPU核心没有被唤醒,
但是您可以使用任何 可用的外围设备
来唤醒传感器控制器。
例如,您可以使用
其中一个比较器跟踪模拟信号,
并使用它来触发唤醒事件。
或者您可以使用其中一个定时器
或数字引脚来触发唤醒事件。
除了前面幻灯片中提到的 外围设备,
传感器控制器还将访问
始终在线的
域系统功能。
这包括电池电机、RTC 和VDDR充值监控,
以及系统状态。
使用批处理监视器,您可以测量
和读出VDDS上的电压。
您还可以测量芯片上的温度,
RTC使您能够计时测量结果,
并计算唤醒之间的时间。
VDDR充值监控和触发 使您能够重做
或使可能在VDDR充值期间
受到当前峰值干扰的测量
无效。
它还使您能够确保
VDDR充电电流峰值
不会在您的测量期间发生。
当你想读出由VDDS供电的
模拟传感器时,这是很有用的,
因为在VDDS上用VDDR[听不清]
电流尖峰充电。
第2部分--传感器控制器 应用实例。
传感器控制器可以做很多事情,
它可以做的任务,如电容触摸,
超低功耗UART,读出SPI传感器,
读取模拟传感器。
它甚至可以做流量测量,
这是一个更高级的任务。
超低功耗的UART可用于RX和TX,
但我们也支持RX模式, 您可以留在待机模式
和实现亚1微安的电流消耗。
为了评估所有这些应用,
我们有一个专门的助推器包 称为ULPSENSE。
它配有电容触控按钮、 流量计电路、
模拟光传感器、读取开关、
SPI加速度计和电位计。
它还配有传感器电源跳线,
这样你就可以断开 你不使用的传感器,
并且能够只测量你正在评估的
传感器上的电流消耗。
如前所述,我们可以实现超低功耗
流量计只使用传感器控制器。
由于传感器控制器有CPU,
您可以使用软件实现自己的
自定义流量计解决方案。
在ULPSENSE升压包上,
我们实现了一个 简单的LC流量计。
这个解决方案使用比较器A,
这是我们的连续时间比较器,
加上DAC作为参考电压, 还有脉冲计数器。
这些外围设备和外部触发电路
可以实现一个简单的 LC流量计。
LC流量计 使用并行连接的电感
和电容 创建一个LC槽。
这个槽会 在它自己的共振频率引起共鸣,
并依赖于近距离金属物体, 或反之,
振动的阻尼系数
也不同。
因此,我们可以用比较器
和脉冲计数器来测量阻尼系数。
然后我们可以用一个圆盘, 50%被金属覆盖,
50%被非金属覆盖, 然后把它放在水管里,
让水或气体流动。
当水或气体开始流动时,
圆盘就会开始旋转。
然后LC槽就可以 查看磁盘是否正在旋转
或没有。
我们可以用圆盘的旋转
来计算气体或水的流量。
另一个应用例子是电容触摸。
传感器控制器可以处理
多达八个电容式触摸头盔。
它使用内部电流源,连同
比较器和时间到数字转换器,
能够检测触摸。
它还需要一个外部电阻。
这个电阻与一个电流源一起使用,
为比较器
创建参考电压。
然后利用可编程电流源
对电容元件进行充电。
充电所需的时间由
时间-数字转换器检测,
如果你用手指按下按钮
或不按下按钮,情况会有所不同。
第3部分--开发环境。
传感器控制器工作室 是传感器控制器的
主要开发工具。
通过使用与C语言语法
类似的简单编程语言,您可以
为传感器控制器 开发自定义代码。
Sensor Controller Studio还支持
对传感器控制器代码进行调试、
运行时日志记录和任务测试。
当您的代码准备好集成到
运行在系统CPU上的 主应用程序代码中时,
可以使用Sensor Controller Studio 生成驱动程序接口,
该接口由几个ZIP文件组成,
可以导入到您的主应用程序项目,
可能是CCS或IAR。
Sensor Controller Studio也提供了
很多应用实例。
你有ADC记录器,ADC流光, ADC窗口监视器。
如果你不想使用[听不清]
并且节省更多的电力, 你可以使用参考DAC
和比较器,创建软件定义的SAR
ADC。
这是一个按钮脱扣器,
电容触控,I2C读出, 这是一个逐位解决方案,
因为你没有I2C的硬件外设。
我们有LC流量计。
我们有LED闪烁和LED PWM。
我们也有UART仿真和SPI读出。
在为传感器控制器开发代码时,
必须创建分配资源、定义数据结构
和常量的任务。
任务也有几个代码块,
这些代码块将在任务运行时执行。
例如,任务可以是电容触摸,
或传感器的SPI读取, 或使用ADC
捕获模拟信号。
如果您的应用程序需要多个功能,
您可以有多个任务来满足需求,
只要它不需要相同的资源。
当您创建了一个任务时,
您需要为它分配资源。
例如,资源可以是外围设备,
可以是IO控制、电源管理、
事件触发器等等。
当为一个任务分配了资源后,
它不能被运行在传感器控制器上的 其他任务使用。
但是,您可以与主系统CPU
共享资源。
任务也需要 数据结构。
我们为传感器控制器预定义了
四种不同的数据结构。
我们有cfg、输入、输出和状态。
cfg由系统CPU在任务启动之前 设置的状态。
输入用于将数据从主CPU
传输到传感器控制器任务。
输出数据结构用于
将数据从传感器控制器 传输到系统CPU。
这个数据结构还支持多缓冲输出
数据交换,这意味着您从 系统CPU读取的数据
总是有效的。
最后,我们有一个叫做状态的 数据结构。
它可以用来实现在传感器控制器上
运行的任务中的状态机。
该任务还包含几个代码块。
它应该在这些代码块中
实现传感器控制器代码。
首先,您的应用程序将需要
一个初始化代码块。
此代码块由系统CPU
在初始化传感器控制器 任务时执行。
在这里,您可以初始化外围设备,
并计划任务的首次执行
或设置事件触发器。
然后是执行代码块
和事件代码块。
根据应用程序的不同,
主传感器控制器操作应该在
这两个代码块中实现,或者同时 在这两个代码块中实现。
当执行代码块由RTC同步触发时,
事件处理程序代码块
由事件触发。
事件可以由比较器、GPIO、
系统事件或任何定时 外围设备触发。
传感器控制器最多支持
三个事件处理程序。
最后,我们有终止代码块,
它在系统CPU停止任务时执行。
在这个代码块中,禁用任何
已启用的演示程序是很重要的。
在开发了任务之后,
可以使用运行时日志工具 验证和优化
传感器控制器任务的性能。
在此模式下,任务在物理CC13xx
或CC26xx设备上全速运行,
而系统CPU则用来 在传感器控制器Studio之间
来回传输数据结构。
所有的数据结构都可以
用绘图仪图形化地显示出来。
您还可以在运行任务时
调整参数。
如果您想深入了解
并在程序集级别调试任务,
可以使用任务测试面板。
在这里,您可以逐步完成任务的
组装代码。
在这种模式下, Sensor Controller Studio
作为一个系统CPU应用程序,
负责控制
Sensor Controller的任务。
在这种模式下, 还可以修改和监视
常量和数据结构,还可以
使用图形绘图仪绘制参数。
当您完成了传感器控制器任务,
并使用传感器控制器调试 和运行时
日志工具对其进行评估 和优化之后,
现在终于可以 将传感器控制器代码
导入到主系统应用程序项目中了。
Sensor Controller Studio 将您的项目
导出到Sensor Controller 驱动程序接口。
这个接口由六个文件组成--
驱动程序设置、API
和操作系统抽象层。
驱动程序设置可以 将传感器控制器图像
发送到传感器控制器RAM、
数据结构定义和I/O映射中。
该API包含初始化驱动程序、
任务控制、数据交换
和取消初始化驱动程序的方法。
操作系统提取层
支持与操作系统无缝集成,
例如TIR DOS,以及电源
和时钟管理接口。
当您从Sensor Controller Studio
导出驱动程序接口时, 代码生成器
会输出一个定制的使用指南,
用于将Sensor Controller项目
集成到运行在系统CPU上的 应用程序中。
本指南解释了应该在何处 存储导出的文件,
以及如何从系统CPU
干扰传感器控制器应用程序。
现在您已经了解了 什么是传感器控制器,
以及如何使用它, 以及需要使用哪些工具
来为它开发代码。
请访问ti.com/tool/ sensor controller studio
来下载Sensor Controller Studio 并开始您自己的
超低功耗应用程序开发。
感谢收看。
视频报错
手机看
扫码用手机观看
收藏本课程
-
未学习 超低功耗传感应用:使用CC13xx / CC26xx传感器控制器
00:20:26
播放中
视频简介
超低功耗传感应用:使用CC13xx / CC26xx传感器控制器
所属课程:超低功耗传感应用:使用CC13xx / CC26xx传感器控制器
发布时间:2019.08.07
视频集数:1
本节视频时长:00:20:26
本次会议将展示如何将SimpleLink CC13x2 / CC26x2中更新的传感器控制器用于超低功耗传感应用:了解传感器控制器是什么,如何使用它以及使用哪些工具进行开发和评估。了解如何 这样可以实现应用程序的超低功耗操作。请参阅传感器控制器应用程序示例的实现方式以及如何评估它们。
//=$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'])?>