VMIVME-5576 Reflective Memory
VMIVME-5576 Reflective Memory
INSTRUCTION MANUAL
VMIC
12090 SOUTH MEMORIAL PARKWAY
HUNTSVILLE, ALABAMA 35803-3308
(256) 880-0444
1-800-322-3616
FAX NO.: (256) 882-0859
COPYRIGHT AND TRADEMARKS
© Copyright September 1991. The information in this document has been carefully checked and is
believed to be entirely reliable. While all reasonable efforts to ensure accuracy have been taken in the
preparation of this manual, VMIC assumes no responsibility resulting from omissions or errors in this
manual, or from the use of information contained herein.
VMIC reserves the right to make any changes, without notice, to this or any of VMIC’s products to
improve reliability, performance, function, or design.
VMIC does not assume any liability arising out of the application or use of any product or circuit
described herein; nor does VMIC convey any license under its patent rights or the rights of others.
For warranty and repair policies, refer to VMIC’s Standard Conditions of Sale.
AMXbus, BITMODULE, COSMODULE, DMAbus, Instant OPC wizard logo, IOWorks Access, IOWorks
Foundation, IOWorks man figure, IOWorks Manager, IOWorks Server, MAGICWARE, MEGAMODULE, PLC
ACCELERATOR (ACCELERATION), Quick Link, RTnet, Soft Logic Link, SRTbus, TESTCAL, “The Next
Generation PLC”, The PLC Connection, TURBOMODULE, UCLIO, UIOD, UPLC, Visual Soft Logic
Control(ler), VMEaccess, VMEmanager, VMEmonitor, VMEnet, VMEnet II, and VMEprobe are trademarks
and The I/O Experts, The I/O Systems Experts, The Soft Logic Experts, and The Total Solutions Provider
are service marks of VMIC.
(I/O man figure) (Instant OPC wizard logo) (IOWorks man figure)
The I/O man figure, IOWorks, UIOC, Visual IOWorks, and WinUIOC are registered trademarks of VMIC.
ActiveX is a trademark and Microsoft, Microsoft Access, MS-DOS, Visual Basic, Visual C++, Win32,
Windows, Windows NT, and XENIX are registered trademarks of Microsoft Corporation.
MMX is a trademark and Pentium is a registered trademark of Intel Corporation.
PICMG and CompactPCI are registered trademarks of PCI Industrial Computer Manufacturers’ Group.
Other registered trademarks are the property of their respective owners.
VMIC
All Rights Reserved
This document shall not be duplicated, nor its contents used for any
purpose, unless granted express written permission from VMIC.
RECORD OF REVISIONS
WARNING
iii
SAFETY SYMBOLS
GENERAL DEFINITIONS OF SAFETY SYMBOLS USED IN THIS MANUAL
Instruction manual symbol: the product is marked with this symbol when
! it is necessary for the user to refer to the instruction manual in order to
protect against damage to the system.
iv
500-005576-000
VMIVME-5576
REFLECTIVE MEMORY BOARD
TABLE OF CONTENTS
Page
SECTION 1. INTRODUCTION
SECTION 4. PROGRAMMING
4.1 PROGRAMMING................................................................................. 4-1
4.2 BOARD IDENTIFICATION (ID) REGISTER ........................................ 4-1
4.3 NODE ID REGISTER .......................................................................... 4-1
4.4 BOARD CONTROL AND STATUS REGISTER (CSR)........................ 4-1
4.5 PROGRAMMING THE MC68153 BIM................................................. 4-3
4.5.1 Register Description ............................................................................ 4-3
4.5.2 Control Registers (23H, 27H, 2BH, 2FH)............................................. 4-4
4.5.3 Vector Registers (33H, 37H, 3BH, 3FH).............................................. 4-4
4.5.4 Device Reset ....................................................................................... 4-5
4.6 THE COMMAND REGISTER DEFINITION (06H) ............................... 4-5
4.7 COMMAND NODE (07H) .................................................................... 4-6
4.8 INTERRUPT SENDER ID REGISTERS (26H, 2AH, 2EH) .................. 4-6
4.9 LOCAL STATUS INTERRUPT ............................................................ 4-6
v
500-005576-000
Page
SECTION 6. MAINTENANCE
LIST OF FIGURES
Figure Page
vi
500-005576-000
Figure Page
5.3.2-2 VMIVME-5576 Extended Address with 1/2 Mbyte Option Example .... 5-7
5.3.2-3 VMIVME-5576 Extended Address with 1/4 Mbyte Option Example .... 5-8
5.3.4-1 VMIVME-5576 Board Node ID Jumper Field....................................... 5-10
5.3.5-1 Address Modifier Jumper Options ....................................................... 5-9
5.3.5-2 VMIVME-5576 Address Modifier Jumper Field.................................... 5-11
LIST OF TABLES
Table Page
APPENDIX
vii
500-005576-000
SECTION 1
INTRODUCTION
1.1 FEATURES
1-1
500-005576-000
1-2
FIBER-OPTIC FIBER-OPTIC
CABLE CABLE
FO FO
REC'D TX
TAXI TAXI
CHIP CHIP
4 K/512 4 K/512
INT1 DEEP DEEP
7 LINES BIM IN
• OUT
• INT FIFO FIFO
INT7 5 LINES CTRL
CTRL CTRL
IACK ADDR
BIM CTRL
1-3
IACK* CS
FIFO/RCV CTRL 17
IACK IN* RAM CTRL
VMEbus WR
IACK OUT*
DECODE LOGIC
CONTROL AND CONTROL RAM
SIGNALS
ADDR SELECT LINES (256 K x 8)
LATCH
31 LINES
VME ADDR
A1 TO A31 1 Mbyte
TOTAL RAM
22 LINES
ENABLE/DIR
32 LINES VME
VME
DATA BUS DATA 32 LINES
D31 TO D0 BUS
BUFFER
M5576/F1.2-1
There are four positions possible with the 256 K Reflective Memory
Boards relative to 1 Mbyte boundaries. All 256 K boards on the link must be
mapped to the same position relative to the 1 Mbyte boundaries in order to
communicate. There is no restriction between which 1 Mbyte boundary each
board is on. Exact address matching is not required; only the position relative to
the nearest 1 Mbyte boundary must be the same.
1-4
500-005576-000
SECTION 2
2-1
500-005576-000
SECTION 3
THEORY OF OPERATION
3-1
500-005576-000
results from sending each data twice. The redundant transmissions statistically
lowers the probability of data corruption. The probability of data transmission
failure of both transmissions is once every three thousand years. Redundant
transmissions guarantee that all data will arrive across the link correctly. A
fiber-optic transfer error is a rare event and the board which has the receive error
has the capability to notify the local VME chassis that it has occurred. In most
systems it should be preferable to operate in single transmission mode to maintain
high data throughput. In the case a retransmission request is too slow, the double
transmission mode is available.
Not all nodes have to be configured with the same memory size. Nodes
may be configured to make optimum use of memory. An example is shown in
Figure 3.5-1.
If the fiber-optic data bandwidth has not been exceeded, data latency is
typically 1.5 µs/node in single transfer mode. Longer latencies will result if data
input rates exceed 6.2 Mbytes/sec for a period of time. The transmit FIFOs will back
up with data until the half-full interrupts are set off or a bus error occurs in the event
the FIFOs become full.
3-2
500-005576-000
NODE 3 NODE 4
Contains Memory
Node 0 is configured with 1 Mbyte of memory, Nodes 1 and 2 are configured with
512 K of memory, and Nodes 3 and 4 are configured with 256 K of memory.
Because of the relative location of the memory, data written to address range
X00000h to X7FFFFh by a processor in Node 0 will also be written into the
corresponding address in Node 1. However, no data will be written into Nodes 2,
3, and 4 because there is no memory in that range in those nodes. Similarly, data
written into address range X80000h to XBFFFFh in Node 2 will also be written into
Nodes 0 and 3, but not Nodes 1 and 4.
3-3
500-005576-000
SECTION 4
PROGRAMMING
4.1 PROGRAMMING
Although the VMIVME-5576 VMEbus Reflective Memory Board is software
transparent on power-up, some registers are present to facilitate user information and
interrupt generation. Table 4.1-1 shows the memory mapped registers used by the
VMIVME-5576.
Fast mode transmits each data transfer once on the fiber-optic link. If the jumper
J5 is installed, each transfer is sent twice on the fiber-optic link (3.2 Mbytes/sec).
If the mask jumper J3 is installed and INT0 is enabled by software on the bus
interrupt module, an interrupt will be generated each time a receive error is detected on the
fiber-optic link.
4-1
500-005576-000
1/2 M
M5576/T4.1-1
07FFFF
1M
FFFFF
4-2
500-005576-000
This bit indicates that the local node has received data back that had originated
on the local node. It may be reset by writing this bit to a logic "zero". Once set by receiving
its own node ID from the fiber-optic receiver, the bit remains set until cleared by the local
VME side.
This bit indicates that a single transfer error has occurred. It does not depend on
the mask jumper to be removed. In redundant transmission mode (3.2 Mbyts/sec), it
indicates only that a transfer error occurred on one of the two transfers.
BIT 5 - Transmit FIFO half-full - over half-full when low (Read Only)
These two bits display status on the transmit FIFO on the local node. The current
status of the transmit status is displayed.
BIT 6 - Receive FIFO half-full at least half-full when low (Read Only)
This bit displays current status of the receive FIFO. This bit should never be low.
If this bit goes low, local VME access should be suspended or at least curtailed for a period
of time or data loss could occur. This bit going low would be an indication of a local VME
problem, i.e., extremely slow release of data strobes after DTACK. In a proper functioning
VME system, this should never occur.
BIT 7 - Fail LED Status (Read/Write) logic 1 = LED ON, logic 0 = LED OFF
4-3
500-005576-000
4-4
500-005576-000
D7 D6 D5 D4 D3 D2 D1 D0 FUNCTION
0 0 not valid, no interrupt is generated
0 1 interrupt 1 is generated (INT level set by CRINT1)
1 0 interrupt 2 is generated (INT level set by CRINT2)
1 1 interrupt 3 is generated (INT level set by CRINT3)
X 1 X X X X X X interrupt is generated in all chassis
X 0 X X X X X X interrupt is generated in chassis ID which was written
previously at relative address 07H. A word or Lword
Write can specify both interrupt type and receiving
Node ID in one transfer.
M5576/T4.6-1
In the event of an external interrupt (i.e., int1, int2, int3), the VMIVME-5576 will
prevent the loss of any subsequent interrupt of the same type through the use of a
dedicated FIFO for each interrupt type. The interrupt handler must execute a Read of the
sender ID Register in order to allow the next interrupt of the same type to be sent to the
BIM. An example is that an interrupt int1 has been sent across the link immediately
followed by a second int1. The receiving node must determine that the VMIVME-5576 has
issued a int1 through the use of the resulting VME int level (0 through 7) and its vector. The
second interrupt will remain in the int1 FIFO until the receiving node executes a Read of
location 26 HEX which will allow the second interrupt int1 to be issued to the BIM. This
method guarantees that all interrupts sent on the link will be serviced and the receiver
knows the ID of the node which sent the interrupt it is currently servicing. Only one Read
per interrupt is allowed, otherwise loss of subsequent interrupts may occur.
The three interrupt FIFOs are 512 bytes deep so up to 512 interrupts of any level
may be queued in the FIFO. A clear function is executed upon a Write to the int ID Register
so an interrupt level that has been masked off for some time and contains many global or
local interrupts previously sent may be cleared out without servicing them. Only new
interrupts received will be serviced. Since the interrupts originally go through the same
receive FIFO as data, all data sent before the interrupt will be present in the local node’s
memory before the interrupt is issued to the local node.
4-5
500-005576-000
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 0 0 Node 0
0 0 0 0 0 0 0 1 Node 1
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
1 1 1 1 1 1 1 1 Node
255
M5576/T4.7-1
In the event that a certain interrupt has been masked off at the BIM, the FIFO for that
interrupt may be cleared by writing to the ID register for the specific interrupt level before
the BIM is armed. The ID write process is to be done in addition to the BIM arming process.
In the interrupt handling sequence, the user should do only one read per interrupt cycle.
Erroneous results will be caused by multiple reads.
4-6
500-005576-000
$XX23 CONTROL REGISTER INT0 (INT0 - TRANSMIT FIFO OVER HALF FULL)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
FLAG INT
AUTO INT AUTO
FLAG VECTOR ENABLE INTERRUPT LEVEL
CLEAR CLEAR
0=INTERNAL 1=AUTO
F FAC IRE L2 L1 L0
1=EXTERNAL 0=NO
$XX27 CONTROL REGISTER INT1 (INT 1 - RECEIVED INTERRUPT FROM OTHER NODES)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
FLAG INT
AUTO INT AUTO
FLAG VECTOR ENABLE INTERRUPT LEVEL
CLEAR CLEAR
0=INTERNAL 1=AUTO L2 L1 L0
F FAC IRE
1=EXTERNAL 0=NO
$XX2B CONTROL REGISTER INT2 (INT2 - RECEIVED INTERRUPT FROM OTHER NODES)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
FLAG INT
AUTO INT AUTO
FLAG VECTOR ENABLE INTERRUPT LEVEL
CLEAR CLEAR
0=INTERNAL 1=AUTO
F FAC IRE L2 L1 L0
1=EXTERNAL 0=NO
$XX2F CONTROL REGISTER INT3 (INT3 - RECEIVED INTERRUPT FROM OTHER NODES)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
FLAG INT
AUTO INT AUTO
FLAG VECTOR ENABLE INTERRUPT LEVEL
CLEAR CLEAR
0=INTERNAL 1=AUTO L2 L1 L0
F FAC IRE
1=EXTERNAL 0=NO
M5576/T4.9-1
4-7
500-005576-000
VECTOR REGISTER
V7 V6 V5 V4 V3 V2 V1 V0
VECTOR REGISTER
V7 V6 V5 V4 V3 V2 V1 V0
VECTOR REGISTER
V7 V6 V5 V4 V3 V2 V1 V0
VECTOR REGISTER
V7 V6 V5 V4 V3 V2 V1 V0
M5576/T4.9-2
4-8
500-005576-000
SECTION 5
CONFIGURATION AND INSTALLATION
** * * *CAUTION
* * * * * * * * * * **
* *
** * * * * * * * * * * * * * * *
SOME OF THE COMPONENTS ASSEMBLED ON VMIC’s PRODUCTS MAY BE SENSITIVE TO
ELECTROSTATIC DISCHARGE AND DAMAGE MAY OCCUR ON BOARDS THAT ARE
SUBJECTED TO A HIGH ENERGY ELECTROSTATIC FIELD. WHEN THE BOARD IS TO BE
LAID ON A BENCH FOR CONFIGURING, ETC., IT IS SUGGESTED THAT CONDUCTIVE
MATERIAL BE INSERTED UNDER THE BOARD TO PROVIDE A CONDUCTIVE SHUNT.
UNUSED BOARDS SHOULD BE STORED IN THE SAME PROTECTIVE BOXES IN WHICH
THEY WERE SHIPPED.
** * * *CAUTION
* * * * * * * * * * **
* *
** * * * * * * * * * * * * * * *
DO NOT INSTALL OR REMOVE BOARD WHILE POWER IS APPLIED.
De-energize the equipment and insert the board into an appropriate slot
of the chassis. While ensuring that the board is properly aligned and oriented in
the supporting card guides, slide the board smoothly forward against the mating
connector until firmly seated.
5-1
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
J10
S
M F P
A A A
S S R
K T E
1 2 3
J3
J8
J5 J6 Address Mode
Select.
* * M L
S S
J4 * * J7 * * B J9 B
* * * *
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3-1
5-2
500-005576-000
5-3
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2
A1 P1
STD/EXTD
ADDRESS SEL
J10
S
M F P
A A A
S S R
K T E
1 2 3
J3
J8
J5 J6 Address Mode
Select.
* * M L
S S
J4 * * J7 * * B J9 B
JUMPER * * * *
ARRANGEMENT TO
CONFIGURE
AP19
AP18
EXTENDED ADDRESS
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
$5AXXXXXX HEX
Extended Standard Board
Address Address ID
Field Field Nodes
RCV
M5576/F5.3.1-1
5-4
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
JUMPER J10
S
ARRANGEMENT TO
M F P
CONFIGURE
A A A
EXTENDED ADDRESS
S S R
$XX9XXXXX HEX
K T E
1 2 3
J3
J8
J5 J6 Address Mode
Select.
* * M L
S S
J4 * * J7 * * B J9 B
* * * *
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
RCV
M5576/F5.3.1-2
5-5
500-005576-000
1/4 Mbyte
1/2 Mbyte
1 Mbyte
MEM DEPTH 1 J1
MEM DEPTH 2 J2
XMIT A4
A3
A2
A1
FACTORY P1
CONFIGURED
DO NOT STD/EXTD
ALTER! ADDRESS SEL
J10
JUMPER S
ARRANGEMENT TO M F P
CONFIGURE A A A
1 MEGABYTE RAM S S R
OPTION K T E
1 2 3
J3
J8
J5 J6 Address Mode
Select.
* * M L
S S
J4 * * J7 * * B J9 B
* * * *
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3.2-1
5-6
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
J10
S
M F P
A A A
S S R
K T E
1 2 3
J8
J3
J5 J6 Address Mode
Select.
JUMPER
ARRANGEMENT TO
CONFIGURE
EXTENDED ADDRESS
$5A90XXXX HEX WITH M L
1/2 MEGABYTE RAM
* *
S S
OPTION J4 * * J7 * * B J9 B
* * * *
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3.2-2
Figure 5.3.2-2. VMIVME-5576 Extended Address with 1/2 Mbyte Option Example
5-7
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
J10
S
MF P
A A A
S S R
K T E
1 2 3
J8
J3
J5 J6 Address Mode
Select.
JUMPER
ARRANGEMENT TO
CONFIGURE
* * M L
EXTENDED ADDRESS
S S
$5A94XXXX HEX WITH J4 * * J7 * * B J9 B
1/4 MEGABYTE RAM * * * *
OPTION
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3.2-3
Figure 5.3.2-3. VMIVME-5576 Extended Address with 1/4 Mbyte Option Example
5-8
500-005576-000
1 3 1 3 1 3
5-9
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
J10
S
M F P
A A A
S S R
JUMPER K T E
ARRANGEMENT TO 1 2 3
CONFIGURE A J3
J8
BOARD NODE ID OF Address Mode
$07 HEX J5 J6
Select.
* * M L
S S
J4 * * J7 * * B J9 B
* * * *
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3.4-1
5-10
500-005576-000
MEM DEPTH 1 J1
XMIT MEM DEPTH 2 J2
A4
A3
A2 P1
A1
STD/EXTD
ADDRESS SEL
J10
S
M F P
A A A
S S R
K T E
1 2 3
J3
J8
J5 J6 Address Mode
Select.
* * M L
JUMPER S S
ARRANGEMENT TO J4 * * J7 * * B J9 B
CONFIGURE BOTH
* * * *
SUPERVISORY AND
NONPRIVILEGED
AP19
AP18
A31
A30
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
DATA ACCESS
Extended Standard Board
Address Address ID
Field Field Nodes
M5576/F5.3.5-2
5-11
500-005576-000
When data has been sent around the link and returns to the originating
node, two things happen. One, the data is removed from the link. This is done by
comparing an ID tag sent with data to the local node ID. If a match is determined,
the data is removed. The second event which occurs is that the OWN-ID bit is set
in the CSR. Loop data latency can be measured by writing a "zero" to the OWN-ID
bit in the CSR and polling until it returns to a "one" state. This test assumes there is
no other data originated by the local node on the link before the latency test is
initiated. The data write to the CSR is passed around the link as regular traffic but
will not affect the status of any other nodes CSR. The CSR data write provides a
means to measure latency without giving up any memory which may be in use in
order to measure data transfer latency.
If data was not generated by the local node, it is placed in the receive
FIFO. The receive FIFO then places data in RAM and into the transmit FIFO to be
sent to the next node on the link. Data can be mixed from the local VME and the
link based on which arrives at what time. Just because two data transfers arrive in
one node back-to-back does not guarantee a transfer cannot be inserted between
them by the local VME card.
If there are empty slots to the left of the VMIVME-5576, then IACK
Jumpers must be installed for the empty slots. Otherwise, the VMIVME-5576 will
intermittently fail to respond to VMEbus reads and writes.
5-12
500-005576-000
SECTION 6
MAINTENANCE
6.1 MAINTENANCE
This section of the technical manual provides information relative to the
care and maintenance of VMIC’s products. Should the products malfunction, the
user should verify the following:
a. Software
b. System configuration
c. Electrical connections
d. Jumper or configuration options
e. Boards fully inserted into their proper connector location
f. Connector pins are clean and free from contamination
g. No components of adjacent boards are disturbed when inserting or
removing the board from the VMEbus card cage
h. Quality of cables and I/O connections
User level repairs are not recommended. Contact VMIC for a Return
Material Authorization (RMA) Number. This RMA Number must be obtained prior to
any return.
6-1
APPENDIX A
EXAMPLE CODE
/*
This code written to be down loaded into a Force CPU-33 on a VME bus.
Compiled using Cross code C compiler, using the VMIC test code library.
This file should be loaded into the 1st VME chassis CPU, setup as node
0. This routine will setup and process interrupts then report those
interrupts received. The second thing this software will do is to
attempt to fill the output fifo over half full and then process and
report that interrupt 0 occurred.
*/
#include <stdio.h>
#include <test.h>
#include "5576int.h"
/*
Declare a global pointer to the 5576 board.
*/
/*
global variables for the interrupt routines
*/
int int0status,int1status,int2status,int3status;
main()
{
int aa;
int0status = 0xff;
int1status = 0;
int2status = 0;
int3status = 0;
/*
** initialize intr vector table to point to timer ISR
**
** System dependent initialization where our system
** is a Force CPU-33 Single Board Computer.
**
** Our method of installation is via a setvect() function
** that installs the interrupt service routine address in
** the vector table based on the vector chosen.
**
B-1
** USER_VECTOR() is a macro in our test library that
** adds a passed value to the first available
** user vector for the Force CPU-33 interrupt table.
*/
/*
** initialize intr vector register to installed ISR
*/
uut->int0vr = USER_VECTOR( 0 );
uut->int1vr = USER_VECTOR( 1 );
uut->int2vr = USER_VECTOR( 2 );
uut->int3vr = USER_VECTOR( 3 );
/*
Clear interrupt registers of all previous interrupts
*/
uut->int1sid = 0; /* data doesn’t matter */
uut->int2sid = 0;
uut->int3sid = 0;
/*
Setup interrupt mode control registers
*/
uut->int0mc = IRQ_LEVEL_7 : INT_ENABLE; /* interrupt 0 enabled at level 7
Auto clear bit 3 low - off,
X/IN bit 5 low - internal */
uut->int1mc = IRQ_LEVEL_5 : INT_ENABLE; /* interrupt 1 enabled at level 5
Auto clear bit 3 low - off,
X/IN bit 5 low - internal */
uut->int2mc = IRQ_LEVEL_3 : INT_ENABLE; /* interrupt 2 enabled at level 3
Auto clear bit 3 low - off,
X/IN bit 5 low - internal */
uut->int3mc = IRQ_LEVEL_1 : INT_ENABLE; /* interrupt 3 enabled at level 1
Auto clear bit 3 low - off,
X/IN bit 5 low - internal */
getc();
#pragma interrupt()
void isr_int0( void )
{
int0status = uut->csr;
#pragma interrupt()
void isr_int1( void )
{
int1status = uut->int1sid; /* read id reg. to clear the interrupt. */
}
#pragma interrupt()
void isr_int2( void )
{
int2status = uut->int2sid; /* read id register to clear the interrupt. */
#pragma interrupt()
void isr_int3( void )
{
int3status = uut->int3sid; /* read id register to clear the interrupt. */
B-3
/*
This is the header file for the VMIVME-5576 Reflective Memory Board
Interrupt test. This file assumes the 2 boards are -200 option.
Both VMIVME-5576 boards are jumpered for Standard Either Mode access.
*/
struct vmivme_5576 {
union reg_5576 {
unsigned char reg_5576_b[64]; /* register space */
unsigned short reg_5576_w[32];
unsigned int reg_5576_l[16];
} r5576u;
unsigned char vmivme_5576_mem[1048512];
};
/* register definitions */
B-4
#define ERR_INT_MASK 0x02
#define FAST 0x01
/*
Memory * membase_5578 = ((Memory *)(VME_STANDARD + mem_off));*/ /* memory *
/
B-5
APPENDIX C
TROUBLESHOOTING GUIDE
SYMPTOM POSSIBLE CAUSE
Card/Cards bus error when 1) Iackin/Iackout daisy chain not in place on one
accessed from VMEbus after or more nodes on 5550 network. (Iackin must
multiple writes. be in place on the backplane even if interrupts
are not used on the node)
2) The local node ID is higher than the maximum
node ID strapped on Node 0.
3) System throughput has reached maximum
and FIFO’s have filled up with data to be sent
and the transmit FIFO half-full signal has been
ignored.
4) P3/P4 cable swapped or lines are open
between cable and local node.
5) No Node 0 present to pass token.
Communications lost after 1) Receive FIFO’s on one or more nodes have
power down and up of one been ’glitched’ by an out of spec txclk on link.
or more Nodes on link Reset all nodes or issue link reset to nodes
strapped to listen to the link reset signal.
Erratic communications on 1) Link rate too high for cable length
data link i.e., RATE MAX LENGTH
_______________________________
1 (20 MBYTE/SEC) 50’
2 (10 MBYTE/SEC) 100’
3 (5 MBYTE/SEC) 250’
4 (2.5 MBYTE/SEC) 1000’
2) Open cable at one or more pins on link.
3) Terminator resistors not installed on end
nodes of link or extra terminators have been
left on center nodes.
4) P3/P4 pins pushed back on Node connector.
Inspect pins for damage.
5) P3/P4 cable has crushed pin in Panduit
connector. Try swapping P3 cable to P4 and
P4 cable to P3 on all nodes. If symptoms of
problem change, at least one of the cables is
bad.
C-1
Node does not answer at 1) Address pass through for specific memory
expected Address size not strapped correctly. (See
Configuration section of manual.)
2) Address modifier Incorrectly strapped on card
3) Address strapped wrong (Certain LSB
address jumpers must be left off because of
memory size options).
Data written to one node 1) For nodes of memory size 1 MBYTE or
does not appear in other smaller, a 1 MBYTE relative address is
nodes passed. If two 0.25 MBYTE cards are not
mapped in the same relative address in
relation to the 1 MBYTE boundary then they
will not communicate appear to communicate
since they contain no common space in RAM.
The 2 and 4 MBYTE cards pass a 4 MBYTE
relative address and thus must be mapped in
the same address relative to 4 MBYTE
boundaries. (Note 4 and 2 MBYTE nodes may
not be used on the same link as 1 MBYTE or
smaller nodes due to the fact that they look at
different relative address sizes)
2) The sending node ID is higher than the
maximum node ID strapped on Node 0.
3) Open or defective connection to cable P3 or
P4
4) Defective FIFO module on either receiving
node or transmitting node. (The bad card may
be found by checking memory on other nodes
to see if they received data correctly.)
Receive FIFO fills up and 1) Iackin has not been connected to the interrupt
never empties out even after Arbiter card. (VME Slot 0 card.)
link traffic stops.
Data Bits dropped or data 1) Damaged or defective FIFO on node
appears in wrong address
in memory. 2) Link rate set too high for cable length
C-2
2) Damaged local node
When interrupts are being used 1) Iack-in is not daisy chained from the CPU to
a spurious interrupt is issued the reflective memory card on the backplane.
from the CPU VME spec requires all empty VME slots to
have Iack-in jumpered to Iack-out. Reflective
memory cards expect Iack-in to be driven
even if interrupts are not being used.
C-3