![Infineon Technologies TC1796 Скачать руководство пользователя страница 698](http://html1.mh-extra.com/html/infineon-technologies/tc1796/tc1796_user-manual_2055437698.webp)
TC1796
System Units (Vol. 1 of 2)
Direct Memory Access Controller
User’s Manual
12-34
V2.0, 2007-07
DMA, V2.0
12.1.9
Pattern Detection
Each Move Engine in a DMA Sub-Block provides a register MEmR that contains the data
that was read during the last read move. Parts of this read move data can be compared
after the read move to data that is stored in the Move Engine pattern register MEmPR of
DMA Sub-Block m. The result of this pattern compare match is always stored in a bit
(LXO) of the channel status register of the DMA channel mn that is currently executing
the DMA move. Therefore, the pattern match result LXO of the previous read move can
also be combined together with the pattern match result of the actual read move. MEmR
is overwritten with each read move.
As the compare match patterns are stored in the Move Engine m (register MEmPR), its
compare patterns are used for all DMA channels that are assigned to Move Engine m
(all DMA channels of the DMA Sub-Block m.
The configuration and capabilities of the pattern detection logic further depends on the
settings of CHCRmn.CHDW. CHDW determines the data width for the read and write
moves individually for each DMA channel mn. Another control bit, CHCRmn.PATSEL,
selects among the different operating modes for a specific value of CHDW.
Depending on CHCRmn.PATSEL and on the positive result of the comparison, two
actions follow (if CHCRmn.PATSEL=00, no action will be taken when a pattern match is
detected, so the wrap interrupt can be used):
•
The activation of the interrupt corresponding to the current active channel mn using
the Interrupt Pointer defined in CHICRmn.WRPP.
•
Clear TRSR.HTREmn and TRSR.CHmn in order to stop the current transaction
(Hardware and Software request enable). The value of CHSRmn.TCOUNT can be
read out by the interrupt SW.
The software will have to service the interrupt and to activate again the channel.