Hardware Description
9
port may be configured for general purpose I/O or assigned to a function of an integrated
peripheral device. In doing so multiplexing with multiple integrated devices is possible.
That means a pin may be used as GPIO or only as one of the peripheral functions. The
PIO Controller also features a synchronous output providing up to 32 bits of data output
in a single write operation.
The following characteristics are individually configurable for each PIO pin:
• PIO enable
• Peripheral enable
• Output enable
• Output level
• Write Enable
• Level change interrupt
• Glitch filter: pulses that are lower than a half clock cycle are ignored
• Open-drain outputs
• Pull-up resistor
All configurations as well as the pin status can be read back by using the appropriate
status register. Multiple pins of each PIO can also be written simultaneously by using the
synchronous output register.
For interrupt handling, the PIO Controllers are considered as user peripherals. This means
that the PIO Controller interrupt lines are connected among the interrupt sources 2 to
31. Refer to the PIO Controller peripheral identifier Table B.1, “Peripheral Identifiers”
to identify the interrupt sources dedicated to the PIO Controllers. The PIO Controller
interrupt can be generated only if the PIO Controller clock is enabled.
A number of the PIO signals might be used internally on the module. Care has to be taken
when accessing the PIO registers in order not to change the settings of these internal
signals, otherwise a system crash is likely to happen.
4.10. Clock Generation
4.10.1. Processor Clocks
The AT91SAM9G45 has no PLLB, but provides the 480 MHz USB Clock via a UPLL.
The CPU generates its clock signals based on two crystal oscillators: One slow clock
(SLCK) oscillator running at 32.768 KHz and one main clock oscillator running at 18.432
MHz. The slow clock oscillator also serves as the time base for the real time timer. It draws
a minimum of current (a few micro-Amps) and can therefore be backeded up by a small
lithium battery when the board is powererd down.