8. Microcontroller
The heart of FIGnition is an Atmel AtMega168 (or AtMega328) AVR Microcontroller. The
Microcontroller contains a 20MIPS central processing unit; 16Kb (or 32Kb) of Flash mem-
ory for firmware; 1Kb (or 2Kb) of Internal RAM and some built-in hardware functionality for
controlling/ reading external pins; timing events and transferring serial data between the
microcontroller and external devices.
FIGnition's Flash memory contains all the firmware required to generate TV images; read
the keypad; talk to the serial memory devices and implement its built-in language FIGnition
Forth.
8.1 Circuit Diagram
8.2 Operation
The AtMega168 (or 328) is a member of the highly successful AVR family of microcontrol-
lers. The 'Mega' family members have a few more instruction codes; more sophisticated
hardware functionality; generally larger numbers of pins (up to 100 or more) and multiply
instructions for higher arithmetic performance. A full description of AtMega168/328 can be
found here
6
.
8.2.1 How FIGnition Uses Pins
1. /Reset. FIGnition leaves this as a /Reset pin so that the AVR can be fully repro-
grammed from scratch.
2. PD0/RxD. FIGnition leaves this as a general purpose I/O pin: Port D0. It cannot be
used as RxD while video is being generated, because the USART is used to transmit
video.
6
http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168
PA-328-328P_datasheet.pdf
Fig 8.1