English
Language : 

AT91SAM9261S_1 Datasheet, PDF (609/709 Pages) ATMEL Corporation – AT91 ARM Thumb-based Microcontrollers
AT91SAM9261S
38.6 Interrupts
The LCD Controller generates six different IRQs. All the IRQs are synchronized with the internal
LCD Core Clock. The IRQs are:
• DMA Memory error IRQ. Generated when the DMA receives an error response from an AHB
slave while it is doing a data transfer.
• FIFO underflow IRQ. Generated when the Serializer tries to read a word from the FIFO when
the FIFO is empty.
• FIFO overwrite IRQ. Generated when the DMA Controller tries to write a word in the FIFO
while the FIFO is full.
• DMA end of frame IRQ. Generated when the DMA controller updates the Frame Base
Address pointers. This IRQ can be used to implement a double-buffer technique. For more
information, see “Double-buffer Technique” on page 610.
• End of Line IRQ. This IRQ is generated when the LINEBLANK period of each line is reached
and the DMA Controller is in inactive state.
• End of Last Line IRQ. This IRQ is generated when the LINEBLANK period of the last line of
the current frame is reached and the DMA Controller is in inactive state.
Each IRQ can be individually enabled, disabled or cleared, in the LCD_IER (Interrupt Enable
Register), LCD_IDR (Interrupt Disable Register) and LCD_ICR (Interrupt Clear Register) regis-
ters. The LCD_IMR register contains the mask value for each IRQ source and the LDC_ISR
contains the status of each IRQ source. A more detailed description of these registers can be
found in “LCD Controller (LCDC) User Interface” on page 613.
38.7
Configuration Sequence
The DMA Controller starts to transfer image data when the LCDC Core is activated (Write to
LCD_PWR field of PWRCON register). Thus, the user should configure the LCDC Core and
configure and enable the DMA Controller prior to activation of the LCD Controller. In addition,
the image data to be shows should be available when the LCDC Core is activated, regardless of
the value programmed in the GUARD_TIME field of the PWRCON register.
To disable the LCD Controller, the user should disable the LCDC Core and then disable the
DMA Controller. The user should not enable LIP again until the LCDC Core is in IDLE state. This
is checked by reading the LCD_BUSY bit in the PWRCON register.
The initialization sequence that the user should follow to make the LCDC work is:
• Create or copy the first image to show in the display buffer memory.
• If a palletized mode is used, create and store a palette in the internal LCD Palette
memory(See “Palette” on page 594.
• Configure the LCD Controller Core without enabling it:
– LCDCON1 register: Program the CLKVAL and BYPASS fields: these fields control the
pixel clock divisor that is used to generate the pixel clock LCDDOTCK. The value to
program depends on the LCD Core clock and on the type and size of the LCD
Module used. There is a minimum value of the LCDDOTCK clock period that
depends on the LCD Controller Configuration, this minimum value can be found in
Table 38-10 on page 598. The equations that are used to calculate the value of the
pixel clock divisor can be found at the end of the section “Timegen” on page 597
6242E–ATARM–11-Sep09
609