5.6 Board-Specific Information for Solo Type User Interrupts

All boards with interrupt capability may use the After and Instead types of user interrupts. However only the boards listed below have Solo type user interrupt capability. For each of these boards, all valid combinations for the DSCUSERINT structure are listed along with a description of the behavior. See the user interrupt example program in each board's example program set for more explanation.

Diamond-MM-AT

On Diamond-MM-AT, user interrupts are always driven by Counter 0. You have 2 choices for Counter 0's clock source. Diamond-MM-AT and Diamond-MM-16-AT behave identically with respect to user interrupts.

intsource

counter

clksource

Interrupt source

0

0

0

Counter 0, driven by on-board 100Khz clock

0

0

1

Counter 0, driven by external clock source connected to pin 29 on the I/O header (In0- pin)

Diamond-MM-16-AT

On Diamond-MM-16-AT, user interrupts are always driven by Counter 0. You have 2 choices for Counter 0's clock source. Diamond-MM-AT and Diamond-MM-16-AT behave identically with respect to user interrupts.

{ border=1 ! intsource !! counter !! clksource !! Interrupt source |- | 0 || 0 || 0 || Counter 0, driven by on-board 100Khz clock |- | 0 || 0 || 1 || Counter 0, driven by external clock source connected to pin 29 on the I/O header (In0- pin) |}

Diamond-MM-32-AT

On Diamond-MM-32-AT, user interrupts are always driven by Counter 0. You have 3 choices for Counter 0's clock source:

intsource

counter

clksource

Interrupt source

0

0

0

Counter 0, driven by on-board 10MHz clock

0

0

1

Counter 0, driven by on-board 10KHz clock

0

0

2

Counter 0, driven by external clock source connected to pin 48 on the I/O header J3 (CLK0/DIN0 pin)

Diamond-MM-48-AT

intsource

counter

counter clksource

Interrupt source

0

0

0

Counter 1, driven by on-board reference clock

0

0

1

Counter 1, driven by external signal Clk0 on J3

1

0

0

Edges on enabled Digital I/O lines

2

0

0

Edges on enabled Optoinput lines

Emerald-MM-DIO

Emerald-MM-DIO has no counter/timers. It may be programmed to generate interrupts when a change of state is detected on digital I/O lines on ports 0-2. All parameters for dscuserint are ignored and should be left at 0. However the function must still be called to initiate interrupts. The user interrupt operation is configured with dscEMMDIOSetState.

Garnet-MM-24, Garnet-MM-48

On Garnet-MM, user interrupts are generated by the digital I/O lines C0 on each 82C55. There is no hardware configuration required, so all values for dscuserint are 0. Garnet-MM-24 has one interrupt using C0 on chip no. 1, while Garnet-MM-48 has two interrupts using C0 on each chip.

Onyx-MM

User interrupt features apply only to Onyx-MM. Onyx-MM-DIO has no interrupt capability. On Onyx-MM, dscUserInt.counter is not used and set to 0 in all cases.

intsource

counter

clksource

Interrupt source

0

0

0

Counter 0, clock source is In0 (J5 pin 1) *

0

0

1

Counter 0, clock source is on-board 4MHz oscillator

1

0

0

Counter 1, clock source is In1 (J5 pin 2) *

1

0

1

Counter 1, clock source is on-board 4MHz oscillator

2

0

0

Counter 2, clock source is In2 (J5 pin 7) *

2

0

1

Counter 2, clock source is on-board 4MHz oscillator

3

0

0

Counters 0 & 1 cascaded, clock source is In0 (J5 pin 1) *

3

0

1

Counters 0 & 1 cascaded, clock source is on-board 4MHz oscillator

4

0

0

Counters 1 & 2 cascaded, clock source is In1 (J5 pin 2) *

4

0

1

Counters 1 & 2 cascaded, clock source is on-board 4MHz oscillator

5

0

0

Counters 0 & 1 & 2 cascaded, clock source is In0 (J5 pin 1) *

5

0

1

Counters 0 & 1 & 2 cascaded, clock source is on-board 4MHz oscillator

6

0

0

82C55 #1 bit C0 (J3 pin 31), IRQ header 1

7

0

0

82C55 #2 bit C0 (J4 pin 31), IRQ header 2

8

0

0

External trigger pin (J5 pin 9), IRQ header 3

* In these modes, if clksource = 0 (external clock), then rate = 0 and the user must program the counter/timer(s) beforehand for the desired rate using dscCounterDirectSet(), since the driver has no way of knowing the input frequency in order to determine the proper divider.

Prometheus

On Prometheus, only Counter 1 is used for solo-type user interrupts.

intsource

counter

clksource

Interrupt source

0

0

0

Counter 1, driven by on-board 100KHz clock

0

0

1

Counter 1, driven by on-board 10MHz clock

1

0

0

External trigger, pin 25 on I/O header J14

Hercules-EBX

On Hercules, only Counter 1 is used for solo-type user interrupts.

intsource

counter

clksource

Interrupt source

0

0

0

Counter 1, driven by on-board 100KHz clock

0

0

1

Counter 1, driven by on-board 10MHz clock

1

0

0

External trigger

Last updated