PROPRIETARY NOTICE All rights reserved by Janz Automationssysteme AG. No parts of this technical manual may be modified, copied or reproduced in any form or by any means for commercial use without the prior written permission of Janz Automationssysteme, Germany. All instructions, information and specification contained in this manual are for reference only and remain subject to change without announcement.
CAN-PCI2 CANbus connection for PCIbus (User's Manual) Version 1.1
refers to product revision no. V 1.0
Title:
CAN-PCI2 User's Manual
File:
g:\as\entwicklung\projekte\hw\pc\can-pci2\manual\can_pci2.doc
Pattern:
d:\foras\ew\manual.dot
Created:
Herbert Bergmeier, 07.06.2001
Last Update:
as, 10.01.2005
© Janz Automationssysteme AG 1998 Im Dörener Feld 8 PO Box 1906 D-33 049 Paderborn Tel.:
+49-5251-1550-0
FAX:
+49-5251-1550-90
email:
[email protected]
Internet:
www.janzag.de
CAN-PCI2 (User's Manual) • Introduction
1-3
Contents
1
Introduction 1.1 1.1.1 1.1.2 1.2
2
3
5
11
MODULbus number ........................................................................................................11 CANbus Termination .......................................................................................................11 Finding Free Resources ..................................................................................................11 System BIOS..............................................................................................................11
Programming Information 4.1 4.2 4.3
8
Handling Instructions .........................................................................................................8 Components and Jumper Locations..................................................................................9 Connecting IO signals .....................................................................................................10 Software Considerations .................................................................................................10
Configuration 3.1 3.2 3.3 3.3.1
4
Features ............................................................................................................................6 Hardware ......................................................................................................................6 Software .......................................................................................................................6 Functional Overview..........................................................................................................7
Installation 2.1 2.2 2.3 2.4
6
12
PCIbus configuration space ............................................................................................12 Memory address space ...................................................................................................12 On-board registers ..........................................................................................................13
Appendices
14
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8
Technical Data.................................................................................................................14 References ......................................................................................................................15 Pin Assignment CANbus0 Connector U2........................................................................16 Pin Assignment CANbus1 Connector U4........................................................................17 Pin Assignment Link-connector U7 .................................................................................18 Additional Jumper Functions ...........................................................................................19 Product History ................................................................................................................20 Manual History.................................................................................................................20
Rev. 1.1
© JANZ Automationssysteme AG
1-4
CAN-PCI2 (User's Manual) • Introduction
List of Figures figure 1: CAN-PCI2 block diagram ...........................................................................................................7 figure 2: Component side of CAN-PCI2 ...................................................................................................9 figure 3: Bracket for CAN-PCI boards ....................................................................................................10
List of Tables table 1: User jumper functions................................................................................................................11 table 2: Pin assignment of U7 connector................................................................................................18 table 3: Additional jumper functions .......................................................................................................19
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Introduction
1-5
About this Manual This is the User’s manual for the CAN-PCI2 module. It gives all necessary information to users and programmers of the CAN-PCI2. We try to keep it compact, so there are no special section for users and programmers. Users that are no programmers might therefore only read the first sections (Introduction and Installation), and come back to the detailed sections when they need a special information. In any case, this manual assumes that the users, especially programmers, are familiar with their job. Were not specific to the CAN-PCI2, we do not give basic information about programming, computer hardware or describe operation of bus-systems. You will find pointers to advance information in section 5.2. The manual starts of with some Introduction to the CAN-PCI2. This is some prose that describes the features and architecture of the CAN-PCI2. You should already know this if you have bought the board! It then discusses some topics about Installation and Configuration of the product. The rest of the manual will then cover technical details about the CAN-PCI2.
Conventions If numbers are specified in this manual, they will be either decimal or hexadecimal. We use C-notation to identify hexadecimal numbers (the 0x prefix). If we refer to low active signal names, they will suffixed by a “#” character. Some parts of the text are really important. These are visually marked up with the following signs: Indicates information that, when not fully understood or followed, might cause permanent damage to the system. You should not start using the product before you have read this information. Indicates information that we think you should have read to save your time by avoiding problems. Important suggestions that should be followed will also be marked with this sign.
Acronyms and Abbreviations EMC ESD MODULbus
Rev. 1.1
Electromagnetic capability. Electrostatic discharge. Industry standard mezzanine bus system.
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Introduction
1-6
1
Introduction
The CAN-PCI2 module offers a powerful scalable CAN connection for PCI bus host systems. The CAN-PCI2 module supplies up to 2 CAN connections which can be controlled via the onboard MC68332. The CAN-PCI2 is basically the MOD-PCI plus a VMOD-ICAN3 on a single board.
1.1
Features
1.1.1
Hardware
• • • • • • • • • • • •
Intelligent high performance CAN controller for PCI host systems PCI short form factor 32 bit PCI 2.2 target interface (PLX 9030) 3,3V, 5V PCI interface, short card Only one PCI-bus slot occupied Local intelligence with MC68332, 20MHz 256Kbyte SRAM, 16bit wide 64Kbyte DPRAM, 16bit wide 128Kbyte Flash EPROM, 16bit wide up to 2 SJA1000 CAN Controller ISO/DIS 11898, optionally opto-coupled 9pol. D-Sub connector for each CAN interface at PCI bracket
1.1.2
Software
• Win-NT, Win-95, VxWorks and Linux drivers support the CAN-PCI2 board. Contact Janz Automationssysteme for more information about the available software packages.
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Introduction
1.2
1-7
Functional Overview
ISO/DIS 11898 ISO/DIS 11898
SRAM
SJA1000 SJA1000
16bit
Control Logic and Drivers
Local bus
PCIbus slave adapter PLX9030 PCI registers local-conf. regs.
MC68332 @20MHz board number
EEPROM
PCIbus 32bit
PCIbus card edge connector
FLASH
64KBytes banked DP-RRAM
The CAN-PCI2 hosts a local processor to do the CANbus handling. This local processor communicates with the host system (the PCI computer) via a dual ported memory. In figure 1 you will find a block diagram of the CAN-PCI2.
figure 1: CAN-PCI2 block diagram
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Installation
2-8
2
Installation
When opening the shipping package of the CAN-PCI2, you should immediately check the contents of the package. In the package you will find information about the scope of delivery, as this depends on the options that you have ordered. You need to check the following user options (The defaults that are mentioned here, might be replaced by the shipping information that is enclosed in the CAN-PCI2 delivery): Item S1
2.1
Type Switch
Description MODULbus number
Default 0
Reference Sec. 3.1
Handling Instructions When installing the CAN-PCI2 into a PC, you need to obey some handling precautions to avoid damaging your board with electrostatic discharge.
When taking the board from the anti-static bag in which it is delivered, you should wear a grounded anti-static wrist strap. The strap should also be connected to your working environment. It is recommended to first touch the module at the shells of the D-SUB connectors, as they have a defined resistive path of about 1MΩ to the sensitive board electronics. Thereby a controlled discharge will take place. Before inserting the module to the PC, you should check that the power supply has enough strength to provide the extra load for the CAN-PCI2 module. You should also check whether the supplied voltage levels are appropriate. See section 5.1. for the specification. Before adding the CAN-PCI2 to your system, you must turn the power off. When you insert the CAN-PCI2 into the PC, a second discharge defect could arise. You need to ensure a defined discharge! Do so by „connecting“ the CAN-PCI2 D-SUB shells with the ground of your PC system. This would be ensured if you touch the D-SUB, while you wear an anti-static wrist strap that is connected the ground of the PC. If the PC does not boot after having inserted the CAN-PCI2, turn the power off and contact us for help with your problem.
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Installation
2.2
2-9
Components and Jumper Locations
DCDC1
J7 J8 J9
IC8
IC 17
IC32
IC22
IC30
IC23
FLASH PLD
OC2
CAN0
IC10
OC4
IC20
Link-Connector
IC16 IC14
SRAM IC7
IC26
IC3
DPRAM
OC1
IC6
CAN0
IC2
IC5
DC/DC
IC9
IC37
IC19
SRAM IC43
J1 J4
IC 1
IC27
J3
IC 24
OC3
J2
IC21
IC 18
IC 34
IC41
IC13
LED1
PCI interface (PLX 9030)
S1
PLD
OSC1
IC36
IC35
CAN1
DCDC2
U3 IC4
IC 28
IC31
IC38
EEPROM
OC5 IC33
OC6
CAN1
IC25
OSC2
MC68332 IC 40
DC/DC
figure 2: Component side of CAN-PCI2
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Installation
2 - 10
2.3
Connecting IO signals
The CAN-PCI2 is delivered with D-SUB connectors for the CANbus I/Os. The connectors are assigned as defined by CiA DS102 oder CiA DS301.
CAN 0
Status LEDs
CAN 1
figure 3: Bracket for CAN-PCI boards The CAN-PCI2 bracket has openings special to the 9pin D-SUB connectors for CANbus. If only one CAN interface equipped, the opening of CAN1 is closed.
2.4
Software Considerations
For any information about installing drivers and other software packages related to the CAN-PCI2, refer to the documentation that comes with that driver or software. As the CAN-PCI2 is compatible to the MOD-PCI/VMOD-ICAN3 combination. The difference between MOD-PCI/VMOD-ICAN3 and CAN-PCI2 is only the PCIbus Slave adapter. On the CAN-PCI2 is used the PCI controller PCI9030 with 3,3V/5V PCI Interface instead of the PCI9052 on the MOD-PCI. All software written for this hardware will also work on CAN-PCI2. For the CAN-PCI2 can however not used the existing software drivers of the MOD-PCI. The software drivers written for the CAN-PCI2 will still support the MOD-PCI as well.
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Configuration
3
3 - 11
Configuration
Only the MODULbus number of the CAN-PCI2 must be configured before it can be used in a PC.
3.1
MODULbus number
The MODULbus number is assigned with the HEX switch S1. It can afterwards be read through the MODULbus number register. The switch itself has no other side effect, than that of being readable through the register. You must not use the same MODULbus number on two CAN-PCI2s in a system. If a number is doubled, then our drivers will not be able to locate the cards properly. Refer to the driver documentation how to specify MODULbus number to use to the driver.
3.2
CANbus Termination
On the CAN-PCI2 are 3 jumpers for user configuration. The jumper have the following functions: Jumper J8 J9 J7
Set Open Set Open Set Open
Function CANbus termination CAN0 on CANbus termination CAN0 off CANbus termination CAN1 on CANbus termination CAN1 off SYSCLK termination on SYSCLK termination off table 1: User jumper functions
The CANbus and the SYSCLK termination can be set by jumpers as well as by software. Detailed informations can be seen in the VMOD-ICAN3 manual. SYSCLK is a system clock signal for synchronisation between CANbus nodes (uses ISO/DIS 11898 physics). This is an option and is not present in all versions of the CAN-PCI2.
3.3
Finding Free Resources
This section should not exist at all, as PCI is said to be plug-and-play. It however does.
3.3.1 System BIOS The first obstacle that must be checked is the BIOS of today’s PCIbus motherboards. They have a “PNP and PCI setup” section, where the interrupt resources of the system are managed. Each of the 16 interrupt controller inputs that is not used for a special purpose (timer, FPU, etc), can basically be assigned for two purposes: • •
PNP/PCI: Interrupts that are assigned to this class can be dynamically assigned to PCIbus devices or to plug-and-play devices when the system boots up. Legacy ISA: These interrupts are not subjected to PNP/PCI. They can safely be used by ISAbus add-in cards, as the BIOS will treat them as reserved. At least one of the interrupt lines must be left in PNP/PCI mode, so that the PCI BIOS can assign them to PCI-bus cards.
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Programming Information
4 - 12
4
Programming Information
This describes the methods that you need to take, when you wish to work with the CAN-PCI2. It definitely relies on the PLX9030 EEPROM configuration as it is factory (JANZ) supplied. If you manage to clear or alter the EEPROM, then this chapter will not longer apply to you.
4.1
PCIbus configuration space
The board (the interface chip) is identified by a set of IDs in PCI configuration space as listed below: Purpose Vendor ID Device ID Subsystem Vendor ID Subsystem ID
Value 0x10b5 0x9030 0x13C3 0x02??
Found in CFG space register 0 CFG space register 0 CFG space register 0x2c CFG space register 0x2c
The LSB of the Subsystem ID codes the hardware revision of the CAN-PCI2 board. Currently the following version coding is used: LSB of Subsystem ID 0x00
CAN-PCI2 revision V1.0
The PLX9030 provides address spaces to access the local configuration registers (in both I/O and memory range). These registers are used to configure the PLX behaviour (i.e. access times at the local bus or local bus configuration). They are not the same as the configuration space registers. Additionally three address spaces are configured through which the modules address space and some board-registers can be accessed. PCI base address register 0 1 2 3 4 5
Local address space 0 1 2 3
Description Local configuration registers (memory mapped) Local configuration registers (I/O mapped) CAN-PCI2 memory space, little endian access CAN-PCI2 memory space, big endian access On-Board registers Unused
Size 128Bytes 128Bytes 4KBytes 4KBytes 4KBytes -
The actual addresses for these memory spaces are configured by the PCI-BIOS of your system every time the computer is booted. If you wish to access one of these spaces, then you need to read the actual addresses from the PCI configuration space! The CAN-PCI2 does not provide an expansion ROM.
4.2
Memory address space
Through the memory address spaces the CAN part (eaqual to VMOD-ICAN3) of the CAN-PCI2 is accessed. Two spaces are available for different endian behaviour. Though, both spaces have the same address usage: Address Offset 0x000..0x1ff 0x200..0x3ff © JANZ Automationssysteme AG
accesses: VMOD-ICAN3 address space Reserved, do not access Rev. 1.1
CAN-PCI2 (User's Manual) • Programming Information
4 - 13
With big-endian access all byte positions are swapped with respect to little-endian mode. Note that even when accessing the VMOD-ICAN3 in big-endian mode, you do not have big-endian behaviour with respect to the host CPU. If you write a word to address zero and then read a byte from address zero, you will get the least significant byte of the previously written word. You can access the VMOD-ICAN3 space with 32bit PCI-bus cycles, as the PLX9030 is capable to break such a transfer into two 16bit transfers on the local bus. Using this feature might improve performance when reading or writing data.
4.3
On-board registers
This address space provides some on-board registers, run-time configuration purposes that are outside of the scope of the 9030’s local configuration registers. Address Offset 0x1 (byte only!) 0x3 (byte only!) 0x5 (byte only!) 0x7 (byte only!)
Read access INT_STAT MBUS_NUM -
Write access INT_DISABLE INT_ENABLE RESET_ASSERT RESET_DEASSERT
Further programming information about the CAN-PCI2 can be found in the manual of the baseproducts. Refer to the MOD-PCI and VMOD-ICAN3 manuals for more information.
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Appendices
5 - 14
5
Appendices
5.1
Technical Data
PCI Type Signaling Bus Clock Frequency Interrupt
Slave only board 3,3V / 5V (keyed) 0 .. 33MHz IRQA#
Physical Dimensions PCB Size Slot requirements Weight
174mm x 106mm (short card) 1 slot. 150g,
Power Requirements +5V (±5%) ±12V (±5%)
CAN-PCI2/1O typ. 700mA 0
CAN-PCI2/2O typ. 1050mA
Environmental Specifications Temperature range 0..+70°C (operating), -20..+75 (non operating) Humidity 0%..80%, non condensing
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Appendices
5.2
5 - 15
References
These references direct you to manuals and specification, that you might need to know when you attempt programming the CAN-PCI2. Most of the documents can be downloaded from the Internet. Look for the WWW servers of the chip manufacturers. [1] [2] [3] [4] [5] [6]
MODULbus Specification Manual, Fördergemeinschaft MODULbus e.V., Version 2.2, 1994. PCI local bus specification, PCI Special Interest Group, Revision 2.1, 1995. PCI 9030 Data Sheet, Version 1.0, August 1997, PLX Technology. VMOD-ICAN3 Hardware Manual, Janz Automationssysteme AG, Version 1.2, 1998 MOD-PCI Hardware Manual, Janz Automationssysteme AG, Version 2.2, 2000 VMOD-ICAN2/3 Users Manual, Janz Automationssysteme AG, Version 1.7, 1999
Address List Fördergemeinschaft MODULbus e.V. PO Box 1906 D-33049 Paderborn Phone:+49/5251/55131 FAX: +49/5251/155091 Internet: PCI Special Interest Group P.O. Box 14070 Portland, OR 97214 Phone: (503)797-4207 FAX: (503)234-6762 WWW: www.sigpci.com PICMG (PCI Industrial Manufacturers Group) 301 Edgewater Place Suit 220 Wakefield, MA 01880 USA Phone: 617.224.1100 FAX: 617.224.1239 PLX Technology, Inc. 390 Potrero Avenue Sunnyvale, CA 94086 Internet: www.plxtech.com WWW-References Janz Automationssysteme AG PCI Special Interrest Group PLX PICMG
Rev. 1.1
www.janz.de www.pcisig.org www.plxtech.com www.picmg.com
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Appendices
5 - 16
5.3
Pin Assignment CANbus0 Connector U2
This is the connector for CANbus0
DSUB 1 2 3 4 5 6 7 8 9
NC CAN_L GND 2) 1) SYSCLK_H / RxD 1) TxD GND CAN_H 2) SYSCLK_L 3) EXVCC
Flat cable header 1 3 5 7 9 2 4 6 8 10
Notes: 1) RxD and TxD are the RS232 signals of the MC68332 processor. Optionally available in the non-opto-coupled version of the MC68332. Not connected otherwise 2) Hardware system clock signal for synchronisation between CANbus nodes (uses ISO/DIS 11898 physics). This is an option and is not present in all versions of the CAN-PCI2. 3) On a modified version of the CAN-PCI2, you can power the CANbus interface section through this pin. In this case the local DC/DC converter is saved to reduce cost. If the EXVCC option is not present (IC6 is not present), then this pin is not connected.
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Appendices
5.4
5 - 17
Pin Assignment CANbus1 Connector U4
This is the connector for CANbus1
DSUB 1 2 3 4 5 6 7 8 9
NC CAN_L GND NC NC GND CAN_H NC 1) EXVCC
Flat cable header 1 3 5 7 9 2 4 6 8 10
Notes: 1) On a modified version of the CAN-PCI2, you can power the CANbus interface section through this pin. In this case the local DC/DC converter is saved to reduce cost. If the EXVCC option is not present (IC31 is not present), then this pin is not connected.
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Appendices
5 - 18
5.5
Pin Assignment Link-connector U7
Through this connector connections between several carrier boards in one or more systems are possible. 1 3 5 7 9
1)
BP_SYSCLK GND NC 2) RxD NC
NC NC VCC 2) TxD NC
2 4 6 8 10
table 2: Pin assignment of U7 connector Notes: 1) Hardware system clock signal for synchronisation between CANPCI2 modules (TTL signal). This is an option and is not present in all versions of the CAN-PCI2. 2) RxD and TxD are the RS232 signals of the MC68332 processor. Only available, if the RS232 transceiver IC11 is fitted.
© JANZ Automationssysteme AG
Rev. 1.1
CAN-PCI2 (User's Manual) • Appendices
5.6
5 - 19
Additional Jumper Functions
Additional to the user jumpers , needed for board configuration, on the CAN-PCI2 are 6 factory defined solder jumpers. Their functions are as follows: Jumper J1 J2
set open Set
J3
Set
J4
Set Open
J5 J6 J13 J14
Function Port bit D3 of MC68332 Qs-port set low Port bit D3 of MC68332 Qs-port set high bridges RS232 driver (TxD line) (may only be set, if IC11 is not fitted) bridges RS232 receiver (RxD line) (may only be set, if IC11 is not fitted) Flash EPROM boot block unlocked Flash EPROM boot block locked used in optional version without CAN 0 Transceiver (may be left open) used in optional version without CAN 0 Transceiver (may be left open) used in optional version without CAN 1 Transceiver (may be left open) used in optional version without CAN 1 Transceiver (may be left open)
table 3: Additional jumper functions
Rev. 1.1
© JANZ Automationssysteme AG
CAN-PCI2 (User's Manual) • Appendices
5 - 20
5.7
Product History
Note that changes in the major version number are related to a PCB redesign. Though, PCB redesign need not be related to functional changes, but might have been done for manufacturing purposes only. Version V1.0
5.8
Name Changes -be
• initial version
Manual History
Version V1.0
Release Date 11.06.01
Release Date 11.06.01
Name
Changes
be
•
Initial version
•
updated power supply specification
•
V1.1
10.01.05
as
•
© JANZ Automationssysteme AG
Rev. 1.1