Omega Engineering OME-PIO-D96 Interrupt Operation, Make sure the initial level is High or Low

Page 11

2.5Interrupt Operation

All P2C0, P5C0, P8C0 and P11C0 can be used as interrupt signal sources. Refer to Sec. 2.1 & Sec. 2.7 for P2C0/P5C0/P8C0/P11C0 location. The interrupt of OME- PIO-D96 is level-trigger & Active_High. The interrupt signal can be inverted or non-invertedprogrammable. The procedures of programming are given as follows:

1.make sure the initial level is High or Low

2.if the initial state is High Æ select the inverted signal (Sec. 3.3.6)

3.if the initial state is Low Æ select the non-invertedsignal (Sec. 3.3.6)

4.enable the INT function (Sec. 3.3.4)

5.If the interrupt signal is active Æ program will transfer into the interrupt

service routine Æ if INT signal is High now Æ select the inverted input

Æif INT signal is Low now Æ select the non-inverted input

Refer to DEMO3.C & DEMO4.C for single interrupt source. Refer to DEMO5.C for four interrupt sources.

If only one interrupt signal source is used, the interrupt service routine does not have to identify the interrupt source. (Refer to DEMO3.C & DEMO4.C)

If there are more than one interrupt sources, the interrupt service routine has to identify the active signals as follows: (Refer to DEMO5.C)

1.Read the new status of the interrupt signal source

2.Compare the new status with the old status to identify the active signals

3.If P2C0 is active, service P2C0 & non-inverter/inverted the P2C0 signal

4.If P5C0 is active, service P5C0 & non-inverted/inverted the P5C0 signal

5.If P8C0 is active, service P8C0 & non-inverted/inverted the P8C0 signal

6.If P11C0 is active, service P11C0 & non-inverted/inverted the P11C0 signal

7.Save the new status to old status

Note: If the interrupt signal is too short, the new status may be as same as old status. So the interrupt signal must be hold-active until the interrupt service routine is executed. This hold time is different for different operating systems. The hold time can be as short as micro-second or as long as second. In general, 20ms is enough for most operating systems.

OME-PIO-D96 User Manual (Ver.1.1, Mar/2003)

---- 9

Image 11
Contents User’sGuide Czech Republic CanadaMexico BeneluxOME-PIO-D96 Table of Contents Introduction FeaturesOptions SpecificationsOrder Description OME-PISO-series cost-effective generation, isolated cards PCI Data Acquisition FamilyProduct Check List Board Layout Hardware configurationRefer to DEMO1.C for demo program Enable I/O OperationI/O port Location D/I/O Architecture Make sure the initial level is High or Low Interrupt OperationINTCHAN3 Interrupt Block Diagram of OME-PIO-D96INTCHAN0/1/2/3 COUNTL++ Initialhigh, activelow Interrupt sourceInitiallow, activehigh Interrupt source Muliti Interrupt Source Read all interrupt state OME-DB-8125 Daughter BoardsOME-DB-37 OME-DN-37 & OME-DN-50OME-ADP-37/PCI & OME-ADP-50/PCI OME-DB-24P/24PD Isolated Input Board OME-DB-24R/24RD Relay Board OME-DB-24PR/24POR/24C Daughter Boards Comparison Table Pin Assignment All signals are TTL compatibleVCC GND PC’s physical slot information How to Find the I/O AddressResource-allocated information OME-PIO/PISO identification informationWSubVendor=0x80 wSubDevice=1 wSubAux=0x10 /* for PIOD96 PIODriverInitPIODriverInit&wBoards, wSubVendor,wSubDevice,wSubAux Current sinking Enable all D/I/O operation of card1 PIOGetConfigAddressSpaceEnable all D/I/O operation of card0 ShowPIOPISOwSubVendor,wSubDevice,wSubAux ShowPIOPISOSlot5 0x0A Slot6 0x08 Slot7 0x09 Slot8 0x07 Assignment of I/O AddressAddress Read Write I/O Address MapAUX data Register RESET\ Control RegisterAUX Control Register Aux Status Register INT Mask Control RegisterINV3 INV2 INV1 INV0 Interrupt Polarity Control Register7 I/O Selection Control Register Read/Write 8-bit data Register Demo program How to install software & utility?Piopiso PIOPISO.EXE for Windows DEMO1 DEMO2 DEMO3 COUNTL++ DEMO4 COUNTL++ DEMO5 CNTL1=CNTL2=CNTL3=CNTL4=0 Page WARRANTY/DISCLAIMER Temperature