This project makes firmware upgrades easy: The target has an Infrared receiver and the data is sent via IR. The IR transmitter is based on V-USB.
Host program was compiled using Lazarus Freepascal. Device firmware was compiled using WinAVR (AVR-GCC).
The implementation uses custom device class, required simple inf file and libusb driver on PC.
Infrared data transmission uses USART facility and Timer2 for 38 kHz modulation signal generator. Baudrate 2400bps is based on the IRM-8510N data reception ability which is 400us for the shortest length logic signal.
With a single infrared led, both host and target side can wirelessly communicate at about 6,5 meters. Final board uses 6 infrared led, can handle 15 meters length approximately.
Data packet size was limited 128 byte length because of ATmega8 SRAM at host-side was limited at 1 kbyte size. During development phase we planned to increase till 1~2 kbyte length but we avoided it. Actually it can be increased to optimize the transfer process using a bigger SRAM AVR series. All transmission packets were implemented using CRC16 for error detection.
Schematic Diagram: Host-device
Host-Side Features are:
Schematic Diagram: IR transmitter circuit
Schematic Diagram: IR receiver circuit
In the following part of the description we will get acquainted with the circuit of the target device which carries out reception of the data and microcontroller In-system programming.
Host-side: schematic diagrams, software for microcontroller and PC: 20081008.host.side.zip
Shematic Diagrams: IR transmitter circuit, IR receiver circuit 20080726.ir.circuit.zip
You may have to register before you can post comments and get full access to forum.