Wi-Fi 6 Matter for IoT
This course, which focuses on how to use the CC3301 Wi-Fi 6 and Bluetooth Low Energy (BLE) to build links to IoT device ICs and product systems, will be conducted in four part sessions: an introduction to Matter, an overview of Wi-Fi 6, introducing the new CC3301, including details in both software and hardware.
Resources
[AUDIO LOGO]
Hi, everyone. My name is Sabeeh Khan. Scott, I just wanted to take one second. You can hear me, right?
Yeah, sure. I can hear you.
OK. Sorry, just wanted to double confirm that. Again, hello everyone, and thank you all for joining. My name is Sabeeh Khan. I'm a Wi-Fi applications engineer based in Dallas, Texas. Today, I'll be conducting a lecture on how you can create Matter-enabled IoT products with the newest integrated Wi-Fi and BLE chip from Texas Instruments, the CC3301.
I'll first be providing an introduction to Matter and how to evaluate Matter on TI products. We'll then talk about Wi-Fi 6 and its applications within an IoT context. And lastly, I will showcase the new CC3301 with its latest and greatest industry standards, like Wi-Fi and BLE 5.3. And finally, I'll talk about how to get started evaluating the CC3301, and lastly I'll be showing a brief demo showing the AM62 embedded Linux processor plus the CC3301.
Many products today in the smart home all require some sort of connectivity, everything from video doorbells to thermostats and robot vacuums to light switches. These are all devices that require connectivity to improve the user experience. So there's an ever-growing demand for more and more connected devices in the smart home.
But what about the user experience for some of these IoT products? For example, certain IoT light bulbs may only work with Amazon Alexa and other appliances may only operate with Google Assistant. Lastly, every product now has a custom mobile application associated with the product, causing bloat and headaches for consumers. Users therefore have to be extremely cautious of which products they purchase in order to avoid costly decisions.
It is also very difficult for product developers because they would like to design for all of the cloud solutions, coming with its own challenges in terms of support and maintenance. Therefore, developers may choose only one of the cloud services and lose out on the rest of the available market. Furthermore, all of these devices have their own connectivity technologies. Some use Wi-Fi, while others use BLE, Thread, Z-Wave, Zigbee, and the list goes on.
There have been attempts to solve some of these challenges with open source solutions, like Home Assistant or If This Then That. However, these solutions attempt to reverse engineer protocols from proprietary sources. They are thus not widely adopted by industry, leading to poor maintenance and are often [INAUDIBLE].
A solution to this problem would require a new standard where developers and device manufacturers could all contribute while also being open to the public in order to maintain trust and improve security features. These are the kinds of problems that the Matter project is trying to resolve. There's a group called the connectivity standards alliance and it maintains the Zigbee standard as well as many others. The newest release is the Matter project, previously known as Connected Home over IP, or CHIP.
What is special about the CSA and Matter is that it brings together many of the world's biggest companies to work to create solutions for developers, customers, and consumers. That means companies like Apple and Google and Amazon and thousands of other members are working together to further enhance and future proof the IoT market. The CSA also provides certification programs so that developers and customers can be assured that these released devices will be interoperable.
Matter is a unified open source connectivity standard built to enable developers and device manufacturers to connect and build reliable and secure ecosystems and increase compatibility among connected home devices. There are many development goals for the project, but they are primarily interoperability, security, robustness, ease of use, and openness. These goals ensure that products will be able to communicate with any other Matter-certified device and have the latest security features while also ensuring that the design is completely open to the public.
All of this creates an ecosystem where consumers can purchase a Matter-certified product and easily extend the capabilities of their smartphone with a simple out-of-box experience. This allows an integration with all cloud services and voice assistants, from Apple, Amazon, or Google, and consumers can know it will just work while maintaining interoperability and security with other devices. The Matter project also contains unifying layers and examples so that when implemented once, all end devices are the same type will be running the exact same code. This approach allows for code reusability easy distribution and guaranteed interoperability.
What makes Matter able to be so widespread is that it uses market-proven technologies using IPv6 over physical layers like Wi-Fi, Ethernet, and Thread. BLE is also used, primarily for commissioning and connecting new devices to the network. This creates an accelerated development process for those who can leverage and integrate the open source protocol.
So how is TI involved in the Matter project? Well, not only is TI a member of the CSA, but TI is heavily involved with other standard groups used in Matter, like the Thread group, Bluetooth SIG, and Wi-Fi Alliance. Because of the expertise we have built in Wi-Fi, Thread, and BLE standards, TI is able to provide customers with Matter-enabled devices with best-in-class radio and power performance. Customers can get started developing with Matter today on TI wireless devices. For Thread, look to a CC2652 or the CC3235 for Wi-Fi communication.
Matter aims to build an IPv6-based protocol for smart home devices. The protocol defines the application layer that will be used on devices and the different link layers to help maintain interoperability. It interfaces with the TCP and UDP functions in the IPv6 layer. Wi-Fi and Thread are used the wireless link layer, and Ethernet can also be used because of its IPv6 support. BLE is also used for commissioning and device setup so that devices can securely join a user's network.
So what does the network topology of a Matter-enabled smart home look like, and how can devices join the Matter network? Well, let's start with the Wi-Fi access point or router because it is the wireless center of the home, as it enables cloud connectivity. And let's assume that mobile devices are already connected to the home's access point over Wi-Fi.
A Matter controller, like an Apple TV, can be connected to the access point through Wi-Fi or Ethernet. The Matter controller, in this case an Apple TV, is also required to start the Matter network. So to add a Matter-certified device, like a Wi-Fi-enabled door lock, it can join the network through a provisioning process over Wi-Fi.
A QR code is printed on the door lock so that the user can scan it with a mobile device. The mobile device will then initiate the connection over Wi-Fi and share credentials so that the door lock can join the Matter network. In this topology, the door lock has direct access to the cloud via the access point over its IPv6.
Any devices that use Thread have a very similar connection process but require a Thread gateway in order to gain access to the cloud. And in this case, again, it's the Apple TV. The mobile device will again scan a QR code printed on the third device, and then the two devices can briefly communicate over BLE, as an example, so that the third device now has the credentials to join the Matter network over Thread. The Apple TV in this case acts as a border router bridging the communication between the Wi-Fi and Thread networks and allowing the Thread devices to also have cloud connectivity.
Matter and devices and controllers can be used in all sorts of applications found in the smart home, examples being lighting, HVAC controls, thermostats, door locks, or even the access point itself. The requirement for these devices is to contain the connectivity and communication over IPv6. Remember, the Matter project used to be called CHIP, or Connected Home over IP, and that is exactly what the project intends to build.
TI has hardware and software available today so that you can get started developing Matter for your applications with TI products. For customers interested in building Matter with Linux, we can offer a two-chip solution. The AM62 is a recently released device from TI featuring a quad core 64-bit ARM CPU and a 3D GPU, and this can run embedded Linux. In combination with the brand new CC3301, which features Wi-Fi 6 and BLE 5.3, customers can build a fully capable product with the latest and greatest wireless features from TI at competitive pricing.
In order to build Matter on Linux devices, customers have two options. Customers can use the Debian AM62 SDK from TI and build the Matter repository on target. No cross compilation steps are necessary. Simply clone the repository, build one of the examples, and immediately get access to evaluating with Matter.
In fact, the Matter repository has documentation for getting set up with Raspberry Pi. But because it operates on Debian, which also operates on the AM62, users can follow those steps exactly without any skips. And I have done this myself.
For customers who prefer smaller images and a less bloated approach, cross-compilation is also possible through the Yocto Project. We are soon releasing an app note that will teach the developer how to create Yocto recipes that will clone and build the Matter repository and cross compile for the AM62 target. This app note will contain examples on how to build end devices like a Matter thermostat or a door lock app.
For an integrated one-chip solution, customers can utilize the CC3220 or the CC3235 SimpleLink Wi-Fi MCU and download TI's release Matter software that contains a demo lock application. Customers can simply build the demo application, flash it to the CC3220, and send messages over a Matter network, communicating with CHIP tool or the Matter controller example that runs on a PC.
Let's switch gears now and talk more about that Wi-Fi 6 product, the CC3301. TI's next gen Wi-Fi products are designed for the industrial IoT market. We are building these devices with affordability, reliability, ease of use features, while integrating the latest connectivity standards. With pricing starting at $1.60 per 1,000 units, TI's next gen Wi-Fi devices offer competitive pricing without sacrificing robustness features.
These devices can operate at industrial temperatures, that is, minus 40 to 105 degrees C, maintaining excellent RF performance. These Wi-Fi 6 devices are companion ICs, so they are used with an embedded host. However, there is strong flexibility, as we can offer software solutions for MCU or MPU hosts and a variety of operating systems, like FreeRTOS or Linux.
Because the IC package is small in size, it is easy to integrate into your current designs. And these devices are feature rich, integrating 802.11 ax or Wi-Fi 6 on the 2.4 gigahertz band. There is also BLE 5.3 integrated on the same chip.
Lastly, we cannot forget about security. These devices offer the latest security standards, like WPA3. The interfaces to the devices are also encrypted, protecting applications against data sniffing. Firmware is also provided by TI and authenticated, ensuring that only TI code is executed on the companion IC.
The new Wi-Fi 6 standard is tailor made for congested environments, allowing devices to transmit and receive more often, reduce collision and interference, and allow for multiple devices to be transmitting and receiving at the same time on the same channel. This creates a network where users can experience increased throughput and reduced network latencies.
The Wi-Fi market is constantly changing, so it is necessary that customers have access to the latest standards at a competitive price. Wi-Fi 6 makes improvements for both the 2.4 and 5 gigahertz channels. Wi-Fi 6E even creates an entirely new 6 gigahertz band, allowing for devices to move to the new 6 gigahertz band and leave the congested 2.4 and 5 gigahertz bands behind.
A new Wi-Fi 6 feature called Target Wake Time, or TWT, allows devices to shut off completely for prolonged periods, reducing power consumption for the whole system. With features like WPA3 and Target Wake Time, customers can be guaranteed that these devices future proof designs for years to come.
TI has over two decades of Wi-Fi experience creating products for many applications, like mobile phones and home applications. With all of that experience, TI is able to create a new generation of Wi-Fi products with a fundamental understanding of robustness, stability, and functional features. Even though developers may go through Wi-Fi Alliance certifications, there may be times where interoperability issues on the Wi-Fi network may occur.
That is why TI has created a testing and interoperability lab with over 230 access points from various manufacturers. TI then tests the devices in this lab to ensure correct operation, validating connection and data throughput to guarantee that customers have the best possible experience.
To further understand the problem that Wi-Fi 6 is trying to solve remember that Wi-Fi is a half-duplex communication standard, meaning that only one device can be transmitting on a designated medium at a time. And recall that the smart home now has many connected devices. It's no longer just laptops and cell phones, as the smart home now has dozens of additional devices all connected over Wi-Fi. This means that devices now have to wait more time in order to get access to the medium and create very congested [INAUDIBLE], sacrificing local data throughput and exaggerating poor user experiences.
Of course, the same problem is more intense in high density areas. Many radios take a very long time to get access to the medium and be able to communicate. With more crowded Wi-Fi networks, consumers are now experiencing slower link speeds and unreliable connections. The issues that Wi-Fi 6 results are centered around relieving congestion and improving network inefficiencies.
Here, I am showing the overall evolution of Wi-Fi through the most recent standards. Wi-Fi 4 is a standard that most consumers are familiar with. It was a step forward to increase the bandwidth compared to its previous standard versions. It made significant improvements on both the 2.4 and 5 gigahertz bands. Manufacturers were able to develop IoT products that centered around using 802.11 n for their applications.
Wi-Fi 5 was a major step forward, but focused almost entirely on increasing data throughput. Through the creation of the 80-megahertz channel bandwidth that was released with Wi-Fi 5, devices like tablets and phones can now see data rates into the multi-gigabit per second. Also, the improvements that Wi-Fi 5 brought were only for the 5 gigahertz band. Implementing a radio that supports megahertz channel is very expensive, therefore for low-cost, simple IoT applications, Wi-Fi 5 does not bring any benefit.
Wi-Fi 6 is also back compatible with Wi-Fi 5 and 4, so that is why it supports and improves upon the 20, 40, and 80 megahertz [INAUDIBLE]. It brings a new bandwidth of 160 megahertz, so that devices can access even higher rates. What is interesting about Wi-Fi 6 is that there's a new spec specifically for 20 megahertz channels, so the spec is kind of split up in that sense. One side of the spec has improvements for faster data throughput and the other focuses on low-cost IoT applications in dense environments.
Everything highlighting in green is implemented on TI Wi-Fi parts. TI Wi-Fi 6 brings new features, like trigger frames, OFDMA, Target Wake Time, or TWT, and BSS Color. Trigger frames is a crucial feature to make communication more deterministic. Previously, devices would have to listen to the air before transmitting. And if a collision would occur, a device would have to back off completely before retransmitting, causing delays and transmissions. And collisions would increase as more devices more devices are connected to the network.
With trigger frames, data transmission is now deterministic. The AP can now identify how much throughput or airtime each client requires and then allocate time accordingly. The AP relays this information to connect the clients through trigger frames, completely removing the need for listening before talking.
OFDMA allows multiple clients to communicate simultaneously with an access point. Target Wake Time enables devices to sleep for longer periods so that they consume less power. BSS Color allows more networks to continue communication, even if these networks are on the same channel and overlapping airtime. These are the kinds of features that are necessary to implement to improve networks in dense Wi-Fi environments.
Orthogonal Frequency Multiple Division Access, or OFDMA, is a new modulation technique that allows for clients to simultaneously transmit and receive. This is a revolutionary modulation technique compared to OFDM, as only one device on the entire network would have to reserve the entire channel for its RF communication. It breaks up the channel into smaller subcarriers than previous Wi-Fi generations and assigns bundles of these of these subcarriers as resource units.
Depending on the amount or type of data that a client might be transmitting, the AP can assign more resource units to a client if necessary. If only a small amount of research units are needed for a single transmission, then the access point can assign resource units to other clients, allowing more clients to use channel bandwidth at the same time. These resource units are spaced out orthogonally so that subcarriers do not cause interference. The Wi-Fi transmission is still half-duplex in this manner, even though devices are channeling or talking on the same channel at the same time.
One of the primary issues with Wi-Fi 4 networks is that access points often have to be on the same channel, leading to APs and their clients having to back off from the medium so that another AP and its client could communicate. For example, on the 2.4 gigahertz band, only channels 1, 6, and 11 do not overlap. Excuse me.
But because these are the only three channels available, APs in a dense environment will quickly fill up these channels, causing significant overlap and a slowdown of all networks on the same channel. BSS Color aims to resolve this by assigning a color to APs. Connected clients must listen for the assigned colors before determining if the received frame is intended for them or not. If the BSS color is the same, then the client accepts the entire payload.
However, if the BSS color is different, then the client knows that frame is from another AP and the frame is ignored. The station is then able to immediately start transmitting. With BSS Color, traffic from neighboring BSSes will not will not create unnecessary channel access contention.
An exciting feature of Wi-Fi 6 is Target Wake Time. A Wi-Fi 6 access point can negotiate with the participating clients the use of the Target Wake Time function to define a specific time or set of times for individual stations to access the medium. The stations and AP exchange information that includes an expected activity duration. This way, the AP controls the level of contention and overlap among clients needing to access the medium. Clients may use TWT to reduce energy consumption, entering a sleep state until their TWT frame arrives.
So here, we can see an AP will send out a beacon. The station is first asleep. The Target Wake Time trigger then comes, and then the station is awake and then promptly goes back to sleep. For a second station, it has been asleep this entire time until it received its trigger wake frame.
This is an overview of the CC330x. It is a 2.4 gigahertz only part featuring Wi-Fi 6 and integrated BLE 5.3. There are two versions, the CC3300 and the CC3301. They have the same parts, just that the CC3300 has the BLE removed. It communicates with the host MCU or MPU over SPI or SDIO, while BLE can be used over UART. It is also possible to run the BLE over SDIO.
The CC3301 has two power rails, a 1.8 volt and 3.3 volt supply. The device has a single antenna for RF communication, so Wi-Fi and BLE are therefore shared over the same antenna. The device features external coexistence so that if other 2.4 gigahertz radios, like Thread or Zigbee, are used, they can be used together without interference. The maximum Wi-Fi data throughput for this device is 50 megabits per second. All of these features that I've listed are intended to create a device targeted for the industrial IoT market.
The CC3301 is a simple and easy to use part. This is an example schematic of how the CC3301 could be used. To integrate the CC3301, only passes, a bandpass filter, a 40 megahertz crystal are required. Then you only need to connect the enable pin, SDIO lines or SPI, and an IRQ pin to your MCU or MPU host.
If pins are limited by the host, the Linux driver software allows in-band IRQ, meaning that there is no longer a need to connect the IRQ pin, as you can interrupt over the SDIO bus. Furthermore, the device also supports one bit bus width, meaning that you don't have to use the full 4 bit SDIO bus, and you can use one instead and interrupt over that single data line, reducing your overall pin usage.
These are the two evaluation boards that we currently offer to evaluate the CC3301 chip. The booster pack, or BP-CC3301, is essentially a breakout board for all of the pins on the CC3301. It fits the LaunchPad ecosystem so it can simply plug into a host, like the AM243 LaunchPad, for which we have example software.
I actually have a board of this. It's here. It might not show up well on camera, but this is the board. And in the center there is the CC3301.
We also offer the M.2 card. It can plug into any Linux MPU that has SDIO on the M.2 connector. The board also works with non-TI platforms, like IMX or STM. And we have software ready so that customers can use the CC3001 with any embedded Linux host.
I also have the M.2 card with me here, and this is what it looks like. And here's my pink-- oops. Here's my pinky for size comparison. Very small.
For Linux applications, we can use the BP-CC3301 with the BeagleBone Black and its adapter board. Customers familiar with the BLE Black ecosystem can get up and running quickly with the CC3301 BeagleBone Black prebuilt image. On the other hand, we can use the AM62 starter kit with the M2-CC3301. This is the hardware setup I was discussing earlier in the Matter portion of the talk.
The CC3301 can be paired with any MCU or MPU. For MPUs running Linux we offer drivers that patch into the Linux kernel. Wi-Fi is then enabled, allowing applications to call the Linux TCP/IP stack. There is nothing to do in Linux for the application that is specific to the CC3301. Run your application as if you were developing on any other Linux machine, like a PC.
For MCU devices running FreeRTOS, we offer a similar solution. However, the difference is that the supplicant is now moved into the ROM of the CC3301. This saves about 350 kilobytes of space on the MCU host.
TI has drivers available today for MPU Linux applications. These drivers are available to work on any Linux host. We will also offer Wi-Fi Alliance certification, allowing customers to go to market faster.
So let me provide an example of how a connection command might look like. When you provide the Wi-Fi credentials to join a network, the WPA supplicant is first started and it tends to initiate the connection. The supplicant then communicates with the nl802.11 driver that's part of the Linux kernel.
But the nl802.11, or Netlink, implements a Netlink interface between user space and kernel space components of the Linux wireless solution, which then talks to cfg802.11, or the config, which just simply configures the Linux wireless API. And that talks to the mac802.11, which is the, quote unquote, upper MAC, or also part of the Linux kernel, implementing upper MAC layer functions for the Wi-Fi solution. That then talks to the CC33xx driver, and that is running at the lowest level in communicating directly with the CC3301.
We have a plan for these drivers to be upstream so that the drivers are included into mainline Linux. The drivers will then automatically be distributed to every Linux SDK, TI or not. With Linux and the CC3301, customers can bring up the device as either a station or a client or an access point, or they can have both client and access point active at the same time and operating on different channels. It is even possible to have BLE running simultaneously, so you can have three modes up all operating together.
For Linux applications, BlueZ is a completely open source Bluetooth stack and is commonly included in processor SDKs. The CC3301 can be used by BlueZ without any other software implementation. For MCU, we offer a TI BLE stack that can be implement on host MCU devices.
And so we have EVMs and IC sampling today to get started developing and get the M.2 card or booster pack for the CC3301 as well as a host. For Linux, you can either use the BeagleBone Black or the AM62 starter kit. For MCU, you can also use the AM243 LaunchPad. Software solutions for both Linux and MCU are also available on ti.com. For questions, please reach out to us on E2E.
I'm also going to now-- that is the end of all the content I had, but I did want to show a quick demo of the AM62 plus CC3301 on the M.2 card. So again, this is the M.2 card and I have the AM62 starter kit here. And so that's what that looks like.
So I'll start sharing my screen and I'll bring up the demo. So here, I'm in a serial terminal of my AM62. You can see on the left side here, it says, AM62xx evm. So the first thing I'll do just to show you that I have a wireless interface available is I'll type in ifconfig, and so here you can see all of the interfaces. And so at the bottom here, we can see that we have WLAN0 with the MAC address already provided. So this is the CC3301 chip that's been brought up.
I have some scripts here available. These are all included in the SDK so that you can also get access to the same scripts that I'm using here. I'll just show you quickly, these are all the scripts that are available. We have scripts to get AP mode up, enable BLE. If you want to use station mode, we have those also available.
So I'll just quickly do a station demo. It's not shown on camera, but I have a hotspot right next to me. So let's just do a scan for this hotspot. I'll just do a scan for everything in the area.
So here are all the hotspots in my area. I can now start up the WPA supplicant and I'll try to connect to my hotspot. There it goes.
And see, at the bottom here, you can see "control event connected." And so because I'm on a hotspot, I can also assign a IP address to the WLAN0 interface. We'll let this go.
OK, great. So we now have an IP of 192.168.1.53. So because I have a hotspot and it's connected to the cloud, let's try to ping google.com. Great. So we're getting a response back from Google.
Let's try to download a web page, for example. So we'll just say wget google.com. Oh, cool. I was able to connect to google.com and get the index.html. So obviously, it won't show up well because I'm in a serial terminal. But if I just say, cat index.com, there's the full HTML page that I just downloaded.
So I also talked about AP mode and running AP mode simultaneously with station mode. Let's try to run that now. But while you can see I have config-- I still have that WLAN0, and now I have an IP address, that 192.168.1.53. So let's run AP mode and see what happens.
Great. You see here, I can have on WLAN1 it now says, AP enabled. So let's check ifconfig. There it is. There's WLAN0 with the same .53 IP address, and at WLAN1 I have a new IP address of 192.168.43.1.
Now, this part is a little bit difficult to show. But what I'll do is I'll just take my iPhone and I'll connect to-- so I can't really show it, but on my phone it says CC33xx AP, and I'll connect to that now. And there you go. You see on my terminal here, it says AP station connected.
Now, what can we do more than this? So what I'll do now is I'll go to my settings and I'll find the IP address of my device. So on my phone, it says that the IP address is 192.168.43.20, and so let's just ping that.
OK, cool. So now the AP mode of CC3301 is able to ping my device. And so just to confirm that station mode is still working, let's go back and try to ping google.com. Recall that this is going through the hotspot, not through my phone. And there you go. There you see google.com going off again.
And I think to show-- I actually haven't tested this part, but I believe there's a server running on the AM62. So let me just type in the IP address of the AP onto my browser. OK, cool, there is.
I didn't test this before. But again, it's hard to show you, but on my phone I just opened up a web browser and this is the web the web server-- sorry. This is the web browser that's running on the AM62. So there's a few options here. There's, I don't know, an ARM button and there's some other testing that you can do. So I'm just clicking on random web pages on my mobile device.
I apologize, I can't show you this. I didn't figure out how to do that through the session. But I guess you can trust me on this one. Or you can download the EVM, or get the EVM and download the software and try this out yourself. And then you can call me a liar if it doesn't work.
This video is part of a series
-
2023 TI Technical Webinar
video-playlist (8 videos)