ACCES I/O PRODUCTS INC 10623 Roselle Street, San Diego, CA. 92121 tel. (858) 550-9559 FAX (858) 550-7322 DIGITAL INPUT/OUTPUT CARD MODEL IOD-144 USER MANUAL File: MIOD144.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL NOTICES The information in this document is provided for reference only. ACCES does not assume any liability arising out of the application or use of the information or products described herein. This document may contain or reference information and products protected by copyrights or patents and does not convey any license under the patent rights of ACCES, nor the rights of others.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL TABLE OF CONTENTS INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CD INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-INCH DISKETTE INSTALLATION . . . . . . . . . . . DIRECTORIES CREATED ON THE HARD DISK . . INSTALLING THE CARD . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-1 1-2 1-4 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . 2-1 BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . .
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL INSTALLING THE CARD Before installing the card carefully read the ADDRESS SELECTION and OPTION SELECTION Sections of this manual and configure the card according to your requirements. Use the special software program called SETUP.EXE provided on diskette with the card. It supplies visual aids to configure all areas of the board. Be especially careful with address selection.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL FUNCTIONAL DESCRIPTION FEATURES 144 Channels of Digital Input/Output. All 144 I/O Lines Buffered on the Board. Four and Eight Bit Groups Independently Selectable for I/O. Hysteresis Correction and Pull-Down Resistors on I/O Lines. Interrupt and Interrupt-Disable Capability. Tri-stateable I/O ports under software control. +5V Supply Available to User. Compatible with Industry Standard I/O Racks like Opto-22, Potter & Brumfield, etc.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL IOD-144 to termination panels such as ACCES model STA-50. Also, this provides compatibility with OPTO-22, Gordos, Potter & Brumfield, etc. module mounting racks. Every second conductor of the flat cables is grounded to minimize the effect of crosstalk between signals. If needed for external circuits +5VDC power is available on each I/O connector pin 49.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL OPTION SELECTION Refer to the illustrated setup programs on the diskette provided with the card when reading this section of the manual. Also, refer to the OPTION SELECTION MAP on the following page. Base address selection is covered both by the diskette and in the next section of this manual. Interrupts are accepted on the I/O connector, pin 9 (port C3). The interrupt signal is positive true.
DIGITAL INPUT/OUTPUT CARD IOD-144 OPTION SELECTION MAP 3-2 USER MANUAL
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL ADDRESS SELECTION The IOD-144 Input/Output Card occupies 24 bytes of I/O space. The card base address can be selected anywhere within an I/O address range 000-3FF hex. If all 144 bits are to be used in an AT-class computer, the base address can be set anywhere within the address range hex 100-390 (except 1F0 through 1F8). If to be used in an XT-class computer, the starting address can be as above except the lowest starting address is 200 hex.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL To set desired board address, refer to the illustrated Board Address setup program on the Utility diskette provided with the card. Type the desired address in hexadecimal code and the graphic display shows you how to set the ADDRESS SETUP switches. These switches are marked A5-A9 and form a binary representation of the address in negative-true logic. Assign '0' to all ADDRESS SETUP switches turned ON, and assign '1' to all ADDRESS SETUP switches turned OFF.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL SOFTWARE ACCES supplies several programs to support the IOD-144 Digital I/O card and, also, to help you develop your applications software. These programs are on a diskette that comes with your card and consist of a Setup program and three sample programs. The sample programs are in forms suitable for use with BASIC, QuickBASIC, C, and Pascal. The programs as follows: SETUP.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL WINDOWS UTILITY DRIVERS ACCES provides drivers for use with 16- and 32-bit Windows languages. ACCES32, a 32bit driver, provides hardware register access when writing software for Windows 95/98/NT. The same hardware level access is provided for 16-bit applications using VBACCES, a 16bit driver for VisualBASIC 3.0. Both drivers are in the form of a .DLL and sample code is included that demonstrates their use.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL Note that in all of the above functions, an inherent limitation of BASIC in general and VisualBASIC in particular makes the values sent less intuitive. All integers in BASIC are signed numbers, wherein data are stored in two's complement form. All bit patterns must be converted to-and-from this two's complement form if meaningful display is required. Otherwise, values returned from the InPortb function will be -128 to 127, rather than 0 to 255.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL PROGRAMMING The IOD-144 is an I/O mapped device that is easily configured from any language and any language can easily perform digital I/O through the card's ports. This is especially true if the form of the data is byte or word wide. All references to the I/O ports would be in absolute port addressing. However, a table could be used to convert the byte or word data ports to a logical reference.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL The IOD-144 uses six 8255-5 PPIs to provide a total of 144 bits input/output capability. The card is designed to use each of these PPIs in mode 0 wherein: a. b. c. d. There are two 8-bit ports (A and B) and two 4-bit ports (C Hi and C Lo). Any port can be configured as an input or an output. Outputs are latched. Inputs are not latched. Each PPI contains a control register. This Write-only, 8-bit register is used to set the mode and direction of the ports.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL A, B, and C. If, for example, hex 80 is sent to Base Address+3, the Port 0 PPI will be configured in mode 0 with ports A, B, and C as outputs. But, at the same time, data bit D7 is also latched in a buffer controller for the associated PPI chip. A high state disables the buffers and, thus, all associated buffers will be put in the tristate mode; i.e., disabled. c. When you wish to enable the output buffers, send a normal PPI mode command with bit D7 low.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL PROGRAMMING EXAMPLE The following programming example is provided as a guide to assist you in developing your working software.
DIGITAL INPUT/OUTPUT CARD 50 60 IOD-144 OUT BASEADDR+1,&HFF OUT BASEADDR+2,&HF USER MANUAL 'Turn on all Port B bits 'Turn on all bits of Port C Lo SAMPLE PROGRAMS The following sample programs are in TURBO-C and TURBO-PASCAL languages. They cover a security system that allows you to monitor the status of 16 switches and to automatically trigger four alarms that can be used to turn on lights, activate a siren, or send a signal to a silent alarm.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL {of each sensor} begin tempA := port[BASEADDR]; {this procedure loads tempA and tempB} {with corresponding inputs from the Card} tempB := port[BASEADDR+1]; for i := 0 to 7 do begin if ((tempA shr i) AND ON) > 0 then {this tests to see if bit #i is ON and sets the} ary[i]:=ON {corresponding array element to ON if it is} else {else, the array element is set to OFF} ary[i]:=OFF end; for i:=0 to 7 do begin if ((tempB shr i) AND ON) > 0 then ary[i+8]:=ON {in order
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL writeln('This is the IOD card demonstration program. This '); writeln('program will simulate an alarm system program for '); writeln('sixteen sensors and four arming stations, along with'); writeln('four separate alarm outputs which could be routed to'); writeln('a siren, lights, silent alarm,etc'); writeln; writeln('THIS PROGRAM IS INTENDED FOR DEMONSTRATION PURPOSES,'); writeln('ONLY AND IS NOT MEANT TO BE USED AS AN ACTUAL ALARM '); writeln('SYSTEM.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL i:=sec+15; {for the current time which is} if i > 60 then i :=i-60; {used to delay for 15 seconds} repeat gettime(hour,min,sec,hun); until sec = i; {end of delay loop} writeln; writeln('ALARM SYSTEM ACTIVE AND ARMED'); sound(900); {short tone indicating that alarm} delay(300); {is fully activated} no sound; j:=0 {the following code compares current} {status of sensors against status when} {armed to determine if break-in has occurred} {break-in has occurred..
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL {to wait to be re-armed} end. TURBO-C PROGRAM #define BASEADDR 0x300 #define ON 1 #define OFF 0 #include "stdio.h" #include "conio.h" #include "time.h" #include "dos.h" int sensors_at_arm[15]; int sensors_now[15]; int arming_stations; int_old_arming_stations; char key; int i; int j; /*declare base address for IOD card*/ /*create useful constant*/ /* " " " */ /*bit-by-bit status of sensors at current time.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL if((tempB>> i) & ON){ *ary++=ON; } else *ary++=OFF;} } } /*procedure read_sensors*/ get_status(){ int temp; temp=inportb(BASEADDR+2); return temp & 0x0F; } /*function get_arming_status*/ ALARM(){ long int temp=0; sound(2000); /*this sets status to the lower half of Port C, the*/ /*of Port C, half defined in Initialize to be input, */ /*for four arming switches*/ /*this starts the computer's speaker*/ outportb(BASEADDR+@,0xF0); /*this sets Port C upper nyb
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL printf("NOT MEANT TO BE USED AS AN ACTUAL ALARM SYSTEM.\n"); printf("\n");printf("n"); printf("Press any key to begin program.\n"); key=getch(); old_arming_stations=get_status(); do{ clrscr(); read_sensors(sensors_now); for(i=0;i<=15;i++){ if (!sensors_now[i]) printf("Sensor #%d %s\n,i,"is open"); } printf("\n"); printf("Press ESC to re-scan, RETURN to begin alarm scanning.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL j=-1 /*flag used to signal alarm is de-activated*/ while(!j); if(j == -1){ start=time(NULL); printf("Alarm deactivated at %s,(asctime(gmtime(&start)))); sound(900); delay(300); nosound(); delay(50); sound(900); delay(100); nosound(); } else { printf("Sensor #%d has been activated!!\n\n",j); start=time(NULL); printf("The time of alarm is %s", asctime(gmtime( &start))); old_arming_stations=get_status(); ALARM(); } /*else*/ } /* for(;;) this "end" used to send p
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL SHARING INTERRUPTS ON THE ISA BUS As noted on pages 2-1 and 3-1, IOD-144 can accept external interrupts via bit C3 at each 24-bit group. On occasion, however, a system application will require more interrupt levels than are available on the ISA bus. While not recommended, IRQ sharing is possible. Each card that is going to share an IRQ must strictly adhere to a special standard for accessing the IRQ line as follows: a.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL CONNECTOR PIN ASSIGNMENTS Six 50-pin headers are provided on the IOD-144 card; one for each group of 24 I/O lines. The mating connector is an AMP type 1-746285-0 or equivalent. Connector pin assignments are listed below. Notice that every second line is grounded to minimize crosstalk between signals.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL SPECIFICATIONS Features 144 Channels of Digital Input/Output. All 144 I/O Lines Buffered on the Board. Four and Eight Bit Groups Independently Selectable for I/O. Hysteresis Correction and 1KS Pull-Down Resistors on I/O Lines. Interrupt and Interrupt-Disable Capability. Tristate-able outputs +5V Supply Available to User. Compatible with Industry Standard I/O Racks like Opto-22, Potter & Brumfield, etc. Digital Inputs Logic High: 2.0 to 5.0 VDC. Logic Low: -0.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL WARRANTY Prior to shipment, ACCES equipment is thoroughly inspected and tested to applicable specifications. However, should equipment failure occur, ACCES assures its customers that prompt service and support will be available. All equipment originally manufactured by ACCES which is found to be defective will be repaired or replaced subject to the following considerations.
DIGITAL INPUT/OUTPUT CARD IOD-144 USER MANUAL PPI DATA SHEETS The data sheets in this Appendix are provided to help your understanding of the 8255-5 PPI which is manufactured by several companies. These data sheets are reprinted with permission of Mitsubishi Electric Corporation. (Copyright 1987). The information, diagrams, and all other data included are believed to be correct and reliable.