Freescale Semiconductor MSC8156 Evaluation Module MSC8156EVM MSC8156EVM Manual Do Utilizador

Códigos do produto
MSC8156EVM
Página de 1490
Buffer Types
MSC8156  Reference Manual, Rev. 2
Freescale Semiconductor
  
14-7
14.2.4
One-Dimensional Incremental Buffer
In an incremental buffer, a data transfer starts at the buffer base address and continues until all 
data is transferred. An interrupt is generated each time BD_SIZE reaches zero. 
BD_ATTR[CONT] = 1, so the channel does not close when BD_SIZE reaches zero. 
BD_ATTR[CYC] = 0, signifying sequential addressing. NBD points to the buffer itself. Figure 
14-5
 shows an example incremental buffer.
Figure 14-5.  One-Dimensional Incremental Buffer
Table 14-4 lists the channel parameter values for an incremental buffer (BD0). Blocks of 0x100 
bytes are read, starting at address 0x1000, and an interrupt is generated every 0x100 bytes. The 
mode is continuous and addressing is sequential. Be aware that in an incremental buffer, memory 
can be corrupted because of overwriting. 
Table 14-4.  Channel Parameter Values for an Incremental Buffer 
BD
BD Parameters
Value
Description
0
BD_ADDR 
0x1000
External memory buffer current address.
BD_SIZE 
0x100
Size of transfer left for this buffer.
BD_BSIZE 
0x100
Buffer base size of cyclic buffer.
BD_ATTR 
SST 
0x1
Generate interrupt when buffer ends.
CONT 
0x1
Continuous mode. Do not close the buffer when size reaches zero.
CYC
0x0
Increment BD_ADDRESS when size reaches zero.
NBD
0x0
Next request calls buffer 0 when size reaches zero.
0x1000
0x10F8
0x1200
0x12F8
Interrupt
0x1100
0x11F8
Interrupt
Interrupt
BD0