文章目录
- 写在前面
- 一、材料出处
- 二、文档解析
- 2.1、EZSP Protocol Reference Guide -- UG100
- 2.2、UART Protocol Reference Guide -- UG101
- 2.3、Wireless Networking Fundamentals -- UG103-01
- 2.4、Zigbee Fundamentals -- UG103-02
- 2.5、Design Choices Fundamentals -- UG103-03
- 2.6、HAL Fundamentals -- UG103-04
- 2.7、Security Fundamentals -- UG103-05
- 2.8、Bootloading Fundamentals -- UG103-06
- 2.9、Non-Volatile Data Storage Fundamentals -- UG103-07
- 2.10、Tools Fundamentals -- UG103-08
- 2.11、ZLL Fundamentals -- UG103-09
- 2.12、Green Power Fundamentals -- UG103-15
- 2.13、Multiprotocol Fundamentals -- UG103-16
- 2.14、Testing and Debugging Applications for the Silicon Labs EM35x and Mighty Gecko (EFR32MG) Platforms -- UG104
- 2.15、Advanced Application Programming with the Stack and HAL APIs -- UG105
- 2.16、ISA3 Utilities Guide -- UG107
- 2.17、EM35x Development Kit User Guide -- UG110
- 2.18、Simplicity Commander Reference Guide -- UG162
- 2.19、Silicon Labs Gecko Bootloader User's Guide -- UG266
- 2.20、Switched Multiprotocol User's Guide -- UG267
- 2.21、Dynamic Multiprotocol User's Guide -- UG305
写在前面
- 想了一下,从事zigbee相关的工作到现在,也将近一年了,期间,总想写点什么,但是总不知道要怎么入手,正好我用的这个zigbee平台,上面有一些文档,这里我就在想,要不就以它为切入点,正好的也认真的看一看这些文档吧。
- 这里我使用的的芯科的zigbee芯片(Silicon Lab Ember Zigbee),当前它的协议栈更新到了6.5版,虽然我们公司还没用到6.5版的协议栈,但是还是以6.5版的协议栈提供的文档来讲解吧。
- 学习笔记索引如下:
名称 | 链接 |
---|---|
【ember zigbee】第一章:ug103-01-fundamentals-wireless-network 学习笔记 | 点击跳转 |
【ember zigbee】第二章:ug103-02-fundamentals-zigbee 学习笔记(上) | 点击跳转 |
【ember zigbee】第三章:ug103-02-fundamentals-zigbee 学习笔记(中) | 点击跳转 |
【ember zigbee】第四章:ug103-02-fundamentals-zigbee 学习笔记(下) | 点击跳转 |
【ember zigbee】第五章:ug103-03-Application Development Fundamentals: Design Choices 学习笔记(上) | 点击跳转 |
一、材料出处
- 相关的材料文档,是从sdk中提取的,sdk和开发工具的安装可以参考官方网址,当然后期有时间,我也会整一下如何搭建开发环境的文章吧。https://www.silabs.com/products/development-tools/software/simplicity-studio
- 文档路径在sdk的协议栈文件夹下:\protocol\zigbee\documentation
- 如果不想下载的小伙伴,可以到该路径下,直接下载文档:https://download.csdn.net/download/tainjau/11212921
二、文档解析
- 上图显示的以UG开头的文档,都是Users Guides类型的文档,因此我们从这入手,看能不能再深入的学习一下zigbee相关的知识吧。
- 本贴主要是对相关文档的一个简要讲述,后续我抽时间对一些我觉得目前需要了解的文章进行深入的学习。然后目前应该是以翻译为主,同时加上自己的一些理解吧。
2.1、EZSP Protocol Reference Guide – UG100
Describes the EmberZNet Serial Protocol (EZSP), used by a host application processor to interact with the EmberZNet PRO stack running on an NCP over either a SPI or a UART interface.
Describes the frame formats for different EZSP-bound stack activities such as network management, messaging, bootloading, and token access.
- 该文档主要描述了EmberZNet串行协议(EZSP),Host端应用程序处理器(比如网关)使用它(ezsp)通过SPI或UART接口与在NCP上运行的EmberZNet PRO堆栈进行交互。 同时描述不同EZSP绑定堆栈活动的帧格式,例如网络管理,消息传递,引导加载和令牌访问。
- ps:ezsp是ember实现的一套协议。使得开发者可以使用性能更强的CPU来处理应用逻辑,而不用过分关注zigbee的底层协议处理,即调用接口完成相应的操作。
2.2、UART Protocol Reference Guide – UG101
Describes the protocol used by EZSP-UART to reliably carry commands and responses between a host processor and a network co-processor. The topics discussed include a brief overview of Ember-designed ASH (Asynchronus Serial Host) protocol, general ASH frame format, different ASH frames, and their oprations.
- 该文档讲述了关于EZSP-UART用于在主处理器和网络协处理器之间可靠地传送命令和响应的协议。 讨论的主题包括Ember设计的ASH(异步串行主机)协议,一般ASH帧格式,不同ASH帧及其操作的简要概述。
- ps:内容主要还是设计底层host端和ncp端的串口协议。
2.3、Wireless Networking Fundamentals – UG103-01
Introduces some fundamental concepts of wireless networking. These concepts are referred to in other Fundamentals documents. If you are new to wireless networking, read this document first.
- 本文档介绍无线网络的一些基本概念。 其他基础文档中提到了这些概念。 如果您不熟悉无线网络,请先阅读本文档。
- 参考文章:ug103-01-fundamentals-wireless-network 学习笔记
2.4、Zigbee Fundamentals – UG103-02
Describes the key features and characteristics of a Zigbee solution. It also includes a section on Zigbee 3.0.
- 本文档介绍Zigbee解决方案的主要特性和特性。 它还包括一个关于Zigbee 3.0的部分。
- ps:上述UG103-01 AND 02 这两篇文档对初学者来说还是十分有用的,类似于之前我整理的zigbee相关文档,后期我应该会以这两份文档展开对zigbee的讲解吧。
2.5、Design Choices Fundamentals – UG103-03
Discusses the major decisions that must be made about which wireless protocol you should use, as well as additional decisions to be made if you are designing a Zigbee solution.
- 本文档主要介绍了在开发过程中,应该怎么选择使用哪种无线协议,以及在设计Zigbee解决方案时需要做出的其他决策。
2.6、HAL Fundamentals – UG103-04
Silicon Labs HAL (Hardware Abstraction Layer) is program code between a system’s hardware and its software that provides a consistent interface for applications that can run on several different hardware platforms.
The HAL is designed for developers using EmberZNet PRO and Silicon Labs Thread on the Wireless Gecko (EFR32) portfolio and the EM3x-Based MCU family of products.
- 本文档主要介绍了 Silicon Labs HAL(硬件抽象层)系统硬件及其软件之间的程序代码,为可在多个不同硬件平台上运行的应用程序提供一致的接口。 HAL专为在Wireless Gecko(EFR32)产品组合和基于EM3x的MCU系列产品上使用EmberZNet PRO和Silicon Labs Thread的开发人员而设计。
- ps:这份文档主要告诉我们,hal相关的硬件操作接口的命名规范,和一些接口的调用,比如halInit(), halSleep(), halReboot()之类的函数。
2.7、Security Fundamentals – UG103-05
Introduces some basic security concepts, including network layer security, trust centers, and application support layer security features. Discusses the types of standard protocols available in EmberZNet PRO. Coding requirements for implementing security are reviewed in summary. Finally, information on implementing Zigbee Smart Energy security is provided.
- 这份文档介绍一些基本的安全概念,包括网络层安全性,信任中心和应用程序支持层安全性功能。 讨论EmberZNet PRO中可用的标准协议类型。 总结了对实施安全性的编码要求。 最后,提供了有关实施Zigbee Smart Energy安全性的信息。
- ps:如果需要了解zigbee加密相关的,可以看这份文档,后期我也会把这份文档拿出来学习。
2.8、Bootloading Fundamentals – UG103-06
Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
- 这份文档介绍Silicon Labs网络设备的引导加载。 讨论Gecko Bootloader以及传统的Ember和蓝牙引导加载程序,并描述每种引导加载程序使用的文件格式。
- ps:这份文档侧重于zigbee bootloader相关的,加载bootloader的设备,可以用于支持远程升级(OTA)等功能。
2.9、Non-Volatile Data Storage Fundamentals – UG103-07
Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: Simulated EEPROM, PS Store, and NVM3.
- 这文档介绍使用闪存的非易失性数据存储以及为Silicon Labs微控制器和SoC提供的三种不同存储实现:模拟EEPROM,PS存储和NVM3。
- ps:如果有需要了解soc上的存储方式的选择,可以认真看一下。
2.10、Tools Fundamentals – UG103-08
Provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some addition tools and utilities.
- 这文档介绍了用于开发,构建和部署EmberZNet和Silicon Labs Thread应用程序的工具链,并讨论了一些附加工具和实用程序。
2.11、ZLL Fundamentals – UG103-09
Compares the ZLL stack and network with the EmberZNet PRO stack and network, with notes about considerations when implementing a ZLL solution. Includes a basic description of ZLL configuration and commissioning, and notes about the interoperability of ZLL and non-ZLL devices.
- 将ZLL堆栈和网络与EmberZNet PRO堆栈和网络进行比较,并提供有关实施ZLL解决方案时的注意事项的说明。 包括ZLL配置和调试的基本描述,以及有关ZLL和非ZLL设备的互操作性的说明。
- ps:ZigBee协议通常分为两块,一块是ZigBee核心协议栈Core Stack,现在用的叫ZigBee Pro。另外一块是ZigBee Profile协议栈,通常有HA,ZLL,SE位于Core stack上面。
2.12、Green Power Fundamentals – UG103-15
Describes the main features and functions of Zigbee Green Power (ZGP) and a basic ZGP network, including its device types and commissioning process, and how EmberZNet supports the ZGP device types.
- 介绍Zigbee Green Power(ZGP)和基本ZGP网络的主要特性和功能,包括其设备类型和调试过程,以及EmberZNet如何支持ZGP设备类型。
- ps:目前暂不做了解
2.13、Multiprotocol Fundamentals – UG103-16
Describes the four multiprotocol modes, discusses considerations when selecting protocols for multiprotocol implementations, and reviews the Radio Scheduler, a required component of a dynamic multiprotocol solution.
- 描述了四种多协议模式,讨论了为多协议实现选择协议时的注意事项,并回顾了无线调度器,它是动态多协议解决方案的必需组件。
- ps:介绍如何在单个芯片上支持多种协议。
2.14、Testing and Debugging Applications for the Silicon Labs EM35x and Mighty Gecko (EFR32MG) Platforms – UG104
Describes strategies for testing and debugging applications, including: hardware and application considerations, initial development testing, and lab testing. For additional information about later stages of programming and testing see application notes AN700, Manufacturing Test Guidelines, and AN718, Manufacturing Test Overview.
- 本文档描述了测试和调试应用程序的策略,包括:硬件和应用程序注意事项,初始开发测试和实验室测试。 有关编程和测试后期阶段的其他信息,请参阅应用笔记AN700,制造测试指南和AN718,制造测试概述。
2.15、Advanced Application Programming with the Stack and HAL APIs – UG105
A companion to the EmberZNet API references, for developers whose applications require functionality not available through AppBuilder and the application framework, or who prefer working with an API. Includes an introduction to the stack API, a discussion of advanced design issues to consider when developing an application using the API, and provides an example application.
- 这份文档描述了EmberZNet API参考的配套文件,适用于通过AppBuilder和应用程序框架无法使用的功能的开发人员,或者更喜欢使用API的开发人员。这里面包括对堆栈API的介绍,讨论在使用API开发应用程序时要考虑的高级设计问题,并提供示例应用程序。
- ps:对于上层应用的人调用相关api接口实现应用层的处理。
2.16、ISA3 Utilities Guide – UG107
Describes how to use the standalone ISA3 utilities supplied with EmberZNet PRO and Silicon Labs Thread software. It also gives a brief overview of the various file types that may be used.
- 介绍如何使用EmberZNet PRO和Silicon Labs Thread软件提供的独立ISA3实用程序。 它还简要概述了可能使用的各种文件类型。
2.17、EM35x Development Kit User Guide – UG110
Explains how to set up EM35x Development kit hardware and use the Debug Adapter (ISA3). Describes some of the software tools available, along with examples of their use.
- 说明如何设置EM35x开发套件硬件并使用调试适配器(ISA3)。 介绍一些可用的软件工具及其使用示例。
2.18、Simplicity Commander Reference Guide – UG162
Describes how and when to use Simplicity Commander’s Command-Line Interface. Only EFR32 is currently supported. EM3xx is not supported at this time.
- 描述如何以及何时使用Simplicity Commander的命令行界面。 目前仅支持EFR32。 目前不支持EM3xx。
2.19、Silicon Labs Gecko Bootloader User’s Guide – UG266
Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks.
- 这篇文档主要介绍用于EFR32 SoC和NCP的Silicon Labs Gecko Bootloader的高级实现,并提供有关如何开始使用带有Silicon Labs无线协议栈的Gecko Bootloader的信息。
2.20、Switched Multiprotocol User’s Guide – UG267
Provides details about the Silicon Labs switched multiprotocol implementation, including details on the Multiprotocol Stack Interface (MPSI) and data storage issues. Also provides a detailed procedure for using the switched multiprotocol feature.
- 这篇文档主要提供有关Silicon Labs交换式多协议实现的详细信息,包括有关多协议栈接口(MPSI)和数据存储问题的详细信息。 还提供了使用交换式多协议功能的详细过程。
2.21、Dynamic Multiprotocol User’s Guide – UG305
Describes how to implement a dynamic multiprotocol solution.
- 该文档主要讲述如何实现动态多协议解决方案。大致上就是提供一种能够使不同的无线协议可靠的在同个系统中稳定运作。
- ps:如蓝牙、zigbee、无线。