Yet Another Simple AVR ISP cable

Probably this programmer cable can be found on every AVR fan website. It is straightforward and easy to build. You need a few passive components that can be packed inside the LPT connector. From my perspective, I wouldn’t recommend using this one ISP programmer if you are more serious about microcontroller projects because it has poor computer port protection. It connects directly to the LPT port without precautions. I recommend using a similar ISP circuit with buffer IC between LPT and target board. But let’s don’t pretend like we are brilliant. The whole beauty is in its simplicity. This thing does its job perfectly as long as the target board power supply is OK.

Continue reading

USB bootloaders for AVR microcontrollers

Probably the most proper microcontroller programming method is using a bootloader program. Because you don’t need any special programming adapters or special knowledge – you need to connect a standard cable from your PC to the target board and run a special program on the PC which communicates with the MCU bootloader program. The idea is simple: If the microcontroller is preconfigured, then after reset, it starts running not from the start memory location, which is usually at 0x0000 address, but at some specific location, where usually bootloader lies.

Continue reading

Architecture of a Typical Microcontroller

Microcontrollers are the building blocks of any digital signal processing system. In layman’s terms, they can be described as miniature computers that are present on chips. They consume very little amount of power and are self sufficient. They are similar to microprocessors but contain some additional elements such as read only memory in the form of EEPROM (Electrical Programmable Read Only Memory) and a read write memory that usually utilises flash technology. Another difference between microcontrollers and microprocessors is the clock speed. Microcontrollers usually operate at low clock speeds. Low clock speeds are adopted as they are suitable for the operations that are usually performed using microcontrollers. Also, this ensures that they consume less power.

Continue reading

About Digital Signal Processing

Today, signals, i.e., quantities that fluctuate over time with high frequency, have acquired a great amount of importance and are being used in many fields, especially communication. Digital signal processing involves converting digital data into signals, making its transfer easier and subsequently converting these signals back into the original form. A signal has many characteristics or domains such as time domain, spatial domain, frequency, wavelet domain, etc. Anyone among these can be used to process a respective signal. From among these, the engineer usually selects the one that best represents the characteristics of the signal concerned or, in other words, the one from which data can be obtained easily. To ascertain the required characteristic, the engineer may try out many among these properties. The use of signals has gone up especially with the use of computers. Computers can analyze and process only digital (discrete) data and cannot handle analog (continuous) data. Thus, conversion of the signal from analog to the digital form becomes necessary. The digital signal is exactly similar to the analog signal that it has been obtained from; some mathematical techniques such as the Nyquist-Shannon sampling theorem are used. Usually, after analysis or transformation, the output signal is…

Continue reading

AVR DDS signal generator V2.0

Finally, the second version of the improved AVR DDS signal generator is here. THE first AVR DDS V1.0 generator was only an attempt to run the DDS algorithm without any analog amplitude control. In this DDS generator version, I still wanted to keep things as simple as possible using a minimum count of widely available components in the updated circuit. Also, I kept a single-sided PCB approach. AVR DDS specification AVR DDS signal generator V2.0 is a firmware-based DDS signal generator that uses a slightly modified Jesper’s mini DDS algorithm adapted to AVR-GCC C code as in-line ASM. The AVR DDS signal generator has two outputs – one for DDS signal and another for high speed [1, 8MHz] square signal – which may be used to bring back to life microcontrollers with wrong fuse settings for other purposes where a high-speed square signal may be needed. A high-speed (HS) signal is output directly from the Atmega16 OC1A(PD5) pin. The DDS output is used for all complex signals generated via the R2R resistor network and is adjusted via LM358N offset and amplitude regulating circuits. Two potentiometers can control offset and amplitude. The offset can be controlled in range +5V..-5V while magnitude…

Continue reading

Embedded Systems: microprocessors and microcontrollers

An embedded system is a type of computer that can perform a few specialized tasks. This design is contrary to the normal computer designed to perform many operations that are unrelated to each other in many cases. Embedded systems are present in many of the devices used today and act as their control units. The main issue with embedded systems is their optimality in terms of cost, space and power consumption, etc., as there is no focus on increasing the functionality of the device. The term embedded system can thus, be used to refer to devices that perform certain specific functions and cannot be used to perform others by loading applications on them. Typical features of embedded systems Many of the embedded systems have several hardware restraints as they have to process real-time inputs and be safe to use. Others may not have some of these constraints, and thus, a reduction in the cost of the hardware used is possible. The term embedded system does not refer to isolated devices but rather, they are a part of the device they control or perform some other task in. The software that is used in embedded systems is usually termed firmware. The…

Continue reading

Encoding and modulation of digital signals

We know that digital signals are stored as binary numbers in memory cells. Let’s see how these digital signals can be transferred, in other words – how they can be encoded into electrical signal shape. When the signal has to be sent, it has to be modulated. Pulse Code Modulation (PCM) Probably the simplest and the most common modulation method is pulse code modulation (PCM). In CPM, coding information is modulated as voltage levels. If the supply voltage is 5V, then binary”1″ is represented as +5V while 0 as 0V level. Only two voltage levels are used to modulate the signal. The signal can be sent in parallel (bus mode) or serial mode. In parallel mode whole (let’s say 8 bit) signal can be sent at once via 8 wires, while in serial mode, data has to be sampled in time. This transmission method is most popular in embedded systems. For instance, ADC sends converted data to DSP using CPM. CPM method is OK, but it has several drawbacks like the number of wires required for parallel buses. Still, probably the most dangerous problem is that transmission may experience skew problems when each data wire may have different time delays…

Continue reading

DSP processors and their characteristics

The processing of the various signals is carried out through implements that are together called DSP hardware. This includes the hardware that is used for transmission of signals, multiple devices that are used to enhance or filter the signals, analog to digital and digital to analog converters, and other processing equipment such as computers. Among the hardware mentioned above, digital signal processors are the ones in which the actual processing occurs. Usually, the digital signal processors today have the following characteristics: They are equipped to handle real-time processing, i.e., they can give the optimal performance even when streaming data is being fed into them. The memories that are used to store programs are different from the ones used to store data. They do not provide hardware that supports multitasking. It can be used as a direct memory access device in supporting or host environments. They take analog signals as input, convert them into the digital form, process the signals, and then, Specific them back into the analogous form. They make use of the Direct Memory Access technique. The digital signal processors usually have architecture so as to optimise the following features:

Continue reading