32-bit optically coupled digital input board with change-of-state detection (54 pages)
Summary of Contents for VMIC VMIVME-7740
Page 1
VMIVME-7740 Single Board Pentium III Processor-Based VMEbus SBC Product Manual 12090 South Memorial Parkway Huntsville, Alabama 35803-3308, USA 500-007740-000 Rev. A (256) 880-0444 (800) 322-3616 Fax: (256) 882-0859...
Page 2
12090 South Memorial Parkway Huntsville, Alabama 35803-3308, USA (256) 880-0444 (800) 322-3616 Fax: (256) 882-0859...
Page 3
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.
Page 4
12090 South Memorial Parkway Huntsville, Alabama 35803-3308, USA (256) 880-0444 (800) 322-3616 Fax: (256) 882-0859...
VMEbus modules via the on-board PCI-to-VMEbus bridge and the Endian conversion hardware. The VMIVME-7740 may be accessed as a VMEbus slave board. The VMEbus functions are available by programming the VMIVME-7740’s PCI-to-VMEbus bridge according to the references defined in this volume and/or in the second volume dedicated to the optional PCI-to-VMEbus interface board titled: VMIVME-7740 Tundra Universe -Based VMEbus Interface Product Manual (document No.
Organization of the Manual This manual is composed of the following chapters and appendices: Chapter 1 - VMIVME-7740 Features and Options describes the features of the base unit followed by descriptions of the associated features of the unit in operation on a VMEbus.
References References For the most up-to-date specifications for the VMIVME-7740, please refer to: VMIC specification number 800-007740-000 The following books refer to the Tundra Universe II-based interface available in the VMIVME-7740: VMIVME-7740, Tundra Universe II -Based VMEbus Interface Product Manual ™...
Page 18
VMIVME-7740 Product Manual For a detailed description and specification of the VMEbus, please refer to: VMEbus Specification Rev. C.1 and The VMEbus Handbook VMEbus International Trade Association (VITA) 7825 East Gelding Dr. Suite No. 104 Scottsdale, AZ 85260 (602) 951-8866 FAX: (602) 951-0720 www.vita.com...
Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety standards of design, manufacture, and intended use of this product. VMIC assumes no liability for the customer’s failure to comply with these requirements. Ground the System To minimize shock hazard, the chassis and system cabinet must be connected to an electrical ground.
VMIVME-7740 Product Manual Safety Symbols Used in This Manual Indicates dangerous voltage (terminals fed from the interior by voltage exceeding 1000 V are so marked). Protective conductor terminal. For protection against electrical shock in case of a fault. Used with field wiring terminals to indicate the terminal which must be connected to ground before operating equipment.
Notation and Terminology Notation and Terminology This product bridges the traditionally divergent worlds of Intel-based PC’s and Motorola-based VMEbus controllers; therefore, some confusion over “conventional” notation and terminology may exist. Every effort has been made to make this manual consistent by adhering to conventions typical for the Motorola/VMEbus world; nevertheless, users in both camps should review the following notes: •...
VMEbus Features ........... . 26 Introduction The VMIVME-7740 performs all the functions of a standard IBM PC/AT motherboard with the following features: •...
VMIVME-7740 Product Manual The VMIVME-7740 supports standard PC/AT I/O features such as those listed in Table 1-1. Figure 1-1 on page 25 shows a block diagram of the VMIVME-7740 emphasizing the I/O features including the PCI-to-VMEbus bridge. Table 1-1 PC/AT I/O Features...
VMIVME-7740 Product Manual VMEbus Features In addition to its PC/AT functions, the VMIVME-7740 has the following VMEbus features: • Single-slot, 6U height VMEbus board • Complete six-line Address Modifier (AM-Code) programmability • VME data interface with separate hardware byte/word swapping for master and slave accesses •...
These involve processor performance, the Flash Disk, and SDRAM memory size. These options are subject to change based on emerging technologies and availability of vendor configurations. The options and current details available with the VMIVME-7740 are defined in the device specification sheet available from your VMIC representative.
All claims arising from shipping damage should be filed with the carrier and a complete report sent to VMIC Customer Service together with a request for advice concerning the disposition of the damaged item(s).
VMIVME-7740 Product Manual Hardware Setup The VMIVME-7740 is factory populated with user-specified options as part of the VMIVME-7740 ordering information. The CPU speed, SDRAM, and flash size are not user-upgradable. To change these options contact customer service to receive a Return Material Authorization (RMA).
Hardware Setup 10BaseT/ 100 Base Tx LAN 1 10BaseT/ 100 Base Tx LAN 2 Sysfail/HD/+5 V PWR THERM Indicator COM 1 COM 2 Reset Keyboard/Mouse SVGA Port Figure 2-1 VMIVME-7740 CPU Board, I/O Port, and Jumper Locations...
USB Connectors E9/E7/E11/E12 Factory Use Only Jumper E8 below serves several functions on the VMIVME-7740. These functions are: The Watchdog Timer/NMI, Programmable Timer Clock Select, and the NVRAM Battery Enable. Table 2-2 Timers and NVRAM Battery Select (User Configurable) - Jumper (E8)
Normal Boot Block Programming NOTE: The VMIVME-7740’s BIOS has the capability (Default: Disabled) of password protecting casual access to the unit’s CMOS set-up screens. The Password Clear jumper (E4) allows for a means to clear the password feature, as might be necessary to do in the case of a forgotten password.
VMIVME-7740 installation and power-up: 1. Make sure power to the equipment is off. 2. Choose chassis slot. The VMIVME-7740 must be attached to a dual P1/P2 VMEbus backplane. If the VMIVME-7740 is to be the VMEbus system controller, choose the first VMEbus slot.
The CMOS configuration controls many details concerning the behavior of the hardware from the moment power is applied. The VMIVME-7740 is shipped from the factory with no hard drives configured in CMOS. The BIOS Setup program must be run to configure the specific drives attached.
Installation LED Definition LED 1 Therm - (Red) Indicates when the CPU Temperature Throttle is active. VMIVME 7740 LED 2 Power - (Grn)Indicates when 10BaseT/ power is applied to the board. 100BaseTx LAN 1 LED 3 Hard Drive Indicator - (Yel) Indicates when hard drive activity is occurring.
Because the design is PC/AT compatible, it retains standard PC memory and I/O maps along with standard interrupt architecture. Furthermore, the VMIVME-7740 includes Ethernet controllers, an AGP-compatible video adapter, and a USB controller. The following sections describe in detail the PC/AT functions of the VMIVME-7740.
III processor. The CPU speed and SDRAM size are user-specified as part of the VMIVME-7740 ordering information. The options are not user-upgradable. To change CPU speeds or RAM size, contact VMIC customer service to obtain a Return Material Authorization (RMA).
Memory and Port Maps Memory Map The memory map for the VMIVME-7740 is shown in Table 3-1. All systems share this same memory map, although a VMIVME-7740 with less than the full 512 Mbyte of SDRAM does not fill the entire space reserved for On-Board Extended Memory.
The BIOS initializes and configures all these registers properly; adjusting these I/O ports directly is not normally necessary. The assigned and user-available I/O addresses are summarized in the I/O Address Map, Table 3-2. Table 3-2 VMIVME-7740 I/O Address Map I/O ADDRESS SIZE IN HW DEVICE...
Page 43
Programmable Internal Timer $504 - $CFF Reserved * While these I/O ports are reserved for the listed functions, they are not implemented on the VMIVME-7740. They are listed here to make the user aware of the standard PC/AT usage of these ports.
The interrupt number in HEX and decimal are also defined for real and protected mode in Table 3-4. The interrupt hardware implementation on the VMIVME-7740 is standard for computers built around the PC/AT architecture, which evolved from the IBM PC/XT.
PC/AT Interrupts Table 3-3 PC/AT Hardware Interrupt Line Assignments (Continued) AT FUNCTION COMMENTS Not Assigned Determined by BIOS Not Assigned Determined by BIOS Mouse Math Coprocessor AT Hard Drive Flash Drive Table 3-4 PC/AT Interrupt Vector Table INTERRUPT NO. REAL MODE PROTECTED MODE LINE Divide Error...
Page 46
VMIVME-7740 Product Manual Table 3-4 PC/AT Interrupt Vector Table (Continued) INTERRUPT NO. REAL MODE PROTECTED MODE LINE BIOS Video I/O Coprocessor Error Eqpt Configuration Check Same as Real Mode Memory Size Check Same as Real Mode XT Floppy/Hard Drive Same as Real Mode...
Page 47
PC/AT Interrupts Table 3-4 PC/AT Interrupt Vector Table (Continued) INTERRUPT NO. REAL MODE PROTECTED MODE LINE DOS 3.x+ Network Comm Same as Real Mode DOS Internal Use Same as Real Mode DOS Internal Use Same as Real Mode DOS Internal Use Same as Real Mode DOS Internal Use Same as Real Mode...
For a single function device, only INTA# may be used while the other three interrupt lines have no meaning. Figure 3-1 on page 49 depicts the VMIVME-7740 interrupt logic pertaining to VMEbus operations and the PCI expansion site.
I/O Ports I/O Ports The VMIVME-7740 incorporates the SMC Super-I/O chip. The SMC chip provides the VMIVME-7740 with a standard floppy drive controller and two 16550 UART-compatible serial ports. The Ultra-IDE hard drive interface is provided by the Intel 82371EB (PIIX4E) PCI ISA IDE Xcelerator chip. All ports are present in their standard PC/AT locations using default interrupts.
VMIVME-7740 Product Manual Video Graphics Adapter The monitor port on the VMIVME-7740 is controlled by a Chips and Technology 69030 video adapter chip with 4 Mbyte embedded video SDRAM. The video controller chip is hardware and BIOS compatible with the IBM EGA and SVGA standards and also supports VESA high-resolution and extended video modes.
10BaseT has a maximum length of 100 m from the wiring hub to the terminal node. 100BaseTx The VMIVME-7740 also supports the 100BaseTx Ethernet. A network based on a 100BaseTx standard uses unshielded twisted-pair cables and a RJ-45 connector. The 100BaseTx has a maximum deployment length of 250 m.
Watchdog Timer for synchronizing and controlling multiple events in embedded applications. The VMIVME-7740 also provides a bootable Flash Disk system and 32 K byte of NVRAM. These features make the unit ideal for embedded applications, particularly...
VMIVME-7740 Product Manual Timers General The VMIVME-7740 provides a user-programmable 82C54 internal timer/counter. The 82C54 provides three independent, 16-bit timers, each operating at 1 or 2 MHz clock speed determined by the configuration of jumper E8; reference Table 2-2 on page 32.
Timer Programming Architecture The VMIVME-7740 Timers are mapped in I/O address space starting at $500 (see Table 4-1). The Timers, consisting of three 16-bit timers and a Control Word Register (see Figure 4-4) are read from/written to via an 8-bit data bus.
Page 56
VMIVME-7740 Product Manual Table 4-1 shows the I/O addresses of the Control Word Register and Timers. The Control Word Register is write only. The Timer status information can be obtained from the Read-Back command (see the “Reading” section on page 59).
Timers There are two 8-bit registers labeled TR and TR (Timer Register). The subscripts M and L stand for Most Significant byte and Least Significant byte. When a new count is written to the Timer, the count is loaded into the TR and later transferred to the TE. The Control logic lets one 8-bit TR register be written to at a time.
VMIVME-7740 Product Manual Table 4-3 ST - Select Timer ST1* ST0* Description Select Timer 0 Select Timer 1 Select Timer 2 Read-Back Command (See Reading section on page 59) *The ST bits specify which Timer (0, 1, or 2) the Control word refers to or whether this is a Read-Back command.
Timers Table 4-6 BCD BCD* Description Binary Timer 16-bits Binary Coded Decimal (BCD) Timer (4 Decades) * The BCD bit specifies whether the Timer count value is in Binary or BCD. When programming the 82C54, only two rules need to be followed. 1.
VMIVME-7740 Product Manual Read-Back Command The Read-Back Command allows the user to view the Timer Count, the Timer Mode, the current state of the OUT pin, and the Load Flag of the selected Timer. Like a Control Word, the Read-Back Command is written into the Control Word Register and has the format shown in Tables 4-7 and 4-8.
Timers Table 4-10 Status Byte Description Description D7: OUT Current state of Timers OUT pin D6: LOAD Count loaded into Timer D5-D0 Timer Programmed Mode Bit D7 contains the state of the Timers OUT pin. This allows viewing of the Timer’s OUT pin via software.
The VMIVME-7740 utilizes an 82C54 Timer/Counter for its Timers. 82C54 Timer/Counters can be programmed to function in six different modes (numbered Mode 0 through Mode 5). The VMIVME-7740 Timers are hardware configured to operate using Mode 2. Only Mode 2 is defined.
Configuration The Flash Disk resides on the VMIVME-7740 as the secondary IDE bus master device (the secondary IDE bus slave device is not assignable). The default setting is AUTO. This can be seen in the BIOS menus. From the Main BIOS menu select Secondary Master and press the Enter key.
Some applications may require the use of multiple partitions. The following discussion of partitions includes the special procedures that must be followed to allow the creation of multiple partitions on the VMIVME-7740 IDE disk devices (including the resident Flash Disk).
Page 65
Flash Disk 2. Set Primary Master to None. Set Secondary Master to Auto. Set boot device to floppy. 3. Boot DOS from the floppy; verify, on the Bootup screen, that the Flask Disk is shown as Flash Disk 0. 4. Run FDISK. 5.
Page 66
VMIVME-7740 Product Manual system will continue to assign drive letters to the primary partitions in an alternating fashion between the two drives. Next, logical partitions will be assigned drive letters starting on the first hard drive lettering each logical device sequentially until they are all named, then doing the same sequential lettering of each logical partition on the second hard disk.
Non-Volatile SRAM controller. The Time of Day feature found within the DS1384 device is explained in this section, but is not utilized by the VMIVME-7740. The actual Time of Day registers used by the VMIVME-7740 are located at the standard PC/AT I/O address.
VMIVME-7740 Product Manual Table 4-12 Watchdog Registers Register Address Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Range $D8000 0.1 Seconds (BCD) 0.01 Seconds (BCD) 00 - 99 $D8001 10 Seconds (BCD)
Watchdog Timer Time of Day Registers Registers 0, 1, 2, 4, 6, 8, 9, and A contain Time of Day data in BCD. Register 0 contains two Time of Day values. Bits 3 - 0 contain the 0.01 Seconds value with a range of 0 to 9 in BCD while Bits 7 - 4 contain the 0.1 Seconds value with a range of 0 to 9 in BCD.
VMIVME-7740 Product Manual There are two techniques for reading the Time of Day from the Watchdog Timer. The first is to halt the external Time of Day registers from tracking the internal Time of Day registers by setting the Te bit (Bit 7 of the Command Register) to a logic zero (0), then reading the contents of the Time of Day registers.
Watchdog Timer Watchdog Alarm Registers Register C contains two Watchdog Alarm values. Bits 3 - 0 contain the 0.01 Seconds value with a range of 0 to 9 in BCD, while Bits 7 - 4 contain the 0.1 Seconds value with a range of 0 to 9 in BCD.
Page 72
VMIVME-7740 Product Manual Tdm - Bit 2 Time of Day Alarm Mask - Enables/Disables the Time of Day Alarm to Interrupt Output when Ipsw (see Bit 6, Interrupt Switch) is set to logic one (1). When set to a logic zero (0), Time of Day Alarm Interrupt Output will be enabled. When set to a logic one (1), Time of Day Alarm Interrupt Output will be disabled.
NVRAM NVRAM The VMIVME-7740 includes 32 K bytes of NVRAM addressed at $D8018 to $DFFFF. The lower 24 bytes, $D8000 to $D8017, are dedicated to the Watchdog Timer, the System Command Register, the VME BERR Address Register, the VME BERR Address Modifier Register and the Board ID Register and are unavailable for SRAM use.
8. Quality of cables and I/O connections If products must be returned, obtain a RMA (Return Material Authorization) by contacting VMIC Customer Service. This RMA must be obtained prior to any return. VMIC Customer Service is available at: 1-800-240-7782. Or E-mail us at customer.service@vmic.com Maintenance Prints User level repairs are not recommended.
The VMIVME-7740 PC/AT-Compatible VMEbus Controller has several connectors for its I/O ports. Figure A-1 shows the locations of the connectors on the VMIVME-7740. Wherever possible, the VMIVME-7740 uses connectors and pinouts typical for any desktop PC. This ensures maximum compatibility with a variety of systems.
VMIVME-7740 Product Manual 10BaseT/ 100 Base Tx LAN 1 10BaseT/ 100 Base Tx LAN 2 Sysfail/HD/+5 V PWR THERM Indicator COM 1 COM 2 Reset Keyboard/Mouse SVGA Port Figure A-1 VMIVME-7740 Connector and Jumper Locations...
Dual Ethernet Connectors Pinout (J1, J7) Dual Ethernet Connectors Pinout (J1, J7) The pinout diagram for the Ethernet 10BaseT/100BaseTx connectors is shown in Figure A-2. ETHERNET CONNECTOR 10BaseT/100BaseTx Signal Name Transmit Data Transmit Data Receive Data TX_CT_OUT Transmit Center Tap Out TX_CT_OUT Transmit Center Tap Out LAN1...
VMIVME-7740 Product Manual Video Connector Pinout (J3) The video port uses a standard high-density D15 SVGA connector. Figure A-3 illustrates the pinout. VIDEO CONNECTOR DIRECTION FUNCTION Green Blue Reserved Ground Ground Ground Ground Reserved Ground Reserved Reserved Horizontal Sync Vertical Sync...
Serial Connector Pinout (P3) Serial Connector Pinout (P3) Each standard RS-232 serial port connector is a Microminiature D9 male as shown in the drawing in Figure A-4. Adapters to connect standard D9 serial peripherals to the board are available. Please refer to the product specification sheet for ordering information.
VMIVME-7740 Product Manual USB Connector (J8) The Universal Serial Bus (USB) port uses an industry standard, four position shielded connector. Figure A-5 shows the pinout of the USB connector. Signal Function USBV USB Power USB- USB Data - Board Side...
The keyboard/Mouse connector is a standard 6-pin female mini-DIN PS/2 connector as shown in Figure A-6. The Keyboard/Mouse Y-cable connects to the Keyboard/Mouse connector on the VMIVME-7740 and provides a separate connector for both Keyboard and Mouse. The pinout of these connectors are shown in Table A-1.
VMIVME-7740 Product Manual VMEbus Connector Pinout Figure A-7 shows the location of the VMEbus P1 and P2 connectors and their orientation. Table A-2 and Table A-3 show the pin assignments for the VMEbus connectors. Figure A-7 VME64 Connector Diagram Table A-2 P1 - VME64 Connector...
Page 85
VMEbus Connector Pinout Table A-2 P1 - VME64 Connector (Continued) Signal Description Signal Description N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C. No Connect N.C.
VMIVME-7740 Product Manual Table A-3 P2 - VME64 Connector Signal Description Signal Description Signal Description Ground Power IDERST# IDE Control IDED[8] IDE Data Line 8 Ground IDED[7] IDE Data Line 7 IDED[9] IDE Data Line 9 N.C. No Connect IDED[6]...
Driver Software Installation In order to properly use the Video and LAN adapters of the VMIVME-7740, the user must install the driver software located on the distribution diskettes provided with the unit. Detailed instructions for installation of the drivers during installation of Windows 98 or Windows NT (Versions 4.0) operating systems are described in the...
VMIVME-7740 Product Manual Windows 98 SE (Second Edition) 1. Begin installation of Windows 98 SE, following the instructions provided by the Windows 98 SE manual. 2. When you reach the ‘WINDOWS 98 SE SETUP WIZARD SCREEN’, choose ‘TYPICAL’ under ‘SETUP OPTIONS’ and then click ‘NEXT’.
Windows NT (Version 4.0) Windows NT (Version 4.0) Windows NT 4.0 includes drivers for the on-board LAN, and video adapters. The following steps are required to configure the LAN for operation. 1. Follow the normal Windows NT 4.0 installation until you reach the Windows NT Workstation Setup window which states that Windows NT Needs To Know How This Computer Should Participate On A Network.
Page 92
VMIVME-7740 Product Manual 20. Select the Settings tab in the Display Properties window, then click the Display Type button. 21. In the Display Type window, click Change. 22. In the Change Display window, click Have Disk. 23. Insert disk 320-500052-002 into drive A.
Exit Menu ............106 Introduction The VMIVME-7740 utilizes the BIOS (Basic Input/Output System) in the same manner as other PC/AT compatible computers. This appendix describes the menus and options associated with the VMIVME-7740 BIOS.
VMIVME-7740 Product Manual Main Menu The Main menu allows the user to select QuickBoot, set the system clock and calendar, record disk drive parameters, and set selected functions for the keyboard. QurvÃTrÃVvyv H6DI 6qhprq Qr Trp v 7 @v DrÃTrpvsvpÃCry Rvpx7ÃHqr) b@hiyrqd...
The VMIVME-7740 does not support a second floppy drive. The default is Disabled. Primary Master/Slave The VMIVME-7740 has the capability of utilizing one IDE hard disk drive on the Primary Master bus. The default setting is Auto. The Primary Slave is assigned to the CD-ROM (if installed).
VMIVME-7740 Product Manual Secondary Master The Secondary Master is the resident Flash Disk (if installed). The default setting is Auto. Keyboard Features The Keyboard Features allows the user to set several keyboard functions. QurvÃTrÃVvyv H6DI DrÃTrpvsvpÃCry Frih qÃArh r TryrpÃQr Ãhr IGpx) b6d s ÃIGpx...
Main Menu Keyboard Auto-Repeat Delay (sec) If the Key Click is enabled, this determines the delay before a character starts repeating when a key is held down. The options are: 1/4, 1/2, 3/4, or 1 second. The default is 1/2. Keyboard Test When enabled, this feature will test the keyboard during boot-up.
VMIVME-7740 Product Manual Com Port Address If enabled, it will allow remote access through the serial port. The options are: Disabled, Motherboard Com A, and Motherboard Com B. The default is Disabled. Baud Rate Selects a baud rate for the serial port. The options are: 600, 1200, 2400, 4800, 9600, 19.2, 38.4, and 115.2.
Advanced Menu Large Disk Access Mode The options for the Large Disk Access Mode are: UNIX Novell Netware or Other. If you are installing new software and the drive fails, change this selection and try again. Different operating systems require different representations of drive geometries.
VMIVME-7740 Product Manual Enable Memory Map If enabled, turn system RAM off to free address space for use with an option card. Either a 128KB conventional memory gap, starting at 512KB, or a 1MB extended memory gap, starting at 15MB, will be created in the system RAM. The options are Disabled, Conventional, or Extended.
Power Power This screen, selected from the Main screen, allows the user to configure power saving options on the VMIVME-7740. QurvÃTrÃVvyv H6DI 6qhprq Qr Trp v 7 @v DrÃTrpvsvpÃCry Qr ÃThvt) b9vhiyrqd HhvÃQr Ãhvt 8QVÃUu yvtÃ9ÃUu ruyq) b9vhiyrqd pr rÃurÃt rhr hÃsÃrÃr ThqiÃUvr) bPssd HhvÃQr s hpr 6ÃTrqÃUvr) bPssd pr rÃr Ãi...
Boot Menu Boot Menu The Boot priority is determined by the stack order, with the top having the highest priority and the bottom the least. The order can be modified by highlighting a device and, using the <+> or <-> keys, moving it to the desired order in the stack. A device can be boot disabled by highlighting the particular device and pressing <Shift 1>.
VMIVME-7740 Product Manual Exit Menu The Exit menu allows the user to exit the BIOS program, while either saving or discarding any changes. This menu also allows the user to restore the BIOS defaults if desired. QurvÃTrÃVvyv @v H6DI 6qhprq Qr ...
BIOS Features Setup ..........110 Introduction The VMIVME-7740 includes a LANWorks option which allows the VMIVME-7740 to be booted from a network. This appendix describes the procedures to enable this...
First Boot menu. Selecting “Managed PC Boot Agent (MBA)” to boot from the LAN in this screen applies to the current boot only, at the next reboot the VMIVME-7740 will revert back to the setting in the Boot menu.
VMIVME-7740 Product Manual BIOS Features Setup After the Managed PC Boot Agent has been enabled there are several boot options available to the user. These options are RPL (default), TCP/IP, Netware, and PXE. The screens below show the defaults for each boot method.
This appendix provides the user with the information needed to develop custom applications for the VMIVME-7740. The CPU on the VMIVME-7740 is unique in that the BIOS cannot be removed; it must be used in the initial boot cycle. A custom application, like a revised operating system for example, can only begin to operate after the BIOS has finished initializing the CPU.
BIOS and reconfigure the system, or it may accept what the BIOS initialized. BIOS Control Overview There are two areas on the VMIVME-7740 in which the user must be familiar in order to override the initial BIOS configuration: the device addresses and the device interrupts.
Santa Clara, CA 95052-8119 (408) 765-8080 www.intel.com 6. VMIVME-7740 User Manuals 500-007740-000 Product Manual 500-007740-001 VMIVME-7740, Tundra Universe II-Based VMEbus Interface Product Manual 7. PCI Local Bus Specification, Rev. 2.1 PCI Special Interest Group P.O. Box 14070 Portland, OR 97214 (800) 433-5177 (U.S.)
Page 117
BIOS Operations 8. SMC FDC37C67X Enhanced Super I/O Controller SMC Component Products Division 300 Kennedy Dr. Hauppauge, NY 11788 (516) 435-6000 (516) 231-6004 (FAX) 9. ISA & EISA, Theory and Operation Solari, Edward Annabooks 15010 Avenue of Science, Suite 101 San Diego, CA 92128 USA ISBN 0-929392 -15-9 10.
64 Kbyte. ISA Devices The ISA devices on the VMIVME-7740 are configured by the BIOS at boot-up and adhere to the standard PC/AT architecture. They are mapped in I/O address space within standard addresses and their interrupts are mapped to standard interrupt control registers.
PCI Devices PCI devices are fully configured under I/O and/or Memory address space. Table E-2 describes the PCI bus devices that are on-board the VMIVME-7740 along with each device’s configuration spectrum. The PCI bus includes three physical address spaces. As with ISA bus, PCI bus supports Memory and I/O address space, but PCI bus includes an additional Configuration address space.
ISA Device Interrupt Map The VMIVME-7740 BIOS maps the IRQx lines to the appropriate device per the standard ISA architecture. Reference Figure E-2 on page 121. This initialization operation cannot be changed; however, a custom application could reroute the...
VMIVME-7740 Product Manual PCI Device Interrupt Map The PCI bus-based external devices include the two PCI expansion sites, the PCI-to-VMEbus bridge, and the VGA reserved connection. The default BIOS maps these external devices to the PCI Interrupt Request (PIRQx) lines of the PIIX4E. This mapping is illustrated in Figure E-2 on page 121 and is defined in Table E-3.
Introduction This appendix provides listings of a library of sample code that the programmer may utilize to build applications. These files are provided to the VMIVME-7740 user on disk 320-500052-006, Sample Application C Code for the VMIVME-7740, included in the distribution disk set.
VMIVME-7740 Product Manual Directory CPU The code under the CPU directory sets up the universe chip with one PCI-TO-VME window and enables universe registers to be accessed from VME to allow mailbox access. CPU.C /****************************************************************************/ /* FILE: CPU.C /* Setup the universe chip with one PCI-TO-VME window and enable universe */ /* registers to be accessed from VME to allow mailbox access.
Page 125
Directory CPU /* function prototypes */ void far interrupt irq_rcvd( void ); void init_int( void ); void restore_orig_int( void ); void do_exit( int ); /* global variables */ unsigned char pic2_org; unsigned long mb0_msg; unsigned long mb1_msg; unsigned long mb2_msg; unsigned long mb3_msg;...
Page 126
VMIVME-7740 Product Manual un_regs = (FPTR) temp_dword; else printf(“Unable to read configuration area 0x10\n”); exit(1); else printf(“Unable to locate PCI device Tundra Universe\n”); exit(1); test_int = read_configuration_area(READ_CONFIG_BYTE, bus, dev_func, 0x3C, &temp_dword); if(test_int == SUCCESSFUL) int_line = temp_dword & 0xFF; else printf(“Unable to read configuration area 0x3C\n”);...
Page 127
Directory CPU /* 32K PCI slave window at 0x10000000 to VME A16 0x0000 user data */ fw_long( un_regs + LSI0_BS_A, PCI_BASE16); /* pci base for A16 */ fw_long(un_regs + LSI0_BD_A, (PCI_BASE16 + 0x8000)); /* 32K window */ fw_long(un_regs + LSI0_TO_A, (0x00000000 - PCI_BASE16)); fw_long(un_regs + LSI0_CTL_A, (LSI_CTL_EN | LSI_CTL_VDW_32 | LSI_CTL_VAS_16));...
Page 128
VMIVME-7740 Product Manual fw_long(un_regs + VSI6_CTL_A, 0); fw_long(un_regs + VSI7_CTL_A, 0); fw_long(un_regs + SLSI_A, 0); fw_long(un_regs + VRAI_CTL_A, 0); fw_long(un_regs + LINT_EN_A, 0); fw_word(CPUREGS, 0); restore_orig_int( ); a20(0); exit(xcode); } /* end do_exit */ /*******************************************************************/ /* init_int() /* purpose: Using the interrupt assigned, the original vector is */ saved and the vector to the new ISR is installed.
Page 129
Directory CPU /* enable interrupt 9 */ outp(0xa1, (pic2_org & 0xFD)); break; case 0xa: old_vect = getvect(IRQA); /* save vector for IRQ 10 */ setvect(IRQA, irq_rcvd); /* enable interrupt 10 */ outp(0xa1, (pic2_org & 0xFB)); break; case 0xb: old_vect = getvect(IRQB); /* save vector for IRQ 11 */ setvect(IRQB, irq_rcvd);...
Page 130
VMIVME-7740 Product Manual break; case 0xf: old_vect = getvect(IRQF); /* save vector for IRQ 15 */ setvect(IRQF, irq_rcvd); /* enable interrupt 15 */ outp(0xa1, (pic2_org & 0x7F)); break; } /* end switch */ fw_long(un_regs + LINT_STAT_A, 0xFFF7FF); /* clear any previous status bits */ fw_long(un_regs + LINT_MAP0_A, 0);...
Page 131
Directory CPU void restore_orig_int(void) disable(); outp(0xa1, pic2_org); switch( int_line ) case 0x9: setvect( IRQ9, old_vect ); break; case 0xa: setvect( IRQA, old_vect ); break; case 0xb: setvect( IRQB, old_vect ); break; case 0xc: setvect( IRQC, old_vect ); break; case 0xd: setvect( IRQD, old_vect );...
VMIVME-7740 Product Manual ** FILE: CPU.H typedef unsigned char Byte; typedef unsigned short Word; typedef unsigned long Long; /* universe Device ID and Vendor ID */ #define UNIVERSE_VID 0x10E3 #define UNIVERSE_DID 0x0000 /* CPU specific bits located at I/O 0x400 */...
Directory CPU ** FILE: FLAT.C ** flat.c ** Access flat memory space (up to 4GB) in real mode. #include <stdio.h> #include <dos.h> #include “flat.h” ** Keyboard controller defines #define RAMPORT 0x70 #define KB_PORT 0x64 #define PCNMIPORT 0xA0 #define INBA20 0x60 #define INBA20ON 0xDF #define INBA20OFF 0xDD ** macro to clear keyboard port...
Page 136
VMIVME-7740 Product Manual void a20( int flag ) kx(); outp( KB_PORT, 0xD1 ); kx(); outp( INBA20, flag ? INBA20ON : INBA20OFF ); kx(); outp( KB_PORT, 0xFF ); kx(); ** convert a linear address to a far pointer void far * linear_to_seg( FPTR lin ) void far *p;...
Page 137
Directory CPU gdtptr.limit = 15; ** disable regular interrupts disable(); ** disable NMI outp( RAMPORT, inp( RAMPORT ) | 0x80 ); ** call protected mode code protinit( &gdtptr ); ** Turn interrupts back on enable(); ** Turn NMI back on outp( RAMPORT, inp( RAMPORT ) &...
Page 138
VMIVME-7740 Product Manual mov cr0,eax jmp short nxt nxt: asm { .386P mov bx,8 mov gs,bx mov es,bx and al,0xfe mov cr0,eax int fr_byte( FPTR adr ) int d; asm { .386P xor ax,ax /* zero gs */ mov gs,ax...
Page 140
VMIVME-7740 Product Manual asm { .386P xor ax,ax /* zero gs */ mov gs,ax mov eax,a mov bx,d mov word ptr gs:[eax],bx void fw_long( FPTR a, long d ) asm { .386P xor ax,ax /* zero gs */ mov gs,ax...
Page 141
Directory CPU mov ecx,n /* This is the number of dwords */ rep movs dword ptr es:[edi],dword ptr gs:[esi] pop es /* give back es */ /* flat move word */ void fmw_string( FPTR d, FPTR s, long n ) asm { .386P /* have to use ES for string move */...
Page 142
VMIVME-7740 Product Manual mov ecx,n /* This is the number of bytes */ rep movs byte ptr es:[edi],byte ptr gs:[esi] pop es /* give back es */...
Page 150
VMIVME-7740 Product Manual unsigned char register_number, unsigned long value); void outpd(unsigned short port, unsigned long value); unsigned long inpd(unsigned short port);...
Directory CPU ** FILE: UNIVERSE.H ** file: universe.h ** header file for the universe II chip register definitions typedef volatile struct universe_regs { unsigned long pci_id; /* PCI device ID vendor ID unsigned long pci_csr; /* PCI config control/status reg unsigned long pci_class;...
Page 152
VMIVME-7740 Product Manual unsigned long lsi2_ctl; /* PCI slave image 2 control reg unsigned long lsi2_bs; /* PCI slave image 2 base address reg unsigned long lsi2_bd; /* PCI slave image 2 bound address reg unsigned long lsi2_to; /* PCI slave image 2 translation offset reg */ unsigned long ur2;...
Page 153
Directory CPU unsigned long lsi6_bd; /* PCI slave image 6 bound address reg unsigned long lsi6_to; /* PCI slave image 6 translation offset reg */ unsigned long ur7; /* reserved unsigned long lsi7_ctl; /* PCI slave image 7 control reg unsigned long lsi7_bs;...
Page 154
VMIVME-7740 Product Manual unsigned long v5_statid; /* VME interrupt status/ID in IRQ5 unsigned long v6_statid; /* VME interrupt status/ID in IRQ6 unsigned long v7_statid; /* VME interrupt status/ID in IRQ7 unsigned long lint_map2; /* PCI interrupt map2 unsigned long vint_map2;...
Page 155
Directory CPU unsigned long vsi3_ctl; /* VMEbus slave image 3 control reg unsigned long vsi3_bs; /* VMEbus slave image 3 base address reg unsigned long vsi3_bd; /* VMEbus slave image 3 bound address reg unsigned long vsi3_to; /* VMEbus slave image 3 translation offset */ unsigned long urI[0x06];...
Page 156
VMIVME-7740 Product Manual unsigned long vsi7_bd; /* VMEbus slave image 7 bound address reg unsigned long vsi7_to; /* VMEbus slave image 7 translation offset */ unsigned long urP[0x05]; /* reserved unsigned long v_cr_csr; /* VMEbus CR/CSR reserved unsigned long vcsr_clr;...
Page 157
Directory CPU #define SCYC_ADDR_A 0x174 /* PCI special cycle PCI address reg #define SCYC_EN_A 0x178 /* PCI special cycle swap/compare enable reg */ #define SCYC_CMP_A 0x17C /* PCI special cycle compare data reg #define SCYC_SWP_A 0x180 /* PCI special cycle swap data reg #define LMISC_A 0x184 /* PCI miscellaneous reg #define SLSI_A...
Page 167
Directory CPU #define DGCS_VOFF9 0x00080000 /* R/W min off between xfers 2 us #define DGCS_VOFFA 0x00090000 /* R/W min off between xfers 4 us #define DGCS_VOFFB 0x000A0000 /* R/W min off between xfers 8 us #define DGCS_ACT 0x00008000 /* R DMA active flag #define DGCS_STOP 0x00004000 /* R/WC DMA stopped flag...
Page 169
Directory CPU #define LINT_STAT_VIRQ3 0x00000008 /* R/WC VIRQ3 interrupt received #define LINT_STAT_VIRQ2 0x00000004 /* R/WC VIRQ2 interrupt received #define LINT_STAT_VIRQ1 0x00000002 /* R/WC VIRQ1 interrupt received #define LINT_STAT_VOWN 0x00000001 /* R/WC VOWN interrupt received /* lint_map0 - PCI interrupt map 0 register */ #define LINT_MAP0_VIRQ7_0 0x00000000 /* R/W PCI int LINT#0 for VME IRQ7 #define...
Page 170
VMIVME-7740 Product Manual #define LINT_MAP0_VIRQ5_0 0x00000000 /* R/W PCI int LINT#0 for VME IRQ5 #define LINT_MAP0_VIRQ5_1 0x00100000 /* R/W PCI int LINT#1 for VME IRQ5 #define LINT_MAP0_VIRQ5_2 0x00200000 /* R/W PCI int LINT#2 for VME IRQ5 #define LINT_MAP0_VIRQ5_3 0x00300000 /* R/W PCI int LINT#3 for VME IRQ5...
Page 171
Directory CPU #define LINT_MAP0_VIRQ3_3 0x00003000 /* R/W PCI int LINT#3 for VME IRQ3 #define LINT_MAP0_VIRQ3_4 0x00004000 /* R/W PCI int LINT#4 for VME IRQ3 #define LINT_MAP0_VIRQ3_5 0x00005000 /* R/W PCI int LINT#5 for VME IRQ3 #define LINT_MAP0_VIRQ3_6 0x00006000 /* R/W PCI int LINT#6 for VME IRQ3 #define LINT_MAP0_VIRQ3_7 0x00007000 /* R/W PCI int LINT#7 for VME IRQ3 #define...
Page 172
VMIVME-7740 Product Manual #define LINT_MAP0_VIRQ1_6 0x00000060 /* R/W PCI int LINT#6 for VME IRQ1 #define LINT_MAP0_VIRQ1_7 0x00000070 /* R/W PCI int LINT#7 for VME IRQ1 #define LINT_MAP0_VOWN_0 0x00000000 /* R/W PCI int LINT#0 for VME OWN */ #define LINT_MAP0_VOWN_1 0x00000001 /* R/W PCI int LINT#1 for VME...
Page 173
Directory CPU #define LINT_MAP1_SYSFAIL_0 0x00000000 /* R/W PCI int LINT#0 for SYSFAIL #define LINT_MAP1_SYSFAIL_1 0x01000000 /* R/W PCI int LINT#1 for SYSFAIL #define LINT_MAP1_SYSFAIL_2 0x02000000 /* R/W PCI int LINT#2 for SYSFAIL #define LINT_MAP1_SYSFAIL_3 0x03000000 /* R/W PCI int LINT#3 for SYSFAIL #define LINT_MAP1_SYSFAIL_4 0x04000000 /* R/W PCI int LINT#4 for SYSFAIL #define...
Page 174
VMIVME-7740 Product Manual #define LINT_MAP1_SW_IACK_3 0x00030000 /* R/W PCI int LINT#3 for SW_IACK */ #define LINT_MAP1_SW_IACK_4 0x00040000 /* R/W PCI int LINT#4 for SW_IACK */ #define LINT_MAP1_SW_IACK_5 0x00050000 /* R/W PCI int LINT#5 for SW_IACK */ #define LINT_MAP1_SW_IACK_6 0x00060000 /* R/W PCI int LINT#6 for...
Page 175
Directory CPU /* vint_en - VMEbus interrupt enable register */ #define VINT_EN_SW7 0x80000000 /* R/W enable VMEbus int SW7 #define VINT_EN_SW6 0x40000000 /* R/W enable VMEbus int SW6 #define VINT_EN_SW5 0x20000000 /* R/W enable VMEbus int SW5 #define VINT_EN_SW4 0x10000000 /* R/W enable VMEbus int SW4 #define VINT_EN_SW3 0x08000000 /* R/W enable VMEbus int SW3...
Page 176
VMIVME-7740 Product Manual #define VINT_STAT_SW3 0x08000000 /* R/W VMEbus int SW3 #define VINT_STAT_SW2 0x04000000 /* R/W VMEbus int SW2 #define VINT_STAT_SW1 0x02000000 /* R/W VMEbus int SW1 #define VINT_STAT_MBOX3 0x00080000 /* R/W VMEbus int MAILBOX 3 #define VINT_STAT_MBOX2 0x00040000 /* R/W VMEbus int MAILBOX 2...
Page 177
Directory CPU #define VINT_MAP0_LINT6_2 0x02000000 /* R/W VME int 2 for LINT6 #define VINT_MAP0_LINT6_3 0x03000000 /* R/W VME int 3 for LINT6 #define VINT_MAP0_LINT6_4 0x04000000 /* R/W VME int 4 for LINT6 #define VINT_MAP0_LINT6_5 0x05000000 /* R/W VME int 5 for LINT6 #define VINT_MAP0_LINT6_6 0x06000000 /* R/W VME int 6 for LINT6 #define...
Page 178
VMIVME-7740 Product Manual #define VINT_MAP0_LINT2_D 0x00000000 /* R/W VME int disable for LINT2 #define VINT_MAP0_LINT2_1 0x00000100 /* R/W VME int 1 for LINT2 #define VINT_MAP0_LINT2_2 0x00000200 /* R/W VME int 2 for LINT2 #define VINT_MAP0_LINT2_3 0x00000300 /* R/W VME int 3 for LINT2...
Page 179
Directory CPU #define VINT_MAP1_SW_IACK_3 0x00030000 /* R/W VME int 3 for SW_IACK #define VINT_MAP1_SW_IACK_4 0x00040000 /* R/W VME int 4 for SW_IACK #define VINT_MAP1_SW_IACK_5 0x00050000 /* R/W VME int 5 for SW_IACK #define VINT_MAP1_SW_IACK_6 0x00060000 /* R/W VME int 6 for SW_IACK #define VINT_MAP1_SW_IACK_7 0x00070000 /* R/W VME int 7 for SW_IACK #define...
Page 180
VMIVME-7740 Product Manual #define VINT_MAP1_DMA_6 0x00000006 /* R/W VME int 6 for DMA #define VINT_MAP1_DMA_7 0x00000007 /* R/W VME int 7 for DMA /* statid - interrupt STATUS/ID OUT 0x00XXXXXX */ #define STATID 0xFF000000 /* R/W interrupt status/ID out MASK */...
Page 181
Directory CPU #define LINT_MAP2_LM2_3 0x03000000 /* R/W PCI int LINT#3 for LOC MON2 #define LINT_MAP2_LM2_4 0x04000000 /* R/W PCI int LINT#4 for LOC MON2 #define LINT_MAP2_LM2_5 0x05000000 /* R/W PCI int LINT#5 for LOC MON2 #define LINT_MAP2_LM2_6 0x06000000 /* R/W PCI int LINT#6 for LOC MON2 #define LINT_MAP2_LM2_7 0x07000000 /* R/W PCI int LINT#7 for LOC MON2...
Page 182
VMIVME-7740 Product Manual #define LINT_MAP2_LM0_6 0x00060000 /* R/W PCI int LINT#6 for LOC_MON0 */ #define LINT_MAP2_LM0_7 0x00070000 /* R/W PCI int LINT#7 for LOC_MON0 */ #define LINT_MAP2_MB3_0 0x00000000 /* R/W PCI int LINT#0 for MAILBOX3 #define LINT_MAP2_MB3_1 0x00001000 /* R/W PCI int LINT#1 for MAILBOX3...
Page 183
Directory CPU #define LINT_MAP2_MB1_1 0x00000010 /* R/W PCI int LINT#1 for MAILBOX1 #define LINT_MAP2_MB1_2 0x00000020 /* R/W PCI int LINT#2 for MAILBOX1 #define LINT_MAP2_MB1_3 0x00000030 /* R/W PCI int LINT#3 for MAILBOX1 #define LINT_MAP2_MB1_4 0x00000040 /* R/W PCI int LINT#4 for MAILBOX1 #define LINT_MAP2_MB1_5 0x00000050 /* R/W PCI int LINT#5 for MAILBOX1...
Page 184
VMIVME-7740 Product Manual #define VINT_MAP2_MB3_4 0x00004000 /* R/W VME int VIRQ#4 for MAILBOX3 */ #define VINT_MAP2_MB3_5 0x00005000 /* R/W VME int VIRQ#5 for MAILBOX3 */ #define VINT_MAP2_MB3_6 0x00006000 /* R/W VME int VIRQ#6 for MAILBOX3 */ #define VINT_MAP2_MB3_7 0x00007000 /* R/W VME int VIRQ#7 for...
Page 185
Directory CPU #define VINT_MAP2_MB0_2 0x00000002 /* R/W VME int VIRQ#2 for MAILBOX0 */ #define VINT_MAP2_MB0_3 0x00000003 /* R/W VME int VIRQ#3 for MAILBOX0 */ #define VINT_MAP2_MB0_4 0x00000004 /* R/W VME int VIRQ#4 for MAILBOX0 */ #define VINT_MAP2_MB0_5 0x00000005 /* R/W VME int VIRQ#5 for MAILBOX0 */ #define VINT_MAP2_MB0_6...
Page 187
Directory CPU #define MISC_CTL_VARBTO_2 0x01000000 /* R/W VME arb. time out 16 us #define MISC_CTL_VARBTO_3 0x02000000 /* R/W VME arb. time out 256 us #define MISC_CTL_SW_LRST 0x00800000 /* W software PCI reset #define MISC_CTL_SW_SRST 0x00400000 /* W software VME sysrest #define MISC_CTL_BI 0x00100000 /* R/W universe in BI-Mode...
Page 188
VMIVME-7740 Product Manual #define VSI_CTL_VAS_16 0x00000000 /* R/W address space A16 #define VSI_CTL_VAS_24 0x00010000 /* R/W address space A24 #define VSI_CTL_VAS_32 0x00020000 /* R/W address space A32 #define VSI_CTL_VAS_R1 0x00030000 /* R/W address space reserved 1 #define VSI_CTL_VAS_R2 0x00040000 /* R/W address space reserved 2...
Page 189
Directory CPU #define LM_CTL_AM_D 0x00400000 /* R/W location monitor AM = DATA #define LM_CTL_AM_P 0x00800000 /* R/W location monitor AM = PROGRAM #define LM_CTL_AM_DP 0x00C00000 /* R/W location monitor AM = BOTH #define LM_CTL_AM_U 0x00100000 /* R/W location monitor AM = USER #define LM_CTL_AM_S 0x00200000 /* R/W location monitor AM = SUPER */...
Directory SRAM Directory SRAM The file in this directory can be used to test the integrity of the battery backed SRAM. ** FILE: TS.C /****************************************************************************/ /* FILE: TS.C /* Test battery backed SRAM with patterns and data=address. /****************************************************************************/ #include <stdlib.h> #include <stdio.h>...
Page 192
VMIVME-7740 Product Manual unsigned long lrd; printf(“\nTesting 32K SRAM DATA/~DATA B/W/L/ADDR .....”); buf_ptr = (unsigned int far *) MK_FP( 0xD800, 0x18 ); /* fill and test buf with DATA/~DATA BYTES 4 patterns */ for( x = 0; x < 4; x++ ) { b_ptr = (unsigned char far *) buf_ptr;...
This directory contains sample code useful in the creation of applications involving the VMIVME-7740’s three software controlled 16-bit timers. The code is written for the control of a single timer, but can be utilized in generating code for any timer configuration.
Page 196
VMIVME-7740 Product Manual #define CW_CLC 0x00 /* W Cntr latch command (cnt/stat) #define CW_SLC 0x00 /* W Status latch command #define CW_LSB 0x10 /* W LSB only #define CW_MSB 0x20 /* W MSB only #define CW_LSBMSB 0x30 /* W LSB first then MSB...
Directory WATCHDOG Directory WATCHDOG This directory contains sample code useful in the creation of applications involving the VMIVME-7740’s Watchdog Timer function as described in Chapter 4. ** FILE: WATCHDOG.H ** DS1384 REGISTER OFFSETS /* 7 6 5 4 3 2 1 0 */...
Page 213
Index Numerics 100BaseTx Floppy Disk Drive 51, 79 10BaseT Floppy Drive A 82C54 Floppy Drive B floppy mapping functional diagram address map AGP controller auxiliary I/O mapping graphics video resolutions 36, 48, 114 BIOS Halt On BIOS setup screens hexadecimal block diagram 42, 118 CMOS configuration...
Page 214
VMIVME-7740 Product Manual keyboard connector screen resolutions Select Timer Serial I/O (COM1,2,3 & 4) serial port connector, D9 or RJ45 serial port mapping LPT1 Parallel I/O serial ports LPT2 Parallel I/O SERR interrupt Setting The Time SIZE SMC Super-I/O chip...
Need help?
Do you have a question about the VMIVME-7740 and is the answer not in the manual?
Questions and answers