Frequently Asked Questions: ARCNET General Questions

 

  1. I am writing my own driver/application for the PCI20. What do I need to know?
  2. How many I/O ports do I need available to use your cards?
  3. How do I use PacketView with the PCM20?
  4. Why won't the PCX-CXB card work in an HP Pavilion 45502?
  5. Can I replace my PCX20 board with a PCI20 board?
  6. Isn't ARCNET old technology compared to Ethernet?
  7. How can I make the same calculations at a lower speed?
  8. What is meant by a raw ARCNET frame?
  9. Aren't all ARCNET boards the same?
  10. Will your ARCNET cards run under WinME?
  11. What changes are needed to convert my driver from the PCX20 to the PCI20?
  12. How do I use your ARCNET cards with Mitsubishi's PA10 Robot Arm?

 


I am writing my own driver/application for the PCI20. What do I need to know?

The BIOS or the OS will assign the PCI20 one level-triggered interrupt and 16 bytes of I/O space. The system will also assign a 128-byte block of memory and an extra 128-byte block of I/O space — both for the purpose of controlling the PCI20. These 128-byte spaces are not used for ARCNET operations. In some systems Device Manager will report these 128-byte spaces, but they must not be altered nor accessed by the user.

The COM20020 registers occupy the first 8 bytes of the 16-byte I/O space. The registers of the COM20020 are defined in this document:

http://www.smsc.com/main/datasheets/20020.pdf

The bytes at offset 8 and offset 9 are identical, each containing the value of our onboard dipswitch.

Example: If the PCI20 is assigned an I/O base address of 0x1000, the COM20020 configuration register would be located at 0x1006 and our dipswitch could be read at either 0x1008 or 0x1009.

For further help, look at the sample "C" language source code for accessing the COM20020. It is downloadable from here.

top

 

How many I/O ports do I need available to use your cards?

All of our cards need 16 consecutive addresses available. 

top

 

How do I use PacketView with the PCM20?

To use PacketView with the PCM20, copy all of the files from the PacketView disk onto one directory. In that directory create a DOS batch file with the following two lines:  

com20020 /A:26 /p:300 /h:7
pv  

Where the number following /A: indicates the desired PCM20 node ID.  The number following /p: indicates the I/O base address of the PCM20. The number following the /h: indicates the interrupt used by the PCM20.  

The PCM20 I/O base address and interrupt can be found in the Windows Device Manager 

(Start->Settings->Control Panel->System->Device Manager->PCM20->PCM20->Resources).  

You can add a shortcut to this batch file on your Windows desktop.

top

 

Why won't the PCX-CXB card work in an HP Pavilion 45502?

The power supply of this computer provides –12 V, +12 V, +5 V, and +3.2V — but not –5 V. Standard Contemporary Controls ARCNET cards require –5 V, but a version of this card is available which does not require –5 V. For ARCNET functionality in this computer, request a –12 V card instead of the standard –5 V card.

top

 

Can I replace my PCX20 board with a PCI20 board?

Though the boards are made with the same COM20020 chip they use different drivers.  If you had a special driver written for the PCX20, you would need to talk to the designer to see if changes are required. Please note for the PCI20 you would need a PCI slot, not the traditional ISA slot like the PCX20.

top

 

Isn't ARCNET old technology compared to Ethernet?

If ARCNET is old then Ethernet is ancient.  Both ARCNET and Ethernet were developed in the 1970s and both have evolved since then.  The basic operation of Ethernet has not changed from the 10 Mbps version.  It has simply been scaled to 100 Mbps and 1000 Mbps.  The same has happened to ARCNET although in a much less dramatic fashion.  Its basic operation is unchanged in the 5 and 10 Mbps versions.  However, newer ARCNET controller chips (200XX family) have many enhanced software features over the original design yet can still communicate with the first ARCNET chip made.  That is not true with Ethernet's evolution.  However, both technologies have proven their worth as evidenced by their longevity.

top

 

In your ARCNET Tutorial you mention how to calculate transmission times when operating at 2.5 Mbps. I am operating at 156 kbps. How can I make the same calculations at the lower speed?

In order to make the same calculations at different data rates you need to know the equations of the timers used to implement the ARCNET link layer protocol. The timer equations are discussed in The Extension article (Summer 1999, Volume 1 Issue 2). This article is available at here.

top

 

What is meant by a raw ARCNET frame? 

In a raw ARCNET frame no system code is sent in the frame.  A system code identifies the higher layer protocol that will act upon the frame similar in operation to the Ethertype used in Ethernet frames.  The ANSI/ATA 878.1 standard requires a one byte system code to be included in the frame.  System code assignments are uniquely assigned and managed by the ARCNET Trade Association and are used to identify important protocol information such as the IP protocol (D4, hex).  Simpler systems that will remain private networks may elect not to support the system code and instead opt for raw frames. 

top

 

Aren't all ARCNET boards the same?

No, they are not.   At one time the only available ARCNET controller chip was the COM90C26 from either  SMSC,  UMC,  Silcom or NCR, however, NCR Corporation also made versions with enhanced features.   The NCR90C98, NCR90C126 and NCR90C198  would still communicate with other ARCNET chips but they had enhanced software features.  SMSC produced the COM90C65 and COM90C66 which had  a better interface to the ISA bus but remained code compatible with the COM90C26.  Their COM200XX,  which has a microcontroller bus interface, is not code compatible with the COM90C26/65/66  but has several new features and the capability of driving EIA-485 networks.  All these chips have a default mode that will allow the devices to all share the same token-passing network but they may require a different software driver in order to operate.  Therefore, it is important to know which ARCNET controller chip is being used so that the proper software driver can be found.

top

 

Will your ARCNET cards run under WinME?

Raw ARCNET packets may be exchanged by computers running Windows Millennium (ME). For information about Contemporary Controls’ Null Stack drivers which perform this function, read Technical Note 2 here.

For those who want to use a protocol stack for ARCNET communications, Contemporary Controls has an NDIS driver — but it supports only TCP/IP. Although not available online, it may be obtained by submitting a request to:

techsupport@ccontrols.com

top

 

What changes are needed to convert my driver from the PCX20 to the PCI20?

The COM20020 registers on the PCI20 are arranged the same as on our PCX20 and PCM20 products. The PCI20 utilizes one memory space and two I/O spaces. The memory space is for the PCI configuration registers. This is usually filled in by the BIOS or operating system and should not be modified directly by the driver. The large I/O space (larger than 16 bytes) is another PCI configuration space. The 16-byte I/O space contains the eight COM20020 registers starting at the base address of this I/O space. The node ID dipswitch is located at the base address + 8 and again at base address + 9.

Another issue is the interrupts. PCI devices utilize shareable level-triggered interrupts. The PCX20 uses an edge-triggered interrupt that is non-shareable. This difference may require a PCI20 driver to be modified if originally written for a PCX20.

We do provide some drivers for our PCI20 products. To access them, click here.

top

 

How do I use your ARCNET cards with Mitsubishi's PA10 Robot Arm?

A 345-kB PDF document of relevant information is available here.

 

 

top