New generation ICprog-AVR2.0 showed up

ICprog-AVR2.0 is a new generation USB AVR microcontroller programmer. The ICprog AVR is the smallest USB Programmer for Atmel AVR Microcontroller available on the market. The version ICprog AVR 2,0 programs with almost double programming speed as conventional programming adapters! The programmer is AVR910 compatible. Two versions of programmers are available: 6-Pin Version with standard AVR910 6-pin header 10-pin Version with KANDA interface

Continue reading

Endoscopy inspection in electronics-detect BGA defects

Endoscopy is known to be used in medicine, but it can also be used in other areas of industry like electronics. In big electronic industries where investments are huge, the requirements for quality are also big. In big industries, there is automatic testing using. This allows achieving maximum quality with minimal cost. In smaller industries, there is a requirement to inspect almost every product to avoid faults. One of the biggest problems that may occur is soldering errors, position errors, or other defects. For visual defect identification, endoscopy is often used. Endoscopy in electronics is some AOI (Automatic Optical Inspection), often used to check BGA pins. The endoscope usually consists of a light source directed by fibber glass and an optical sensor with variable focus. Changing focal length, it is possible to view about 50mm area while space between chip and board can be only 0.05mm. Information from the optical sensor can be sent to a computer for further processing. Comparing to the X-RAY method, optical inspection of electronic devices is cheaper.

Continue reading

Celsius converter to digital code from remote sensor

This circuit is originally published by Elana Lian and Chan Tran (Analog Devices). This simple single supply system enables to measure remote temperature with less than 1°C error in a range of 0 to 100°C: The circuit consists of the following parts: T1- low-cost AD590 temperature sensor; AD8541 – rail to rail amplifier; four resistors; potentiometer; and ADC AD7416. Use precision resistor RF for amplifier feedback to minimize scale factor.

Continue reading

Review on AVR serial and parallel microcontroller programmers

Its been a lot written about AVR microcontroller programmers. This article concludes most common programmers. The easiest programming method is Serial Downloading so-called ISP. This allows to program AVR microcontroller without removing it from the target board. Usually in such boards are a special ISP connector where you connect an external AVR ISP with standard 6 or 10 headers. AVR ISP usually connects to computers COM or LPT port. COM port has the advantage of the ability to use long cables while LPT is limited up to about 1 metter long. But in the other hand, using a COM port requires an additional complementary circuit to match the voltage levels, while the simplest LPT programmer doesn’t need any parts at all: But it is safer to use some kind of buffering circuit like 74HC244 to add some protection from port failure.

Continue reading

Few words about SMD-Surface Mount components

Today electronics is shifting to SMT (Surface Mount Technology) or SMD (Surface Mount Devices) area. DIP domination has left behind. They won’t vanish from the electronics industries as they are many areas and will be successfully used. But as electronic circuit complexity grows, demand for PCB miniaturization increases, there is no other way to use SMD technology to achieve these goals. Electronic hobbyists noticed that it is harder to find some particular electronic elements in DIP-packages. Many microcontroller types are released only in SMT packages like Atmega128– QFP64, LPC2000 microcontroller series in the LQFP package series. I don’t talk about bigger IC like AVR32 or FPGA, where BGA packages come with 672 connection balls.

Continue reading

Programmable logic devices

In a market, you can find a bunch of programmable logic devices – PLD. They can be small scale integrated – SSI, medium-scale integrated- MSI, mask programmed gate array – MPGA (MPGD – masked programmable logic devices). Now the most popular are FPGA (Field Programmable Gate Arrays). What is the difference between FPGA and MPGA? MPGA is hard-coded during manufacturing and cannot be erased or reprogrammed, while FPGA is programmable – usually EEPROM or SDRAM. Of course, there are other differences between FPGA and MPGA. One of them is speed. MPGA usually is faster as MPGA needs fewer elements to form a logic gate while FPGA needs additional elements to enable programmability – this adds additional resistances and capacitances in circuits. But today’s technology allows reaching significant speeds with FPGAs too.

Continue reading

AVR microcontroller memory map

AVR microcontrollers are using Harvard architecture. This means that separate memory types (program memory and data memory) are used and connected with distinct buses in this architecture. Such memory architecture allows processors to access program memory and data memory at the same time. This allows increasing the performance of MCU comparing to CISC architecture, where the CPU uses the same bus for accessing program memory and data memory. Each memory type has its own address space: For instance few Atmega series memory map examples:

Continue reading

Flash programming of AT89 microcontrollers using ISP adapter

Microcontrollers family AT89C has a parallel programming interface of flash memory. To write information, we need to supply programming voltage +12V, and for controlling, almost all pins of ports are used. This is why parallel programming is done in special devices – programmers. Microcontrollers AT89S, besides parallel programming ability, have ISP programming ability. Using the Serial programming interface doesn’t need +12V of programming voltage because the inside interface is voltage converter included.

Continue reading

Programming and customizing AVR microcontrollers

AVR microcontroller programs can be classified by programming method – how to program is loaded into microcontroller from the computer. One is a Parallel programmer (byte by byte). This isn’t a popular programming method. But it is a fast programming method. Using a parallel programmer, you can set fuses that will protect you from using the ISP method. But the main disadvantage of parallel programming is that you have to remove the microcontroller from the circuit. This might be used when producing a series of the same kind of preprogrammed microcontrollers before they are soldered into the board. The parallel programmer can program the RESET pin to be used as a fully functional I/O line; this is why ISP cannot be used after this procedure. Restoring of the RESET function can only be done with a Parallel programmer. The serial programming interface is more convenient for electronics hobbyists. The main benefit of the ISP programmer that you can program the microcontroller directly on board. ISP programmers can be connected to COM or LPT port. COM port is becoming obsolete as it requires additional circuitry, while LPT programmer can be as simple as few wires connecting AVR to LPT port. Popular…

Continue reading

Embedded C program libraries and linking

What is a compilation of programs? Maybe it is more or less clear? But what is program linking? I am sure many beginners heard of this but done exactly know what it is. In a few words, I can say that linker creates an output file from relocatable objects. The compiler is not one big program. It usually consists of up to a dozen smaller programs. Some programs, so-called program driver, control these programs. This driver can be a makefile and make.exe program. The whole compiler pieces are the preprocessor, the syntactic and semantic checker, code generator, the assembler, the optimizer, the linker, and make program. Lets see a common example of the compiling procedure: These programs are split into pieces for easier design and maintenance as each is a specialized program on its own. In many cases, the same program can be used for different programming languages. One disadvantage of running different tools will take a longer time than running one bigger program because there is a need to send information between programs.

Continue reading