Tracker Servo Configuration


Home
Up
Emergency Info
Proposals
Facilities
Instrumentation
Systems Status
Schedules
Observer Info
Science at ARO
ARO In The News
Weather
Staff
Education
ARO FAQ
Internal Docs
Tucson Info
Jobs
Photo Gallery
Search ARO
Contacts


ARO Documentation Project

SMT Tracker / Servo

System Configuration Notes


April 10, 2001

Tom Sargent

I now have Linux drivers for the IRIG, 12-bit DAC, 16-bit DAC, 48-bit and 96-bit parallel I/O interfaces, and 16 Channel A/D running. The system resource allocation is as follows:

Directory Contents:

  • das1400 The driver and a test program for the DAS1401/12 16 Channel A/D interface.

  • cioDac0216 The driver and test program for the CIO-DIO-02/16 dual channel 16-bit D/A converter.

  • cioDac02 The driver and test program for the CIO-DIO-02 dual channel 12-bit D/A converter. Will work for the 6 channel version too.

  • irigSmt The driver for the IRIG interface. Developed from the version used on Linux 2.0 kernel at the 12 meter telescope.

  • CIO-DIO CIO-DIO48 or CIO-DIO96 48-bit or 96-bit parallel I/O interfaces.

  • CIO-DDA06 The driver and the test code for the 6 channel 12-bit DAC card and/or the 2 channel 12-bit DAC.

 

IRQ Usage

At the present time, the das1400 interface is the only card that uses an  interrupt. It uses IRQ 7.

The Traquair DSP card uses one IRQ (11) for the server loader to talk to the Linux driver. The IRIG driver may need to use an interrupt, although it does not now.

In order to get the Traquair Linux driver to work correctly it was necessary to go into the BIOS and change IRQ 11 from "PCI PnP" to "ISA". I suspect this should be done for any other interrupts we use for ISA bus too. At present that is the DAS1400 using IRQ 7.

 

DMA Usage

Only the driver for the das1401/12 uses any DMA. It uses DMA channel 1. This is determined by a switch on the card (1 vs. 3). We do not anticipate using any other DMA channels in any of the other drivers.

 

Linux Major Device Numbers

All the drivers use dynamic assignment of major device numbers, so this is taken care of automatically.

 

ISA Addresses

The allocation of PC I/O addresses is shown below ("fwa" = First Word Address", "lwa" = Last Word Address):

Device fwa lwa

  • TI DSP board 0x200 0x207

  • IRIG 0x300 0x31f

  • CIO-DAC02/6 0x320 0x323 (The 6 channel version uses up to 0x32b)

  • CIO-DAC02/16 0x330 0x333

  • das1401/12 0x340 0x34f (Uses 2 address ranges.) 0x740 0x747

  • CIO-DIO96 0x350 0x35f (48 bit version uses only up to 0x357)

 

Driver and Device Names:

Driver Dev names

irigSmt /dev/irig and /dev/irig0 are the same device.

das1400 /dev//das14adc and /dev/das14adc0 which are the same device.

cioDac0216 /dev/dac0216 and /dev/dac02160 are the same device. /dev/dac02161

ciodio /dev/dio0 and /dev/dio are the same device. /dev/dio1 /dev/dio2 /dev/dio3

ciodda6 /dev/ciodda6 and /dev/ciodda60 are the same device. /dev/ciodda61 /dev/ciodda62 /dev/ciodda63 /dev/ciodda64 /dev/ciodda65

 

System Start-up

There are copies of the drivers and startup scripts in /etc/smtDrivers. /etc/rc.d/rc.local has been altered to load /etc/smtDrivers/smtDriverScript. This loads all the drivers.

The parallel port driver presented a bit of a problem. It is passed the name of the host computer via a MODULE_PARM() variable supplied to the insmod command. This is done in the /etc/smtDrivers/dio_load4 script and it works. What I don't understand is that if that is left out, the insmod call crashes and prints an oops message leaving the driver loaded but with an open count of 1. Since that can't be reduced (or at least, I can't figure out how) the driver can't be removed. So, for the moment, the variable "dioHostName" has to be set to something when insmod is called. It is presently set to $(hostname) which will work on all machines.

 

NTP server

It is compiled by doing a "./configure" and a "make" in the /usr/src/redhat/SOURCES/xntp3-5.93/ directory. When configure is invoked, it should be done as (assuming you want authentication):

./configure --enable-IRIGBW --prefix=/usr --enable-des --enable-authenticate

The 'des' enables the authentication protocol. The --enable-authenticate is there because of a comment in the notes. I'm not sure it does anything. The -des may be sufficient by itself.

 

IRIG clock interface

The IRIG clock driver (irigSmt.o) needs to be installed & running. It should produce a 2KHz pulse (not square wave) to drive the A/Ds digitizing the encoder signals. The A/D (HEGD2) needs a pulse now shorter than 150ns and no longer than 10,000ns. The IRIG puts out pulses derived from an internal 3MHz clock which are 333ns. Note that the IRIG driver (copied from the 12m code) does not enable the 2KHz pulse train unless there is at least one file descriptor to /dev/irig0 open. The CTR-1 clock signal is initialized in the "open" method of the driver. Normally the ntp server is always running and always has it open, so that is not a problem.


 Copyright Arizona Radio Observatory.
For problems or questions regarding this web contact [tfolkers{at}email{dot}arizona{dot}edu].
Last updated: 11/08/11.