Delta Tau GEO BRICK LV Manuel D’Utilisation

Page de 440
Turbo PMAC User Manual 
Turbo PMAC Computational Features
 
235
 
TURBO PMAC COMPUTATIONAL FEATURES 
Turbo PMAC has advanced computational features that permit off-loading of many operations from a 
host, or even stand-alone operation in ways that were not previously possible.  Many arithmetic, logical, 
and transcendental operations can be performed on variables and constants in user programs on board the 
card.   
Computational Priorities 
As a multitasking, real-time computer, Turbo PMAC has an elaborate prioritization scheme to ensure that 
vital tasks are accomplished when needed, and that all tasks are executed reasonably quickly.  The 
scheme was designed to hide its complexity as much as possible, but also to provide some flexibility in 
optimizing the controller for particular needs.  The tasks in order of priority are: 
1.  Single Character I/O 
2. Commutation 
Update 
3. Servo 
Update 
4.  Real-Time Interrupt Tasks 
5.  VME Mailbox Processing 
6. Background 
Tasks 
Single Character I/O 
Bringing in a single character from, or sending out a single character to, the serial port or host port (from 
ISA, PCI, USB, or Ethernet) is the highest priority in Turbo PMAC.  This task takes only two instruction 
cycles per character, but having it at this high priority ensures that Turbo PMAC cannot be outrun by the 
host on a character-by-character basis.  This task is never a significant portion of Turbo PMAC’s total 
calculation time.  Note that this task does not include processing a full command; that happens at a lower 
priority (see below). 
Commutation Update 
The commutation (phasing) update is the second highest priority on Turbo PMAC.  Every phase interrupt 
(cycle of the phase clock), the MACRO ring (if present) is updated with new information, and if I5060 > 
0, a pair multiplexed ADCs (e.g. Option 12, Acc-36) is read and the data copied into de-multiplexed 
RAM registers.   
Every (I7 + 1) phase interrupts, Turbo PMAC performs the commutation calculations on each motor for 
which commutation is active (Ixx01 bit 0 = 1).  For each motor commutated by Turbo PMAC, this task 
takes 1 – 2 
µsec per update cycle for an 80 MHz CPU.   
The phase clock frequency is determined by: 
• 
Jumpers E98 and E29 – E33 on a Turbo PMAC 
• 
I7m00 and I7m01 (for clock-source Servo IC m as set by I19) on a (non-Ultralite) Turbo PMAC2 
• 
I6800 and I6801 on a Turbo PMAC2 Ultralite 
The default update frequency is 9 kHz (110 
µsec cycle).  At the default, the commutation of each motor 
takes approximately 1 – 2 percent of Turbo PMAC’s computational power. 
Servo Update 
The servo update is the third highest priority on Turbo PMAC.  Every servo interrupt (cycle of the servo 
clock), Turbo PMAC processes each of the entries of the encoder conversion table to prepare the raw 
feedback and master data for use by the servo algorithms.  Then it performs the servo update calculations 
for each active Motor xx (Ixx00 = 1).  This update consists of the interpolation calculations to compute 
the next instantaneous commanded position, and the servo-loop closure calculations that use this value, 
the actual position value, and the servo gain terms to compute the commanded output.  (The servo-loop 
closure algorithms for Motor xx can skip interrupt cycles if Ixx60 is set greater than 0.)  These servo 
calculations take about 4 
µsec per update cycle for an 80 MHz CPU.