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
Mar 18, 2024
Innovation in the AI and supercomputing domains is proceeding at a rapid pace, with each new advancement heralding a future more tightly interwoven with the threads of intelligence and computation. Cadence, with the release of its Millennium Platform, co-optimized with NVIDIA...
Mar 18, 2024
Cloud-based EDA tools are critical to accelerating AI chip design and verification; see how NeuReality leveraged cloud-based chip emulation for their 7NR1 NAPU.The post NeuReality Accelerates 7nm AI Chip Tape-Out with Cloud-Based Emulation appeared first on Chip Design....
Mar 5, 2024
Those clever chaps and chapesses at SiTime recently posted a blog: "Decoding Time: Why Leap Years Are Essential for Precision"...

featured video

We are Altera. We are for the innovators.

Sponsored by Intel

Today we embark on an exciting journey as we transition to Altera, an Intel Company. In a world of endless opportunities and challenges, we are here to provide the flexibility needed by our ecosystem of customers and partners to pioneer and accelerate innovation. As we leap into the future, we are committed to providing easy-to-design and deploy leadership programmable solutions to innovators to unlock extraordinary possibilities for everyone on the planet.

To learn more about Altera visit: http://intel.com/altera

featured paper

Reduce 3D IC design complexity with early package assembly verification

Sponsored by Siemens Digital Industries Software

Uncover the unique challenges, along with the latest Calibre verification solutions, for 3D IC design in this new technical paper. As 2.5D and 3D ICs redefine the possibilities of semiconductor design, discover how Siemens is leading the way in verifying complex multi-dimensional systems, while shifting verification left to do so earlier in the design process.

Click here to read more

featured chalk talk

Shift Left with Calibre
In this episode of Chalk Talk, Amelia Dalton and David Abercrombie from Siemens investigate the details of Calibre’s shift-left strategy. They take a closer look at how the tools and techniques in this design tool suite can help reduce signoff iterations and time to tapeout while also increasing design quality.
Nov 27, 2023
15,220 views