You need to test, we're here to help.

You need to test, we're here to help.
Showing posts with label embedded systems. Show all posts
Showing posts with label embedded systems. Show all posts

20 September 2021

Testing Power Rail Sequences in Complex Embedded Systems

Figure 1. Four power rail signals on a single grid, with cursors measuring the time delay between the first pair in the sequence.
Figure 1. Four power rail signals on a single grid, with cursors
measuring the time delay between the first pair in the sequence.
Embedded computing systems generally require multiple supply voltages to deliver power to the microprocessor, memory and other on-board devices. There is usually a 12- or 15-volt DC primary supply, and numerous buck or boost converters working off the primary to help provide various voltages throughout the embedded system. Most microcontrollers have a prescribed order in which the voltages must be applied to prevent problems like lockups, so an area of concern when designing deeply embedded systems is the proper sequencing of power rails as they power up or down. Power management IC’s (PMIC) or power sequencers perform many of the sequencing tasks, but during validation and when troubleshooting, the order and timing of the power sequence should be verified.

13 September 2021

Correlating Sensor and Serial Data in Complex Embedded Systems

Figure 1: Voltage output of a temperature sensor. As the temperature rises, the output voltage falls.
Figure 1: Voltage output of a temperature sensor.
As the temperature rises, the output voltage falls. 
The microcontrollers/microprocessors in deeply embedded systems often are set up to monitor and control operational parameters.  Take, for example, a deeply embedded system where a microcontroller is used to control temperature that has been sensed by a temperature sensor.  The sensor is read through one of the microcontrollers analog interfaces.  As temperature changes are sensed, the microcontroller adjusts the speed of a cooling fan, which is driven by a pulse width modulated signal. The microcontroller uses a program algorithm to convert the DC level of the sensor into a PWM signal with an appropriate duty cycle to set the fan speed to correct any changes in temperature. 

Where it is possible to probe the temperature sensor, the output is a DC signal that changes very slowly over time.  Figure 1 shows a direct measurement of the temperature sensor using a heavily filtered oscilloscope channel to minimize noise pickup.

07 September 2021

Correlating Low to High-Speed Events in Complex Embedded Systems

Figure 1: A challenge when testing embedded systems is to correlate events in a low-speed interface like SPI to events in a high-speed interface like PCIe.
Figure 1: A challenge when testing embedded systems
is to correlate events in a low-speed interface like SPI
to events in a high-speed interface like PCIe.
A common requirement when testing embedded systems is to measure the timing between signals with low data rates and those with high data rates. Looking at the functional block diagram of our typical deeply embedded system in Figure 1, we see low-speed serial interfaces like SPI and I2C along with high-speed serial links, like PCIe (often serving as the high-speed serial PHY in our diagram).

Take for example testing the initialization of the system. When power is first turned on, the ROM bios and flash memory initialize program elements that are required by the embedded system’s microprocessor. Once the initialization is complete, the microprocessor has to notify the motherboard via PCIe that it is active and ready to receive data via the high-speed serial bus. This all has to happen within 200 milliseconds. 

30 August 2021

Debugging Complex Embedded Systems

Figure 1: A typical embedded system has many devices utilizing a wide range of signal types and bandwidths.
Figure 1: A typical embedded system has many devices
utilizing a wide range of signal types and bandwidths.
In the next few weeks, we’ll present a series of posts describing the debugging of various components of embedded systems, everything from working out the timing of power on sequences to extracting analog sensor data from serial data streams. All these examples of “real world” debugging can be performed using only standard tools available on most mid-range Teledyne LeCroy oscilloscopes.

Let's start by defining what we mean by embedded system and deeply embedded system. For our purposes, an embedded system is a fixed function, self-contained control system on one printed circuit board. Typically, printed circuit boards (PCBs)  will have multiple passive devices, a few active electronic devices, analog devices, digital devices and a few serial data devices. There tends to be a microcontroller device to process data and control other components. There will also be some type of system memory, often embedded inside the microcontroller. And, there will be some power conversion devices and power distribution elements that power all the other devices in your embedded system. 

04 April 2018

Debugging the IoT

Chances are you're already using the IoT in various ways
Figure 1: Chances are you're already
using the IoT in various ways
By now, we're all familiar with the phrase "Internet of Things" (IoT); some of you may be directly involved with that concept on some level as a designer/technologist. Here, we'll begin a series of posts on the IoT with some broad discussion of what it's all about, and then segue into how oscilloscopes and related hardware/software are among the best tools available for design and debug of IoT-related devices.

03 September 2015

Shaking Bugs Out of SPI Buses

Figure 1: Debugging of SPI on a Teledyne LeCroy WaveSurfer 3000 oscilloscope
Figure 1: Debugging of SPI on a Teledyne LeCroy
WaveSurfer 3000 oscilloscope
In the first post of this series, we considered some of the challenges of debugging embedded systems in general and I2C buses in particular. Modern digital oscilloscopes equipped with powerful trigger/decode software for the serial protocol in play go a long way toward easing the path to a properly functioning embedded system. Now we'll consider the particularities of the Serial Peripheral Interface and how the proper tools can make debugging SPI buses easier.

22 July 2015

Debugging I2C Buses in Embedded Systems

Debugging of I2C on a Teledyne LeCroy WaveSurfer 3000 oscilloscope
Figure 1: Debugging of I2C on a Teledyne LeCroy
WaveSurfer 3000 oscilloscope
Embedded systems became ubiquitous decades ago and are now found in everything from mobile devices to vehicles to the traffic lights that control their movements. These days, they're typically based on microcontrollers and perform some specific task(s) within a larger system, such as controlling your car's ABS system. They may or may not have any sort of user interface, and can range widely in terms of complexity and functionality.

16 April 2014

Is Your Testbench Mixed-Signal Ready?

A representative block diagram of a mixed-signal embedded system
Figure 1: A representative block diagram of
a mixed-signal embedded system
Mixed-signal design is ubiquitous these days, with hybrids of digital and analog circuitry turning up everywhere. A typical mixed-signal designer may be a hardware or software engineer with specific needs. They may be working with 4-bit, 8-bit, 16-bit, and 32-bit microcontrollers in a single embedded controller or across several embedded systems. They need to capture a host of different signal types and serial-data protocols and understand timing relationships between them. Then there's all the different sensor signals, power-supply signals, and PWM control signals to guarantee embedded system performance and reliability.