EPC, iRMX, INtime, Inside A dvantage and Rad iSys are registe r ed trademarks of
RadiSys Corporation. Spirit, DAI, DAQ, ASM, Brahma and SAIB are tr ademarks
of RadiSys Corporation.
†All other trademarks, registered trademarks, service marks, and trade names
Serial Port Cap...........................................................................................................................................8
Connecting Peripherals to the EPC-8.......................................................................................................8
ROM DOS Interaction......................................................................................................................................11
System Reset.....................................................................................................................................................12
Responding to VMEbus SYSRESET........................................................................................................12
Front Panel Indicators.......................................................................................................................................12
Support Software ..............................................................................................................................................39
Chapter 7: Support and Service
In North America..............................................................................................................................................41
World Wide Web.......................................................................................................................................41
Other Countries..........................................................................................................................................43
Appendix A: Connectors
Front Panel LEDs..............................................................................................................................................45
Serial port connectors .......................................................................................................................................46
ID Registers (8140h and 8141h).......................................................................................................................55
Device Type Registers (8142h and 8143h).......................................................................................................55
Status/Control Registers (8144h and 8145h)....................................................................................................55
Slave Offset Registers (8146h and 9147H)......................................................................................................56
Protocol Registers (8148h and 8149h)..............................................................................................................57
Flash Data Register (8383h).............................................................................................................................61
SRAM Data Register 8384h)............................................................................................................................61
LED Register (8385h)....................................................................................... ...... ...... ....................................61
Register State after Reset..................................................................................................................................61
Table 3-1.Main Menu Selections............................................................................................................................................ 14
Table 3-4.Configure Floppy Drive A and B........................................................................................................................... 15
Table 3-5.Configure Fixed Disk C and D............................................................................................................................... 15
Table 3-7.VME Control .......................................................................................................................................................... 16
This manual contains the information you need to install and use the EPC-6A VMEbus
controller. Additional user and programmer manuals discuss the use of software packages
available with the EPC-6A.
The EPC-6A, a high-speed VMEbus module based on the Intel 80486DX2 processor, is a
redesign of the EPC6 VMEbus module which is based on Intel 80386SX processor.
You can use the EPC-6A to:
•Perform VMEbus master accesses.
•Act as a VMEbus slave (by having its dual-port DRAM mapped onto the VMEbus).
1
•Configure as the VMEbus SLOT-1 system controller.
•Act as an interrupter and interrupt handler.
The EPC-6A computer is also compatible with the IBM PC hard ware architecture. The
standard version of the EPC-6A contains, in ROM, a PC-compatible BIOS and a
ROM-based version of Datalight ROM-DOS. The EPC-6A also includes on-board
nonvolatile flas h memory support ed as a DOS- compati ble s olid- state d isk a nd fi le sy stem .
You can store one or more embedded applications on the processor board and
automatically invoke them at system start-up.
The EPC-6A also includes one slot for an EXM expansion module. This allows some of
the I/O of the EPC-6A to be customized for a particular application.
It should be noted that, due to mechanical limitations, the EPC-6A cannot support EXMs
such as EXM-9, EXM-MX, EXM-16, EXM-23, EXM-19, EXM20, EXM-17.
Differences between the EPC-6 and the EPC-6A
The EPC-6A differs from the EPC-6 in the following ways:
EPC-6EPC-6A
20Mhz 80386SX PCAT design486DX2 [66Mhz internal speed] with 33Mhz
external bus speed PCAT design
External 16K byte 2 way set-associative
cache
External cache controller
External co-processor optionIntegrated floating-point unit
AT chip set [ATU + DPU] and separate
memory controller
MB dual ported DRAM4 Megabytes dual ported DRAM on board
Two serial portsTwo PC compatible serial ports with 16-Byte FIFO
Up to 512K bytes of programmable flash
memory (for DOS/user applications).
Up to 512K EPROM (for BIOS, ROM).Separate boot device with reflash option
Award BIOSThe System BIOS is based on Phoenix
32 KB of battery-backed SRAM128KX8Bit of battery backed SRAM with software
8K- Byte On-Chip Cache
RadiSys R400 highly integrated single chip system
controller [low cost 208 pin PQFP]
1MB of application flash memory contains Datalight
ROM-DOS 6.22 [rev2]
Technologies NuBIOS revision 4.05.
The Flash File System can be installed as a DOS
device driver.
Flash File System (FFS) support for flash is based
on Phoenix Technologies PicoFlash and includes
read/write capability.
longer supported for Flash.
IRQ12 is not available on EXM bus
VMEbus and Memory Controller Configuration
register (8104h) semantics changed.
System BIOS does not share space in the FBD with
ROMDOS. DOS now resides in the RFA.
EXM-2 and EXM-2A are no longer supported.
Before installing your EPC-6A, you should unpack and inspect it for shipping damage.
Avoid causing ESD damage:
•Remove modules from their antistatic bags only in a static-free environment.
•Perform the installation process (described later in this chapter) only in a
static-free environ men t.
EPC-6A modules, like most other electronic devices, are susceptible to ESD
damage. ESD damage can cause a partial breakdown in semiconductor devices
that might not immediately result in a failure.
2
Determine whether to use the EPC-6A as a system controller
Before installing the EPC-6A in a VMEbus chassis, you need to decide whether the EPC6A will be the VMEbus Slot 1 System controller. Every VMEbus system needs a module
that performs the system controller functions, including generation of the 16 MHz
SYSCLK signal, arbitration of the bus , detection of Bus time-out cond itions, and initiat ion
of the interrupt-acknowledge daisy chain. The EPC-6A can serve as the system controller.
To use the EPC-6A as the system controller:
•Make sure the jumper labelled SLOT1 is installed on the EPC-6A processor board to
connect the two pins. For inf ormat i on about jumper locations, see Figure 2- 1, Jumper locations on page 6.
•Install the EPC-6A in the leftmost slot on the chassis.
If you do not plan to use the EPC-6A as the system controller:
•Make sure the jumper labelled SLOT1 on the EPC-6A processor board is removed.
•Install EPC-6A in a slot other than slot 1 in the chassis.
Other jumpers and headers on the board are shown in the next table.
1. Make sure the ejector handles are in the normal non-eject position. (Push the top
handle down and the bottom handle up so that the handles are not tilted.)
2. Slide the EPC-6A module into the VME chassis, making sure the top and bottom
board edges are i n the ch assis ’ card gu ides. Us e thumb pre ssure on the ha ndles to mate
the module firmly with the VME backplane connector.
3. Tighten the two screws in the top and bottom of the front panel to ensure proper
connector mating and prevent loosening of the module via vibration.
EXM Module Insertion
You can optionally install one EXM through the front panel of the EPC-6A. To install an
EXM:
Make sure that power to your VME system is off. EXMs are not designed to be
inserted or removed from live systems.
When inserting an EXM, avoid touching the circuit board, and make sure the
environment is static-free.
1. Remove and save the blank face plate from the EXM slot in the EPC-6A face plate.
Chapter 2: Installation
2.Slide the EXM into place in the card guides. Push firmly on the EXM front panel to
insert its rear connector.
3. Tighten the thumb screws on the EXM’s face plate.
The EPC-6A can accept most EXM types excluding those that either require a disk BIOS
in the EPC or do not fit by form factor.
Once an EXM is installed, you must to run the BIOS setup program to describe how the
specific EXM should be dynamically configured upon power-up. This is described in 3,
Operation.
VME Backplane Jumpers
The VMEbus contains several daisy-chained control signals. Almost all VMEbus
backplanes contain jumpers for these control signals to allow systems to operate with
empty slots. Failing to install these jumpers properly is a common source of problems in
building a new VMEbus system.
There are five jumpers per VME slot, one for each of the four bus-grant arbitration levels
and one for the interrupt-acknowledge daisy chain. Depending on the backplane
manufacture, the jumpers may be on the rear pins of the J1 conne ctor , or may be al ongside
it on the front or rear side of the backplane.
For the slot that conta ins t he EPC-6 A, re move the jumper s. Leav e the ju mpers i nsert ed for
all empty slots. For slots otherwise occupied, consult the documentation from the
manufacturers of the modules.
Your EPC-6A may have been shipped with a plastic cap over the serial port connector.
This cap is a conductive cap that shields the exposed pins in the connector from ESD
(electrostatic discharge). You should leave it installed when nothing is connected to the
serial port.
Connecting Peripherals to the EPC-8
Do not:
• Plug any cable or connector into the front panel connectors while the system is
powered up.
• Plug in a serial or parallel device, keyboard, transceiver, monitor, or other
component while the system is ON.
In general, electronics equipment are not designed to withstand damage that may
arise from fluctuations in power.
The next step of installation is connecting peripherals, typically a video display and
keyboard, but also perhaps a mouse, modem, printer, etc.
Pin-outs for the EPC-6A front-panel connectors are specified in Appendix A, Connectors.
This chapter contains information about user operation and BIOS setup of the EPC-6A.
Initialization Sequence
The EPC-6A and its BIOS go through these major initialization steps: The seven-segment
display shows information about the EPC-6A’s initialization state.
The EPC-6A performs these major initialization steps:
1.Display
At power-up, this display reads 8. When the system begins the POST (Power On Self
Test), this number changes.
2.Run selftests; dis play
At various times during the POST, a new code displays in the 7-segment display. For
detailed information about displayed codes, see the POST code description. To see a
list and explanation of these codes, see Chapter 6, Error Messages.
3. Shadow PicoFlash RFA BIOS extension
To access the RFA (Resident Flash Array) as a DOS disk, you must shadow a BIOS
extension that chains the INT13 disk interface. This checkpoint essentially starts a
flash disk driver.
a. Check for catastrophic errors
Any error that prevents the sys te m from reachi ng INT 19 (whi ch attempts to boot
the OS) halts the system. The 7-segment LED displays the last completed POST
task and the initialization sequence terminates.
If the EPC-6A has a problem that prevents the POST program from running, the
7-segment LED displays the number “8”.
b. Check for configuration errors
Errors that do not prevent the system from booting that the CMOS configuration
can correct are considered configuration errors. An example of a configuration
error is an incorrect EXM ID entered for an EXM card.
If the selfte st complet es su ccessful ly, the system is configured us ing c onfigurat ion
information maintained by the BIOS in a small battery-backed CMOS RAM.
If a problem is encountered, it causes the BIOS to load MS-DOS from RFA and
then give DOS control. This allows the user to alter the boot process.
MS-DOS always loads from flash, which is a read-write file system. It is
recommended that you embed ABORTSWI.EXE your AUTOEXEC.BAT file to
allow users to alter the machine’s boot process. During development, users may
find it convenient to expose the keyboard connector so they can press the F8 key
to step through the CONFIG.SYS and AUTOEXEC.BAT files.
The method for interac ting with DOS is descr ibed i n the next se ction . Proble ms at
this point are regarded as non-catastrophic, and include loss of the configuration
information due to a battery failure or change, and a mismat ch between the type of
installed EXM versus the type expected. Information about non-catastrophic
errors is saved in the upper 2K bytes of the SRAM for use by the setup program.
10
If there are no errors, the BIOS looks for a boot device with a valid boot image.
The boot device can be the on-board flash memory or a source specified in the
CMOS configuration infor mation (us ing the setup progra m) If a boot de vice is no t
present, the BIOS invokes the ROM DOS.
If the BIOS proceeds down the flash memory path, the flash memory is viewed as a
bootable disk device an d the BIOS starts the bootstra p process b y loading the fi rst 512
bytes into memory location 07C0:0000 and passing control to it. The display blanks
before the bootstrap process begins.
Once the system completes POST, an INT19 is attempted. This attempts to read the
boot sector from the disk. In the EPC-6A’s case, this is routed through an INT13
handler which reads the boot sector from the RFA.
For more information about the bootstrap process and how to create a bootable image in
the flash memory, see the EPControl Programmer’s Guide.
In the event that a n invalid CMOS setup is saved o r the disk image becomes u n-boot able it
will be necessary to go i nto fo rced re covery. From forced recovery, it is possible to restore
CMOS values to there factory defaults. It is also possible to reload the factory default
bootable DOS image into the RFA should it become corrupt or mis-configured. For more
on these items, see Forced recovery section on page 48.
ROM DOS Interaction
Chapter 3: Operation
Although you can use a standard PC-compatible keyboard, the EPC-6A is used more as a
dedicated controll er than an embe dded PC-compat ible computer. When using the EPC-6A
without a keyboard, you can interact with the ROM DOS on the EPC-6A in these ways:
•Connect a standard ASCII terminal with an RS-232 interface to the serial port
connector on the front panel.
The EPC-6A’s customized CONFIG.SYS and AUTOEXEC.BAT files redirect the
command input and output streams to the COM1 serial port. Connecting a terminal
and invoking ROM DOS displays the standard DOS prompt on the terminal. By
typing the DOS
DIR command, you can see a vailabl e programs. You can use the SETUP
program in ROM to display and change the configuration information maintained by
the BIOS.
•Use a separate full EPC (having keyboard and monitor) on the same VMEbus with
supplied software that uses this EPC as a virtual console to the EPC-6A(s).
The software needed t o use an other EPC as th e hu man int erfac e for an EPC-6A i s part
of the EPControl software product. For detailed information about this software, see
the EPControl software’s documentation.
The reset switch performs a hardware reset of the EPC-6A and any EXM module, and
then invokes the BIOS ini tial izat ion pr ocess d iscus sed in t he pre vious s ecti ons. Removing
and reapplying power to the EPC-6A also causes a hardware reset. Note that if the dot, or
decimal point, in the lower right corner of the 7-segment LED display is illuminated, an
EPC-6A program disabled the reset toggle switch. To reset the EPC-6A in this case, you
must externally signa l the VMEbus SYSRESET (unless the EPC-6A pro gram has disabl ed
this also) or by a power-off/on cycle.
Generating VMEbus SYSRESET
Upon power on, the EPC-6A drives the VMEbus SYSRESET signal in accordance with
the VMEbus specification. Resetting the EPC-6A via the reset switch does not cause the
EPC-6A to assert SYSRESET. The EPC-6A does contain a software-controllable register
bit to allow software to assert SYSRESET.
Responding to VMEbus SYSRESET
A software-controllable register bit in the EPC-6A controls whether or not a hardware
reset of the EPC-6A occurs when the VMEbus SYSRESET signal is asserted.
Front Panel Indicators
The front panel contains a seven-segment LED display. The front-panel display has these
purposes:
1.During BIOS initialization it describes the current stage of the initializati on. If a test
fails in the s elf test phase, it display s a code indicating the tes t t hat caused the BIOS to
abort the normal initialization flow. These codes are described in Chapter 6, Error Messages.
2.After initialization, the display is available for use by the application program.
3. The display shows whether software disabled the reset function of the front-panel
switch. If the decimal point in the lower right corner of the display is lit, the reset
function of the switch is disabled.
The EPC-6A also contains the following LEDs:
•RUN
•SYSFAIL
•MASTER
•SLAVE
For detailed information about the LEDs, see Front Panel LEDs on page 45.
The front-panel toggle switch has these positions:
•Inactive (normal position):
•Reset: Suspends the EPC-6A; releasing the switch causes a hardware reset.
•Abort: Generates the IRQ11 interrupt.
The interrupt pos ition has two purpose s. An a pplication program can i nst al l an IRQ11
interrupt handler and thus define the switch in an application-specific fashion. The
second purpose is a special interpretation of the switch during BIOS initialization after
a reset.
Moving the switch to the interrupt position during the five-second operator-override
period (when the display shows a circling light), causes the BIOS to load MS-DOS
from ROM and give control to DOS.
Setup Utilities
Unlike other RadiSys products, the EPC-6A uses, as its primary CMOS setup utility, a
remote setup utility (either serial or across the VMEbus) rather than a monitor/keyboard
based approach. This is due to the EPC-6A’s default configuration, where no keyboard or
video is available. For debug purposes, an EXM video card is installed and the PS/2
keyboard port is available . This me ans yo u can u se t he standard Phoenix CMOS setup
utility.
Chapter 3: Operation
Remote Setup Utility
The EPC-6A has DOS, remote setup, and other utilities located in a read/write flash disk
which (however unlikely) can be corrupted. If the RFA can no longer boot DOS, the
DOS-based setup program is not available.
The remote setup controls a subset of all the possible Phoenix Setup options. Only those
CMOS tokens absolutely necessary for booting are manipulated by the setup utility. The
number of tokens modified are limited to reduce the FFF impact of the EPC -6A versus
EPC-6.
Remote Setup Utility Screens (RSU)
The Remote Setup Utility Screens appear the same, whenever possible, as those of the
EPC-6. Menu selections are driven by typing the character listed in the key column.
Pressing the ESC key from a sub-menu returns to the previous menu. Pressing the ESC
key from the Main Screen starts the exits procedure.
ClockCSet Date and Time
DisksVEnter the VMEBus configuration menu
VMEBusDEnter the Drive Configuration menu
EXMBusEEnter the EXMBus configuration menu
eXitXExit the Remote Setup program
Clock/Calendar
Clock Edit Menu:
1) Date 2) Time
Choice: 1
Format: <mm/dd/yy>
Enter New Value:
Table 3-2. Clock/Calendar
FunctionKeyDescription
DateDEnter new date (mm/dd/yy)
TimeTEnter new time (hh:mm:ss)
1) Floppy A 2) Floppy B 3) Fixed C 4) Fixed D
Choice:
FunctionKeyDescription
Floppy A:AConfigure Floppy Drive A: (sub-menu)
Floppy B:BConfigure Floppy Drive B: (sub-menu)
Fixed Disk C:CConfigure Fixed Disk C: (sub-menu)
Fixed Disk D:DConfigure Fixed Disk D: (sub-menu)
FunctionKeyDescription
360K (5.25)1Configure floppy for 360K
1.2M (5.25)2Configure floppy for 1.2M
720K (3.5)3Configure floppy for 720K
1.44M (3.5)4Configure floppy for 1.44M
NoneNDisable floppy
Chapter 3: Operation
Table 3-3. Drive Configuration
Table 3-4. Configure Floppy Drive A and B
Edit Fixed Drive Menu:
1) IDE 2) Flash 3) VME 4) EXM Flash
5) None 6) Edit Subtype
Choice:
Table 3-5. Configure Fixed Disk C and D
FunctionKeyDescription
IDEAConfigure Fixed Disk for AT (IDE)
FlashFConfigure Fixed Disk for Flash
VMEVConfigure Fixed Disk for VMEbus
EXM FlashEConfigure Disk for EXM Flash
NoneNDisable Drive
Edit SubtypeUEdit User Hard Drive Parameters (sub-menu)
5) FC (FF00) 6) FD (FF40) 7) FE (FF80) 8) FF (FFC0)
Choice:
Table 3-8. ULA Setup
FunctionKeyDescription
F8 (FE00)0Set ULA to FE00
F9 (FE40)1Set ULA to FE40
FA (FE80)2Set ULA to FE80
FB (FEC0)3Set ULA to FEC0
FC (FF00)4Set ULA to FF00
FD (FF40)5Set ULA to FF40
FE (FF80)6Set ULA to FF80
FF (FFC0)7Set ULA to FFC0
EXM Bus
Exit Menu
Slave Base Memory Menu:
1) Disabled 2) 000000 3) 400000 4) 800000
5) C00000
Choice:
Table 3-9. Slave Memory Base
FunctionKeyDescription
Disabled0Disable Slave Memory Access
000000 (A24)1Set Slave Base Address to 0
400000 (A24)2Set Slave Base Address to 400000
800000 (A24)3Set Slave Base Address to 800000
C00000 (A24)4Set Slave Base Address to C00000
Since there is only one EXM slot available, only one can be configured. When you select
EXM from the main menu, the following prompts display:
Enter the EXM ID = a hex value or ‘none’
Enter the EXM OB1 = a hex value
Enter the EXM OB2 = a hex value
If you select ‘X’ at the main menu, th e exit procedu re start s. Changes tak e effec t only afte r
a reboot.
This chapter describes the EPC-6A as seen by a progr am. Wherever possible, us ers should
avoid direct use of most of these facilities. Hardware features in common with standard
PCs should be accesse d by s ta ndar d BIOS c al ls . Har dware uni que to EPC-6A, such as the
VMEbus interface should be accessed through a variety of software packages and drivers
available with the EPC-6A.
Memory Map
Memory at addresses between 0 and 4 MB (0FFFFFh) are mapped as follows:
RangeContent
000000h – 09FFFFhDRAM
0A0000h – 0BFFFFhUncommitted, EXM bus or VIDBIOS
0C0000h – 0C7FFFhUncommitted, DRAM, EXM bus or VIDBIOS
0C8000h – 0DFFFFhUncommitted, mapped to EXM bus
0E0000h – 0EFFFFhMappable window onto VMEbus
0F0000h – 0FFFFFhSystem BIOS
100000h – 3FFFFFhDRAM
400000h – F7FFFFhUncommitted, EXM bus
F80000h – FFFFFFhBIOS ROM
0seconds
1seconds alarm
2minutes
3minutes alarm
4hours
5hours alarm
6day of week
7date of month
8month
9year
Astatus A
Bstatus B
Cstatus C
Dstatus D
ERAM
...
3FRAM
Baud rate divisor latch (MSB)
2FAInterrupt ID register
2FBLine control register
2FCModem control register
2FDLine status register
2FEModem status register
378LPT1 parallel portPrinter data register
379Printer status register
37APrinter control register
3F8COM1 serial portReceiver/transmitter buffer
3FCModem control register
3FDLine status register
3FEModem status register
8104VME and misc controlMemory control
8130VME A21–16 address
8132alias address of 8130
8134alias address of 8130
8136alias address of 8130
8140ID low
8141ID high
8142Device type low
8143Device type high
8144Status/control low
8145Status/control high
8146Slave offset low
8147Slave offset high
8148Protocol low
8149Protocol high
814AResponse low
814BResponse high
814CMessage high low
814DMessage high high
814EMessage low low
814FMessage low high
8151VME modifier
8152VME interrupt state
8153VME interrupt enable
8154VME event state
8155VME event enable
8156Module status/control
8157alias address of 815F
8159alias address of 8151
815Aalias address of 8152
815Balias address of 8153
815Calias address of 8154
815Dalias address of 8155
815Ealias address of 8156
815FVME interrupt generator
8380Flash/SRAM address
8381Flash/SRAM address
8382Flash/SRAM address
8383Flash data
8384SRAM data
The next table lists registers in the I/O space specific to the EPC-6A. For detailed
information about each register, see Appendix C, Registers.
EPC-6A Registers
Memory Control Register (81004h)
VME A21–16 Address Register (8130h)
ID Registers (8140h and 8141h)
Device Type Registers (8142h and 8143h)
Status/Control Registers (8144h and 8145h)
Slave Offset Registers (8146h and 9147H)
Protocol Registers (8148h and 8149h)
Response Registers (814Ah and 814Bh)
Message High Registers (814Ch and 814Dh)
Message Low Registers 814Eh and 814Fh)
VME Modifier Register (8151h)
VMEbus Accesses
Two C-language examples are given here for performing VMEbus accesses through the
Epage.
Chapter 4: Programming Interface
VME Interrupt State Register (8152h)
VME Interrupt Enable Register (8153h)
VME Event State Register (8154h)
VME Event Enable Register (8155h)
Module Status/Control Register (8156h)
Interrupt Generator Register (815Fh)
FSA Address Registers 8380h)
Flash Data Register (8383h)
SRAM Data Register 8384h)
LED Register (8385h)
Register State after Reset
Example 1: 16-bit read from the VMEbus A16 space
This example performs a 16-bit read from the VMEbus A16 space. It requires setting the
address modifier, relocating the A16 address into the E page (address range E0000–
EFFFF), and then accessing the value pointed to by a C pointer variable.
#define WORD unsigned short
#define LWORD unsigned long
WORD addr; /* 16-bit A16 address */
WORD data;
WORD far * wptr;
outp(0x8151,0x0A); /* Set address modifier to A16 supervisory
access */
wptr = (WORD far *) (0xE0000000L + addr);
data = *wptr; /* Read through window */
Example 2: Byte write into the VMEbus A24 space
This next example does a byte write into the VMEbus A24 s pace . Her e t he upper 8 bits of
the VME address need to be stored in the appropriate registers.
The success of the access can be checked either by enabling BERR as an interrupt or by
looking at the BERR bit in the event state register after each access. Since writes are
pipelined, software tha t looks at the BERR bit sh ould first wait unti l the DONE bit is set.
It is recommended that rather than performing accesses in this low-level,
hardware-dependent form, the Bus Manager component of the EPConnect software
package be used instead.
The following summarizes the source of the VMEbus address lines for accesses through
the E page.
A24From
A16From
23 222116150
port
8151
From
port
8130
150
From
486DX2 address
bits 15–0
486DX2 address
bits 15–0
D32 Accesses
Although the 386SX, used in the ori ginal EPC6, is a 32-bit processor (f or example, 32-bit
registers and operati ons), its exte rnal data bus is 16 bits wid e. Any memory operat ion with
an operand width of 32 bits is broken apart by logic in the processor to two 16-bit
operations. As a result the EPC-6A, using the same VME interface and being a
replacement for the EP6, never performs a VMEbus D32 access.
Byte Ordering
Unlike EPCs that have 32-bit buses, EPC-6A does not contain software-controlled
byte-ordering hardware. The principal reason is that, as described in the previous section,
EPC-6A never performs VMEbus D32 accesses, and therefore there is no feasible way in
hardware to support both forms of byte ordering on what a program would see as a 32-bit
access.
EPC-6A accesses the VMEbus in little-endian (Intel) byte ordering, meaning that, for a
16-bit numerical value, the least-significant byte is assumed to be at the lowest memory
address. This means, for instance, that if a big-endian processor (for example, Motorola
680x0) stored the 16-bit value 0102h, the EPC-6A would interpret its value as 0201h. If a
big-endian processor stored the 32-bit value 01020304h and it were fetched by a program
on the EPC-6A as a 32-bit operand (meaning, as explained above, the EPC-6A would
perform two 16-bit accesses), the EPC-6A program would see the value as 04030201h.
22
The EPConnect Bus Manager software provides functions for swapping byte ordering
during memory-copy operations.
VMEbus RMW (read-modify-write) cycles can be performed through use of the
486DX2’s LOCK instruction prefix with certain instructions along with BS16# being
asserted. All of these instructions perform a read followed by a write. When such a read
occurs that is mapped to the VMEbus , the EPC-6A treats it as the start of a VME RMW
cycle. The next VME access from the 486DX2 is treated as the write that terminates the
RMW cycle. For this reason, RMW accesses that cross a 16-bit boundary will not behave
as expected (because the 486DX2 issues two read accesses).
Slave Accesses from the VMEbus
When SLE in the status/ contr ol reg iste r is s et, t he EPC-6A r espond s to a ccesse s in a 4 MB
range of the A24 space. Al l typ es o f VME acces ses (r eads, writes , an d read- modify- write s
of all lengths) are support ed, except fo r block t ransf er cycles a nd D32 access es, as a re sul t
of EPC6 compatibility. The address modifier can specify supervisory, nonprivileged,
program, or data.
The 4 MB space occupi ed by the EPC- 6A in t he VME bus A24 s pace has th e same vie w of
EPC-6A memory as the 486DX2, except that only those accesses that map to EPC-6A
DRAM memory are valid; all others respond with BERR.
Chapter 4: Programming Interface
Self Accesses Across the VMEbus
Since the EPC-6A’s DRAM can be mapped into the VMEbus A24 address space, the
EPC-6A can access its DRAM in an alternate way—by generating VMEbus accesses to
the appropriate a ddresses. Th is can be of us e in mult iple-pr ocesso r systems wher e some of
the EPC-6A’s DRAM is used as shared global memory; it means that the EPC-6A can
access the global memory with the same addresses as used by other processors without
needing to understand that the memory is actually on-board.
This ability is also useful in system checkout (for example, checking operation of the
backplane).
A24 slave accesses result in accesses to the on-board DRAM and never to the cache.
Because the EPC-6A’s cache is a write-through cache, there is never a discrepancy
between data in the cache and the DRAM. When a slave access results in a write
into the DRAM, the EPC-6A automatically purges the cached entry, via cache
invalidation operation.
Read-Modify-Write Operations
The EPC-6A provides synchroni zation integ rity in its local DRAM between accesses from
the 486DX2 into the DRAM and RMW VME acce sses f rom other masters into t he DRAM.
When a VMEbus slave read access occurs to the local DRAM, the EPC-6A watches the
VMEbus data and address strobes to determine if the cycle is an RMW cycle. If it is,
accesses by the 486DX2 are held up un til the terminating access of the RMW cyc le oc cur s.
When the 486DX2 performs a locked access (for example, via an instruction using the
LOCK instruction prefix) to the local DRAM, VMEbus slave accesses are held up until
the last locked access completes.
VMEbus Interrupt Handler
Although software available for the EPC-6A shields the user from the details of interrupt
handling, the following information is provided for the reader who needs further detail.
The relationship between VME interrupts (and other interrupt-causing events) and an
interrupt as seen by a program is sho wn in the following diagram.
VMEbus
interrupts
SYSFAIL
BERR (sticky)
ACFAIL
WDT
RRDY
WRDY
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
VME
interrupt
state
register
VME
event
state
register
VME
interrupt
enable
register
M
A
S
K
M
A
S
K
VME
event
enable
register
PC
architecture
IRQ10
24
Interrupts and eve nts a re vi sible in t wo stat e regis ters. Thes e a re unlat ched, me aning t hat a
read of the st at e register shows the act ual state of the signals at t he instant of the r ead . The
exception is BERR, which is a “sticky” bit, meaning that the bit signifies whether BERR
had ever been asserted. The convention used is that a 0 bit signifies an asserted
(interrupting) state.
The primary purpose of the state registers is to let th e interru pt handler software det ermine
which interrupts and events generated the IRQ10 interrupt to the processor. The state
registers can also be read by non-interrupt-handler software to poll for the state of these
signals.
The enable registers allow one to mask selectively these 12 states. A 0 state bit and a
corresponding 1 enable bit causes the PC architecture IRQ10 interrupt to be asserted.
Unlike the 12 input conditions, which are level sensitive inputs, the PC architecture
defines the PC i nterrupts, such as IRQ10, as edge sensitive. This requir es special attenti on
if you are writing your own interrupt handlers (for example, if you are not using the
functions in the Bu s Mana ger s oftware). Bec ause I RQ10 is edge t rigger ed, you cou ld miss
an incoming interrupt/event that occurs when IRQ10 is disabled, meaning that your
software needs to test for and handle all pending interrupts/events before you leave from
the IRQ10 interrupt handler. To do this correctly, follow the following steps. These steps
assume the re ader is familiar with the programming of the 8259 interrupt controller in the
PC architecture.
1. When the IRQ10 interrupt occurs, acknowledge the interrupt by sending
end-of-interrupt to both 8259 interrupt controllers.
2. Depending on your environment, you may wish to switch to another stack (a must
under DOS), and may wish to save the state of the VME modifier and address
registers if you will be using them.
3.To prevent reentry to the interrupt handler, mask off all the interrupts/e vents or mask
off the IRQ10 interrupt. (Reenable what you have masked off at the end of the
interrupt handler.)
4. Find an enabled pending interrupt/event.
5. If an enabled pending VMEbus interrupt is found, do an interrupt-acknowledge cycle
by setting the IACK b it i n the VME modif ier r egister and p erfor ming a VMEbus r ead,
setting address bits A3–A1 to denote the interrupt number. This returns the status/ID
value from the interrupter. For the other controllable conditions (message, sticky
BERR, watchdog timer), you may follow the instructions earlier in this chapter to
remove these interrupting conditions.
6. Perform application-dependent handling of the interrupt/event.
7.If there are still enabled pending interrupts/events, go to step 4. If not, return from the
IRQ10 interrupt handler.
VMEbus Interrupt Response
When the EPC-6A’ s interrupt generator register is used to assert an interrupt, the EPC-6A
formulates a status/ID value that is transmitted on the bus as the response to a matching
interrupt acknowledgeInterrupt:acknowledgement cycle. The EPC-6A acts as both a
D08(O) and D16 interrupt er. For D08 interrupt acknowledge cy cl es, the st atus/ID value is
the EPC-6A’s logical address (1111 1aaa, where aaa is the value of ULA as d efi ned in port
814A). For D16 interru pt- acknowledge cycles, the stat us /I D val ue consists of 16 bits. Th e
upper eight bits are t he upper half of the re sponse r egist er (t he value in I/O p ort 81 4B) a nd
the lower eight bits are the logical address.
EPC-6A follows the lead of the VXIbus specification in defining a standard set of
configuration registers that are mapped into the VMEbus A16 space and thus accessible
by other VMEbus modules. These regis ters are 16-bit register s occupying 64 byt es of A16
space at a base address defined by the EPC-6A’s logical address. The base address is:
1111 111a aa00 0000
where aaa is the value of the ULA field in the response register at I/O port 814A.
The VME-mapped registers are a subset of those defined previously as I/O ports in the
EPC-6A. The registers are dual-ported in that they are accessible both from VME and
from within the EPC-6A as ports in its I/O space. The VME mapped registers are defined
in the next table.
Table 4-2. VME mapped registers
OffsetUpper byteLower byte
0ID (8141)ID (8140)
2Device type (8143)Device type (8142)
4Status/control (8145)Status/control (8144)
6Slave offset (8147)Slave offset (8146)
8Protocol (8149)Protocol (8148)
AResponse (814B)Response (814A)
CMessage high (814D)Message high (814C)
EMessage low (814F)Message low (814E)
The registers occupy the first 16 bytes of the 64-byte space; the remainder of the space is
undefined. (Actually, the registers are mapped into each 16-byte chunk of the 64-byte
space.)
Reads and writes of the registers from VME and as I/O ports have identical results and
effects except for the following:
1. Changing the RELM, ARBPRI, and ARBM fields of the status/control register from
VME will appear to have change d th e fi el ds ( for exa mple , if the re gis te r i s th en r ead ),
but the new values will not effect the EPC-6A’s bus-control logic. To use these fields
for their intended purpose, they must be set by I/O port accesses.
2. A read of the response register from VME clears the LOCK bit (i mme diate ly afte r the
current value of the response register is returned).
This chapter specifies other information about EPC-6A operation useful to the system
designer. The following diagram shows the major element s of the EPC-6A and data paths
among them.
5
486DX2
8K cache;
Integrated FPU
DØ ... 31
A2 ... 31
Reset/abort switch
Battery
Speaker
R400
RadiSys
highly inte-
grated system
controller
connector
Figure 5-1. Block Diagram
MDØ ...
MAØ ... 9
4 MB
DRAM
8-bit local bus
SRAMKeyboard
RadiSys data-
path switch
gate array
VME gate
arrays and
control logic
Flash
memory
VMEbus
Slot-1 jumper
LED
display
Serial
port
control
Processor, Coprocessor, and Memory
The processor is an Intel 48 6DX2 in a 168 pin PGA package , with 32-bit architect ure. The
Intel 486DX2 processor has an internal 8KB on-chip cache and an integrated floating
point unit.There is one factory-installed 4MB DRAM option.
Application Flash Memory or RFA
A 1MB array of nonvolatile flash memory is provided in the form of an E280085A
component. The flash memory is mapped into its own address space beginning at address
0. This address space is accessible through address and data registers in the I/O space. It
also contains Datalight ROM-DOS (version 6.22, revision 2.1) as a 250KB portion of the
memory space.
The intent of the flash memory is to hold application programs in a standard file-system
format, as opposed to being directly user accessible. Software drivers are provided with
the EPC-6A for this purpose.
Flash Boot Device
The 28F004BV-T contains two 8KB parameter blocks. Block 1 is used for System BIOS
code storage and is not available for application use.
Nonvolatile SRAM Memory
A 128K x 8 bit array of nonvolatile SRAM memory is provided. The software supports
only 32KB of SRAM. The SRAM addres s s pace is accessible through I/ O re gi sters where
8380h, 8381h, and 8382h control the address and 8384h provides data access.
The BIOS and ROM DOS use the upper 2 KB of the SRAM array to communicate error
messages to the se tup progr am. Thus t he user should co nsider t he SRAM a s a 30 KB array.
Information in the upper 2 KB of the SRAM memory runs th e risk of getti ng dest royed by
the BIOS after a reset. Writing into the upper 2 KB of SRAM memory runs the risk of
destroying error messages saved for the setup program.
Battery
The battery powers the CMOS RAM and TOD clock when system power is not present.
At 60×C, the battery should have a shelf life of over four years. In a system that is
powered on much of the time and where the ambient power-off temperature is less than
60×C, the battery is estimated to ha ve a life of 10 years.
The battery holder is for a 23 mm coin cell, such as a Panasonic BR2330 or
Rayovac BR2335.
To remove or replace the battery, first remove the EXM card guide above the battery by
removing its three mounting screws. The battery cell is held in place by a spring lever. To
remove the battery, apply downward pressure to the cell in the vicinity of the base of the
spring (a small screwdriver may be used), while at the same time applying lateral pressure
to the cell in the direction away from the spring base .
A new cell is installed by sliding it beneath the spring until it snaps into the holder. Ensure
that the spring has not been damaged and that it is in firm contact with, and applying
downward pressure on, the battery cell.
NMI
IRQ0Timer (connected to R400 internal 8254 count 0 out)
IRQ1Keyboard controller (R400 internal)
IRQ2Cascade interrupt input
IRQ3COM2 serial port
IRQ4COM1 serial port
IRQ5unassigned
IRQ6unassigned/floppy disk
IRQ7unassigned
IRQ8Real-Time clock
IRQ9unassigned
IRQ10VME interrupt/event
IRQ11front-panel toggle switch
IRQ12not available
IRQ13coprocessor (FERR)
IRQ14unassigned/IDE
IRQ15unassigned
DRAM parity error, EXMbus I/O channel check
Watchdog Timer
EPC-6A contains a continually running timer having a period of approximately either 8
seconds or 250 millisecon ds ( sof twar e selectable). The watchdog timer event is generated
whenever the period expires . This event may be enabled as a sour ce of the IRQ10 interrupt
or as a complete reset. The timer is reset to its maximum value by an I/O write to the
module status/control register.
EXMbus
The EXM bus, an I/O expansion bus , is provide d on a co nnecto r to all ow the use r to in sert
one EXMbus module. The EXMbus is v ery si mila r to th e PC/AT ISA I/O bus. In addi tion,
it contains a signal -EXMID used for dynamic recognition and configuration of EXMs.
EXMs respond to one or more I/O addresses in the range 100h–107h only when their
–EXMID line is asserted. EXMs are required to return a unique EXM-type identification
byte in response to a read from I/O address 100h. Since the EPC-6A has only a single
EXM slot, its –EXMID line is wired as asserted.
Although IRQ11 is on the EXMbus, IRQ11 is also used by the reset/abort toggle switch
and is driven by a totem-pole driver that has no tristate. Thus the IRQ11 interruptIRQ11
interrupt is not available to EXM modules.
Further information on the EXMbus, its connectors, and standards for building EXMs is
available upon request.
The EPC-6A connects to the VMEbus J1 connector. All of the VMEbus signals and
voltages on this connector are used except for SERCLK, SERDAT, and +5V STDBY.
The EPC-6A, when configured as an A24 slave, responds with BERR if another bus
master attempts a D32 access into the EPC-6A’s memory. It also responds with BERR if
another master does an access that would map to other than DRAM within the EPC-6A.
The EPC-6A does address pipelining in one circumstance—when the EPC-6A has been
granted the bus while some other master is performing a bus cycle. In this circumstance
the EPC-6A will start its cycle (for example, drive AS* low) before the other master has
removed its data strobes (for example, before DS0* and DS1* are driven high).
The EPC-6A performs write pipelining of 486 write cycles to the VMEbus. The VME
control logic s ign als completion to the 486 o f a wri te cycle that is mapped to t he VMEbus
as soon as the VMEbus AS* signal has been driven low and the data from the 486 has
been latched.
VMEbus System Controller Functions
When the EPC-6A is configured as the VMEbus system controller, it performs the
standard VMEbus system controller functions. It serves as the bus arbiter (priority or
round robin), drives the 16 MHz SYSCLK signal, and starts the IACK daisy chain.
The SYSFAIL LED is operable only when the EPC-6A is configured as the system
controller.
When configured as the system controller, the EPC-6A also detects and terminates bus
timeouts. Once it sees eithe r of t he DS0 and DS1 li nes asse rted, a counter is started. If the
counter expires befor e both DS0 and DS1 ar e deasser ted, the EPC-6A a sserts th e VMEbus
BERRsignal until both data strobes are deasserted. The duration of the counter is
approximately 100 microseconds.
The following table contains some illustrations of the duration of VMEbus operations.
The times were measured with the EPC-6A in the ROR bus-release mode.
OperationTime
Fill VMEbus slave memory, each iteration of
REP,STOSW instructions
Move block of local memory to VMEbus slave
memory, each iteration of REP,MOVSW
instructions
Move block of VMEbus slave memory to local
memory, each iteration of REP,MOVSW
instructions
Write access from another master to the
EPC-6A’s DRAM
Read access from another master to the
EPC-6A’s DRAM
Chapter 5: Theory of Operation
Table 5-2. VMEbus timing
300 ns + DS-DTACK slave’s write access time
400 ns + the greater of:
50 ns
slave’s DS-DTACK write access time
650 ns + DS-DTACK slave’s read access time
DS-DTACK time = 325 ns+ HI
HI is hold-interference time, can range from 0
to 15000 ns, typically is 150 ns
This chapt er lists error and warning messages, alphabetized by mess age text. These are
messages generated by the BIOS and MS-DOS that may be related to your hardware
configuration.
CMOS checksum invalid
Something in the nonvolatile CMOS RAM is incorrect. Run the BIOS setup program to
determine what is wrong, and correct it. If the error occurs repeatedly, the EPC-6A’s
battery has failed. This error is available only on a VGA screen.
CMOS RAM error, check battery / run setup
Something in the nonvolatile CMOS RAM is incorrect. Run the BIOS setup program to
determine what is wrong, and correct it. If the error occurs repeatedly, first try
reinitializing all CMOS RAM param eters. If the problem still occurs, the EPC-6A’s
battery has failed. This error is available only on a VGA screen.
6
EXM configuration error
The EXM installed (or not installed) does not match the configuration information in the
novolatile CMOS RAM. Hitting any key will allow you to continue, but doing so may
cause problems later if software tries to use the EXM. To correct the problem, enter the
remote setup program, change the information on the setup screen and reboot. This
message is logged to the NVRAM.
Real time clock error - run setup
The battery-backed TOD clock is incorrect. Run the BIOS setup program to determine
what is wrong, and correct it. If the error occurs repeatedly, the EPC-6A’s battery has
failed. This error is available only on a VGA screen.
Seven-Segment Display Codes
The following list shows th e two-digit codes displ ayed in the se ven-segment dis play when
a catastrophic selftest failure is detected. The two digits display repeatedly in the
following way: first digit, pause, second digit, long pause.
Table 6-1. Seven-segment display failure codes
CodeDescriptionCodeDescription
01Selftest initiation18Memory refresh test
02Chipset initialization19Interrupt vector table initialization
03Chipset initialization1Adoes not occur
04DRAM controller initialization1Bdoes not occur
05DRAM initialization1CInterrupt controller test
06DRAM 0- and F-page test1DInterrupt controller test
07DRAM byte enable logic test1EBattery level test
08Copy ROM1FCMOS checksum test
09Copy ROM20Configuration byte initialization
0ACopy ROM21Size system memory
0BCopy ROM22System memory test
0CCopy ROM23Stuck interrupt test
0DCopy ROM24Stuck NMI (parity/IOCHK) bit test
0EClear 8042 interface25Interrupt controller test
0FReset 8042 interface26Size extended memory
10PC hardware initialization27Extended memory test
11Video interface initialization28VME interface test
12Timer test29VXI register test
13CMOS shutdown test2ACOM1 serial port test
14DMA test2BCOM2 serial port test
15DMA test2CCache test
16DMA page registers test
17does not occur
Phoenix NuBIOS Checkpoints
The Phoenix NuBIOS wri tes a number of ch eckpoi nts t o I/ O por t 80h just befor e the y are
executed. Note that the execution order of the POST tests generally follows the order
listed in the tables below, but not exactly.
02hVerify Real Mode
04hGet CPU type
06hInitialize system hardware
08hInitialize system controller registers with initial
09hSet in POST flag
0AhInitialize CPU registers
0BhEnable CPU cache
0ChInitialize cache to initial POST values
0EhInitialize I/O
0FhInitialize localbus IDE
11hLoad alternate registers with initial POST values
12hJump to UserPatch0
14hInitialize keyboard controller
24hSet ES segment to register to 4GB
28hAutosize DRAM
2AhClear 512KB base RAM
1-3-4-12ChTest 512KB base address lines
1-3-4-32EhTest low byte of 512KB base memory
1-4-1-130hTest high byte of 512KB base memory
32hTest CPU bus-clock frequency
34hTest CMOS RAM
35hInitialize alternate system controller registers
36hWarmstart shutdown entry point
37hReinitialize the system controller
38hShadow system BIOS ROM
39hReinitialize the cache
3AhAutosize cache
3ChConfigure advanced system controller registers
3DhLoad alternate registers with CMOS values
40hSet Initial CPU speed
42hInitialize interrupt vectors
44hInitialize BIOS interrupts
2-1-2-346hCheck ROM copyright notice
47hInitialize manager for PCI Option ROMs
48hCheck video configuration against CMOS
49hInitialize PCI bus and devices
4AhInitialize all video adapters in system
4BhDisplay QuietBoot
screen
4ChShadow video BIOS ROM
4EhDisplay copyright notice
50hDisplay CPU type and speed
51hInitialize EISA board
52hTest keyboard
54hSet key click if enabled
56hEnable keyboard
2-2-3-158hTest for unexpected interrupts
RadiSys maintains a technical support phone line at (503) 615-1100 that is staffed
weekdays (except holidays) between 8 AM and 5 PM Pacific time. If you have a problem
outside these hour s, y ou can leave a messa ge on v oice- mail usin g the same phon e number.
You can also request help via electronic mail or by FAX addressed to RadiSys Technical
Support. The RadiSys FAX number is (503) 615-1150. The RadiSys E-mail address is
support@radisys.com. If you are sending E-mail or a FAX, please include information on
both the hardware and software being used and a detailed description of the problem,
specifically, how the problem can be reproduced. We will respond by E-mail, phone or
FAX by the next business day.
7
T ech nic al Su pport Serv ices are desi gned f or custo mers who ha ve pur chased t heir produc ts
from RadiSys or a sales representative. If your RadiSys produ ct is pa rt of a pi ece of OEM
equipment, or was integrated by someone else as part of a system, support will be better
provided by the OEM or system vendor that did the integration and understands the final
product and environment.
World Wide Web
RadiSys maintains an active site on the Technical Support:world wide web access. The
home-page URL is:
http://www.radisys.com
The site contains current information about the company and locations of sales offices,
describes new and existing products, provides contacts for sales, service, and technical
support information, and offers news about the company. You can also send E-mail to
RadiSys using the web site. All requests for sales, service, and technical support
information receive a prompt response.
Repair Services
Factory Repair Service is provided for all RadiSys products. Standard service for all
RadiSys products covers factory repair with customers paying shipping to the factory and
RadiSys paying for return shipment . Overnight return shipment is available at customer
expense. Normal turn-around time for repair and re-certification is five working days.
Quick Exchange services (immediate shipment of a loaner unit while the failed product is
being repaired) or other extra-cost services can be arranged, but need to be negotiated in
advance to allow RadiSys to pool the correct product configurations. RadiSys does not
maintain a general “loaner” pool. Units are available only for customers that have
negotiated this service in advance.
RadiSys does not provide a fixed-price “swap-out” repair service, as customers have
indicated that issues of serial number tracking and version control make it more
convenient to receive their original products back after repair.
Warranty Repairs
Products under warranty (see warranty information in the front of this manual) will have
manufacturing defect s re paire d at n o char g e. Produ cts s ent in f or war ranty repai r tha t have
no faults will be subject to a recertification charge. Extended Warranties are available and
can be purchased at a standard price for any product still under warranty. RadiSys will
gladly quote prices for Extended Warranties on products whose warranties have lapsed;
contact the factory if this applies.
Customer induced damage (resulting from misuse, abuse, or exceeding the product
specifications) is not covered by the standard product warranty.
Non-Warranty Servi ces
There are several classes of non-warranty service. These include repair of customer
induced problems, repairs of failures for products outside the warranty period,
recertification (functional testing) of a product either in or out of warranty, and
procurement of spare parts.
All non-warranty repairs are subject to service charges. RadiSys has determined that
pricing repairs based on time and mat erials is more cost-effective for the customer than a
flat-rate repair charge. When product is received, it will be analyzed and, if appropriate, a
cost estimate will be communicated to the customer for authorization. After the customer
authorizes the repair and billing arrangements have been made, the product will be
repaired and returned to the customer.
A recertification service is provided for products either in or out of warranty. This service
will verify correct operation of a product by inspection and testing of the product with
standard manufacturing tests. There is a product-dependent charge for recertification.
There are only a few components that are generally considered field-repairable, but,
because RadiSys understands that some customers want or need the option of repairing
their own equipment, all components are available in a spares program. There is a
minimum billing charge associated with this program.
Arranging Service
42
To schedule service for a product, please call RadiSys RMA Dispatcher directly at (800)
256-5917. Have the product model and serial numbers available, along with a description
of the problem. An RMA Dispatcher will issue a Returned Materials Authorization
(RMA) number , a code number by whi ch we track th e pro duct whi le it is bei ng proc essed.
Once you have received the RMA number, follow the instructions of the RMA Dispat cher
and return the produc t t o us, freight prepaid, with th e RMA number cl early marked on the
exterior of the package. If possible re-use the original shipping containers and packaging.
In any case, be sure you follow good ESD-control practices when handling the product,
and ensure that anti-static bags and packing materials with adequate padding and
shock-absorbing properties are used.
Ship the product, freight prepaid, to:
Product Service Center
RadiSys Corporation
5445 NE Dawson Creek Drive
Hillsboro, Oregon 97124
When shipping the product, include the following information: return address, contact
names and phone numbers in purchasing and engineering, and a description of the
suspected problem. Any ancillary information that might be helpful with the debugging
process will be appreciated.
Other Countries
Contact the sales organization from whom you purchased your RadiSys product for
service and support.
This chapter specifies the details of the connectors and headers on the EPC-6A The
EXMbus connector is not defined here; its definition is available upon request.
Front Panel LEDs
The EPC-6A has four discreet LEDs in the front panel’s top left corner. The front panel
also contains a seven-segment LED display. For detailed information about the sevensegment LED display, see Front Panel Indicators on page 12.
LEDColorDescription
RUNGreenIndicates that the EPC-6A’s memory is accessed. It first comes on at
SYSFAILRedIndicates a hardware reset or assertion of the VMEbus l ine. If a hardware
MASTER Indicates that the EPC-6A is performing a VMEbus access. The LED
SLAVE Indicates anoth er m od ul e pe rf or mi n g a me mo ry ac c ess int o t he EP C -6 A’s
A
Table A-1. LEDs
power-up and should remain lit as long as the system is running.
If the LED is off, the most probable causes include both of these:
• A “hung” condition occurred in the operating system or application software.
• A VMEbus access is being attempted but the EPC-6A has not received a
bus grant. Typical reasons include: an error in setting the jumpers on the
VMEbus backplane, not being fully seated in the backplane, or a failure in
the SLOT 1 system controller module.
reset, the LED remains lit until the POST completes.
The LED is active only when the EPC-6A is jumpered as the SLOT 1 controller.
remains lit from the time the 486DX2 processor initiates a read until the bus
operation com p l e tes or t imes o u t.
DRAM.
*The Master LED on and the Run LED off indicates that the EPC-6A stopped because either it can’t access
the bus, or because no module responded to the access and the access has not timed out.
Speaker Connector
The speaker header on the EPC-6A circuit board is defined as:
A second serial port, addressable at PC serial port COM2, COM2 exists in the form of a
10-pin header on the printed-circuit board near the bottom of the front panel. Pin 2 is the
pin closest to the front panel and the bottom. The header is defined as:
1
5
6
10
VMEbus Connectors
EPC-6A has a standard VMEbus P 1 connector. It does not access the P1 pins +5VST DBY,
SERCLK, and SERDAT.
Table A-5. COM2 Connector
PinSignalPinSignal
1Carrier detect6Clear to send
2Data set ready7Data terminal ready
3Receive data8Ring indicator
4Request to send9Signal ground
5Transmit dataunconnected
Main Block #1 and #2 are reserved.
The EPC-6A employs Phoenix PicoBIOS version 4.05, implemented as a flash BIOS
using the 4 Mb (512 KB) Intel 28F004 SmartVoltage Boot Block. The Flash Boot Device
(FBD) contains a 16 KB boot block which holds the BIOS initializing and recovery code
Main block #3 contains an 8KB RadiSys manufacturing BIOS and the PicoFlash BIOS
extension.
The system BIOS code image resides in main block 4.
Parameter blocks 1 & 2 contain the System BIOS code.
The FBD is memory addressed and resides in the last 512KB of physical address space at
addresses 3F80000h through 3FFFFFFh. The System BIOS is shadowed and writeprotected at 0E0000h through 0FFFFFh (128KB) upon any system reset (warm boot,
shutdown, power-up or “reset button” reset).
The boot block, main blocks, and paramete r blocks are protected aga inst accidental wri tes.
Three register bits i n the R400’s BIOS Control Register gate the WE# signal into the flash
parts, and the boot block is further protected by a jumper which must also be in place
before writes to the boot block can take place.
Forced recovery
A “force recovery” jumper is provided which is readable by the boot block and can force
the boot block to initiate a BIOS recovery sequence. This jumper is readable by the boot
block and can force the boot block to initiate a recovery sequence should the other
methods of initiating the sequence become inaccessible (for example, the System BIOS
becomes corrupted such that the system cannot bo ot to the OS).
The following table describes the exact sizes and placement of the various code and data
objects present in the FBD:
Object NameFBD OffsetObject SizeWrite Enable
Boot and recovery code7C000h16KBBB write-enable jumper
System BIOS60000h96KBIn chipset
PicoFlash BIOS extension4A000h16KBIn chipset
The recovery process occurs because the boot block detects corrupt a BIOS or the force
recovery jumper is installed. System BIOS corruption is detected by calculating an 8-bit
checksum over the area occupied by System BIOS code.
The recovery is performed by using any Serial Communication Package (SCP) which
supports the XModem/CRC protocol. The SCP speed is determined automatically.
To determine the baud rate at which the SCP is running, the user repeatedly presses the
space bar. The autobaud mechanism should determine the baud rate that the SCP is
running at. If the baud rate is not determined before a predetermined timeout value, the
baud rate is defaulted to 9600 baud. The recovery module autobaud mechanism then
detects one of the following supported baud rates: 9600, 19200, 38400, 56800 or 115200.
Table B-1. FBD object placement
48
The SCP executes on an external host comput er and establishes a communication link wi th
the EPC-6A via the recovery seri al port . The r ecove ry mechanism supports the recovery of:
•System BIOS and BIOS extensions, Main Blocks 3-4, Parameter block 1 & 2
•FBD, the entire 512K (minus the 16K bootblock) device is reflas h, no attempt is made
to reprogram the bootblock.
•RFA
•CMOS
Images suitable for update or recovery use absolute binary format (8-bit data, little endian
byte ordering).
The EPC-6A boot block XMod em se ri al communication requires a st raight-through serial
connection to the external host computer and operates at the auto-detected baud rate with
no parity, eight data bits, and 1 stop bit. Cabling betw een the host and the EPC-6 A may be
dictated by the SCP. However, the only RS-232 signals required by the EPC-6A are Tx,
Rx, and Gnd.
When to Reflash the FBD
Install the boot block enable jumper only when updating the bootblock. Update
your bootblock only when instructed to by RadiSys.
Appendix B: About the Flash Boot Device
Before You Begin
Before you begin an FBD force update flash recovery, have the following items ready
for use:
•External host computer with an installed Xmodem serial communication program,
such as PROCOMM.
•Null modem cable.
•The new images for the FBD which are contained on the utilities diskette provided
with the EPC-6A.
Reflashing Processes
You must install the follow ing jumpers to start the reflash process:
JP2 FLASH WE
JP2FORCE RECOVERY
JP1WREN
Force Update
The force update process occurs because the boot block detects a corrupt system BIOS
image (for example, a bad checksum for main block 2) or because you installed the force
update jumper (JP2) at power up. A force update is necessary only to:
•Replace a system BIOS image damaged by power failure during an earlier flash
update process.
•Enable FBD recovery when the system cannot boot to a DOS-compatible operating system.
Perform the force update flash recovery process by connecting a null modem serial cable
between the EPC-6A’s COM1 port and a source computer on which is installed an SCP
that supports the Xmodem protocol. The SCP should also support terminal emulation, as
the source computer serves only as a remote console during the flash recovery process.
The SCP dictates necessary cabling between the source computer and the EPC-6A,
however, the only RS-232 signals required by the EPC-6A are Tx, Rx, and GND.
EPC-6A
COM1
TXD
RXD
GND
Figure B-2. Null Modem Cable Connection
Source computer
serial port
TXD
RXD
GND
Power up the EPC-6A and execute the SCP on the source computer. Press the space bar
repeatedly to invoke the autobaud capability, which automatically sets the baud rate for
you. Set up the SCP to communicate with no parity, eight data bits, and 1 stop bit. The
SCP should establish a straight-through serial communication link with the EPC-6A
COM1 port. The EPC-6A boot block contains resident Xmodem code necessary to
establish communication with the SCP, serially download the images to flash, and
re-program the FBD.
Once the BIOS configures the communication port, the EPC-6A is ready to synchronize
with the source computer through Xmodem. The EPC-6A receives no data from the
source computer via the serial port until synchronization is complete.
When synchronization is complete and the force update flash recovery process is ready to
begin, you must enter one of the following commands to define how the process occurs:
FBDReflashes the entire FBD (except the boot block).
50
BBReflashes the FBD boot block.
BIOSReflashes the system and video BIOS images.
EXITIgnores the force recovery jumper and continues booting the system BIOS.
HELPPrints help messages that explain the FBD, BB, and BIOS commands.
RFAReflashes the RFA.
CMOSRestores factory default values to CMOS. Use thi s command if a non-bootable
CMOS configuration has been saved.
The force update fla sh recove ry process will not beg in unless you enter a command. When
you enter the FBD, BB, or BIOS commands, code in the boot block automatica lly initi ates
the reflashing process. The SCP indicates the status of the recovery process while it
occurs, displaying the activities of erasing and rewriting each image.
When the force update flash recovery process is complete a nd the FBD is recovered , the
program issues the statement “flash recovery successful.” Power down the EPC-6A and
remove the serial interface cable. Also remove the force update jumper at JP2 if the force
update process was not initiated by a corrupt image. Remove the write-enable jumpers if
you reflashed the FBD boot block. When you power up the system, it boots with the
recovered B IOS images.
Note that the message: “Image has exceeded target size, Image is being truncated” is
normal; this alerts the user that the bootblock was not reflashed.
Where a bit position has been described by a 0 or 1, the bit is a ROM bit, and writing to it
has no effect. Unless otherwise noted, all registers and bit values are readable and
writeable. TSEN, when set, inhibits the front panel toggle switch from generating a reset
RegisterBit 7 Bit 6 Bit 5 Bit 4 Bit 3Bit 2 Bit 1 Bit 0 I/O port
Memory Control Register
VME A21–16 Address Reg
ID Register, lower
ID Register, upper
Device Type Reg, lower
Device Type Reg, upper
Status/Control Reg, lower
Status/Control Reg, upper
Slave Offset Reg, lower
Slave Offset Reg, upper
Protocol Register, lower
Protocol Register, upper
Response Register, lower
Response Register, upper
Message High Reg, lower
Message High Reg, upper
Message Low Reg, lower
Message Low Reg, upper
VME Modifier Register
VME Interrupt State Reg
VME Interrupt Enable Reg
VME Event State Register
VME Event Enable Register
Module Status/Control Reg
Interrupt Generator Register
FSA7–0 Address Register
FS A15–8 Address Register
FS A19–16 Address Register
Flash Data Register
SRAM Data Register
LED Register
This register contains two control bits that pertain to the DRAM and the flash memory:
EVMEIf set, allows E page (0E0000h) access to and from the VMEbus. This is
necessary because the Ph oenix BI OS occu pies th e memory reg ion 0E000 0h ~
0FFFFF at POST. When POST is complete and just before INT 19, this bit is
set to allow VME access.
CDENIf set, the flash memory is accessible. If clear, writes to the flash data register
have no effect and reads from it return an unpredictable value.
VME A21–16 Address Register (8130h)
Appendix C: Registers
VME A21–16 Address Reg
VMEbus address bits 21–16resres
When an access is performed by the EPC-6A in its “E page” (address range 0E0000–
0EFFFF), the access is mapped onto the VMEbus. The least-significant sixteen of the
VME address bits are provided directly (from the 486DX2), and the remaining 8 (for an
A24 access) bits must come fro m somewhere el se. Six of them come from this registe r . Bit
7 of this register is used as VME address bit 21, bit 6 as VME address bit 20, ..., and bit 2
as VME address bit 16.
The two low-order bits are reserved RAM bits. On writes, assign them the value 0. For
compatibility with EPC-1, this register is aliase d at I/O por t addresses 8132, 8134, and 8 136.
ID Registers (8140h and 8141h)
ID Register, lower
ID Register, upper
This read-only register adheres to the VXIbus specification. It defines the EPC-6A as a
message-based device and the manufacturer as RadiSys Corporation.
11101100
10001111
Device Type Registers (8142h and 8143h)
Device Type Reg, lower
11001100
Device Type Reg, upper
00011111
This register adheres to the VXIbus specification. The first four bits of the upper half
denote that the EPC-6A maps into a 4 MB range in the A24 space when used as a slave.
The remaining ROM bits define the EPC-6A as having a model code of 4044.
Status/Control Registers (8144h and 8145h)
Status/Control Reg, lower
Status/Control Reg, upper
This register adheres to the VXIbus specification and also contains EPC-6A specific bits.
SRIESYSRESET input enable. If set, assertion of VME SYSRESET generates a
reset of the EPC-6A. One use of this bit is having EPC-6A s oftware res et other
VME devices (via bit SYSR) without resetting the EPC-6A.
RELMBus release mode. If set, the bus release mode is ROR (release on request);
otherwise it is the VXI RONR “fair requester” mode (request on no request).
Altering this bit via the VME-mapped loca ti on of this re giste r has no effe ct.
ARBPRIArbitration priority. This defines the level at which theEPC-6A arbitrates for
the VMEbus.
This value...Means...
113
102
011
000
Like for RELM, altering this field via the VME-mapped location of this
register has no effect.
RDYThis is a RAM bit defined by the VXI specification. In a VXIbus software
environment, if RDY=1 and PASS=1, the EPC-6A is ready to accept VXI-
defined messages. The VMEbus user needn’t be concerned with this and the
next bit.
PASSThi s is a RAM bit defined by the VXI specific ation. If set (1), the EPC-6A
completed its selftest successfully.
NOSFSYSFAIL inhibit. If set, the EPC-6A cannot assert the VME SYSFAIL line.
RSTPReset EPC. Setting this bit resets the EPC-6A.
SLESlave enable. If set, the EPC-6A responds to certain A24 accesses on the
VMEbus.
SYSRSYSRESET. The EPC-6A asserts the VME SYSRESET line while this bit is
1. When using this bit, it is software’s responsibility to ensure that the VME
specified minimum assertion time of SYSRESET is met.
SYSFSYSFAIL. The EPC-6A asserts the VME SYSFAIL line while this bit is
0 (zero). (The polarity of the b it is reverse d from that of SYSRESET so that an
EPC-6A reset—which clea rs this bit—causes SYSFAIL to be asserted until the
BIOS stores a 1 in this bit.)
ARBMArbitration mode. This bit is pertinent only if the EPC-6A is jumpered t o be the
VMEbus system controller. If set, the EPC-6A is a priority arbiter; otherwise
it is a round-robin arbiter. Like for RELM, altering this field via the VME-
mapped location of this register has no effect.
Slave Offset Registers (8146h and 9147H)
Slave Offset Reg, lower
Slave Offset Reg, upper
11111111
000111SLAVE BASE
56
SLAVE BASE defines the base address of the EPC-6A’s memory in the VMEbus A24
address space as follows: 00 – 000000, 01 – 400000, 10 – 800000, 11 – C00000.
This read-only register is defined by the VXIbus specification. In VXI systems, it defines
the EPC-6A as being a servant and commander, having no signal register, being a bus
master, and not providing fast handshake mode.
Response Registers (814Ah and 814Bh)
Response Register, lower
Response Register, upper
With the exception of LOCK, this register is defined by the VXIbus specification. It
contains control bits associated with the message registers.
LOCKIf set, the message register can be locked for the sending of a message. If clear,
the message register is locked.
ABMHThis bit is cleared when the message high register is read or written. It serves
as a location monitor for determining whether a message is 16 or 32 bits in
length.
ULAULA Unique logical address. This determines the base of the register s in the
denotes FEC0, 4 denotes FF00, 5 denotes FF40, 6 d enotes FF80, and 7 den otes
FFC0.
LOCK1ABMH11ULA
00001RRDYWRDY1
RRDYRead ready. As defined by VXI, a 1 den otes that the messa ge register s contai n
outgoing data to be read by anot her device. RRDY is cleared when th e message
low register is read.
WRDYWrite ready. If se t, t he message registers are armed fo r a n i ncomi ng message.
When a write occurs int o th e message-low register, WRDY is cle are d an d t he
MSGR interrupt condition is asserted.
Although the intention is that the message register reads and writes that clear WRDY and
RRDY come from another VMEbus processor , ac cesses to the mes sage register as mapped
into the EPC-6A’s I/O space also have the same effect.
When the response register is read from the VMEbus, the current value of the register is
read, and then LOCK is cleared. The protocol for sending a message to the EPC-6A, if
there are multiple potential senders, is the following. The sender first reads the response
register. If both WRDY and LOCK are 1, he may then proceed to send the message. For a
16-bit message, the sender writes into the message-low register. For a 32-bit message, he
writes first into the message-high register and then the message-low register.
This register is an extension of the following register for 32-bit messages. An access to
this register clears flag ABMH in the response register.
Message Low Registers 814Eh and 814Fh)
Message Low Reg, lower
Message Low Reg, upper
This register is ty pically u sed as an in coming message registe r by doing a D16 write into i t
from the VMEbus (this register, as are many others, are mapped into the VMEbus A16
address space, as discussed later).
VME Modifier Register (8151h)
VME Modifier Register
This register is also used when the EPC-6A makes an access through its E page to the
VMEbus. Bits 7 and 6 provide VME address bits A23 and A22, respectively. Bits 2–0
define the value placed on the associated VMEbus address-modifier lines. Register bits
are not defined for the VMEbus address-modifier AM3 and AM0 lines since, for all
defined address-modifier values in the VMEbus specification, AM3 is 1 and AM0 is the
inverse of AM1. Therefore these two bit values are generated by hardware.
AMxThese bits drive the VME address-modifier lines AM4, AM2, and AM1. The
other three VME ad dress-modifier l ines are gene rated automatical ly: AM5 and
AM3 are always 1 and AM0 is always the inverse of AM1. Thus these three
register bits correspond to the following VMEbus functions:
000A16 non-privileged access
001reserved
010A16 supervisory access
011reserved
100A24 non-privileged data access
101A24 non-privileged program access
110A24 supervisory data access
VME WA23–22resIACKresAM4A M2AM1
58
111A24 supervisory progra m access
IACK This bit, when set, is used to define the VMEbus acces s as an interrupt
acknowledge cycle. The interrupt being acknowledged must be
encoded by software as a value on VME address lines A1–A3.
For compatib ility with other EPCs, when writing to this reg ister assign 0 to reserved bit 5
and 1 to reserved bit 3.
VME Interrupt State Register (8152h)
Appendix C: Registers
VME Interrupt State Reg
IRQ7IRQ6IRQ5 IRQ4IRQ3IRQ2IRQ1 MSGR
This read-only register defines the state of the VMEbus and message interrupts.
IRQxIf clear (0), the associated VMEbu s interrupt line is asserted.
MSGRIf clear (0), a message interrupt is being signalled. MSGR is clear if both of bits
RRDY and WRDY in the response register are clear.
VME Interrupt Enable Register (8153h)
VME Interrupt Enable Reg
This is a mask of th e inte rrupt con ditions i n the int erru pt state registe r . A 1 denote s that th e
corresponding interrupt is enabled. If any bit in this register is a 1 and the corresponding
bit in the interrupt state register is a 0, the EPC-6A IRQ10 interrupt is asserted. Software
may then examine the interrupt and event state registers to determine the cause.
IRQ7IRQ6IRQ5 IRQ4IRQ3IRQ2IRQ1 MSGR
VME Event State Register (8154h)
VME Event State Register
Similar to the interrupt state register, this register defines additional conditions that may
result in an IR Q10 interrupt. If the bit is 0, the condition is present.
1111WDTACFABERRSYSF
WDTThe EPC-6A’s watchdog timer’s period has expired.
ACFAVMEbus ACFAIL is asserted.
BERRAn access from the EPC-6A to the VMEbus was terminate d with a BERR (bus
error).
SYSFVMEbus SYSFAIL is asserted.
All bits are read-only except BERR. BERR is a sticky bit that is cleared whenever an
access from the EPC-6A i s termina ted by a b us error, and remains clear (0) unless change d
by software (by writing any value to this register).
VME Event Enable Register (8155h)
VME Event Enable Register
This is a mask of the interrupt conditions in the event state register. A 1 denotes that the
corresponding event is enabled as an interrupt. If any bit in this register is a 1 and the
corresponding bit in the event s tate reg ister is a 0 , the EPC-6 A IRQ10 interrupt is asser ted.
Software may then ex amine t he int errupt a nd event stat e reg ister s to d etermine the cause.
This register contains miscellaneous status and control bits.
DONEThis read-only bit is 0 whenever the EPC-6A has a VMEbus access
outstanding. It is used for determining when a pipelined VMEbus write is
complete.
ASThis read-only bit is 1 whenever the VMEbus AS (address strobe) signal is
asserted. It may be used for bus monitoring.
DS0This read-only bit is 1 whenever the VMEbus DS0 (data strobe) signal is
asserted. It may be used for bus monitoring.
DS1This read-only bit is 1 whenever the VMEbus DS1 (data strobe) signal is
asserted. It may be used for bus monitoring.
FWDTFast watchdog timer. If clear, the period of the watchdog timer is
approximately 8 seconds. If set, the period is approximately 250 ms.
A write to the module status/control register also has a side effect of resetting the
watchdog timer. Therefore, if you are using the watchdog timer, the intention is that you
are required to write to this register within the defined period of the timer to prevent its
generating an interrupt or reset.
Interrupt Generator Register (815Fh)
Interrupt Generator Register
This register is used to assert one of the VMEbus interrupt signals. If the
INTERRUP T- OUT bit s ar e zer o, no i nterr upt l ine i s ass erte d by t he E PC-6A. If set to 001 ,
IRQ1 is asserted. If set to 010, IRQ2 is asserted, and so on. If and when an interrupt
acknowledge is sent to the EPC-6A, the INTERRUPT-OUT bits are cleared.
You can also deassert a previously asserted interrupt by writing 0 into the register.
These read/write re gisters specify the address of th e byte to be accessed wit hin the fla sh or
SRAM array when the data regist er is a ccesse d. Since t he SRAM has softwar e suppor t for
only 32 KB, the 15 low-order address bits are pertinent to it.
This read/write register is used to access the byte in the flash memory array addressed by
the FS address register s. A r ead r et urn s the value of the addressed byte if bi t CDEN in t he
memory control register is set; otherwise the read returns an unpredictable value. A write
to this register writes to the addressed byte if bit CDEN is set and if the flash write-protect
jumper is not installed on the board.
SRAM Data Register 8384h)
SRAM Data Register
This read/write register is used to access the byte in the nonvolatile SRAM array
addressed by the FS address regis ter. The BIOS and ROM DOS use the upper 2 KB of the
SRAM array to communicate error messages to the setup program. Thus the user should
consider the SRAM as a 30 KB array.
LED Register (8385h)
Appendix C: Registers
LED Register
The LED register is a read/ write re gist er that control s th e seven- segme nt displ ay and res et
toggle switch on the front panel.
TLEDx These bits control the segments of the LED
seven-segment display as shown to the right. The
segment is lit when the corresponding bit is 0.
TSEN This bit controls both the decima l point on t he LED
display and the front -panel toggle switch . When the
bit is 0, the decimal point is lit and the front-panel
switch is disabl ed. This bit can be used to prevent an
inadvertent reset from the front-panel switch.
Register State after Reset
A hardware reset of t he EPC-6A (no t a key board CTRL+ ALT+DEL reset) clears all of th e
register bits to 0, except for RELM, ARBM, ARBPRI, TSEN, and the registers at ports
8130 and 8151, which may be in an undefined state. (All bits, however, are cleared by a
power-on reset.)
The above is not apparent, however, because the BIOS initialization sequence stores
values in these register fields, largely as a result of the nonvolatile configuration
information specified in the setup screen.
TSEN LED6 LED5 LED4 LED3 LED2 LED1 LED0
LED0
LED5
LED6
LED4
LED3
LED1LED2
TSEN
The BIOS cl ears the interrupt and event enable registers.
use of SRAM 30 , 61
Block transfer cycles 25
Boot Block
description of the FBD
reflashing the 50
Boot device 10
Bus arbiter 32
Bus error 59
Bus grant 45
Bus Manager 24, 27
Bus monitoring 60
Bus release 55
Bus timeout 32, 45
bus timeout 5
Byte ordering 24
30
47
49
C
Cache 25
CMOS RAM 10, 30
error 35
COM1 31, 46
COM2 31, 46
Commander 57
Configuration information 10
Configuration registers 28
Coprocessor 29
Current 1
D
D32 access 24, 32
Daisy chain 7
Data strobe 60
Device type register 55
Disk 10
DRAM parity error 31