Reference Manual
PMAC-PCI Hardware Reference
Software Setup 59
To check the value of the multiplier, use the on-line command RHX:$FFFD and look at the last
hexadecimal digit. The actual multiplier is one greater than the value in this last digit. Alternately, define
an M-variable such as M99->X:$FFFD,0,4 and then read from or write to these bits with the M-variable.
E48 X:$FFFD; 0-3 True Multiplier DSP Frequency
OFF 1 x2 40 MHz
ON 2 x3 60 MHz
When PMAC is ordered with the CPU Option 5C it is capable to run at 80 MHz frequency. To operate
the CPU at 80 MHz, set the multiplier value in user software. In this case, usually E48 will be set OFF,
so the CPU comes up at 40 MHz. The usual way to set the multiplier value for 80 MHz is to use a reset
PLC, one that executes automatically on power-up/reset, then disables itself. Typically, this is PLC 1, the
first to execute after power-up/reset (see below).
If using serial communications on an 80 MHz PMAC, change the baud rate divider register in the CPU.
On power-up/reset, the firmware reads jumpers E44-E47 and sets the baud rate divider register in the
CPU (at X:$FFF2 bits 0 to 11) to set the serial baud rate. Since the baud rate clock is derived from the
CPU frequency, a change in the CPU frequency will change the baud rate.
To counteract this change, when the CPU frequency is changed, change the baud rate divider register in
the CPU. If the CPU frequency is doubled, double the divider value and add 1. This should be done in
the reset PLC also.
This operation can be done with the following code segment. This baud divider algorithm is valid only if
the PMAC has been jumpered for 40 MHz operation (E48 OFF).
M98->X:$FFF2,0,12
M99->X:$FFFD,0,4
OPEN PLC 1 CLEAR
M99=3 ; Set x4 frequency multiplication (80 MHz)
M98=2*M98+1 ; Increase baud divider to maintain rate
; (Only needed for serial communications) more of reset PLC
DISABLE PLC 1 ; So PLC 1 will not repeat
CLOSE
To make the change in CPU frequency and baud rate over the serial port with on-line commands, make
sure that the two commands are on the same command line. If they are on separate command lines, the
second command will not be accepted because the baud rate has changed. For example, with the same
setup as the above example, use the command line
M99=3 M98=2*M98+1
to change the CPU frequency and baud rate divider (to keep the baud rate constant) together.
Option 16 Supplemental Memory
If the Option 16 supplemental battery-backed parameter memory is ordered, an extra bank of memory
with battery backup circuitry is provided. This option can only be ordered if the main memory is flash
backed (Option 4A, 5A, 5B, or 5C). This memory is for user parameter storage only. From PMAC
programs, it can be accessed with M-variables only (L-variables also in compiled PLCs). The on-line
direct-memory read and write commands can be used from the host computer as well.
With M-variable access, arrays can be created with indirect addressing techniques by pointing a second
M-variable to the definition of a first M-variable that points into this memory area. For example, with the
M-variable definitions:
M0->L:$A000 ; 1st long word of Opt. 16 RAM; floating point
M10->Y:$BC000,0,16 ; Low 16 bits of M0 def., with pointer address
The following code segment could load a sine table into the first 360 words of the Option 16 RAM:










