It is the policy of OMEGA to comply with all worldwide safety and EMC/EMI regulations that
apply. OMEGA is constantly pursuing certification of its products to the European New Approach
Directives. OMEGA will add the CE mark to every appropriate device upon certification.
The information contained in this document is believed to be correct, but OMEGA Engineering, Inc. accepts
no liability for any errors it contains, and reserves the right to alter specifications without notice.
WARNING: These products are not designed for use in, and should not be used for, patient-connected applications.
The OME-PISO-813 is a bus-type isolated 12-bit A/D board for the PCI bus for
IBM or compatible PC. It features a 10 KHz data acquisition rate under DOS and
Windows. The OME-PISO-813 provides 32 single-ended analog input channels. It also
provides 3000 volts of electrical isolation between the computer and card. The OMEPISO-813 has one 37-pin D-type connector. It can be installed in a 5V PCI slot and is
fully “Plug & Play” compatible.
1.1 Features
• 32 single-ended analog input channels
• 12 bit A/D converter
• 3000Vdc optical isolation protection
• Analog input range
Bipolar: ±10V, ±5V, ±2.5V, ±1.25V, ±0.625V
Unipolar: 0 to 10V; 0 to 5V; 0 to 2.5V; 0 to 1.25V; 0 to 0.625V
• Programmable gain control: 1, 2, 4, 8, 16
• A/D trigger mode: software trigger
• A/D data transfer mode: polling
• PCI Bus
• One 37-pin D-type connector for analog inputs
• SMD, short card
• Automatic detection by Windows
5
Page 6
1.2 Specifications
Analog Input Specifications
• No. of Channel: 32 single-ended
• Resolution: 12 bits
• Conversion rate: 10KS/s max.
• Input impedance: 10MΩ
• Overvoltage protection: ±35V
• Accuracy: 0.01% of reading ±1 bit
• Linearity: ±1bit
• On chip sample & hold
• Zero drift: ±25 PPM/ºC of FS max.
Power Requirements: 860mA/+5V max.
General Environmental
• Operating temp.: 0 to 50ºC
• Storage temp.: -20ºC to 70ºC
• Humidity: 0 to 90% non-condensing
• Dimensions: 180mm×105mm
1.3 Order Description
• OME-PISO-813: 32 channel isolated analog input board with Windows driver
software
1.3.1 Options
• OME-DB-8325: Daughter board
• OME-DN-37: I/O connector block with DIN-Rail mounting and 37-pin D-type
connector
• OME-DB-37: 37-pin D-type connector pin to pin screw terminal for any 37 pin
D-type connector of I/O board
1.3.2 OME PCI Data Acquisition Family
The OME family of PCI-BUS data acquisition cards includes the following
printf("There are %d OME-PISO-813 Cards in this PC\n",wBoards);
/* step2: save the resources of all OME-PISO-813 cards installed in this PC */
for (i=0; i<wBoards; i++)
{
PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&t1,&t2,&t3,&t4,&t5);
printf("\nCard_%d: wBase=%x, wIrq=%x", i,wBase,wIrq);
wConfigSpace[i][0]=wBaseAddress; /* save all resource of this card */
wConfigSpace[i][1]=wIrq; /* save all resource of this card */
}
/* step3: control the OME-PISO-813 directly */
wBase=wConfigSpace[0][0]; /* get base address the card_0 */
outport(wBase,1); /* enable all D/I/O operation of card_0 */
wBase=wConfigSpace[1][0]; /* get base address the card_1 */
outport(wBase,1); /* enable all D/I/O operation of card_1*/
17
Page 18
2.1.3 Show_PIO_PISO
Show_PIO_PISO(wSubVendor,wSubDevice,wSubAux)
• wSubVendor Æ subVendor ID of board to find
• wSubDevice Æ subDevice ID of board to find
• wSubAux Æ subAux ID of board to find
This function will show a text string for the subIDs. This text string is the same as that
defined in PIO.H
Sample code is shown below:
wRetVal=PIO_DriverInit(&wBoards,0xff,0xff,0xff); /*find all OME-PIO_PISO*/
printf("\nThrer are %d OME-PIO_PISO Cards in this PC",wBoards);
if (wBoards==0 ) exit(0);
When the PC is first power-up, the RESET\ signal is in Low-state. This will disable
all D/I/O operations. The user has to set the RESET\ signal to High-state before any
D/I/O command.
outportb(wBase,1); /* RESET\ = High Æ all D/I/O are enable now */
outportb(wBase,0); /* RESET\ = Low Æ all D/I/O are disable now */
20
Page 21
2.3.2 A/D Data Register
(Read): wBase+0xD0 → Low Byte of A/D Conversion Data
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
D7 D6 D5 D4 D3 D2 D1 D0
(Read): wBase+0xD4 → High Byte of A/D Conversion Data
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
× × ×
×: don’t care
D11 to D0: A/D Conversion Data
Status = 0 : A/D conversion is completed
1 : A/D conversion is not completed
The status bit is used as an indicator for A/D conversion. It is used in software polling.
do
{
HighByte=inportb(wBase+0xd4);
}while(HighByte&0x10); /* check status until conversion complete */
LowByte=inportb(wBase+0xd0);
Data=(HighByte<<8)+LowByte;
Status D11 D10 D9 D8
2.3.3 Multiplexer Channel Select Register
(Write): wBase+0xe0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
×××
outportb(wBase+0xe0,0); /* Select analog input channel 0 */
outportb(wBase+0xe0,1); /* Select analog input channel 1 */
outportb(wBase+0xe0,31); /* Select analog input channel 31 */
D4 D3 D2 D1 D0
21
Page 22
2.3.4 PGA Gain Code Register
(Write): wBase+0xe4
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
×××××
outportb(wBase+0xe4,0); /* Select PGA Gain = × 1 */
outportb(wBase+0xe4,1); /* Select PGA Gain = × 2 */
outportb(wBase+0xe4,2); /* Select PGA Gain = × 4 */
outportb(wBase+0xe4,3); /* Select PGA Gain = × 8 */
outportb(wBase+0xe4,4); /* Select PGA Gain = × 16 */
G2 G1 G0
2.3.5 A/D Trigger Control Register
(Write): wBase+0xf0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
××××××××
The OME-PISO-813 A/D data is transferred by software polling. Before reading the
data, the A/D converter must be triggered by a dummy write to the A/D Trigger Control
Register.(Refer to Sec.2.2.5 for more information about A/D converter operation)
The OME-PISO-813 includes a comprehensive set of drivers and demonstration
programs for programming under various operating systems and programming
platforms. During the software installation process, the following screen allows the
user to install the appropriate files for a specific installation.
Please read the release notes for the most up to date information regarding the
OME-PISO-813 hardware and software.
The first step for most OME-PISO-813 programs is to identify the cards in the
computer system and determine the resources allocated to those cards. The
PIO_PISO.EXE program performs that function. The source code for the
PIO_PISO.EXE program is shown below.
23
Page 24
3.1 PIO_PISO.EXE Program
/* ------------------------------------------------------------ */
/* Find all OME-PIO_PISO series cards in this PC system */
/* step 1: plug all OME-PIO_PISO cards into PC */
/* step 2: run PIO_PISO.EXE */
/* ------------------------------------------------------------ */
#include "PIO.H"
WORD wBase,wIrq;
WORD wBase2,wIrq2;
int main()
{
int i,j,j1,j2,j3,j4,k,jj,dd,j11,j22,j33,j44;
WORD wBoards,wRetVal;
WORD wSubVendor,wSubDevice,wSubAux,wSlotBus,wSlotDevice;
char c;
float ok,err;
clrscr();
wRetVal=PIO_DriverInit(&wBoards,0xff,0xff,0xff); /*for PIO-PISO */
printf("\nThere are %d OME-PIO_PISO Cards in this PC",wBoards);
if (wBoards==0 ) exit(0);
NOTE: PIO_PISO.EXE is valid for all OME-PIO/PISO cards. It can be found in the
DIAG directory. Running PIO_PISO.EXE will provide the following information:
• List all OME-PIO/PISO cards installed in this PC
• List all resources allocated to every OME-PIO/PISO cards
• List the wSlotBus & wSlotDevice for specified OME-PIO/PISO card identification.
(Refer to Sec. 3.2 for more information)
Although most users will use the functions in the software driver to program the PISO-
813, DEMO1.C demonstrates how to measure 32 analog inputs by programming
int main()
{
int i,l,h,x,y;
WORD wBoards,wRetVal,AdResult,t1,t2,t3,t4,t5;
WORD wSubVendor,wSubDevice,wSubAux,wSlotBus,wSlotDevice;
char c;
float ok,err,v,k;
clrscr();
/* step 1: find address-mapping of OME-PIO/PISO cards
*/
wRetVal=PIO_DriverInit(&wBoards,0x80,0x0a,0x00); /* for OME-PISO-813
*/
printf("\nThrer are %d OME-PISO-813 Cards in this PC",wBoards);
if (wBoards==0) exit(0);
printf("\n--------------- The Configuration Space ---------------");
for(i=0; i<wBoards; i++)
{
PIO_GetConfigAddressSpace(i,&wBase,&wIrq,&wSubVendor,&wSubDevice,
&wSubAux,&wSlotBus,&wSlotDevice);
printf("\nCard_%d:wBase=%x,wIrq=%x,subID=[%x,%x,%x],
SlotID=[%x,%x]",i,wBase,wIrq,wSubVendor,wSubDevice,
wSubAux,wSlotBus,wSlotDevice);
printf(" --> ");
ShowPioPiso(wSubVendor,wSubDevice,wSubAux);
}
PIO_GetConfigAddressSpace(0,&wBase,&wIrq,&t1,&t2,&t3,&t4,&t5);
/* step 2: enable all D/I/O port */
outportb(wBase+0,1); /* enable D/I/O */
i=0;x=1;y=1;
clrscr();
/* Step 3: gain setting */
/* Delay more than 5.6us for PGA gain change and optocouple */
/* propagation delay 6.0us. (5.6+6.0)us */
outportb(wBase+0xe4,0x00); /* Gain control,G=1 */
delay(1000);
if (kbhit()!=0)
{
c=getch(); if ((c=='q') || (c=='Q')) break;
}
}
gotoxy(1,20);
PIO_DriverClose();
}
/* -------------------------------------------------------------- */
WORD Read_AD_Data(void)
{
int LowByte;
WORD HighByte,Data;
char c;
/* step 8: read high byte of A/D result */
do
{
HighByte=inportb(wBase+0xd4); /* Read high byte of A/D data */
if (kbhit()!=0) break;
}
while(HighByte&0x10);/* Chech status until convertion complete */
/* step 9: read low byte of A/D result */
LowByte=inportb(wBase+0xd0);
Data=((HighByte<<8)+LowByte)&0xfff;
return(Data);
/* step 10: A/D conversion complete */
}
Page 27
WARRANTY/DISCLAIMER
OMEGA ENGINEERING, INC. warrants this unit to be free of defects in materials and workmanship for a
period of 13 months from date of purchase. OMEGA’s WARRANTY adds an additional one (1) month
grace period to the normal one (1) year product warranty to cover handling and shipping time. This
ensures that OMEGA’s customers receive maximum coverage on each product.
If the unit malfunctions, it must be returned to the factory for evaluation. OMEGA’s Customer Service
Department will issue an Authorized Return (AR) number immediately upon phone or written request.
Upon examination by OMEGA, if the unit is found to be defective, it will be repaired or replaced at no
charge. OMEGA’s WARRANTY does not apply to defects resulting from any action of the purchaser , including but not limited to mishandling, improper interfacing, operation outside of design limits,
improper repair, or unauthorized modification. This WARRANTY is VOID if the unit shows evidence of
having been tampered with or shows evidence of having been damaged as a result of excessive corrosion;
or current, heat, moisture or vibration; improper specification; misapplication; misuse or other operating
conditions outside of OMEGA’s control. Components which wear are not warranted, including but not
limited to contact points, fuses, and triacs.
OMEGA is pleased to offer suggestions on the use of its various products. However,
OMEGA neither assumes responsibility for any omissions or errors nor assumes liability for any
damages that result from the use of its products in accordance with information provided by
OMEGA, either verbal or written. OMEGA warrants only that the parts manufactured by it will be
as specified and free of defects. OMEGA MAKES NO OTHER WARRANTIES OR
REPRESENTATIONS OF ANY KIND WHATSOEVER, EXPRESS OR IMPLIED, EXCEPT THAT OF TITLE,
AND ALL IMPLIED WARRANTIES INCLUDING ANY WARRANTY OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE HEREBY DISCLAIMED. LIMITATION OF
LIABILITY: The remedies of purchaser set forth herein are exclusive, and the total liability of
OMEGA with respect to this order, whether based on contract, warranty, negligence,
indemnification, strict liability or otherwise, shall not exceed the purchase price of the
component upon which liability is based. In no event shall OMEGA be liable for
consequential, incidental or special damages.
CONDITIONS: Equipment sold by OMEGA is not intended to be used, nor shall it be used: (1) as a “Basic
Component” under 10 CFR 21 (NRC), used in or with any nuclear installation or activity; or (2) in medical
applications or used on humans. Should any Product(s) be used in or with any nuclear installation or
activity, medical application, used on humans, or misused in any way, OMEGA assumes no responsibility
as set forth in our basic WARRANTY/DISCLAIMER language, and, additionally, purchaser will indemnify
OMEGA and hold OMEGA harmless from any liability or damage whatsoever arising out of the use of the
Product(s) in suc h a manner.
RETURN REQUESTS/INQUIRIES
Direct all warranty and repair requests/inquiries to the OMEGA Customer Service Department. BEFORE
RETURNING ANY PRODUCT(S) TO OMEGA, PURCHASER MUST OBTAIN AN AUTHORIZED RETURN
(AR) NUMBER FROM OMEGA’S CUSTOMER SERVICE DEPARTMENT (IN ORDER TO AVOID
PROCESSING DELAYS). The assigned AR number should then be marked on the outside of the return
package and on any correspondence.
The purchaser is responsible for shipping charges, freight, insurance and proper packaging to prevent
breakage in transit.
FOR W
ARRANTY RETURNS, please have the
following information available BEFORE
contacting OMEGA:
1. Purchase Order number under which the product
was PURCHASED,
2. Model and serial number of the product under
warranty, and
3. Repair instructions and/or specific problems
relative to the product.
FOR NON-WARRANTY REPAIRS,
consult OMEGA
for current repair charges. Have the following
information available BEFORE contacting OMEGA:
1. Purchase Order number to cover the COST
of the repair,
2. Model and serial number of the product, and
3. Repair instructions and/or specific problems
relative to the product.
OMEGA’s policy is to make running changes, not model changes, whenever an improvement is possible. This affords
our customers the latest in technology and engineering.
reproduced, translated, or reduced to any electronic medium or machine-readable form, in whole or in part, without the
prior written consent of OMEGA ENGINEERING, INC.