Freescale Semiconductor MPC5200B ユーザーズマニュアル

ページ / 762
BestComm
Notes
MPC5200B Users Guide, Rev. 1
13-30
Freescale Semiconductor
13.17.1.1
Integer Mode
This input signal is only valid if the pack signal is negated (set to ‘0’). This signal indicates if the SDMA engine should operate in integer 
mode or fractional mode. During integer mode, the engine sign-extends read data and the it reads the write size amount of data starting from 
the MSB position and drives it to the proper destination byte lanes as indicated by the write address.
During fractional mode, the engine zero-extends read data and the ADS reads the write size amount of data starting from the LSB position 
and drives it to the proper write byte lanes as indicated by the write address.
13.17.1.2
Pack
This input signal indicates that packing or unpacking of data should occur if the read size does not equal the write size. The pack signal has 
precedence over the integerMode signal.
This signal indicates to the SmartDMA that it should pack data when the source size does not match the destination size. When this signal is 
asserted, the SmartDMA should pack data, and the integerMode signal is ignored. Otherwise, the SmartDMA should not pack data. Packing 
data refers to the case where the SmartDMA will wait for a full word of data before passing the data to one of the memory interfaces.
13.17.2
Variable Table
 shows the Variable Table format to which each task must adhere. The Variable Table pointer that is located in the Task Table in 
 points to the first location in this 32-word (128-byte) memory space.
If restoring, and the Variable Table has been modified, then the new Variable Table pointer is located at the end of the context save space for 
the corresponding task. The Variable Table for each task must be aligned to a 16-byte boundary (to aid in address calculation). Before 
executing a particular task, that task’s Variable Table must be initialized with the appropriate data. Specifically, any constants, initial values, 
and increment values must be written to the Variable Table before executing the corresponding task. 
Variables may be loaded into words 0 through 23.Increment values 0 through 7 may be loaded into words 24 through 31, respectively. 
Any of the eight increment values may be used as normal Loop-Index Variables or Constants if they are not needed as increment values. All 
of these variables and increment values may be used to initialize loop-index registers. However, only variables 0 through 31 may be written 
by the ADS. At this time, if variables 24 through 31 are written, it is assumed that these variables should be treated as normal Loop-Index 
Variables or Constants and not as increment values. Also, note that Variable Tables may overlap if sharing the last eight variables with another 
Table 13-37. Behavior of Task Table Control Bits
Control Function
Value
Meaning
Precise Increment
0
Increments are allowed at any time the SDMA can do it
1
Only increment at the end of an iteration
No Error Code Reset
0
Reserved
1
Reserved
Pack
0
Do not pack data
1
Pack  data
Integer Mode
0
Fractional data representation
1
Integer data representation
Speculative Reads
0
Disabled
1
Enabled
Combined Write Enable
0
Do not enable combined writes
1
Enable combined writes
Read Line Buffer Enable
0
Do not enable line reads
1
Enable line reads