Engineers use external microcontroller (MCU) supervisory circuits as a fail-safe to ensure that their systems operate in a safe manner when unforeseen, unpredictable events occur when their systems are sent out “into the wild,” that is, when their systems are no longer in a controlled environment. (Here, we will consider microprocessors and central processing units […]
Watchdog Timer: what is it?
In the world of microcontrollers (MCUs), sometimes things go wrong. If a program goes haywire or into an infinite loop, it needs a way to check and see if things are still running. In “the old days,” the Windows operating system would occasionally crash (experience a fatal error) and put up what was called the […]
Pardon the interruption: speeding up responsiveness
Many of the abilities that modern digital electronics enable rely on the fact that common processors can perform millions or billions of operations every second. This blindingly fast speed can make it appear that a device is handling many operations at once when in fact, it is rapidly following a sequential set of instructions, often […]
Overview of embedded systems
An embedded system is much more than a computer, because they often must have a real time response and several constraints to work within a given system that is tailored by industry and function. Real-time operation requires a response to input within microseconds. Delays in responding, termed latency, are often unacceptable, especially in real-time systems. […]
Using a digital input to read an analog signal without an ADC
If you are out of Analog Inputs (AIs) on your MCU, or do not have any AIs at all, it’s possible to rig together a way to read analog signals that use varying resistance levels, even if you only have digital inputs (DIs). As an example, let’s assume that the varying resistance device is a […]
What does an eye diagram or eye pattern on an oscilloscope mean?
Eye diagrams are a quick, visual means of identifying signal integrity issues before moving on to more refined analysis. They help with the effective analysis of serial data and offer both qualitative and quantitative insight regarding the data communications signal path itself and what might be affecting signal integrity. Circuit designs that reach the prototype […]
General tips on debugging embedded hardware
When you first start out after graduating from college with a B.S. in electrical engineering, you have a bright, shiny new degree that might not be exactly what you expected. You had to take a series of fundamental courses in math and science for the first year or two. The third year is spent learning […]
Multicore processors terminology
Multicore processors have two or more processors in the same integrated chip. Early on in practical applications, multiple cores were used independently of each other. Concurrency isn’t as much of an issue if cores are not working in tandem on the same problem. Supercomputers and high-performance computing (HPC) saw multiple cores first. One difference between […]
The security of connected devices
Take an MCU and add Bluetooth or Wi-Fi connection to the internet and you have an Internet of Things (IoT) device, and smart devices that are connected to the internet are everywhere. Smartphones, home automation, fitness bands, and products like the Amazon Echo are all examples of IoT. The problem with millions of internet-connected MCUs […]
What are compilers, translators, interpreters, and assemblers?
Translators, compilers, interpreters and assemblers are all software programming tools that convert code into another type of code, but each term has specific meaning. All of the above work in some way towards getting a high-level programming language translated into machine code that the central processing unit (CPU) can understand. Examples of CPUs include those […]