Book 1 Technical Support Reference

advertisement
Book 1 Technical Support Reference
RS Part No. 221-272
PCI236 - 24 channel digital I/O PCI card
Amplicon Part No. 90993663
•
•
•
•
•
•
•
24 lines of flexible programmable digital I/O
32-bit 5V PCI bus compatible
Patch area for custom signal conditioning
37-way male D connector
Supports Windows 95, 98, NT, 2000, XP, 2003, Vista and Linux
Drivers for C/C++, C#, VB/VB.NET, Delphi, Agilent VEE and LabVIEW
3 year warranty
Frequently Asked Questions:
How do I test a PCI236?
The recommended method is to perform a loop back test on the ports.
The connections for the loop back link each line of each port to each other. This
results in A0 being connected to B0 and C0. This is repeated for the remaining seven
lines.
Line
A0
A1
A2
A3
A4
A5
A6
A7
Pin
4
5
6
7
8
9
10
11
connect to
connect to
connect to
connect to
connect to
connect to
connect to
connect to
Line
B0
B1
B2
B3
B4
B5
B6
B7
Pin
12
13
14
15
16
17
18
19
connect to
connect to
connect to
connect to
connect to
connect to
connect to
connect to
Line
C0
C1
C2
C3
C4
C5
C6
C7
Pin
23
22
21
20
24
25
26
27
Once these connections are made, the example program INOUT should be used to
exercise the lines.
When using INOUT, ensure no more then one port is configured as Output at any one
time.
What example software is available for the PCI236?
There is one example program written for use with the PCI236, the PCI263, the
PCI272, and the PCI230+. This is called INOUT and is provided with source code in
five programming languages.
Delphi
Visual Basic 5/6
Visual Basic .NET
C#
LabVIEW
What is the ‘patch panel’ on the PCI236 used for?
This is provided for signal conditioning such as bias resistors or de-bounce circuits. Each line
can be fitted with a number of components and a drill-point is provided which allows series
components to be fitted for circuits such as potential dividers.
What is the power on status of the digital I/O on an Amplicon PCI200 series board?
The digital I/O of a PCI200 series board is derived from an 82C55 PIO chip. When a
PCI200 series board is powered on, the 82C55 receives a global reset signal which
configures the chip into Mode 0 with all the Ports set as Inputs.
I have fitted a second PCI200 series board and would like to know how to test it and address
it in software?
To test the board, run the appropriate test program. If both boards, use the same
program, run two copies. From version 4.32 of AmpDIO , a board selection routine
was added to each example program and only one copy of the test program needs to
be run with the appropriate board selected after the program starts.
To address the board in software, add a second call to registerBoardEx()
incrementing the parameter 'CardNo' by one.
hboard0 = registerBoardEx(0);
hboard1 = registerBoardEx(1);
To free the additional board, call another FreeBoard() with the second board handle
in its hBoard parameter.
returnCode = FreeBoard(hboard0);
returnCode = FreeBoard(hboard1);
My computer has an Amplicon Data Acquisition/Serial Communications PCI board plugged in
to it, but it is not seen by the operating system?
Amplicon’s Data Acquisition and Serial Communication PCI boards are supported
within 32bit Windows, including Windows Vista, XP, 2000, Me, NT4.0, 98, and 95.
Further support is available for 32bit Linux distributions and 64bit Vista.
If the operating system in question is in this list, please follow the steps listed below in
the first instance. If these steps do not provide a solution or the operating system is
not listed, email Amplicon Technical Support at support@amplicon.co.uk.
1. Ensure the board is correctly seated in the PCI slot along its full length. On
occasion, it has been found that screwing the 'L' bracket to the case of the computer
causes the board to move in the slot and connection to some of the pins in the slot is
lost.
This occurs due to tolerances in manufacturing and alignment of the
mainboard/backplane with respect to the chassis. Correction to the alignment, if
necessary, can normally be performed by loosening the 'L' bracket on the board,
fixing it in the machine and then tightening it back up in its new position, otherwise,
tweaking the bend in the 'L' bracket may be sufficient.
2. If the operating system is Windows Vista, XP, 2000, or Me, please download
AmpDIO for data acquisition boards or Serial32 for communications boards if the
installed drivers are from the Amplicon Softman CD with a version of 2001A or less.
This is not necessary if using Windows NT4.0, 98, or 95 but updating the software
support is recommended. The current Linux support can be found here.
3. Run the program 'FindCard' from a DOS boot disk or if this is unavailable, a DOS
prompt in Windows Me, 98, or 95. If no boards are listed, the board may be faulty but
continue through the rest of the steps.
4. Turn the machine off and remove the board, enter the BIOS and ensure 'Plug &
Play Operating System' is set to 'NO' and 'Reset ESCD' is enabled. Restart the
computer to reset the BIOS and operating system.
5. Turn the machine off and reinsert the Amplicon board in the PCI slot nearest the
processor or a primary PCI (PPCI) slot if using a single board computer (SBC) and
turn the machine back on.
6. The operating system should now find the board and installation can continue as
normal. If the slot in use is not the preferred slot, turn the machine off, remove the
board, turn the machine on, then off and fit the board into the desired slot. Turn the
machine on and if the board is not found, there is a slot configuration issue and the
above should be repeated until a compromise slot is found the board works in.
If the board is still not found, another PCI board in the machine may be causing a
conflict. Remove all none essential boards (everything except the video card) and
restart the machine and the board should be found. The boards that have been
removed should be fitted one at a time and if any board is not recognised, try a
combination of slots until all the boards are installed.
Is there multi-threading support within AmpDIO?
Not specifically, there is limited synchronisation in some of the low level timer
functions but this should not be relied on to provide multithreaded support.
It is up to the programmer to provide synchronisation where appropriate but some
areas to consider include:
Board registration and deregistration using the functions;
RegisterBoardEx() and FreeBoard().
Interrupt management using the functions;
TCsetUserInterrupt()
TCfreeUserInterrupt()
enableInterrupts()
freeInterrrupts().
Writing data to a digital port using the function;
DIOsetData()
Download