Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing a Host Communications Program
 
397
 
Write to base + $121
    (if using DPRAM)
Write $00 into
maibox reg #1
Send command line to PMAC
        (up to 16 characters)
Wait for interrupt
 Read $A0 interrupt vector
and acknowledge interrupt
Power up or
reset PMAC
   Send
a line to
 PMAC?
       All
characters
     sent?
NO
YES
YES
NO
 Read $A1 interrupt vector
and acknowledge interrupt
Write $00 into
maibox reg #1
 Has an
interrupt
ocurred?
YES
NO
Read mailbox regs until:
1) <CR> encountered
2) <ACK> encountered
3) <BELL> encountered
4) All 16 regs have been read
 
Turbo PMAC-VME Communications Flow Diagram 
When we ask Turbo PMAC to list out a motion program or PLC with a command like LIST PROG 10 
or LIST PLC 0, Turbo PMAC will have multiple lines of data to be read.  All we have to do is simply 
wait for the interrupt to occur, read the mailbox registers, write $00 to mailbox register #1, and wait to be 
interrupted again, repeating this procedure until all data from Turbo PMAC has been sent and read.  The 
figure above is a flowchart diagram showing this. 
Dual-Ported RAM Communications 
Dual-ported RAM (DPRAM) is an optional feature of the Turbo PMAC for high-speed communications 
with the host computer.  Its purchase is recommended if more than 100 data items per second are desired 
to be transferred, combined in both directions.  Because this bank of memory has two ports, both the 
Turbo PMAC processor and the host processor have direct, random access to all of the registers of the 
DPRAM IC. 
The Turbo PMAC family supports both 8k x 16 and 32k x 16 banks of DPRAM.  In practice, Turbo 
PMAC designs are offered with 8k x 16 banks only, and Turbo PMAC2 designs, including UMAC and 
QMAC products, are offered with 32k x 16 banks only. 
The Turbo PMAC family has preset structures for transferring data between the host computer and the 
controller; it also permits the user to define his own data structures.  The pre-defined structures include: 
• 
Control Panel Functions 
• 
Motor Data Reporting Buffer 
• 
Background Data Reporting Buffer