Device Silences TV Commercials

Arduino-Controlled Solution

Ever wish you could block out those annoying TV ads? Tommy describes in detail how he built a device for easily muting the audio of commercials. His project relies on three modules: a UHF radio receiver, an IR module and an Arduino Trinket board.

By Tommy Tyler

Does your blood start to boil as soon as one of those people on TV tries to sell you precious metals, a reverse mortgage, a miraculous kitchen gadget or an incredible weight reduction plan? Do you want to climb the wall the next time someone says “But wait! Order now and get a second one free . . .“? Believe it or not, there was a time long ago when TV commercials were actually entertaining. That was before commercial breaks evolved from 30 second or one-minute interruptions into strings of a half-dozen or more advertisements linked end-to-end for three to five minutes—sometimes with the exact same commercial shown twice in the same group! What is perhaps most annoying is the relentless repetition.

Historically, all the feeble attempts at TV commercial elimination have been applied to recordings on VCRs or DVRs. Anyone who watches programming that’s best enjoyed when viewed in real-time—news, weather and sports—has probably wished at one time or another for a device that can enable them to avoid commercials. They long for a device that could be inserted between their TV and the program source—whether it be cable, satellite or an OTA antenna—to instantly recognize a commercial and blank the screen, change channels or somehow make it go away. The technology for doing that does exist, but you’ll probably never find it applied to consumer products. Since funding of the entire television broadcast industry is derived from paid advertisements, any company that interferes with that would face enormous opposition and legal problems.

After many years of searching the Internet I’ve concluded it is wishful thinking to expect anyone to market a product that automatically eliminates commercials in real-time. I decided to work instead on the next-best approach I could think of: A device that makes it quick and easy to minimize the nuisance of commercials with the least amount of manual effort possible. This article describes a “Kommercial Killer (KK)” that is controlled by a small radio transmitter you carry with you so it’s easily and instantly accessible. No scrambling to find that clumsy infrared remote control and aim it at the TV when a commercial starts. Just press the personal button that’s always with you, even while remaining warm and cozy curled up under a blanket.

Kommercial Killer

The KK operates from anywhere in the home, even from another room completely out of sight of the TV and can be triggered at the slightest sound of an advertisement, political message, solicitation or perhaps even a telephone call. It works with any brand and model TV without modifications or complicated wiring connections by using the TV’s infrared remote control system. If you get a new TV, its remote control can easily teach KK a different MUTE command. Don’t worry about leaving the room with the TV muted. KK automatically restores audio after a certain amount of time. The default time is three minutes, the length of a typical commercial break, but you can easily configure this to any amount of time you prefer. And when you want to restore audio immediately—for example if you have muted non-commercial program material by mistake or if a commercial runs shorter than expected—just press your transmitter button again.

Figure 1
Schematic of the Kommercial Killer

KK is built mainly from three commercially available modules that do all the heavy lifting (Figure 1). The first module is a miniature UHF radio receiver. The second is an infrared module that can learn and mimic the TV mute signal. The third module is an Arduino Trinket board that provides commercial break timing and overall control. This article explains how to load a small program into that module without needing any special equipment or training, and even if you have absolutely no previous experience with Arduino devices.

The three modules are small and inexpensive ($7 to $10 each) and with just eight additional components KK can be built on an open perf board, strip board or enclosed in a 6-inch3 box. It is powered from the same USB Micro cable you use to load or modify the Arduino program, or from any other available USB port or 5 V charger.

UHF Receiver Module

The best UHF radio transmitters and receivers are all manufactured in China, and there are no major distributors in the U.S. So, order this item early and be prepared to wait about 20 days for delivery. After sampling many different remote controls to evaluate performance, quality, cost and shipment, I selected a product manufactured by the Shenzhen YK Remote Control Electronics Company, whose products are sold and shipped through AliExpress. Shenzhen remote controls use two types of receivers. . …

Read the full article in the May 334 issue of Circuit Cellar

After you’ve read the full article, don’t forget to go the the Article Materials Page for useful links and information.
Don’t miss out on upcoming issues of Circuit Cellar. Subscribe today!
Note: We’ve made the October 2017 issue of Circuit Cellar available as a free sample issue. In it, you’ll find a rich variety of the kinds of articles and information that exemplify a typical issue of the current magazine.

STM32 Software Brings Alexa Tech to Simple Connected Objects

The X-CUBE-AVS software package from STMicroelectronics enables Amazon’s Alexa Voice Service (AVS) to run on STM32 microcontrollers, allowing simple connected objects such as smart appliances, home-automation devices, and office products to support advanced conversational user interfaces with Cloud-based intelligence like automatic speech recognition and natural-language understanding.

As an expansion package for the STM32Cube software platform, X-CUBE-AVS contains ready-to-use libraries and open routines that accelerate porting the AVS SDK (Software Development Kit) to the microcontroller. With application samples also included, it abstracts developers from the complex software layers needed to host AVS on an embedded device. Being the first such package to cater specifically for microcontrollers, whereas AVS development usually targets more power-hungry and expensive microprocessors, X-CUBE-AVS makes Alexa technology accessible to a wider spectrum of developers and projects.
The software handles low-layer communication and connection to AVS servers, provides application-specific services, and encapsulates the AVS protocol to ease application implementation. Connection management includes a persistent-token mechanism for directly restoring connection losses without repeated user authentication. A software test harness is provided for endurance testing, which can simulate events such as network disconnection to facilitate robustness testing and validation of the user application.

X-CUBE-AVS comes with a demonstration example for the STM32F769 Discovery Kit (order code: 32F769IDISCOVERY), which shows how to connect a simple smart-speaker to AVS, leveraging the board-configuration interface included in the software. X-CUBE-AVS can be used with other STM32F7 microcontrollers, or any STM32 device with adequate CPU performance and memory to run the AVS SDK.

X-CUBE-AVS is available now to download, free of charge, from http://www.st.com/x-cube-avs

STMicroelectronics | www.st.com

Linux and Coming Full Circle

Input Voltage

–Jeff Child, Editor-in-Chief

JeffHeadShot

In terms of technology, the line between embedded computing and IT/desktop computing has always been a moving target. Certainty the computing power in small embedded devices today have vastly more compute muscle than even a server of 15 years ago. While there’s many ways to look at that phenomena, it’s interesting to look at it through the lens of Linux. The quick rise in the popularity of Linux in the 90s happened on the server/IT side pretty much simultaneously with the embrace of Linux in the embedded market.

I’ve talked before in this column about the embedded Linux start-up bubble of the late 90s. That’s when a number of start-ups emerged as “embedded Linux” companies. It was a new business model for our industry, because Linux is a free, open-source OS. As a result, these companies didn’t sell Linux, but rather provided services to help customers create and support implementations of open-source Linux. This market disruption spurred the established embedded RTOS vendors to push back. Like most embedded technology journalists back then, I loved having a conflict to cover. There were spirited debates on the “Linux vs. RTOS topic” on conference panels and in articles of time—and I enjoyed participating in both.

It’s amusing to me to remember that Wind River at the time was the most vocal anti-Linux voice of the day. Fast forward to today and there’s a double irony. Most of those embedded Linux startups are long gone. And yet, most major OS vendors offer full-blown embedded Linux support alongside their RTOS offerings. In fact, in a research report released in January by VDC Research, Wind River was named as the market leader in the global embedded software market for both its RTOS and commercial Linux segments.

According the VDC report, global unit shipments of IoT and embedded OSs, including free/non-commercial OSs, will grow to reach 11.1 billion units by 2021, driven primarily by ECU-targeted RTOS shipments in the automotive market, and free Linux installs on higher-resource systems. After accounting for systems with no OS, bare-metal OS, or an in-house developed OS, the total yearly units shipped will grow beyond 17 billion units in 2021 according to the report. VDC research findings also predict that unit growth will be driven primarily by free and low-cost operating systems such as Amazon FreeRTOS, Express Logic ThreadX and Mentor Graphics Nucleus on constrained devices, along with free, open source Linux distributions for resource-rich embedded systems.

Shifting gears, let me indulge myself by talking about some recent Circuit Cellar news—though still on the Linux theme. Circuit Cellar has formed a strategic partnership with LinuxGizmos.com. LinuxGizmos is a well-establish, trusted website that provides up-to-the-minute, detailed and insightful coverage of the latest developer- and maker-friendly, embedded oriented chips, modules, boards, small systems and IoT devices—and the software technologies that make them tick. As its name in implies, LinuxGizmos features coverage of open source, high-level operating systems including Linux and its derivatives (such as Android), as well as lower-level software platforms such as OpenWRT and FreeRTOS.

LinuxGizmos.com was founded by Rick Lehrbaum—but that’s only the latest of his accolades. I know Rick from way back when I first started writing about embedded computing in 1990. Most people in the embedded computing industry remember him as the “Father of PC/104.” Rick co-founded Ampro Computers in 1983 (now part of ADLINK), authored the PC/104 standard and founded the PC/104 Consortium in 1991, created LinuxDevices.com in 1999 and guided the formation of the Embedded Linux Consortium in 2000. In 2003, he launched LinuxGizmos.com to fill the void created when LinuxDevices was retired by Quinstreet Media.

Bringing things full circle, Rick says he’s long been a fan of Circuit Cellar, and even wrote a series of articles about PC/104 technology for it in the late 90s. I’m thrilled to be teaming up with LinuxGizmos.com and am looking forward to combing our strengths to better serve you.

This appears in the April (333) issue of Circuit Cellar magazine

Not a Circuit Cellar subscriber?  Don’t be left out! Sign up today:

Software Aids STM32 MCU System Development

STMicroelectronics has extended its STM32 software ecosystem with a Sigfox package that simplifies development and gives extra flexibility to connect Internet-of-Things (IoT) devices to long-range, low-power wireless networks. The new X-CUBE-SFOX package is ready to use with ST’s B-L072Z-LRWAN1 Discovery Kit, which is already LoRa enabled through I-CUBE-LRWAN embedded software. Developers can now work with either of these established Low-Power Wide Area Network (LPWAN) technologies on the same hardware, and create products that can use the two protocols individually or alternatively.

The Discovery Kit features the Murata CMWX1ZZABZ-091 module powered by an STM32L072 microcontroller, a sub-GHz radio transceiver SX1276 from Semtech, and is expandable via Arduino headers to add sensors or other IoT-device functions and capabilities. X-CUBE-SFOX contains a complete set of Sigfox libraries and application examples for the STM32L0, and can be ported to other microcontrollers in the STM32 family.

With over 700 STM32 variants, from ultra-low-power to high-performance lines, developers can leverage unrivaled flexibility to optimize the performance and features of IoT devices that take advantage of Sigfox services including basic connectivity, radio recognition, and GPS-free location. The software’s low memory footprint and efficient CPU utilization minimize demand for system resources, helping to lower bill-of-materials (BOM) costs and power consumption.

The X-CUBE-SFOX software can be downloaded free of charge from www.st.com/x-cube-sfox. The B-L072Z-LRWAN1 Discovery Kit is available now, priced $46.50.

STMicroelectronics | www.st.com

Circuit Cellar and LinuxGizmos.com Form Strategic Partnership

Partnership offers an expanded technical resource for embedded and IoT device developers and enthusiasts

Today Circuit Cellar is announcing a strategic partnership with LinuxGizmos.com to offer an expanded resource of information and know-how on embedded electronics technology for developers, makers, students and educators, early adopters, product strategists, and technical decision makers with a keen interest in emerging embedded and IoT technologies.

The new partnership combines Circuit Cellar’s uniquely in depth, “down-to-the-bits” technical articles with LinuxGizmos.com’s up-to-the-minute, detailed, and insightful coverage of the latest developer-  and maker-friendly, embedded oriented chips, modules, boards, small systems, and IoT devices, and the software technologies that make them tick. Additionally, as its name implies, LinuxGizmos.com’s coverage frequently highlights open source, high-level operating systems including Linux and its derivatives (e.g. Android), as well as lower-level software platforms such as OpenWRT and FreeRTOS.

Circuit Cellar is one of the electronics industry’s most highly technical information resources for professional engineers, academics, and other specialists involved in the design and development of embedded processor- and microcontroller-based systems across a broad range of applications. It gets right down to the bits and bytes and lines of code, at a level its readers revel in. Circuit Cellar is a trusted brand engaging readers every day on its website, each week with its newsletter, and each month through Circuit Cellar magazine’s print and digital formats.

LinuxGizmos.com is a free-to-use website that publishes daily news and analysis on the hardware, software, protocols, and standards used in new and innovative embedded, mobile, and Internet of Things (IoT) devices.  The site is lauded for its detailed and insightful, timely coverage of newly introduced single board computers (SBCs), computer-on-modules (COMs), system-on-chips (SoCs), and small form factor (SFF) systems, along with their software platforms.

“The synergies between LinuxGizmos and Circuit Cellar are great and I’m excited to see the benefits of this partnership passed on to our combined audience,” said Jeff Child, Editor-in-Chief, Circuit Cellar. “LinuxGizmos.com has the kind of rich, detail-oriented structure that I’m a fan of. Over the many years I’ve been following the site, I’ve relied on it as an important information resource, and its integrity has always impressed me.”

“I’ve been a fan of Circuit Cellar magazine since it was first launched, and wrote a series of articles for it in the late 90s about PC/104 embedded modules,” added Rick Lehrbaum, founder and Editor-in-Chief of LinuxGizmos.com. “I’m thrilled to see LinuxGizmos become associated with one of the computing industry’s pioneering publications.”

“I see this partnership as a perfect way to enhance both the Circuit Cellar and LinuxGizmos brands as key information platforms,” stated KC Prescott, President, KCK Media Corp. “In this era where there’s so much compelling technology innovation happening in the industry, our combined strengths will help inform and inspire embedded systems developers.”

Read Announcement on LinuxGizmos.com here:

Circuit Cellar and LinuxGizmos.com join forces

The Future of Test-First Embedded Software

The term “test-first” software development comes from the original days of extreme programming (XP). In Kent Beck’s 1999 book, Extreme Programming Explained: Embrace Change (Addison-Wesley), his direction is to create an automated test before making any changes to the code.

Nowadays, test-first development usually means test-driven development (TDD): a well-defined, continuous feedback cycle of code, test, and refactor. You write a test, write some code to make it pass, make improvements, and then repeat. Automation is key though, so you can run the tests easily at any time.

TDD is well regarded as a useful software development technique. The proponents of TDD (including myself) like the way in which the code incrementally evolves from the interface as well as the comprehensive test suite that is created. The test suite is the safety net that allows the code to be refactored freely, without worry of breaking anything. It’s a powerful tool in the battle against code rot.

To date, TDD has had greater adoption in web and application development than with embedded software. Recent advances in unit test tools however are set to make TDD more accessible for embedded development.

In 2011 James Grenning published his book, Test Driven Development for Embedded C (Pragmatic Bookshelf). Six years later, this is still the authoritative reference for embedded test-first development and the entry point to TDD for many embedded software developers. It explains how TDD works in detail for an unfamiliar audience and addresses many of the traditional concerns, like how will this work with custom hardware. Today, the book is still completely relevant, but when it was published, the state-of-the art tools were simple unit test and mocking frameworks. These frameworks require a lot of boilerplate code to run tests, and any mock objects need to be created manually.

In the rest of the software world though, unit test tools are significantly more mature. In most other languages used for web and application development, it’s easy to create and run many unit tests, as well as to create mock objects automatically.
Since 2011, the current state of TDD tools has advanced considerably with the development of the open-source tool Ceedling. It automates running of unit tests and generation of mock objects in C applications, making it a lot easier to do TDD. Today, if you want to test-drive embedded software in C, you don’t need to roll-your-own test build system or mocks.

With better tools making unit testing easier, I suspect that in the future test-first development will be more widely adopted by embedded software developers. While previously relegated to the few early adopters willing to put in the effort, with tools lowering the barrier to entry it will be easier for everyone to do TDD.
Besides the tools to make TDD easier, another driving force behind greater adoption of test-first practices will be the simple need to produce better-quality embedded software. As embedded software continues its infiltration into all kinds of devices that run our lives, we’ll need to be able to deliver software that is more reliable and more secure.

Currently, unit tests for embedded software are most popular in regulated industries—like medical or aviation—where the regulators essentially force you to have unit tests. This is one part of a strategy to prevent you from hurting or killing people with your code. The rest of the “unregulated” embedded software world should take note of this approach.

With the rise of the Internet of things (IoT), our society is increasingly dependent on embedded devices connected to the Internet. In the future, the reliability and security of the software that runs these devices is only going to become more critical. There may not be a compelling business case for it now, but customers—and perhaps new regulators—are going to increasingly demand it. Test-first software can be one strategy to help us deal with this challenge.


This article appears in Circuit Cellar 318.


Matt Chernosky wants to help you build better embedded software—test-first with TDD. With years of experience in the automotive, industrial, and medical device fields, he’s excited about improving embedded software development. Learn more from Matt about getting started with embedded TDD at electronvector.com.

Virtual Software Development for Embedded Developers

Embeddetech will launch a Kickstarter campaign on June 20 for its Virtuoso software. Virtuoso is a powerful virtual device framework intended for custom electronics designers. With it, you can virtualize embedded systems. This means that firmware application developers can drag-and-drop commonly used components (e.g., LEDs, touch screens, and keypads) or develop new components from scratch and then start developing applications. With Virtuoso, a fully functional replica of the hardware accelerates firmware development while the hardware is developed in parallel.EmbeddedTech - Virtuoso

In early 2017, Embeddetech plans to bring photo-realistic, real-time, 3-D virtualization to embedded software development using Unreal Engine, which is a powerful game engine developed by Epic Games. Embeddetech has developed a second framework which adapts Unreal Engine to Microsoft’s .NET Framework, allowing business applications to leverage the power of the modern 3-D game development workflow.

Source: Embeddetech

Imperas ARMv8 Support Advances Embedded Software Development

Imperas Software recently announced the availability of models and virtual platforms for the Cortex-A72 ARMv8 processors (in addition to the earlier models). Now the Imperas Open Virtual Platforms (OVP) processor model library comprises more than 160 models across a wide range of IP vendors. More than 40 ARM cores—including the Cortex-A, Cortex-R, and Cortex-M families—are supported.

The Imperas Cortex-A72 ARM processor models are available in single-core, multi-core, and multi-cluster configurations enabling high-performance simulations of platforms ranging from simple single cores to many core systems. Imperas also offers a model of the ARM GICv3 interrupt controller.

Also available are Extendable Platform Kits (EPKs)—which are virtual platforms of the target devices—for ARMv8 processor cores running Linux. Available on the OVP website, the EPKs enable you to run high-speed simulations of ARM-based SoCs and platforms on any suitable PC. You can extend and customize the functionality of the virtual platform. The platform and the peripheral models are open source.

Note that OVP models also work with the Imperas advanced tools for multicore software development, analysis, verification, and debugging, including M*SDK advanced software development solutions and key tools for hardware-dependent software development. The tools use the Imperas SlipStreamer patent-pending binary interception technology. SlipStreamer enables the analytical tools to operate without modification or instrumentation of the software source code.

Source: Imperas Software

Second Gen of Open Virtual Platforms APIs

Imperas recently released of the second generation of the Open Virtual Platforms (OVP) APIs for building virtual platforms, additional Fast Processor Models, new models for popular peripherals, and new Extendable Platform Kits (EPKs). Open Virtual Platforms is a website for the OVP APIs, for the OVP models and platforms, for the OVPsim simulator, and for community discussion of virtual platforms on the OVP Forum. Publicly available and not proprietary, the models and platforms are available under the Apache Open Source License.

What’s new:

  • Support in the OVP APIs for unlimited hierarchy in virtual platforms
  • Support in the OVP APIs for virtualized passing of packets between peripheral models
  • ARC EM6 model
  • SPARCv8 model (developed by Friedrich Alexander University)
  • CAN, Ethernet, and USB models
  • Altera Cyclone III Nios II Linux and Cyclone V HPS Cortex-A9MPx2 Linux EPKs
  • Freescale Kinetis Cortex-M4 MQX and Vybrid Cortex-A5 MQX EPKs
  • Xilinx MicroBlaze ML505 Linux

With the ARC, ARM, and SPARC Fast Processor Models, 150 CPU models are now available. The performance for these models under a typical load is hundreds of millions of instructions per second, with peak performance of billions of instructions per second. The library of fast processor models includes models of ARM processors from the ARMv4 through the ARMv8 architecture, a complete set of MIPS models, plus models of Altera Nios II, ARC, PowerPC, Renesas, SPARC, and Xilinx MicroBlaze cores. Models are available with both C (OVP) interface and a C++ (SystemC) interfaces.

EPKs are designed to help accelerate embedded software development, debug, and test. They are virtual platforms (simulation models), including processor models plus peripheral models necessary to boot an operating system (OS) or run bare metal applications. The platform and peripheral models included in the EPKs are open source so you can easily add new models to the platform as well as modify the existing peripheral models. The example OS and applications are also included.

OVP models work with both the OVPsim and the Imperas simulators, including the QuantumLeap parallel simulation accelerator. OVPsim is used for academic and other noncommercial users (over 1,000 university departments current subscribe to the OVP website), while the Imperas products are for commercial users. Imperas M*SDK includes the OVP model library, iGen for model development, support for heterogeneous, multiprocessor/multicore processors, a comprehensive Verification, Analysis, and Profiling (VAP) tool set, plus an advanced three-dimensional (temporal, spatial, and abstraction) debug solution, 3Debug, for heterogeneous multicore processor, peripheral, and embedded software debug. The VAP tool suite contains more than 50 tools supporting hardware-dependent software development, including OS and CPU-aware tracing (instruction, function, task, event), profiling, code coverage and memory analysis. The Imperas SlipStreamer patent-pending binary interception technology enables these analytical tools to operate without any modification or instrumentation of the software source code (i.e., the tools are completely nonintrusive).

Source: Imperas

Virtual Prototyping — The Future’s So Bright

Virtual prototyping has been making its appearance in the embedded software arena since the late 1990s, steadily gaining acceptance as a valuable software development target. It initially rode the wave of rapid advances in chip process technology, which enabled multiple programmable cores on a single chip. This triggered a domino effect in product capabilities, with deep convergence of multiple functions in the same device becoming possible (smartphones being the most idiomatic example). In the semiconductor business landscape, ASIC companies needed to grow into system-on-chip (SoC) companies. The force of growing software content, complexity in general and the specialized nature of the low-level SoC software specifically was amplified by increased time-to-market pressure. Traditional development practices (mostly post-silicon) and targets (physical boards, FPGAs, etc.) couldn’t answer the call for true pre-silicon software development. In its first decade, virtual prototyping has established itself as the key “shift left” enabler in SoC development.Synopsys Diagram2

During the past five years, virtual prototyping has silently enabled embedded software to get past key inflection points and challenges. In the mid-2000s, the introduction of multi-core architectures was a key hurdle for embedded software, requiring considerable refactoring of existing single-threaded/-core software stacks. Virtual prototyping’s debug and visibility advantages facilitated the transition. Around the same time, security hardware was introduced in leading mobile SoCs to provide the basis for a secure computing platform, enabling user services like mobile commerce. The complexity of the new security software and hostility of a physical target for development—a device is supposed to be hacking resistant—made a good case for virtual prototyping, which provided ample visibility into the complex secure/non-secure domain interactions and a less hostile development target.

More recently, we observed adoption to address the SoC power consumption challenge. Power efficiency correlates directly with longer battery times, and dedicated chip hardware, both on- and off-chip, was introduced to manage power. The hardware flexibility offered is large, with final control left to the software. Complex power management software layers were introduced in high-level software stacks, and as virtual prototyping uniquely allows for an accurate representation of the complex hardware clocking and voltage schemes (other technologies like FPGAs can’t easily tackle this), it not only became an enabler for this new development, but also proved its value in software optimization for power and energy.

Today virtual prototyping is powering the architecture transition from 32- to 64-bit in the embedded space, through its use for early instruction-set market introduction, by enabling the porting of large existing stacks prior to the first 64-bit physical implementation and by helping the SoC companies transition their software.

The above inflection points appear in different markets earlier than others, with mobile being on the leading edge of embedded software advances, typically followed by networking and automotive. For instance, automotive is only now facing the multi-core challenge. As such, virtual prototyping repeatedly will play a key role in tackling a specific inflection point.

Looking towards the future, the technology will make further advances on two major fronts: contribution to software quality testing and deeper anchoring into other parts of the SoC design flow, through integration with technologies like hardware emulation and FPGA-based prototyping. With its value for the development phase of software accepted, tackling the next phase, software testing, is natural. The software nature of virtual prototypes allows for large parallel deployment, ideal for regression testing. Moreover, with continuous integration now accepted as a regular practice in desktop and web software development, we expect the embedded market to follow this trend. And with a virtual target making continuous integration straightforward, we expect virtual prototypes to play an important role in the trend’s adoption. Markets including automotive (and mil/aero) have stringent safety and reliability requirements, and virtual prototypes’ unique fault injection capability is starting to show its value. Security testing and analysis is still an unexplored area, which not only has potential for the Internet of Things market, but can have a broad impact as security is becoming commonplace for any connected system.

Having simulation performance track the increasing SoC design scale and keeping the modeling effort under tabs to deliver value sufficiently early are not small engineering challenges. Just-In-Time compilation gave a major boost in the 2003–2004 timeframe, but the number of SoC subsystems requires another turbocharge right now. Exploiting the subsystem-level parallelism through new technologies that map subsystem simulations to different cores in the host machine, and deep-insight performance profiling tools that allow performance tuning, will carry the technology forward for another 5-10 years. Raising the modeling abstraction level, increasing automation and promotion of subsystem-based re-use and assembly methodology are effective arms to tackle the modeling effort challenge.

With its challenges being dealt with, virtual prototypes will continue to drive a further shift left and to converge with the numerous inflection point challenges of embedded software ahead. In 5-10 years, this embedded virtualization technology will likely be as accepted as virtualization technology is in the IT space today. A bright future indeed!

Filip Thoen is the principal engineer for virtual prototyping products at Synopsys, the Silicon to Software partner for innovative companies developing the electronic products and software applications we rely on every day. Thoen is responsible for the technical direction and architecture of the virtual prototyping products. Previously, he co-founded Virtio, a virtual prototyping leader later acquired by Synopsys, and served as its CTO. He has more than 15 years of experience in system simulation and embedded software, and has authored several articles, books, and patents in these areas. He holds MS and PhD degrees in Electrical Engineering from Catholic University of Leuven (Belgium).

This essay appears in Circuit Cellar 299 (June 2015).

High-Speed Laser Range Finder Board with IMU

Integrated

The NavRanger-OEM

The NavRanger-OEM combines a 20,000 samples per second laser range finder with a nine-axis inertial measurement unit (IMU) on a single 3“ × 6“ (7.7 × 15.3 cm) circuit board. The board features I/O resources and processing capability for application-specific control solutions.

The NavRanger‘s laser range finder measures the time of flight of a short light pulse from an IR laser. The time to digital converter has a 65-ps resolution (i.e., approximately 1 cm). The Class 1M laser has a 10-ns pulse width, a 0.8 mW average power, and a 9° × 25° divergence without optics. The detector comprises an avalanche photo diode with a two-point variable-gain amplifier and variable threshold digitizer. These features enable a 10-cm × 10-cm piece of white paper to be detected at 30 m with a laser collimator and 25-mm receiver optics.

The range finder includes I/O to build a robot or scan a solution. The wide range 9-to-28-V input supply voltage enables operation in 12- and 24-V battery environments. The NavRanger‘s IMU is an InvenSense nine-axis MPU-9150, which combines an accelerometer, a gyroscope, and a magnetometer on one chip. A 32-bit Freescale ColdFire MCF52255 microcontroller provides the processing the power and additional I/O. USB and CAN buses provide the board’s high-speed interfaces. The board also has connectors and power to mount a Digi International XBee wireless module and a TTL GPS.

The board comes with embedded software and a client application that runs on a Windows PC or Mac OS X. It also includes modifiable source code for the embedded and client applications. The NavRanger-OEM costs $495.

Integrated Knowledge Systems, Inc.
www.iknowsystems.com