0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【技术专栏】泰凌微电子Thread RCP和NCP方案介绍(一)

泰凌微电子 来源:未知 2023-08-23 08:45 次阅读

1

介绍

Thread规范建立了一种可靠、安全且能效高的无线通信协议,适用于资源受限的设备,常见于智能家居和商业建筑。OpenThread包含了Thread的完整网络层范围,包括IPv6、6LoWPAN、带有MAC安全性的IEEE 802.15.4、网状链路建立和网状路由等功能。

Telink已将由谷歌的团队开发的OpenThread实现整合到Zephyr RTOS中,实现了与Telink硬件的无缝兼容。这个整合的源代码可以在GitHub上方便地获取,并且还提供了软件开发工具包(SDK)。

在这个教程的上半部分中,您将在Telink Zephyr开发环境上构建OpenThread NCP和RCP固件。

学习内容

  • 使用Telink Zephyr开发环境配置OpenThread编译环境。
  • 构建OpenThread Co-Processor固件(ot-ncp-ftdot-rcp)。

所需条件

硬件:

  • 2块B91开发套件。

  • 1台Raspberry Pi 3B+或更高版本,并安装Raspbian操作系统映像。

  • 1台Linux主机,至少带有两个USB端口

  • 1个已连接互联网的交换机(或路由器)和若干条以太网电缆。

软件:

  • Telink烧录和调试工具 —— LinuxBDT。

  • 其他工具,比如Git和West。

2

前提条件

  • Thread基本概念和OpenThread Co-Processor

在进行本教程之前,建议先完成OpenThread Simulation codelab并阅读OpenThread Co-Processor Designs,以便熟悉基本的Thread概念和OpenThread Co-Processor架构,对RCP和NCP两种设备有一个简单了解。

  • Linux主机

Linux主机(Ubuntu v20.04 LTS或更高版本)充当构建机器,用于设置Telink Zephyr开发环境并烧录所有Thread开发板。为了完成这些任务,Linux主机需要两个可用的USB端口和互联网连接。

  • Telink B91开发套件

本教程需要2块B91开发板。下面的图片展示了一个套件中所需的最少组件。

1b04187c-414d-11ee-a2ef-92fbcf53809c.png

本教程将使用一块B91开发板作为RCP(无线电协处理器),使用另一个B91开发板作为NCP(网络协处理器)。如果您尚未拥有这块开发板,您可以从Telink官方网站获取有关B91开发套件的更多详细信息。需要用到的部分组件如下表所示:

1b6a6564-414d-11ee-a2ef-92fbcf53809c.png

  • 安装有Raspbian操作系统镜像的树莓派3B+或更高版本

在本教程中,需要使用带有Raspbian Bullseye Lite OS image 或Raspbian Bullseye with Desktop的树莓派3B+或更高版本。它通过以太网连接到互联网,并将配置为OpenThread边界路由器(OTBR)的主机。

  • 网络连接

本教程需要一个已连接互联网的交换机(或路由器)和若干条以太网电缆。它们用于将Raspberry Pi与Linux主机连接起来,便于用户通过主机对Raspberry Pi进行配置。

  • LinuxBDT

Telink 烧录和调试工具 (BDT)适用于所有Telink芯片系列,可用于擦除和烧录OpenThread固件到Telink B91开发套件上。在您的Linux主机上安装基于X86架构的LinuxBDT。

  • 其他

  • Git,用于设置Telink Zephyr开发环境。

  • West,用于管理Zephyr项目并构建OpenThread二进制文件。

3

固件设置

  • Telink Zephyr开发环境设置

在Linux主机上打开命令行,执行以下命令,以确保您的APT软件包管理器是最新的。

$sudoaptupdate
$sudoaptupgrade

完成后,继续执行以下步骤。

1、安装依赖项。

$wgethttps://apt.kitware.com/kitware-archive.sh
$sudobashkitware-archive.sh
$sudoaptinstall--no-install-recommendsgitcmakeninja-buildgperf
ccachedfu-utildevice-tree-compiler
python3-devpython3-pippython3-setuptoolspython3-tkpython3-wheelxz-utilsfile
makegccgcc-multilibg++-multiliblibsdl2-dev

Zephyr目前需要主要依赖项的最低版本,例如 CMake (3.20.0)、Python3 (3.6)、Devicetree 编译器 (1.4.6)。

$cmake--version
$python3--version
$dtc--version

在执行后续步骤之前,验证系统上安装的版本。如果版本不对,将 APT 镜像切换到稳定且最新的镜像,或手动更新这些依赖项。

2、安装west。

$pip3install--user-Uwest
$echo'exportPATH=~/.local/bin:"$PATH"'>>~/.bashrc
$source~/.bashrc
确保~/.local/bin包含在$PATH环境变量中。

3、获取Zephyr项目的源码。

$westinit~/zephyrproject
$cd~/zephyrproject
$westupdate
$westblobsfetchhal_telink
$westzephyr-export

在中国大陆,使用west init ~/zephyrprojectwest update获取 Zephyr 源代码,通常需要花费额外的时间。此外,某些项目可能无法从国外服务器更新,寻找其他方法来下载最新的源代码。

4、为 Zephyr 安装额外的 Python 依赖项。

$pip3install--user-r~/zephyrproject/zephyr/scripts/requirements.txt

5、设置 Zephyr 工具链。下载 Zephyr 工具链(大约 1~2 GB)到本地目录中,以允许您烧录固件到开发板。在中国大陆境内,该步骤可能需要花费额外时间。

$wgethttps://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64.tar.xz
$wget-O-https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/sha256.sum|shasum--check--ignore-missing

下载Zephyr SDK并将其放置在推荐路径中,如下所示。

$HOME/zephyr-sdk[-x.y.z]
$HOME/.local/zephyr-sdk[-x.y.z]
$HOME/.local/opt/zephyr-sdk[-x.y.z]
$HOME/bin/zephyr-sdk[-x.y.z]
/opt/zephyr-sdk[-x.y.z]
/usr/zephyr-sdk[-x.y.z]
/usr/local/zephyr-sdk[-x.y.z]

其中 [-x.y.z] 可以是任何文本的可选项,例如 -0.13.2。SDK安装后不能移动该目录。接着安装Zephyr工具链。

$tarxvfzephyr-sdk-0.16.1_linux-x86_64.tar.xz
$cdzephyr-sdk-0.16.1
$./setup.sh-triscv64-zephyr-elf-h-c

6、构建Hello World示例。使用Hello World示例验证官方Zephyr项目配置是否正确,然后再继续设置自定义项目。

$cd~/zephyrproject/zephyr
$westbuild-pauto-btlsr9518adk80dsamples/hello_world

使用west build命令从Zephyr存储库的根目录构建hello_world示例。您可以在build/zephyr目录下找到名为zephyr.bin的固件。

7、将Zephyr环境脚本添加到~/.bashrc。在bash中执行一下命令。

$echo"source~/zephyrproject/zephyr/zephyr-env.sh">>~/.bashrc
$source~/.bashrc

8、添加Telink Zephyr远程库。下载Telink repo到本地作为开发分支并更新该分支。

$cd~/zephyrproject/zephyr
$gitremoteaddtelink-semihttps://github.com/telink-semi/zephyr
$gitfetchtelinkdevelop
$gitcheckoutdevelop
$cd..
$westupdate
$westblobsfetchhal_telink

更多信息参考Zephyr Doc – Getting Started Guide:https://docs.zephyrproject.org/latest/getting_started/index.html

4

固件编译

本教程中将构建两种固件:

  • ot-ncp-ftd

  • ot-rcp

编译方法如下:

1、无线电协处理器(ot-rcp)

$cd~/zephyrproject
$rm-rfbuild_ot_coprocessor
$westbuild-btlsr9518adk80d-dbuild_ot_coprocessorzephyr/samples/net/openthread/coprocessor---DDTC_OVERLAY_FILE="usb.overlay"-DOVERLAY_CONFIG=overlay-rcp-usb-telink.conf

2、网络协处理器(ot-ncp-ftd)

打开位于 zephyr/samples/net/openthread/coprocessor/overlay-rcp-usb-telink.conf 文件,按如下示范进行修改。
#TelinkRCPUSB-CDC-ACM

CONFIG_OPENTHREAD_COPROCESSOR_NCP=y
CONFIG_OPENTHREAD_COPROCESSOR_RCP=n
...
CONFIG_USB_DEVICE_PRODUCT="OpenThreadCoProcessorNCP"
完成后打开位于 zephyr/samples/net/openthread/coprocessor/boards/tlsr9518adk80d.conf 文件,按如下示范进行修改。
CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=256
然后执行以下命令编译 ot-ncp-ftd 固件。
$cd~/zephyrproject
$rm-rfbuild_ot_ncp_ftd
$westbuild-btlsr9518adk80d-dbuild_ot_ncp_ftdzephyr/samples/net/openthread/coprocessor---DDTC_OVERLAY_FILE="usb.overlay"-DOVERLAY_CONFIG=overlay-rcp-usb-telink.conf

5

小结

您现在已经了解了下述内容:

  • 如何搭建并使用Telink Zephyr开发环境。

  • 如何构建ot-ncp-ftdot-rcp两种二进制文件。

在下一篇文章中,您可以使用这两种固件分别与树莓派协同工作,创建和管理Thread网络。

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

官网:www.telink-semi.com

微信公众号:telink-semi

泰凌开发者论坛

https://developers.telink-semi.cn/

销售接洽:

中国大陆(华东、华北) :

+86-21-20281118-8213

中国大陆(华南、香港、音频) :

+86-0755-26614003

telinksales@telink-semi.com

1b9f9fd6-414d-11ee-a2ef-92fbcf53809c.gif


原文标题:【技术专栏】泰凌微电子Thread RCP和NCP方案介绍(一)

文章出处:【微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 泰凌微
    +关注

    关注

    7

    文章

    147

    浏览量

    10806

原文标题:【技术专栏】泰凌微电子Thread RCP和NCP方案介绍(一)

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    微电子:国内首家获得Zigbee PRO R23 + Zigbee Direct认证的芯片公司

    公司。值得提的是,此次通过认证所使用的协议栈,由完全自主开发,标志着可提供具有自主知识产权高度优化的整体解决
    发表于 12-10 17:27 125次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>:国内首家获得Zigbee PRO R23 + Zigbee Direct认证的芯片公司

    微电子邀您相约CES 2025

    微电子诚邀您参加 2025 年 1 月 7 日至 10 日于美国拉斯维加斯举办的 CES 展。CES 展作为全球极具影响力的消费类电子技术年展,汇聚了世界各地众多专业人士及科技爱好
    的头像 发表于 12-03 09:19 272次阅读

    微电子获蓝牙 6.0 认证,助力蓝牙技术拓展与应用升级

    。尤为值得提的是,微电子是全球范围内首个获得该认证的非手机芯片公司,也是中国第家获得蓝牙6.0认证的芯片公司。这
    发表于 11-26 14:07 205次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>获蓝牙 6.0 认证,助力蓝牙<b class='flag-5'>技术</b>拓展与应用升级

    微电子推出Wi-Fi 6多协议TLSR9118 SoC

    微电子(股票代码:688591.SH),作为无线连接解决方案领域的创新先锋,近日正式宣布其突破性成果——TLSR9118 SoC的问世。这款里程碑式的芯片不仅标志着
    的头像 发表于 08-30 16:29 1838次阅读

    微电子发布Wi-Fi 6多协议TLSR9118 SoC

    ,Zigbee PRO 2023,Thread 1.3.1,以及Matter 1.3。凭借TLSR9118,微电子将进步满足物联网应用
    发表于 08-29 10:36 312次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>发布Wi-Fi 6多协议TLSR9118 SoC

    微电子:20亿颗芯片里程碑,创新驱动物联网未来

        微电子(688591.SH)在近期迎来了个令人瞩目的里程碑——公司芯片的全球累计出货量突破20亿颗。这数字不仅彰显了
    发表于 08-15 11:06 494次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>:20亿颗芯片里程碑,创新驱动物联网未来

    微电子即将亮相IOTE2024第22届国际物联网展

    微电子诚邀您参加将于 2024 年 8 月 28 日至 30 日在深圳举办的“IOTE2024-第22届国际物联网展”。这场备受瞩目的展会预计将吸引来自全球各地的数万名专业人士,共同探索和见证物联网
    的头像 发表于 08-02 09:19 626次阅读

    图读懂微电子2023年年度报告

    图读懂微电子2023年年度报告
    的头像 发表于 05-22 10:30 445次阅读
    <b class='flag-5'>一</b>图读懂<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>2023年年度报告

    微电子支持最新Matter 1.3标准,助力智能家居新发展

    昨日,CSA连接标准联盟正式发布了Matter 1.3标准。微电子时间支持这智能家居领域重要标准的最新版本。
    的头像 发表于 05-09 14:08 571次阅读

    微电子B91模组组合板Matter演示固件介绍

    B91模组组合板(TLSR921x Module kit)是微电子专为智能家居设计的子母开发板。本篇文章将重点介绍基于
    的头像 发表于 04-17 10:08 1066次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>B91模组组合板Matter演示固件<b class='flag-5'>介绍</b>

    微电子推出超低功耗多协议物联网无线SoC芯片TLSR925x

    近日,微电子正式宣布推出国内首颗工作电流低至1mA量级的超低功耗多协议物联网无线SoC芯片——TLSR925x。这款芯片以其出色的性能和卓越的功耗控制,为新代高性能物联网终端产品
    的头像 发表于 03-14 11:19 1359次阅读

    微电子TLSR921x系列芯片成功适配中移物联OneOS物联网操作系统

    近日,中移物联网有限公司(中移物联)与微电子(上海)股份有限公司(微电子)共同宣布,
    的头像 发表于 02-26 09:30 981次阅读

    微电子、谷歌与和众科技的Matter联合项目取得重大进展

    近日,Telink(微电子)、Google(谷歌)、HooRii Technology(和众科技)共同参与的Matter联合项目宣布取得重大进展。在单台MatterOTBR设备下,成功挂载了超过100台Matter over
    的头像 发表于 02-26 09:27 914次阅读

    微电子产测工具使用—如何增加GPIO测试功能

    微电子的产测工具默认提供了多个产测固件,比如测试射频RF,测试低功耗电流,这些属于前置测试,即测试PCBA硬件是否存在异常。
    的头像 发表于 01-03 09:04 827次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>产测工具使用—如何增加GPIO测试功能

    技术专栏微电子JTAG工具使用教程(二)

    继上篇为大家介绍了《微电子JTAG工具使用教程()》 ,本篇将继续为大家
    的头像 发表于 12-27 08:55 1350次阅读
    【<b class='flag-5'>技术</b><b class='flag-5'>专栏</b>】<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>JTAG工具使用教程(二)