blob: cc0a05280cbc221a34b855fb9d4b1a1fe02b632e [file] [log] [blame] [view]
# Texas Instruments platform overview
The TI platform is a [Matter][matter_gh] platform based on the Texas Instruments
Incorporated SimpleLink SDK.
The following diagram is a simplified representation of a Matter application
which built on the TI Platform.
![matter_ti_overview_simplified](images/matter_ti_overview_simplified.png)
## Texas Instruments SimpleLink SDK
The SimpleLink CC13xx and CC26xx Software Development Kit (SDK) delivers
components that enable engineers to develop applications on the Texas
Instruments SimpleLink CC13xx and CC26xx family of wireless microcontrollers
(MCUs). This software toolkit provides a cohesive and consistent software
experience for all SimpleLink CC13xx and CC26xx wireless MCU users by packaging
essential software components, such as a Bluetooth® Low Energy (BLE) protocol
stack supporting Bluetooth 5.2, Bluetooth Mesh, Thread 1.1.1 networking stack
based on OpenThread, Zigbee 3.0 compliant protocol suite, RF-Proprietary
examples, TIs 15.4 Stack as well as the TI-RTOS kernel and TI Drivers in one
easy-to-use software package along with example applications and documentation.
In addition, the Dynamic Multi-Protocol Manager (DMM) software component enables
multiprotocol development on a single SimpleLink wireless MCU through
time-division multiplexing.
The SimpleLink MCU portfolio offers a single development environment that
delivers flexible hardware, software, and tool options for customers developing
wired and wireless applications. With 100 percent code reuse across host MCUs,
Wi-Fi™, Bluetooth Low Energy, Sub-1GHz devices and more, choose the MCU or
connectivity standard that fits your design. A one-time investment with the
SimpleLink software development kit allows you to reuse often, opening the door
to create unlimited applications. For more information, visit
www.ti.com/simplelink.
<hr>
## BLE and Thread stacks
In the TI example applications the Bluetooth Low Energy protocol is used to
provision the Thread protocol to enable Matter communication. Then Thread is
used for IP communication with other Matter devices.
The TI applications leverage the Bluetooth Low Energy stack on the CC13X2 and
CC26X2 families. This BLE software is distributed in binary form within the TI
SimpleLink SDK. The BLE stack leverages code that is present in the device ROM
for certain common BLE operations.
These applications leverage the OpenThread stack available within the Matter
repository for Thread communication. Platform support source is built from the
SimpleLink SDK.
These connection protocols can be run concurrently by using the Texas
Instruments Dynamic Multi-protocol Manager.
<hr>
## LwIP stack
The Lightweight IP stack interfaces with the OpenThread stack to offer standard
IP connectivity protocols that OpenThread does not natively support. This offers
a standard socket based interface to the Matter platform.
<hr>
## MbedTLS
The MbedTLS library is used by OpenThread and Matter for a wide variety of
protocols. This ranges from basic AES and SHA to cryptographic protocols like
ECDSA and ECDH.
The MbedTLS library is hardware accelerated using the TI SimpleLink SDK drivers.
This is achieved through the usage of `_ALT` defines in the MbedTLS
configuration file.
<hr>
## Matter integration
Matter interacts with LwIP, OpenThread, and the TI BLE stack to achieve the
protocol and application functionality. A BLE profile is registered with the
TI-BLE stack to enable provisioning and configuration. Once the device is
provisioned Matter will configure the OpenThread interface to connect to an
existing Thread network or to start its own network. From there the Matter IP
messages are sent to the LwIP stack to be routed to the OpenThread stack for
transmission.
Overall, applications generally only need to interface with the Cluster Library
from Matter. The transport of messages and configuration of the device is all
handled by the platform implementation files.
<hr>
## Matter example applications
Sample Matter applications are provided for the TI platform. These can be used
as reference for your own application.
- [lock-app](../../examples/lock-app/cc13x2x7_26x2x7/README.md)
- [pump-app](../../examples/pump-app/cc13x2x7_26x2x7/README.md)
- [pump-controller-app](../../examples/pump-controller-app/cc13x2x7_26x2x7/README.md)
<hr>
### Build system
The TI platform uses GN to generate ninja build scripts. Build files have
already been written to build and link the TI specific code within the
SimpleLink SDK.
<hr>
### TI Support
For technical support, please consider creating a post on TI's [E2E forum][e2e].
Additionally, we welcome any feedback.
[e2e]: https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread
[matter_gh]: https://github.com/project-chip/connectedhomeip