72XX Series User’s Manual Table of Contents Table of Contents..............iii List of Figures ............... vii List of Tables................ix 1 Introduction ................ 1 Features................2 1.1.1 Digital I/O Ports..............2 1.1.2 Timer/Counter and Interrupt System ........2 1.1.3 Miscellaneous ............... 2 Applications .................
Page 4
72XX Series User’s Manual 2.6.2 cPCI-7248 Pin Assignment ..........16 2.6.3 cPCI-7249R Pin Assignment ..........17 2.6.4 R7249 OPTO-22 Connectors..........18 Jumpers Description ............19 2.7.1 Power on Status of Ports ............ 19 2.7.2 12V Power Supply Configuration ........20 Termination Boards Connection ........
Page 5
72XX Series User’s Manual 12V and 5V Power Supply..........34 5 C/C++ Libraries..............35 Libraries Installation............35 Programming Guide............36 5.2.1 Naming Convention ............36 5.2.2 Data Types ................. 36 _7248/96_Initial ..............37 Digital Input................ 39 Digital Output ..............42 Configuration Port..............
Page 6
72XX Series User’s Manual This page intentionally left blank. Table of Contents...
72XX Series User’s Manual List of Tables Table 2-1: Jumpers and Port names list ......... 19 Table 3-1: I/O Address Map............24 Table 4-1: I/O Port Names .............. 26 Table 4-2: Summary of control word (D0-D4) ......... 27 Table 4-3: ISC register format............33 Table 4-4: IRQ Trigger conditions...........
Page 10
72XX Series User’s Manual This page intentionally left blank. List of Tables...
Page 11
72XX Series User’s Manual Preface Copyright 2009 ADLINK TECHNOLOGY INC. This document contains proprietary information protected by copy- right. All rights are reserved. No part of this manual may be repro- duced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.
Page 12
Address: 9F, No.166 Jian Yi Road, Chungho City, Taipei County 235, Taiwan Tel: +886-2-8226-5877 Fax: +886-2-8226-5717 Email: service@adlinktech.com Ampro ADLINK Technology Inc. Address: 5215 Hellyer Avenue, #110, San Jose, CA 95138, USA Tel: +1-408-360-0200 Toll Free: +1-800-966-5200 (USA only) Fax: +1-408-360-0222 Email: info@adlinktech.com...
Page 13
Address: 84 Genting Lane #07-02A, Cityneon Design Centre, Singapore 349584 Tel: +65-6844-2261 Fax: +65-6844-2263 Email: singapore@adlinktech.com ADLINK Technology Singapore Pte Ltd. (Indian Liaison Office) Address: No. 1357, "Anupama", Sri Aurobindo Marg, 9th Cross, JP Nagar Phase I, Bangalore - 560078, India Tel: +91-80-65605817 Fax: +91-80-22443548 Email: india@adlinktech.com...
Page 14
72XX Series User’s Manual This page intentionally left blank.
72XX Series User’s Manual Introduction The 7248/7296 series products are general purpose digital I/O cards. This series includes the following cards: PCI-7224: 24-CH PCI DIO card PCI-7248: 48-CH PCI DIO card PCI-7296: 96-CH PCI DIO card ...
72XX Series User’s Manual PC Low. Each connector corresponds to one PPI chip with 24 DIO points. PCI-7224/7248/7296 are equipped with one, two, and four 50-pin male ribbon connectors respectively. The cPCI-7248 is equipped with one 100-pin SCSI-type connector. 1.1 Features...
72XX Series User’s Manual 1.3 Specifications I/O channels 24-bit for PCI-7224 48-bit for PCI/PCIe-7248 96-bit for PCI/PCIe-7296 48-bit for cPCI-7248 and cPCI-7249R Digital Input Signal Logic High Voltage: 2.0 V to 5.25V Logic Low Voltage: 0.0 V to 0.80V Logic High Current: 20.0 uA Logic Low Current: -0.2 mA...
72XX Series User’s Manual 1.4 Software Support ADLINK provides versatile software drivers and packages for dif- ferent approaches to building systems. We not only provide pro- gramming libraries such as DLL for many Windows systems, but also provide drivers for many software packages such as Lab- VIEW®, HP VEETM, MATLAB...
Page 20
72XX Series User’s Manual PCIS-DASK/X: Include device drivers and shared library for Linux. The developing environment can be Gnu C/C++ or any programming language that allows linking to a shared library. The user's guide and function reference manual of PCIS-DASK/X are in the CD.
72XX Series User’s Manual Installation This chapter describes how to install the 7248/96 series products. Please take note of the packing and unpacking instructions as described below: Check what you have (section 2.1) Unpacking (section 2.2) Check the PCB (section 2.3) ...
72XX Series User’s Manual 2.2 Unpacking Your card contains sensitive electronic components that can be easily damaged by static electricity. The card should be placed on a grounded anti-static mat. The operator should wear an anti-static wristband, grounded at the same point as the anti-static mat.
72XX Series User’s Manual 2.4 Hardware Installation 2.4.1 PCI configuration The PCI/PCIe/cPCI card is equipped with Plug and Play PCI con- troller, it can request base addresses and interrupt according to PCI standard. The system BIOS will install the system resources based on the PCI cards’...
72XX Series User’s Manual CompactPCI Installation Procedures 1. Read through this manual, and set the jumpers accord- ing to your application. 2. Turn off your computer and turn off all accessories con- nected to computer. 3. Remove the slot cover from the CompactPCI.
72XX Series User’s Manual 2.6 Connector Pin Assignment 2.6.1 PCI-7224/7248/7296 & PCIe-7248/7296 Pin Assign- ment The I/O ports of 7224/7248/7296 emulate the mode 0 configura- tion of the 8255 general purpose programmable peripheral inter- face. The cards come equipped with 50-pin male IDC connectors that interface with OPTO-22.
Page 29
72XX Series User’s Manual For example, P1C4 means bit 4 of port C on connector CN1. Note: 1. The pinout of the CN1-CN4 connectors are identical. 2. The power supply pins are protected by resettable fuses. Refer to section 4.4 for details on power supply.
72XX Series User’s Manual 2.6.2 cPCI-7248 Pin Assignment The cPCI-7248 is equipped with a SCSI-type 100-pin connector. The pin assignment is described in Figure 2.7. (1) P1A0 (26) P2A0 (51) EVENT (76) GND (51) (2) P1A1 (27) P2A1 (52) GND...
72XX Series User’s Manual 2.6.3 cPCI-7249R Pin Assignment The I/O ports of cPCI-7249R emulate the mode 0 configuration of the 8255 general purpose programmable peripheral interface. This card comes equipped with a SCSI-100 Pin connector. The cPCI- 7249R supports a R7249 daughter board for rear I/O and includes two OPTO-22 connectors as well as a SCSI -100 connector.
72XX Series User’s Manual 2.6.4 R7249 OPTO-22 Connectors The cPCI-7249R’s rear I/O transition board R7249 is equipped with two 50 pin male IDC connectors: XCN2; XCN3 that interface with OPTO-22. Figure 2-8: R7249 OPTO-22 Connectors Pin Assignment Note: The power supply pins are protected by resettable fuses.
72XX Series User’s Manual 2.7 Jumpers Description The 7248/96 DIO cards are Plug and Play, thus it is not necessary to set up the card configurations to fit the computer system. How- ever, to fit different users’ versatile operating environment, there are still a few jumpers to set the power-on status of ports and the usage of the +12V output pins.
72XX Series User’s Manual The physical meaning of all the jumpers are identical. The power- on status of each port can be set independently. The default is to pull all signals high. The following diagram use JA1 as an example to show the possible configurations.
72XX Series User’s Manual 2.8 Termination Boards Connection There are many termination boards that can be connected with PCI-7248/7296 for isolated I/O expansion. 1. TB-24R, DIN-24R The TB-24R and DIN-24R provide 24 Form C relays for digital output control. PCI-7296...
Page 36
72XX Series User’s Manual 3. TB-16P8R The TB-16P8R provides 16 opto-isolated digital input channels and 8 relay outputs. PCI-7296 TB-16P8R PCI-7248 4. TB-24, DIN-50S TB-24 and DIN-50S are termination boards with 50 pin ribbon connector. They are used for general-purpose applications.
72XX Series User’s Manual Registers Format The detailed description of the registers format are specified in this chapter. This information is useful for the programmers who wish to handle the card by low-level programming. However, it is strongly recommended that the user has a more in depth under- standing of the PCI interface before starting any low-level pro- gramming.
72XX Series User’s Manual 3.2 I/O Address Map All the 724X registers are 8 bits. The users can access these reg- isters only by 8 bits I/O instructions. The following table shows the registers map, including descriptions and their offset addresses relative to the base address.
72XX Series User’s Manual Operation Theory 4.1 Digital I/O Ports 4.1.1 Introduction The 7248/96 products can emulate one/two/four mode 0 configu- ration of 8255 programmable peripheral interface (PPI) chips. There are 24 DIO signals for every PPI. 4.1.2 8255 Mode 0 The basic functions of 8255 mode 0 are: ...
72XX Series User’s Manual 4.1.4 Digital I/O Port Programming Users can write the digital output value to or read back the digital signal level from the PPI ports by using the software library. The port names are defined in Table 4.1. These port names are used throughout this manual as well as in the software library.
72XX Series User’s Manual 4.1.5 Control Word The control word written in the control port is used to setup PA, PB, and PC as input or output port. Figure 4.1 shows the format of the control word. Table 4.2 shows the 16 possible control words and the respective I/O configurations.
72XX Series User’s Manual 4.1.6 Power On Configuration The default configuration after power on, hardware reset, or soft- ware reset sets all ports as input ports. Therefore, users do not need to worry about damaging external devices when system is on.
72XX Series User’s Manual 4.2 Timer/Counter Operation 4.2.1 Introduction One 8254 programmable timer/counter chip is installed in the 7248/96 series. There are three counters in one 8254 chip and six possible operation modes for each counter. The block diagram of the timer/counter system is shown in Figure 4.2.
72XX Series User’s Manual 4.2.2 General Purpose Timer/Counter The counter 0 is a general purpose timer/counter for users appli- cations. It can be used as an event counter, for measuring fre- quency, or other functions. The following Modes are provided by the 82C54 chip.
72XX Series User’s Manual 4.3 Interrupt Multiplexing 4.3.1 Architecture The 7248/96 series products have a powerful and flexible interrupt multiplexing circuit which is suitable for many applications. The board is capable of accepting Dual Interrupts. The dual interrupt means that the hardware can generate two interrupt request sig- nals at the same time and the software can service these two request signals by ISR.
72XX Series User’s Manual 4.3.3 Note for Dual Interrupts The PCI controller of PCI-7224/7248/96 can receive two hardware IRQ sources. However, a PCI controller can generate only one IRQ to PCI bus, the two IRQ sources must be distinguished by ISR of the application software if the two IRQ are all used.
72XX Series User’s Manual INT1 D3 D2 D1 D0 IRQ Source IRQ Trigger Condition Disable X INT1 disable Mode 1 X ~P1C0 falling edge of P1C0 Mode 2 X P1C0 OR ~P1C3 (see following) Mode 3 X Event Counter Counter count down to 0...
72XX Series User’s Manual 4.4 12V and 5V Power Supply The OPTO-22 compatible connectors provide external devices for +12V and +5V power supply. To avoid shorting or overloading the power supply, the resettable fuses are added on all the output power.
72XX Series User’s Manual C/C++ Libraries This chapter describes the software library for operating this card. Only the functions in DOS library and Windows 95 DLL are described. A description of Windows 98/NT/2000 DLL functions can be found in the PCIS-DASK function reference manual located in the ADLINK CD.
We defined some data type in Pci_7248.h (DOS) and Acl_pci.h (Windows 95). These data types are used by NuDAQ Cards’ library. ADLINK Technology Inc. suggests these data types to be used in the application programs. The following table gives the data type names and their range.
72XX Series User’s Manual 5.3 _7248/96_Initial @ Description The cards are initialized by this function. The software library could be used to control multiple cards. @ Syntax C/C++ (DOS) _7248_Initial (U16 *existCards, PCI_INFO *pciInfo) _7249_Initial (U16 *existCards, PCI_INFO *pciInfo) _7296_Initial (U16 *existCards, PCI_INFO...
Page 52
72XX Series User’s Manual @ Argument The number of installed PCI-7224/7248/ existCards: 7296 cards. The returned value shows how many PCI-7224/7248/7296 cards installed in your system. It is a format to record the PCI bus Plug and pciinfo: Play initialization information which is decided by the Plug and Play BIOS.
72XX Series User’s Manual 5.4 Digital Input @ Description This function is used to read 8-bit digital input data from digital input ports. You can get the 8-bit data from _7248_DI by using this function. The written data and read-in data is 8-bit data. Each data is mapped to a signal as shown below.
Page 54
72XX Series User’s Manual W_7296_DI (ByVal cardNo As Integer, ByVal channelPort As Integer, diData As Integer) As Integer @ Argument Card number to select board cardNo: Returns a 8-bit value from digital port. diData: Port of each channel channelPort: PCI_CH0_PA: CH1’s Port A PCI_CH0_PB: CH1’s Port B...
Page 55
72XX Series User’s Manual Note: 1. CH2 and CH3 are only available for PCI-7296. 2. Only CH0 is available for PCI-7224. @ Return Code ERR_NoError C/C++ Libraries...
72XX Series User’s Manual 5.5 Digital Output @ Description This function is used to write data to digital output ports. @ Syntax C/C++ (DOS) _7248_DO (U16 cardNo, U16 channelPort, U8 doData) _7249_DO (U16 cardNo, U16 channelPort, U8 doData) _7296_DO (U16 cardNo, U16 channelPort, U8...
72XX Series User’s Manual 5.6 Configuration Port @ Description This function is used to configure the Input or Output of each Port. Each I/O Port of PCI-7224/7248/7296 is either input or output, so it has to be configured as input or output before I/O operations are applied.
Page 58
72XX Series User’s Manual @ Argument Card number to select board cardNo: The same as channelPort in section 5.5 channelPort: Port I/O direction direction: The port is configure as INPUT INPUT_PORT: The port is configure as OUTUT OUTPUT_PORT: @ Return Code...
72XX Series User’s Manual 5.7 Configuration Channel @ Description This function is used to configure the Input or Output of each Channel. Each I/O Port of PCI-7224/7248/7296 is either input or output, so it has to be configured as input or output before I/O operations are applied.
Page 60
72XX Series User’s Manual @ Argument Card number to select board cardNo: PCI_CH0, PCI_CH1, PCI_CH2, channelNo: PCI_CH3 The control value to set up PA, PB, and PC ctrlValue: as input or output port. ctrlValue Port A Port CU Port B Port CL...
72XX Series User’s Manual 5.8 Set Interrupt Control @ Description This function is used to set the interrupt configuration. The inter- rupt should be configured before the function starts. @ Syntax C/C++ (DOS) void _7248_Set_INT_Control(U16 cardNo, U16 ctrlValue); void _7249_Set_INT_Control(U16 cardNo, U16 ctrlValue);...
Page 62
72XX Series User’s Manual @ Argument Card number to select board cardNo: The valid values of configuring the interrupt ctrlValue: are: INT1: 0x00 -> disable 0x01 -> mode1 0x02 -> mode2 0x03 -> mode3 INT2: 0x00 -> disable 0x04 -> mode1 0x08 ->...
72XX Series User’s Manual 5.9 Timer Start @ Description This function is used to set and start timer 0 of on-board timer 8254 . @ Syntax C/C++ (DOS) void _7248_Timer_Start(U16 cardNo, U16 timer0Mode, U16 c0) void _7249_Timer_Start(U16 cardNo, U16 timer0Mode, U16 c0)
72XX Series User’s Manual 5.10 Timer Read @ Description This function is used to read the current count of timer 0 of the on- board timer 8254. @ Syntax PCI-7224/7248, CPCI-7248: C/C++ (DOS) void _7248_Timer_Read(U16 cardNo, U16 *counterValue); void _7249_Timer_Read(U16 cardNo, U16 *counterValue);...
72XX Series User’s Manual 5.12 Cascaded Timer @ Description This function is used to set and start the cascaded timer 1 and timer 2 of on-board timer 8254. @ Syntax C/C++ (DOS) void _7248_Cascaded_Timer(U16 cardNo, U16 c1, U16 c2); void _7249_Cascaded_Timer(U16 cardNo, U16 c1, U16 c2);...
72XX Series User’s Manual 5.13 Get IRQ Status @ Description This function is used to read back the status of interrupt when interrupt is inserted. @ Syntax C/C++ (DOS) void _7248_Get_IRQ_Status(U16 cardNo, U16 *int1Status, U16 *int2Status); void _7249_Get_IRQ_Status(U16 cardNo, U16 *int1Status, U16 *int2Status);...
Page 68
72XX Series User’s Manual @ Argument Card number to select board cardNo: The status of INT1, int1Status: int1Status = 0 -> no interrupt int1Status = 1 -> interrupt 1 inserted The status of INT2 int2Status: int2Status = 0 -> no interrupt int2Status = 1 ->...
72XX Series User’s Manual 5.14 Clear IRQ @ Description This function is used to clear the interrupt generated from the 7248/96 series. @ Syntax C/C++ (DOS) void _7248_CLR_IRQ(U16 cardNo); void _7249_CLR_IRQ(U16 cardNo); void _7296_CLR_IRQ(U16 cardNo); C/C++ (Windows 95) void W_7248_CLR_IRQ(U16 cardNo);...
72XX Series User’s Manual 5.15 Software Reset @ Description This function is used to reset the I/O port configuration. After reset- ting PCI-7224/7248/7296, all ports will be set as input ports. Note that this function cannot re-start the PCI bus nor will all hardware settings be changed.
72XX Series User’s Manual 5.16 Interrupt Start under Windows @ Description This function is only available in the Windows 95/98 driver. This function is used to initialize and start up the interrupt control. Please refer to section 4.3 for a detailed description of the interrupt system.
Page 72
72XX Series User’s Manual @ Argument Card number which the DIO will be reset. cardNo: If the interrupt source is set as internal timer source, this value is the frequency divider of Timer#1. If the interrupt source is set as internal timer source, this value is the frequency divider of Timer#2.
72XX Series User’s Manual 5.17 Interrupt Stop under Windows @ Description This function is only available in Windows 95/98 driver. This func- tion is used to disable the interrupt signal generation. @ Syntax C/C++ (Windows 95) void W_7248_INT_Stop (U16 cardNo)
Page 74
72XX Series User’s Manual This page intentionally left blank. C/C++ Libraries...
Need help?
Do you have a question about the 72XX Series and is the answer not in the manual?
Questions and answers