feature article
Subscribe Now

Easier Gadget Wireless

One for Coding; One for No Coding

So you’re going to add wireless capabilities to your WidgetMaster-Plus, eh? You did all that work getting the widgety parts working, so now all you need is to slap on an antenna and a wireless thingymawhatcher and it’s out the door, right?

Yeah, well, maybe so, maybe no. There are two phases to getting this done. The first is simply getting the wireless functionality to work, which itself has two aspects: the hardware radio and the software stacks. Either of which you might do yourself or find something off-the-shelf. Our focus today will be the software.

Once you’ve done that, you have the second piece of the task: getting the dang thing certified. Ayla Networks says that it can take a year to get something out the door, including certification.

Of course, stacks are a dime a dozen – cheaper if you go open source. Cheaper from an initial-cash-out perspective, that is. But then you have to adapt them to your system. That’s where the cost – and time – come in.

Well, today we’re going to talk about two different approaches to this problem: one from Ayla Networks and one from Silicon Labs. Both have the same goal: getting your wireless functionality out the door faster. The first approach is for companies rolling their own functionality; the second is for those who want to go with no rolling.

Bear in mind, of course, that “wireless” isn’t one thing. It’s a bunch of things: WiFi, Bluetooth, cellular (of many flavors), Zigbee, Thread, and even Z-Wave. So which solution you pick may well depend on which wireless you are trying to implement. The solutions we’ll discuss today focus on the big ones: cellular, WiFi, and Bluetooth.

Cut the Time in Half

Ayla Networks was the first IoT company we talked about way back when. Ayla brings a couple of capabilities to this problem for those doing their own thing with either WiFi or cellular. Why would you code-your-own when Ayla already makes modules that are prêt-à-porter? They list various reasons:

  • You’re modifying an existing product, so you’re not redoing the whole thing.
  • You’re using hardware that Ayla doesn’t support directly. You may have special considerations (price, existing business relationships, etc.) underlying that choice.
  • You want more control.
  • You want specific functionality – and only that functionality. Nothing extra or unused.

They’re also positioning this for use by module makers who can then sell their canned functionality to their customers. It is, however, an approach that’s appropriate for a team that has experience doing this and that can program in C.

The first bit that Ayla has announced is their Portable Agent. This is code and libraries that can be leveraged to cut development and certification time down from a year to six months for an experienced team.

Ayla illustrates their approach below. The orange parts are what you would focus on; the green parts are what Ayla provides to speed the process up. Let’s walk through this.

 

(Image courtesy Ayla Networks)

The APP layer is, of course, your application. You still have to do that bit; sorry. The ADA layer is the Ayla Device Agent. It’s available as a library element or as source code. The Ayla Library contains a variety of utilities written to be platform-independent. This includes code necessary for interacting with Ayla’s cloud resources.

Those three elements all interact with the Adapter Layer (AL), and this is where you spend much of your implementation time. You’ve got a specific platform, which means you need platform-specific code. And yet this whole agent thing is platform-independent. So the AL is where you take all your specific code and wrap it in an API that Ayla specifies so that it can interact with the ADA and the Library. There are interfaces for threads, mutexes, memory access, network functions, and security functions, to list some examples.

Which Mobile?

The other thing they’re tackling is the challenge of doing one application that can run on multiple different mobile platforms. Specifically, iOS and Android. Ayla suggests that it’s not easy to maintain a single code base for the app and then adapt it for the different platforms in an easily manageable way.

So they have come up with a way to do a single “skeleton” application, but then personalize it for its platform at both build and run times. The end game is a JSON file that contains the customizing data for the code. So you have a single application with indirection and dangling hooks, and then, at run time, the JSON data is read and implements late binding of the code appropriate to the platform.

This late-binding approach doesn’t fit so well with the build process, which is why they intervene there as well to manage the indirection and the unbound calls. They also eliminate library objects that aren’t used, in order to unclutter things.

The image below illustrates this adaptation – although, at least as I interpret it, it suggests that a single JSON file can run on either platform – making it look like a build-time thing. Instead, there’s really a single app version, with a different JSON adaptation file for each one (kind of the reverse of what’s shown). The “skeleton app” is the same on both platforms.

 

(Image courtesy Ayla Networks)

Move the Stack

Meanwhile, Silicon Labs announced a solution for WiFi and Bluetooth that, at first glance, looks just like another couple of modules. But there’s a critical difference: their modules include the stack in the package.

They tout this as a “zero programming” approach, meaning it’s good-to-go with no coding.

They illustrate this basic distinction as follows. While anyone buying a module has to implement a stack (which may be provided by the module-maker), that stack is typically run in a host processor, not in the module. Which means adapting the stack to that processor. And it means selecting a microcontroller that can handle the stack – which may be more microcontroller than you otherwise would need.

 

(Click to expand. Image courtesy Silicon Labs)

By moving the stack into the module, it’s complete in the shipped product, needing no further adaptation. You can select your microcontroller based on your other application requirements only. This clearly is well suited to a different audience than that for which the Ayla solution is intended. As they tell it, the story isn’t about more streamlined coding; it’s about no coding.

They’ve got a couple of versions of each module, although they’re not quite parallel.

 

(Image courtesy Silicon Labs)

For Bluetooth, they have PCB-module and system-in-package (SiP) options. Both contain the antenna. On the WiFi side, there’s a module with the antenna, and then there’s a chip-only version that’s smaller but has no antenna.

Both run atop what they call their GeckoOS system. They make most of the GeckoOS source code available – except for the topmost layer. But they say that it’s not written in a way that makes it easy to port or to learn how things are done. They say that it’s optimized production code, so you have to keep that in mind while wandering through it.

Finally, one benefit that Silicon Labs is touting with their solution is that they own all the bits. They own the hardware chips; they own the stack; they own the module. So, if there’s a support question, there’s no finger-pointing between, say, module-maker and chip-maker. The burden falls entirely on them – and they’re ok with that.

 

More info:

Ayla Networks

Silicon Labs’ new modules

One thought on “Easier Gadget Wireless”

Leave a Reply

featured blogs
Dec 7, 2023
Building on the success of previous years, the 2024 edition of the DATE (Design, Automation and Test in Europe) conference will once again include the Young People Programme. The largest electronic design automation (EDA) conference in Europe, DATE will be held on 25-27 March...
Dec 7, 2023
Explore the different memory technologies at the heart of AI SoC memory architecture and learn about the advantages of SRAM, ReRAM, MRAM, and beyond.The post The Importance of Memory Architecture for AI SoCs appeared first on Chip Design....
Nov 6, 2023
Suffice it to say that everyone and everything in these images was shot in-camera underwater, and that the results truly are haunting....

featured video

Dramatically Improve PPA and Productivity with Generative AI

Sponsored by Cadence Design Systems

Discover how you can quickly optimize flows for many blocks concurrently and use that knowledge for your next design. The Cadence Cerebrus Intelligent Chip Explorer is a revolutionary, AI-driven, automated approach to chip design flow optimization. Block engineers specify the design goals, and generative AI features within Cadence Cerebrus Explorer will intelligently optimize the design to meet the power, performance, and area (PPA) goals in a completely automated way.

Click here for more information

featured paper

Power and Performance Analysis of FIR Filters and FFTs on Intel Agilex® 7 FPGAs

Sponsored by Intel

Learn about the Future of Intel Programmable Solutions Group at intel.com/leap. The power and performance efficiency of digital signal processing (DSP) workloads play a significant role in the evolution of modern-day technology. Compare benchmarks of finite impulse response (FIR) filters and fast Fourier transform (FFT) designs on Intel Agilex® 7 FPGAs to publicly available results from AMD’s Versal* FPGAs and artificial intelligence engines.

Read more

featured chalk talk

OPTIGA™ TPM SLB 9672 and SLB 9673 RPI Evaluation Boards
Sponsored by Mouser Electronics and Infineon
Security is a critical design concern for most electronic designs today, but finding the right security solution for your next design can be a complicated and time-consuming process. In this episode of Chalk Talk, Amelia Dalton and Andreas Fuchs from Infineon investigate how Infineon’s OPTIGA trusted platform module can not only help solve your security design concerns but also speed up your design process as well.
Jun 26, 2023
19,976 views