User's Manual
PMAC2 User Manual
74 Setting Up PMAC2 for MLDT Feedback
Hardware Setup
The PULSEn output that is commonly used to command stepper drives is used as the excitation signal for
the MLDT; typically, the CHAn input that is part of encoder feedback is used to accept the response.
These outputs and inputs are on PMAC2’s JMACH connectors. Usually these are connected to the
sensors thru one of the Acc-8 family of interface boards; alternatively, a customized interface can be used.
Most common is the Acc-8E board, which provides analog output commands for the servo drives, but
also provides the pulse output.
The PULSEn output is an RS-422 style differential line-drive pair. The CHAn input is an RS-422 style
differential line receiver pair. The use of differential pairs for both inputs and outputs is strongly
encouraged for the common-mode noise rejection it provides.
Remember that in the DPM signal format or equivalent (see above), the ‘+’ output of the MLDT should
be wired into the CHAn- input, and the ‘-‘ output of the MLDT should be wired into the CHAn+ input.
PMAC2 Hardware-Control Parameter Setup
PFMCLK Frequency: I903 and I907
The pulse output uses PMAC2’s pulse frequency modulation (PFM) feature. The PFM circuitry
generates periodic output pulses by repeatedly adding a command value into an accumulator. When the
accumulator overflows, an output pulse is generated.
The addition of the command value into the accumulator is performed once per PFMCLK cycle. The
PFMCLK frequency is governed by I903 for channels 1-4; it is governed by I907 for channels 5-8. The
default frequency of the PFMCLK for all channels is 9.83 MHz; this frequency should be suitable for all
MLDT applications.
PFM Output Frequency: Mn07
The pulse output frequency for Channel n is controlled by both the PFMCLK frequency and the PFM
command value for the channel, which is the C-output register for that channel. When used for stepper
motor applications, the PFM command value is determined by the instantaneous command velocity and
the gains of the simulated servo loop on PMAC2; Ix02 tells PMAC2 to write this to the PFM command
register. For MLDT use, we will write to the PFM command register once on power-up/reset with an M-
variable. The suggested M-variable definitions for this purpose are:
M107->Y:$C004,8,16,S ; Channel 1 PFM (C) command value
M207->Y:$C00C,8,16,S ; Channel 2 PFM (C) command value
M307->Y:$C014,8,16,S ; Channel 3 PFM (C) command value
M407->Y:$C01C,8,16,S ; Channel 4 PFM (C) command value
M507->Y:$C024,8,16,S ; Channel 5 PFM (C) command value
M607->Y:$C02C,8,16,S ; Channel 6 PFM (C) command value
M707->Y:$C034,8,16,S ; Channel 7 PFM (C) command value
M807->Y:$C03C,8,16,S ; Channel 8 PFM (C) command value
Note:
The PFM command registers are actually 24-bit registers; the suggested definitions
just use the high 16 bits, which provides enough resolution for our purposes here.
The frequency of the pulse output should produce a period just slightly longer than the longest expected
response time for the echo pulse. For MLDTs, the response time is approximately 0.35 µsec/mm (9 µ
sec/inch). On an MLDT 1500 mm (~60 in) long, the longest response time is approximately 540 µsec; a
recommended period between pulse outputs for this device is 600 µsec, for a frequency of 1667 Hz.