For this reason, the recommended usage is to first disable ACM, and then update CMINDEX and
CMDATA. After that, ACM can be re-enabled safely.
Figure 43-29. Limitations of Auto Character Mapping Mode
ACM FC event
During this period, only DMA controller is
allowed to access CMDATA. And user is
forbidden to access CMDATA. Otherwise ACM
state machine will be corrupted.
ACM active (ACMBUSY = 1)
DMA request
from SLCD
FC event
ACM active
ACM inactive (ACMBUSY = 0)
DMA channel
busy/pending
43.6.2.7. Automated Bit Mapping
Several segments on the LCD panel can be gathered to make a
symbol
, which can be animated (i.e.,
have several states). Data corresponding to each state of the animation can be stored in system memory,
and is transferred periodically to the display memory using the DMA controller.
The DMA controller can update up to eight contiguous bits in display memory by writing to the ISDATA
register, refer to
. To update more than eight bits, the DMA controller must be
configured to transfer multiple words before the shadow memory is updated. This number of words must
be written to the Size bits in the Automated Bit Mapping Configuration register (ABMCFG.SIZE); it
indicates the number of DMA writes to the display memory to form an animation frame.
To make an automated animation of N states with M contiguous segment values in display memory, the
DMA controller must be configured to transfer N x M/8 words (8 contiguous segments are updated per
write access). If segment values are not contiguous, the DMA size can be up to N x M (1 segment is
updated per write access).
The display period (time between each frame) is defined by a frame counter, which will trigger a new
DMA block transfer for the next frame (refer to
). The frame counter index must be written
to the Frame Counter Selection bits in the ABMCFG register (ABMCFG.FCS).
To enable the automated bit mapping, write a '1' to the Automated Bit Mapping Enable bit in the Control B
register (CTRLB.ABMEN); to disable it, write a '0' to CTRLB.ABMEN.
An animation can be repeated if the DMA controller is configured to repeat the whole transfer.
If ABM is enabled, the user can check whether ABM is busy or idle by reading the Auto Bit Mapping Busy
bit in the Status register (STATUS.ABMBUSY).
43.6.3. DMA Operation
The SLCD generates the following DMA requests:
•
Display Memory Update (DMU): the request is set when the selected frame counter overflows. To
select the frame counter for DMA to update the display memory, write the frame counter index to
Display Memory Frame Counter Selection bits in the Control A register (CTRLA.DMFCS).
Atmel SAM L22G / L22J / L22N [DATASHEET]
Atmel-42402E-SAM L22G / L22J / L22N_Datasheet_Complete-07/2016
1085