English
Language : 

AMG-XB404 Datasheet, PDF (22/73 Pages) alpha microelectronics gmbh – Fully Integrated Single Motor Controller for Electrical Motors
AMG-XB404
Fully Integrated Single Motor Controller for Electrical Motors
5.4.1. Motor Control Processing Unit (MCPU)
The DMCE contains a single precision floating point Motor Control Processing Unit (MCPU)
capable of executing computationally expensive motor control algorithms. The Harvard
Architecture MCPU executes programs stored in a 384 words deep program memory SRAM.
The MCPU can execute eight different operations. They are performed on the MCPU's 128 directly
addressed registers, 64 indirectly addressed registers, and register-mapped hardware ports. Each
register represents a 32 bit single precision floating point number.
The eight supported commands have a uniform width of 24 bits and the format is shown in
figure 11. The following table gives an overview of each command's function.
A
T
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OP
R
R
R
A
B
C
Figure 11: MCPU command format
OP Operation
Description
0
RC =RARB
1
RC =RA - RB
Add RA and RB and store result in RC.
Subtract RB from RA and store result in RC.
2
RC =RA⋅RB
Multiply RA with RB and store result in RC.
3
RC =sin  RA - 2
Calculate sine of (RA-2) and store result in RC. RA must satisfy 0≤RA≤(π/2+0.1).
4
RC =cos  RA' - 2 Get the corresponding cosine value for the last sine calculation and store the result in RC. For angles greater that (π/2) the
command returns cos(RA’-2)+4. Consequently, 4 needs to be subtracted from the result in these cases.
5
jump AT
Perform an unconditional jump to the address given in AT.
6
jump AT if  RA0 Perform a jump to the address given in AT if RA is negative.
7
RC =  RA
Calculate square root of RA and store result in RC.
Table 8: MCPU commands
Floating point values used by the AMG-XB404 are similar to the IEEE754 standard. Figure 12
shows the bit assignments. S denotes the number's sign. 0 stands for a positive sign and 1 for a
negative sign. The number's exponent E is offset by +127 i.e. exponents ranging from -127 to 128
can be processed. The mantissa M is normalized and always includes a hidden 1. The mantissa's
value becomes 1.M in binary format.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
S
E
M
Figure 12: Floating point number format
A floating point number's value can thus be calculated as  S ? - 1 : 1⋅1. M ⋅2E−127 . For the
sake of simplicity, the MCPU can represent neither ±0 nor infinity and has no means of reporting
AMG-XB404
Revision: A
2. Nov. 2012 © All rights reserved
Page 22 of 73