Digital to Analog Convertion with a Microcontroller
Digital to analog conversion (DAC) is the process by which a digital signal (expressed as a string of 1s and 0s) are converted to an analog signal (a continuously varying voltage). More ...
Fundamental Digital Logic Gates
All the advanced features of the most powerful computers, such as mulicore and parallel processing are done with digital logic. In this article I explain the fundamental concept of digital logic in simple and clear language so that anyone can understand it. More ...
Microcontroller Internal EEPROM (Electrically Erasable Programmable Read Only Memory) Memory
In some situations it is required that some program parameters such as configuration settings be keept after the system is powered off. This is made possible by including a EEPROM internally to the microcontroller. More ...
The Microcontroller Interrupt System
Events related to peripheral interfaces are asynchronous to the program running on the CPU. The interrupt mechanism allows an external event to temporarily put the normal execution of the microcontroller on hold and force the execution of a specific subroutine. More ...
Processor Interrupts
An interrupt is a signal to the processor indicating an event has occurred that needs immediate attention. When an interrupt occurs, the processors normal path of execution is interrupted in order to run a routine to service the interrupt requester. More ...
Digital Logic Levels and Transfer Characteristics
A digital system uses discrete logic levels, 0 and 1, while the real world is a continuous range such as a voltage from 0 to 5. To make design easier, engineers view the system in the abstract. More ...
Load Balancing Multiple CPUs in Symmetric Multiprocessing
On Symmetric Multiprocessing (SMP) systems it is important to keep the workload balanced among all processors. There are two approaches to accomplish this, push migration and pull migration. More ...
Computer Buses
A 16-bit bus can transfer 16 binary bits simultainiously. This requires 16 separate metal traces on a PC board. We also need traces for control signals. The whole group of traces is referred to as a bus. More ...
Change Raspberry Pi Default Configuration
If you are a US user of the Raspberry Pi, you will discover that when you type, the characters displayed do not match our keyboard. When you type [shift][#] instead you get the British pound symbol. This is because Raspbian (and NOOBS) defaults to UK keyboard settings. More ...
Operating System Memory Protection in a Paged Environment
Memory protection in a paged environment is accomplished by protection bits associated with each frame. For example read-write, read-only or execute-only bit, and valid-invalid bit. Normally, these bits are kept in the page table. More ...
Microcontroller Registers
Registers are special small memory locations where the microcontroller can write data to or read data from. Special function registers help point to main memory locations, indicate the result of a mathematical operation, hold parts of an instruction or indicate the status of some operation or hardware feature. Some registers are general purpose and may be used by the programmer at their own discretion. More ...
Digital Logic Semiconductor Families
logic family refers to the way the semiconductors are designed to create gates. The first highly popular logic family, available in 1964, was TTL (Transistor-Transistor Logic). More ...