Welcome to the Calibre UCA93 adjustable voltage I
bi-directional compatibility as either a master or slave from within a Windows 98 2000 or
Windows XP environment.
If you have any queries relating to this or any other I
our web site www.calibreuk.com.
For technical support please e-mail techsupport@calibreuk.com or send your queries by fax to
(44) 1274 730960, for the attention of our I2C Technical Support Department.
COPYRIGHT
This document and the software described within it are copyrighted with all rights reserved. Under
copyright laws, neither the documentation nor the software may be copied, photocopied, reproduced,
translated, or reduced to electronic medium or machine readable form, in whole or in part, without
prior written consent of Calibre UK Ltd ("Calibre"). Failure to comply with this condition may result in
prosecution.
Calibre does not warrant that this software package will function properly in every
hardware/software environment. For example, the software may not work in combination with
modified versions of the operating system or with certain network Adapter drivers.
Although Calibre has tested the software and reviewed the documentation, CALIBRE MAKES
NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO
THIS SOFTWARE OR DOCUMENTATION, THEIR QUALITY, PERFORMANCE,
MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. THIS SOFTWARE AND
DOCUMENTATION ARE LICENSED 'AS IS', AND YOU, THE LICENSEE, BY MAKING USE
THEREOF, ARE ASSUMING THE ENTIRE RISK AS TO THEIR QUALITY AND PERFORMANCE.
IN NO EVENT WILL CALIBRE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
USE THE SOFTWARE OR DOCUMENTATION, even if advised of the possibility of such damages.
In particular, and without prejudice to the generality of the foregoing, Calibre has no liability for any
programs or data stored or used with Calibre software, including costs of recovering such programs or
data.
C Adapter. This Adapter provides full I2C
2
C product supplied by Calibre please visit
CopyrightCalibre UK Ltd
(c) 2003Cornwall House, Cornwall Terrace
Bradford, BD8 7JS. UK.
E-mail: sales@calibreuk.com
Web site www.calibreuk.com
All World-wide Rights Reserved
Issue 1.001/07/2003
All trade marks acknowledged
Calibre operates a policy of continued product improvement, therefore specifications are subject to
change without notice as products are updated or revised.
E&OE.
Issue 1.0 Page i
01/07/03
CALIBRE
Contents
INTRODUCTION1
1.1.General Introduction1
1.2.Packing List1
1.3.Configuring the Adapter1
1.4.Bus Termination and Protection1
1.5.Connecting the Adapter to your System1
1.6.Bus Capacitance Limitations/Cable Choice2
1.7.Variable Voltage Bus Power Supply2
INSTALLING THE ADAPTER UNDER WINDOWS3
2.1.Introduction3
2.2.Installing the Adapter3
LIBRARIES FOR PROGRAMMING IN MICROSOFT WINDOW S ENVIRONMENTS4
3.1.Introduction4
3.2.Function Prototypes5
3.3.Function Description7
3.3.1.Setup7
3.3.2.SendAddress7
3.3.3.WriteByte8
3.3.4.ReadByte8
3.3.5.SendStop8
3.3.6.Restart8
3.3.7.GetStatus9
3.3.8.Recover9
3.3.9.SlaveLastByte9
3.3.10. BlockWrite10
3.3.11. SetBlockData10
3.3.12. BlockWriteStatus10
3.3.13. BlockRead10
3.3.14. GetBlockData11
3.3.15. BlockReadStatus11
3.3.16. BlockSlaveTransmittter11
3.3.17. BlockSlaveTransmitterStatus12
3.3.18. BlockSlaveReceiver12
3.3.19. BlockSlaveReceiverStatus13
3.3.20. CheckBusVoltage13
3.3.21. CheckPullupVoltage13
3.3.22. Write_IO_Pin14
3.3.23. Read_IO_Pin14
3.3.24. SendAddressNoStatus15
3.3.25. WriteByteNoStatus15
3.3.26. ReadByteNoStatus15
3.3.27. SendStopNoStatus15
3.3.28. RestartNoStatus16
The Real-Time Bus Monitor17
Appendix A I
Appendix B Migration Notes for Existing Calibre I2C Customers19
When the THE MOST COMMONLY ASKED I2C QUESTIONS22
General Questions22
Windows Questions22
2
C Communications Adapter Status Codes18
Issue 1.0 Page ii
01/07/03
1.1.General Introduction
CALIBRE
INTRODUCTION
The UCA93 is a USB V1.1 to I2C Adapter based on the PIC 16F874 microcontroller using a Philips
PCF8584 for the bus monitor function. It features full I
slave. I
2
C connections are made via a 9 way “D” socket. This product complies with the requirements of
2
C bi-directional compatibility as either a master or
EEC Directive 89/336 for EMC and is CE marked.
The UCA93 provides full software control of the I
2
C bus voltage, bus speed and pull up resistors. Two
spare IO pins are available to the user.
The software functions supplied with the Adapter have been designed to feel as familiar as possible to
customers with existing Calibre AT or PCI bus I2C adapters. Nevertheless there are some unavoidable
differences between the way the UCA93 works and previous generations of products. Customers are
strongly recommended to read Appendix B which deals with migration issues.
New software block functions have been added to take advantage of the USB port’s high data rate.
1.2.Packing List
Your I2C Communications Adapter is supplied with the following items:-
A.I
2
C CD ROM
B.The UCA93 Adapter and USB cable
1.3.Configuring the Adapter
NOTE
There are no user adjustable components within the Adapter. The Adapter contains static
sensitive devices.
Read the following section to change the configuration.
1.4.Bus Termination and Protection
Normally the system to which the I2C Communications Adapter is to be connected should already have
master pull up resistors fitted to the SCL and SDA lines. If this is not the case, pull up resistors to the
+V(adjustable) can be configured as part of the software set up.
1.5.Connecting the Adapter to your System
The USB cable MUST be connected between the PC and the Adapter.
The Adapter also provides two digital input / output pins, which are connected via a 0.1” 4 way PCB
connector.
IO 0 is an open drain output which requires an external pull up and can be used on systems which are
not 5V tolerant. If IO 0 is used as an input it MUST be connected to a 5V system.
Issue 1.0
01/07/03
Page 1
CALIBRE
IO 1 is a 5V TTL input and can only be used on 5V tolerant systems.
PinFunction
1NC – DO NOT CONNECT
2IO 0
3IO 1
40V
1.6.Bus Capacitance Limitations/Cable Choice
The maximum allowable capacitance on the I2C bus in normal mode depends on the value of the SCL
and SDA master pull-ups, but never exceeds 400pF. Refer to Phillips Technical Handbook Book 4 Parts
12a and 12b for further details. Care should be taken in choosing a length and type of interconnecting
cable, which will not exceed this limit.
For most systems with a distance of a few metres between the I
target system, screened cable is NOT recommended, as it is likely to introduce too much capacitance.
However, the EMC performance of an unscreened cable is always potentially poorer than a screened
one. The Adapter's EMC performance even with an unscreened cable is good - but this may not be true
of the target system! If you are in any doubt at to the best way to connect up your system with EMC in
mind please contact your supplier or Calibre for advice.
1.7.Variable Voltage Bus Power Supply
Pin 7 on the “D” connector is connected to the variable bus voltage power rail. Power for external
circuitry can be drawn from here, but care should be taken never to short it to 0V or to exceed 250mA
loading. It is short circuit and overload protected by a self-resetting thermal fuse but prolonged shorting
could cause the UCA93 to generate an excessive amount of heat.
2
C Communications Adapter and the
The bus voltage is set via software, in the range 2V to 5V.
NOTE that if a bus voltage greater 4.2V is selected the output will be 5V.
Issue 1.0
01/07/03
Page 2
CALIBRE
INSTALLING THE ADAPTER UNDER WINDOWS
2.1.Introduction
This section details the installation of the UCA93 I2C communications Adapter under Windows 98® /
Windows2000® and Windows XP®.
The appearance of the dialog boxes during the installation of new hardware varies depending on the
version of Windows.
The Adapter supports plug and play via the USB port.
2.2.Installing the Adapter
Connect the Adapter to the PC using the USB cable, the power light will illuminate.
The operating system will detect the installation of new hardware, follow the set up wizard instructions.
Either browse the CD or select the “have disc” option select the FTD2XX.inf.
The wizard will then install the device drivers.
IMPORTANT NOTE
Windows XP includes a driver for the USB interface device used in the Adapter, and will normally install
this. The driver installed from the XP disc
If you are using Windows XP you can check that the correct driver is installed by
WILL NOT WORK
with this Adapter.
1) Right click on the “My Computer Icon”
2) Select properties
3) Select the Hardware Tab and click “Device Manager”
4) Expand the “Universal Serial Bus Controllers”
5) If the driver is provided by Microsoft you need to select the update driver then browse
for and select the FTD2XX.inf
6) Once installed correctly the FTDI FT8U2XX Device should be listed
PLEASE NOTE The FTD2XX.inf is NOT digitally signed but is correct.
Issue 1.0
01/07/03
Page 3
CALIBRE
LIBRARIES FOR PROGRAMMING IN MICROSOFT WINDOWS ENVIRONMENTS
3.1.Introduction
Each utility is documented in a standard format which lists its name, usage, function and effect on the
Adapter is given. The Adapter should be setup prior to any data transfer.
Within the DLL there are two versions of some functions e.g. SendAddress and SendAddressNoStatus,
the first provides legacy support for software written for other Calibre UK Ltd I2C products, the second
format does not return the status.
3.1.1.Legacy Function
The following changes have had to be made to the legacy functions
1) The parameters passed to the setup function are specific to the Adapter
2) The status wait has been removed and is now controlled by hardware, the Adapter will wait up
to 500 micro seconds before returning an error code indicating that the transfer failed.
3) The Setnack is now changed on the read you require the acknowledge state to change NOT on
the byte before.
4) There is no longer a need to perform a Trash read after a restart.
3.1.2.No Status Functions
The xxNoStatus functions provide faster transfers as they do not require the USB bus to change
direction between writing and reading. The function prototypes are included in the manual but care
MUST be taken when using these functions not to corrupt the I
functions are ONLY to be used when users are 100% certain that all devices on the I
acknowledge their address and that there is a single master.
2
C with uncontrolled transfers. These
2
C WILL
PLEASE NOTE NO TECHNICAL SUPPORT IS AVAILABLE FOR THESE FUNCTIONS
Calibre UK recommend using the block functions detailed below
3.1.3.Block Functions
To aid users wishing to transfer data without the complication of having to write a I2C transfer protocol a
number of Block functions have been added. DO NOT exceed the data transfer limitations described in
the individual functions as this will cause errors and data corruption.
C and C++ users will undoubtedly wonder why they are passing data to the DLL when they could much
more efficiently pass a pointer, unfortunately not all the development environments this Adapter will be
used on support pointers.
Issue 1.0
01/07/03
Page 4
CALIBRE
3.2.Function Prototypes
If you are using ‘C’ or ‘C++’ copy the file CALUCA.H into the directory containing your project and add
the line:
#include " CALUCA.H"
The following functions are implemented in the windows libraries:-
extern __declspec(dllimport) int WINAPI Setup (int, int, int, int, int);
extern __declspec(dllimport) int WINAPI SendAddress (int, int);
extern __declspec(dllimport) int WINAPI WriteByte(int);
extern __declspec(dllimport) int WINAPI ReadByte(int);
extern __declspec(dllimport) int WINAPI SendStop(void);
extern __declspec(dllimport) int WINAPI Restart (int, int);
extern __declspec(dllimport) int WINAPI GetStatus(void);
extern __declspec(dllimport) int WINAPI recover(void);
extern __declspec(dllimport) void WINAPI SlaveLastByte(void);
extern __declspec(dllimport) int WINAPI DLLVersion(void);
extern __declspec(dllimport) int WINAPI SetBlockData(int);
extern __declspec(dllimport) int WINAPI BlockWriteStatus (void);
extern __declspec(dllimport) int WINAPI BlockWrite(int , int , int ,int, int );
extern __declspec(dllimport) int WINAPI GetBlockData(void);
extern __declspec(dllimport) int WINAPI BlockReadStatus(void);
extern __declspec(dllimport) int WINAPI BlockRead(int , int , int , int, int );
extern __declspec(dllimport) int WINAPI BlockSlaveTransmitterStatus(void);
extern __declspec(dllimport) int WINAPI BlockSlaveTransmitter( int );
extern __declspec(dllimport) int WINAPI BlockSlaveReceiverStatus(void);
extern __declspec(dllimport) int WINAPI BlockSlaveReceiver(int , int );
extern __declspec(dllimport) int WINAPI Write_IO_Pin (int , int );
extern __declspec(dllimport) int WINAPI Read_IO_Pin (int );
extern __declspec(dllimport) int WINAPI CheckBusVoltage(void);
extern __declspec(dllimport) int WINAPI CheckPullupVoltage(void);
Issue 1.0
01/07/03
Page 5
Loading...
+ 17 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.