ETC USB2I2C

USB2I2C
中文数据手册
版本:V3.1D
USBIO TECH.
USB总线转接芯片:USB2I2C
更新日期:2009.04.30
USB2I2C实现:

USB总线到100KHz标准I2C模式;

USB总线到400KHz快速I2C模式;

USB总线到750KHz高速(HS)I2C模式;

USB总线到20KHz慢速 I2C模式。

采用超小SSOP20封装。
更多内容请参考:
http://www.usb-i2c-spi.com/cn
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
目录
2.1.
概述 ............................................................................................................................................................ 5
2.2.
同步串口 ................................................................................................................................................... 5
3.1.
引脚图 ........................................................................................................................................................ 6
3.2.
封装形式 ................................................................................................................................................... 6
4.1.
公共引脚 ................................................................................................................................................... 7
4.2.
I2C 串口的引脚 ........................................................................................................................................ 7
5.1.
功能说明-一般说明 .................................................................................................................................. 8
5.2.
功能说明-硬件说明 .................................................................................................................................. 8
5.3.
功能说明-厂商 ID 和产品 ID ................................................................................................................... 8
5.4.
功能说明-2 线制 I2C/IIC/TWI/SMBUS 同步串行总线 ....................................................................... 8
6.1.
参数-绝对最大值 ....................................................................................................................................10
6.2.
参数-电气参数 ........................................................................................................................................10
6.3.
参数-基本时序参数 ................................................................................................................................11
7.1.
应用-基本连接 ........................................................................................................................................12
7.2.
应用-2 线制 I2C/IIC/TWI/SMBUS 同步串口应用 .............................................................................13
8.1、关于电容和晶振 ......................................................................................................................................15
8.2、关于中断设置的说明 ..............................................................................................................................15
8.3、I2C 接口上拉电阻 ...................................................................................................................................15
8.4、USB2I2C 外围元器件说明 .....................................................................................................................16
8.5、数据缓冲区是否必须限制 4096...........................................................................................................16
8.6、不能识别 USB 检测 .................................................................................................................................16
9.1、Windows 系统下的驱动 .........................................................................................................................17
USBIO 科技发展有限公司
2 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
9.2、Linux 系统下的驱动 ................................................................................................................................20
10.1.
设备管理 API ........................................................................................................................................21
10.2.
中断处理 API ........................................................................................................................................22
10.3.
I2C 传输 API .........................................................................................................................................23
USBIO 科技发展有限公司
3 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
1、 概 述
USB2I2C是一个USB总线的转接芯片。USB2I2C实现:

USB总线到100KHz标准I2C模式;

USB总线到400KHz快速I2C模式;

USB总线到750KHz高速(HS)I2C模式;

USB总线到20KHz慢速 I2C模式。
USB2I2C提供主I2C接口,实现PC上位机和下位控制器之间的直接数据输入输出,而不再需要单片机
/DSP/MCU等的监控。在同步串口方式下,USB2I2C芯片还支持兼容I2C(IIC)总线的其它2线制TWI/SMBUS
同步串口,提供SCL线和SDA线。PC上位机可以方便地对I2C/IIC/TWI/SMBUS接口器件进行读写。
USB2I2C是一个USB总线的转I2C总线的专用接口芯片。通过USB2I2C芯片用户可以非常方便地实现PC
机USB总线和下位机端各种I2C/IIC设备之间的通信:

ATMEL公司的AT24CXX系列EEPROM;

I2C总线8位并行IO口扩展芯片PCF8574/JLC1562;

I2C接口实时时钟芯片DS1307/PCF8563/SD2000D/M41T80/ME901/ISL1208/;

I2C数据采集ADC芯片MCP3221(12bitADC)/ADS1100(16bitADC)/ADS1112(16bitADC)/MAX1238
(12bitADC)/MAX1239(12bitADC);

I2C接口数模转换DAC芯片DAC5574(8bitDAC)/DAC6573(10bitDAC)/DAC8571(16bitDAC)/;

I2C接口温度传感器TMP101/TMP275/DS1621/MAX6625
USB2I2C还支持对非标准I2C协议的期间进行读写,具体请参考相关的手册。
100KHz 标准 I2C 模式
PC 机、
400KHz 快速 I2C 模式
上位机
D+
或其它
USB 主机
D-
USB2I2C
750KHz 高速 I2C 模式
20KHz 慢速 I2C 模式
图 1- USB2I2C 功 能 结 构
USBIO 科技发展有限公司
4 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
2、 特 点
2.1.
概述

全速USB设备接口,兼容USB V2.0,外围元器件只需要1个12M晶体和2个电容。

低成本,直接转换原I2C接口的外围设备。

采用小型的SSOP-20封装。

由于是通过USB转换的界面,所以只能做到应用层兼容,而无法绝对相同。
2.2.
同步串口
TM

采用FlexWire 技术,通过软件能够实现灵活多样的2线到5线的同步串口。

作为Host/Master主机端,支持2线和4线等常用的同步串行接口。

2线制I2C/IIC/TWI/SMBUS接口,支持20KHz/100KHz/400KHz/750KHz 4种传输速度。
USBIO 科技发展有限公司
5 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
3、 封 装
3.1.
引脚图
图 2 - USB2I2C 引 脚 图
3.2.
封装形式
SSOP-20
塑体宽度
5.30mm
209mil
USBIO 科技发展有限公司
6 / 25
封装形式
引脚间距
0.65mm
25mil
芯片厚度
封装说明
订货型号
1.4mm
标准SSOP20封装
USB2I2C
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
4、 引 脚 说 明
4.1.
公共引脚
引脚号
引脚名称
类型
引脚说明
28
VCC
电源
正电源输入端,需要外接0.1uF电源退耦电容
12
GND
电源
公共接地端,直接连到USB总线的地线
在3.3V电源电压时连接VCC输入外部电源,
9
V3
电源
在5V电源电压时外接容量为0.01uF退耦电容
13
XI
输入
晶体振荡的输入端,需要外接晶体及振荡电容
14
XO
输出
晶体振荡的反相输出端,需要外接晶体及振荡电容
10
UD+
双向三态
直接连到USB总线的D+数据线,内置上拉电阻
11
UD-
双向三态
直接连到USB总线的D-数据线
1
ACT#
输出
USB设备配置,通过2K欧电阻下拉到地
2
RSTI
输入
外部复位输入,高电平有效,内置下拉电阻
4.2.
I2C 串 口 的 引 脚
引脚号
引脚名称
类型
引脚说明
24
SCL
开漏输出
2线串口的时钟输出,内置上拉电阻
23
SDA
开漏输出
及输入
2线串口的数据输入输出,内置上拉电阻
7
INT#
输入
中断请求输入,上升沿有效,内置上拉电阻
USBIO 科技发展有限公司
7 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
5、 功 能 说 明
5.1.
功 能 说 明 -一 般 说 明
本手册中的数据,后缀B为二进制数,后缀H为十六进制数,否则为十进制数。
USB2I2C和PC连接时,只能作为USB Device使用;USB2I2C转换出来的I2C总线,只能作为I2C的主设
备(Master),而且是I2C总线中唯一的一个Master。
5.2.
功 能 说 明 -硬 件 说 明
USB2I2C芯片内置了USB上拉电阻,UD+和UD-引脚应该直接连接到USB总线上。
USB2I2C芯片正常工作时需要外部向XI引脚提供12MHz的时钟信号。一般情况下,时钟信号由USB2I2C
内置的反相器通过晶体稳频振荡产生。外围电路只需要在XI和XO引脚之间连接一个12MHz的晶体,并且分
别为XI和XO引脚对地连接振荡电容。USB2I2C芯片内置了电源上电复位电路。INT#引脚是中断请求输入
引脚,当其检测到上升沿时,计算机端的程序将会收到中断通知。其它引脚都是自定义的通用输入引脚,
计算机端的应用程序可以查询其引脚状态。
USB2I2C芯片所有的引脚类型为三态输出的引脚,都内置了上拉电阻,在芯片复位完成后作为输出引
脚,而在芯片复位期间三态输出被禁止,由内置的上拉电阻提供上拉电流。如果必要,外部电路可以在电
路中再提供外置的上拉电阻或者下拉电阻,从而设定相关引脚在USB2I2C芯片复位期间的默认电平,外置
上拉电阻或者下拉电阻的阻值通常在2KΩ~5KΩ之间。
USB2I2C芯片使用5V电源电压时,V3引脚应该外接容量为0.01uF左右的电源退耦电容。
5.3.
功 能 说 明 -厂 商
ID 和 产 品 ID
USB2I2C默认的厂商ID和产品ID为5512H。
5.4.
功 能 说 明 -2 线 制 I2C/IIC/TWI/SMBUS 同 步 串 行 总 线
由USB2I2C转换的2线制同步串口I2C/IIC/TWI/SMBUS是主动式串口,只能作为I2C/IIC/TWI/SMBUS总
线上的Host或Master主机端,在计算机端的程序控制下,可以直接从外部电路输入输出数据,一般不需要
外接单片机/DSP/MCU。
2线制同步串口I2C/IIC/TWI/SMBUS的主要引脚包括SCL引脚、SDA引脚。SCL用于单向输出同步时钟,
开漏输出且内置上拉电阻,SDA用于准双向数据输入输出,开漏输出及输入且内置上拉电阻。
2线制同步串口I2C/IIC/TWI/SMBUS的基本操作元素包括:起始位、停止位、位输出、位输入。
USBIO 科技发展有限公司
8 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
起始位定义为当SDA为高电平时,SCL输出下降沿(从高电平切换为低电平)。
停止位定义为当SDA为高电平时,SCL输入上升沿(从低电平切换为高电平)。
位输出定义为当SCL为低电平时,SDA输出位数据,然后SCL输出高电平脉冲。
位输入定义为SCL输出高电平脉冲,在下降沿之前从SDA输入位数据。
字节输出定义为8个位输出及1个位输入用于应答。
字节输入定义为8个位输入及1个位输出用于应答。
I2C总线的数据输入和输出以字节为单位,每个字节含8个位,高位在前。
USB2I2C的2线制同步串口支持大部分的标准或兼容I2C/IIC/TWI/SMBUS的设备,如:

I2C接口EEPROM:24C01A到24C16、24C32到24C1024等;

I2C总线8位并行IO口扩展芯片PCF8574/JLC1562;

I2C接口实时时钟芯片DS1307/PCF8563/SD2000D/M41T80/ME901/ISL1208/;

I2C数据采集ADC芯片MCP3221(12bitADC)/ADS1100(16bitADC)/ADS1112(16bitADC)
/MAX1238(12bitADC)/MAX1239(12bitADC);

I2C接口数模转换DAC芯片DAC5574(8bitDAC)/DAC6573(10bitDAC)/DAC8571
(16bitDAC);
 I2C接口温度传感器TMP101/TMP275/DS1621/MAX6625,等
USBIO 科技发展有限公司
9 / 25
电话:010-82620329(Sale),010-87536099(Tech.)
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
6、 参 数
6.1.
参 数 -绝 对 最 大 值
(临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏)
名称
参数说明
最小值
最大值
单位
TA
工作时的环境温度
-20
70
℃
TS
储存时的环境温度
-55
125
℃
VCC
电源电压(VCC接电源,GND接地)
-0.5
6.5
V
VIO
输入或者输出引脚上的电压
-0.5
VCC+0.5
V
6.2.
参 数 -电 气 参 数
(测试条件:TA=25℃,VCC=5V,不包括连接USB总线的引脚)
名称
参数说明
最小值
典型值
最大值
单位
VCC
电源电压(V3引脚不连VCC引脚)
4.5
5
5.3
V
ICC
工作时总电源电流
15
30
mA
ISLP
USB挂起时的总电源电流
0.5
VIL
低电平输入电压
-0.5
0.7
V
VIH
高电平输入电压
2.0
VCC+0.5
V
VOL
低电平输出电压(4mA吸入电流)
0.5
V
VOH
高电平输出电压(4mA输出电流)(芯片
复位期间仅100uA输出电流)
VCC-0.5
IUPs
SCL和SDA引脚的高电平输出电流
100
200
500
uA
IUP
内置上拉电阻的输入端的输入电流
40
80
160
uA
USBIO 科技发展有限公司
mA
V
电话:010-82620329(Sale),010-87536099(Tech.)
10 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
IDN
内置下拉电阻的输入端的输入电流
VR
电源上电复位的电压门限
6.3.
USB2I2C V3.1D
-50
2.3
uA
2.6
2.9
V
参 数 -基 本 时 序 参 数
(测试条件:TA=25℃,VCC=5V)
名称
参数说明
最小值
典型值
最大值
单位
FSCK
XI引脚的输入时钟信号的频率
11.98
12.00
12.02
MHz
TPR
电源上电的复位时间
20
40
mS
TRI
外部复位输入的有效信号宽度
TRD
外部复位输入后的复位延时
USBIO 科技发展有限公司
100
nS
30
电话:010-82620329(Sale),010-87536099(Tech.)
11 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
mS
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
7、 应 用
7.1.
应 用 -基 本 连 接
USB2I2C的基本连接图如下图所示。P3是USB端口,USB总线包括一对5V电源线和一对数据信号线,通
常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可
以达到500mA,一般情况下,USB2I2C芯片和低功耗的USB产品可以直接使用USB总线提供的5V电源。如果
USB产品通过其它供电方式提供常备电源,那么USB2I2C也应该使用该常备电源,如果需要同时使用USB总
线的电源,那么可以通过阻值约为1-3Ω的电阻连接USB总线的5V电源线与USB产品的5V常备电源,并且两
者的接地线直接相连接。
图 3 - USB2I2C 基 本 连 接 图
C13和C14是独石或高频瓷片电容,C13容量为1000pF到0.01μF,用于USB2I2C内部电源节点退耦,C14
容量为0.1μF,用于外部电源退耦。晶体X3、电容C11和C12用于时钟振荡电路。X3的频率是12MHz,C11和
C12是容量为15pF的独石或高频瓷片电容。
如果USB产品使用USB总线的电源,并且在VCC与GND之间并联了较大的电容C15,使得电源上电过程较
慢并且电源断电后不能及时放电,那么USB2I2C将不能可靠复位。建议在RSTI引脚与VCC之间跨接一个容
量为0.47μF的电容C26延长复位时间。R1是配置电阻,ACT引脚必须通过2K欧电阻下拉到地。
在设计印刷线路板PCB时,需要注意:退耦电容C13和C14尽量靠近USB2I2C的相连引脚;使D+和D-信
号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和XO引脚相关
信号线的长度,为了减少高频干扰,可以在相关元器件周边环绕地线或者覆铜。
外部24XX系列串行EEPROM配置芯片U3是可选器件,可以方便验证I2C总线操作;当U3被省去时,同样
可以正常工作,这是提供SCL和SDA引脚和I2C Device连接。
USB2I2C也可以工作在3.3V系统中,典型的连接方式如下图所示。和5V系统不同的放在于:V3管脚
要和VCC一起链接到3.3V电源上。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
12 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
7.2.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
应 用 -2 线 制 I2C/IIC/TWI/SMBUS 同 步 串 口 应 用
2线制I2C/IIC/TWI/SMBUS同步串口应用连接图如下图所示。I2C总线支持多个设备的地址识别,采用
数据流方式读写数据,支持一次读写较大的数据块。USB2I2C的I2C两线串口支持20KHz、100KHz、400KHz、
750KHz的速度,与具有硬件两线串口的设备连接时可以选择较高的速度,与软件模拟两线串口的单片机
连接时只能选择较低的速度(例如20KHz)。
USB2I2C芯片只能作为I2C通信的主机端(Master),而且USB2I2C只能作为I2C总线中的唯一的一
个主机端(Master);也就是说USB2I2C只能工作在单主通信的I2C总线里,而且这个主设备就是USB2I2C。
5V系统和3.3V系统是两种常见的I2C通信系统,两种不同的电压系统进行通信时,必须添加电平转
换芯片或者采用MOSFET驱动:
SPI操作的其它配置请参考USB2I2C驱动文件夹【USB2I2C_DRIVER\LIB_C】下面的USBIOX.H文件里
面的相关说明(USBIO_SetStream)。
USBIO_SetStream(
ULONG
iIndex,
// 设置串口流模式
// 指定USB2I2C设备序号
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
13 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
ULONG
iMode );
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
// 指定模式,见下行
// 位1-位0: I2C接口速度/SCL频率, 00=低速/20KHz,01=标准/100KHz(默认值),10=快速/400KHz,11=高速/750KHz
// 位2:
SPI的I/O数/IO引脚, 0=单入单出(SCK时钟/MOSI出/MISO入)(默认值),
1=双入双出(SCK时钟/MOSI出MSOSI2出/MISO入MISO2入)
// 位7:
SPI字节中的位顺序, 0=低位在前, 1=高位在前
// 其它保留,必须为0
其它I2C操作还包括:

USBIO_ReadI2C;

USBIO_WriteI2C;

USBIO_ReadEEPROM;

USBIO_WriteEEPROM;

USBIO_StreamI2C
更详细的说明请参考:http://www.usb-i2c-spi.com/cn/rar/USB2XXX_Mamu.pdf。
图 4 - USB2I2C 转 换 成 I2C 接 口
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
14 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
8、 USB2I2C 常 见 硬 件 问 题
8.1、 关 于 电 容 和 晶 振
USB2I2C可以在XI脚对地加了一个10M的电阻,提高起振的稳定性。
8.2、 关 于 中 断 设 置 的 说 明
不推荐使用中断方式通信,因为USB协议本身的限制,即使采用中断方式对于实时性和
USB传输速率并没有太大的改观。
中断调用方式:先定义一个中断程序,
USBIO_SetIntRoutine(//设定中断服务程序
ULONG iIndex,//指定USB2I2C设备序号
mPUSBIO_INT_ROUTINE iIntRoutine);//指定中断服务程序,为NULL则取消中断服务
说明:设置USB2I2C的中断服务程序,iIntRoutine是一个符合mPUSBIO_INT_ROUTINE格式的子程序,
当USB2I2C的INT#引脚出现上升沿时,USBIOX.DLL自动调用iIntRoutine,并向其提供一个引脚状态参数,
引脚状态参数中,位为1则说明对应的引脚为高电平,位为0则说明对应的引脚为低电平,位7-位0对应
USB2I2C的D7-D0引脚,位8对应USB2I2C的ERR#引脚,位9对应USB2I2C的PEMP引脚,位10对应USB2I2C的
INT#引脚,位11对应USB2I2C的SLCT引脚。例如:主程序
main{
......
USBIO_OpenDevice(0);//打开设备,针对0#设备,如果有多个,可以计数
USBIO_SetIntRoutine(0,myInterruptEvent);//设置中断服务程序
......读写数据,或者在接收到中断服务程序的通知后处理中断
USBIO_CloseDevice(0);//用完后关闭设备
}
中断服务程序,当USB2I2C的INT#引脚出现上升沿时,USBIOX.DLL会自动调用该子程序,
Void CALLBACK myInterruptEvent(unsigned long PinStatus){
if(PinStatus & mStateBitERR) printf(“发生中断时ERR#引脚为高电平”);
else printf(“发生中断时ERR#引脚为低电平”);
......自己处理或者通知主程序处理
}
8.3、 I2C 接 口 上 拉 电 阻
I2C接口上拉电阻大小是47K欧。长距离或者高时钟频率I2C通信的时候,建议在I2C总线SCL和SDA
上拉4.7K欧到10K欧电阻。必要时采用专用的I2C总线延长芯片。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
15 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
8.4、 USB2I2C 外 围 元 器 件 说 明

振荡部分: 一个12MHz的晶体,两个15pF的振荡电容,引线尽量简短;

电源退耦: 一个0.1uF的电源退耦电容104,接于VCC与GND之间,非常必要;

内部电源: 一个0.01uF的电容103,接于V3引脚与GND之间,可选,用于降低EMI;
8.5、 数 据 缓 冲 区 是 否 必 须 限 制 4096
之所以说所谓的限制 4096 缓冲区是出于这样的考虑:由于 WINDOWS 系统的限制,USB
通信实际上是以每 mS 组织“打包”一次数据传输的。即使你把缓冲区开成 1M 的话,那么传输的速
度和 4096 字节的传输速度是一样的,那么就没必要提供更多的缓冲区给我们的动态库,而只需要
4096 字节就可以了。
8.6、 不 能 识 别 USB 检 测
如果第一次插入设备计算机没有提示发现新硬件,请检查硬件,主要检查以下几个方面:

(1)-USB 信号线有没有接错 VCC(红),UD-(白),UD+(绿),GND(黑);

(2)-晶振是否起振(如果起振两端的电压应该在 2.5V 左右);

(3)-V3 引脚的电容是否为 103 电容;

(4)-USB 线是否为屏蔽线,线的长度不能超过 5M。
USB2I2C 只有接到计算机上面正常工作的话,晶振才是起振的,如果没有连接的话,芯片处
于休眠状态,晶振不起振的。使用示波器查看晶振有没有起振,应使用*10 挡探头。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
16 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
9、 USB2I2C 驱 动
USB2I2C提供Windows和Linux下面的驱动。
9.1、 WINDOWS 系 统 下 的 驱 动
9、1、1. 下载驱动文件
从 USBIO Tech.网站 www.usb-i2c-spi.com/cn 的
“在线下载”
栏里下载最新版本的驱动程序。
连接地址是:http://www.usb-i2c-spi.com/cn/down.htm。下载 USB2I2C “开发大礼包”。解
压缩到本地机器的硬盘里待用。USB2I2C 驱动文件目录如下:
├─DRIVER
│
└─DRIVER
//请使用这里面的驱动
│
USBIOX.DLL
//动态链接库,可以被 VC,VB,CBC,Delphi 等调用
│
USBIOX.INF
//
│
USBIOX.SYS
//相应的驱动文件
└─LIB_C
USBIOX.H
//所有驱动 API 使用说明,这是一份重要说明文档!!!!
USBIOX.LIB
//可以被 VC,VB,CBC,Delphi 等调用的库文件
USB2I2C 是 USB2ISP 的一个子集,是 USB2ISP 的功能简化版本。如果同时还需要提供 SPI、
GPIO、EPP 或 MEM 等接口,可以使用 USB2ISP,软件不需要做任何更改。
9、1、2. 插入 USB2I2C_DEV 开发板
将 USB2I2C_Demo 测试板(或者自己设计的 USB2XX 板子)插入到电脑主板 USB 接口。
当 USB2I2C_Demo 开发板向外部供电时,最好插入 PC 机背部的主板 USB 口。
9、1、3. Windows 提示发现新硬件
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
17 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
插入 USB2I2C_DEV 开发板后 Windows 提示发现新硬件。
9、1、4. 提示安装驱动
选择【从列表或指定位置安装(高级)】选项,然后单击【下一步】按钮。
9、1、5. 指定驱动文件的路径
此处需要指定驱动文件的路径。驱动文件就是从网站上下载解压缩后的文件。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
18 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
9、1、6. 复制文件
接下来是系统复制驱动的过程。首次安装可能还会提示“没有通过 Windows 徽标测试”,
选择【仍然继续】按钮。
9、1、7. 安装成功
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
19 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
可以通过我的【电脑】→【属性】→【硬件设备管理器】来查看新安装的的设备。也可以打
开 USB2I2C_DEMO_VBCN.exe,此时状态来显示
9.2、 LINUX 系 统 下 的 驱 动
USB2I2C提供Linux 2.6内核下面的驱动,需要开源的Libusb支持。
下载地址:HTTP://WWW.USB-I2C-SPI.COM/CN/DOWN.HTM ,文件名【USB2XXXLinuxDriver】
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
20 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
10、 上 位 PC 机 应 用 软 件 开 发
在计算机端的Windows操作系统下,USB2I2C的并口驱动程序和动态链接库USBIOX.DLL向应用程序提
供了应用层接口,包括:设备管理API、并口数据传输API、同步串口数据传输API、中断处理API。有关
API参数的说明请参考USBIOX.H(一下各节中说明的API,均在USBIOX.H有更详细的说明),主要API如下。
├─DRIVER
│
└─DRIVER
//请使用这里面的驱动
│
USBIOX.DLL
//动态链接库,可以被 VC,VB,CBC,Delphi 等调用
│
USBIOX.INF
//
│
USBIOX.SYS
//相应的驱动文件
└─LIB_C
USBIOX.H
//所有驱动 API 使用说明,这是一份重要说明文档!!!!
USBIOX.LIB
//可以被 VC,VB,CBC,Delphi 等调用的库文件
有关DLL中各个API的使用VB和VC实例请参考USB2I2C评估板资料中的各个源程序及例子。
10.1.
设 备 管 理 API

USBIO_OpenDevice(//打开USB2I2C设备,返回句柄,出错则无效
ULONG iIndex);//指定USB2I2C设备序号,0对应第一个设备
说明:将USBIO_作为设备,使用前必须先打开,然后才能使用。

USBIO_CloseDevice(//关闭USB2I2C设备
ULONG iIndex);//指定USB2I2C设备序号
说明:用完USBIO_后,或者应用程序退出前,应该关闭USB2I2C设备。

USBIO_SetDeviceNotify(//设定设备事件通知程序
ULONG iIndex,//指定USB2I2C设备序号,0对应第一个设备
PCHARiDeviceID,//可选参数,指向字符串,指定被监控的设备的ID,字符串以\0终止
mPUSBIO__NOTIFY_ROUTINEiNotifyRoutine);//指定设备事件回调程序
说明:用于应用程序监控USB2I2C设备的插拔事件,确保应用程序随时知道USB设备是否存在,防止在
USB设备拔出后收发数据,并及时响应USB设备的插入。

USBIO_GetStatus(//通过USB2I2C直接输入数据和状态,类似的API还有USBIO_GetInput
ULONG iIndex,//指定USB2I2C设备序号
PULONG iStatus);//指向一个双字单元,用于保存状态数据
说明:获取的状态数据中:位7-位0对应USB2I2C的D7-D0引脚,位8对应USB2I2C的ERR#引脚,位9对应
USB2I2C的PEMP引脚,位10对应USB2I2C的INT#引脚,位11对应USB2I2C的SLCT引脚,位13对应USB2I2C的
WAIT#引脚,位14对应USB2I2C的DS#引脚,位15对应USB2I2C的AS#引脚,位23对应USB2I2C的SDA引脚。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
21 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D

USBIO_SetOutput(//设置USB2I2C的I/O方向,并通过USB2I2C直接输出数据
ULONG iIndex,//指定USB2I2C设备序号
ULONG iEnable,//数据有效标志
ULONG iSetDirOut,//设置I/O方向,位清0则对应引脚为输入,位置1则对应引脚为输出
ULONG iSetDataOut);//输出数据,如果I/O方向为输出,那么位数据将通过引脚输出
说明:谨慎使用该API,防止修改I/O方向使输入引脚变为输出导致与其它输出引脚之间短路而损坏。
上述的I/O方向和输出数据以32位数据表示,其中:位7-位0对应USB2I2C的D7-D0引脚,位8对应USB2I2C的
ERR#引脚,位9对应USB2I2C的PEMP引脚,位10对应USB2I2C的INT#引脚,位11对应USB2I2C的SLCT引脚,位
13对应USB2I2C的WAIT#引脚,位14对应USB2I2C的DS#/READ#引脚,位15对应USB2I2C的AS#引脚另外,以下
引脚只能输出,不考虑I/O方向:位16对应USB2I2C的RESET#引脚,位17对应USB2I2C的WRITE#引脚,位18对
应USB2I2C的SCL引脚,位29对应USB2I2C的SDA引脚。

USBIO_Set_D5_D0(//设置USB2I2C的D5-D0引脚的I/O方向,并通过D5-D0引脚直接输出数据
ULONG iIndex,//指定USB2I2C设备序号
ULONG iSetDirOut,//设置D5-D0各引脚的I/O方向,清0则引脚为输入,置1则引脚为输出
ULONG iSetDataOut);//设置D5-D0各引脚的输出数据,仅当I/O方向为输出时生效
说明:谨慎使用该API,防止修改I/O方向使输入引脚变为输出导致与其它输出引脚之间短路而损坏。
10.2.
中 断 处 理 API

USBIO_SetIntRoutine(//设定中断服务程序
ULONG iIndex,//指定USB2I2C设备序号
mPUSBIO_INT_ROUTINE iIntRoutine);//指定中断服务程序,为NULL则取消中断服务
说明:设置USB2I2C的中断服务程序,iIntRoutine是一个符合mPUSBIO_INT_ROUTINE格式的子程序,
当USB2I2C的INT#引脚出现上升沿时,USBIOX.DLL自动调用iIntRoutine,并向其提供一个引脚状态参数,
引脚状态参数中,位为1则说明对应的引脚为高电平,位为0则说明对应的引脚为低电平,位7-位0对应
USB2I2C的D7-D0引脚,位8对应USB2I2C的ERR#引脚,位9对应USB2I2C的PEMP引脚,位10对应USB2I2C的
INT#引脚,位11对应USB2I2C的SLCT引脚。例如:主程序
main{
......
USBIO_OpenDevice(0);//打开设备,针对0#设备,如果有多个,可以计数
USBIO_SetIntRoutine(0,myInterruptEvent);//设置中断服务程序
......读写数据,或者在接收到中断服务程序的通知后处理中断
USBIO_CloseDevice(0);//用完后关闭设备
}
中断服务程序,当USB2I2C的INT#引脚出现上升沿时,USBIOX.DLL会自动调用该子程序,
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
22 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
Void CALLBACK myInterruptEvent(unsigned long PinStatus){
if(PinStatus & mStateBitERR) printf(“发生中断时ERR#引脚为高电平”);
else printf(“发生中断时ERR#引脚为低电平”);
......自己处理或者通知主程序处理
}
10.3.
I2C 同 步 串 口 传 输 API

USBIO_ReadI2C(//从两线串口读取一个字节数据,仅适用于7位地址的设备
ULONG iIndex,//指定USB2I2C设备序号
ULONG iDevice,//低7位指定设备地址
ULONG iAddr,//指定数据单元的地址
PULONG oByte);//指向一个字节单元,用于保存读取的字节数据
说明:从两线串口读取一个字节数据。仅适用于7位地址的设备,不支持带从地址的I2C设备。

USBIO_WriteI2C(//向两线串口写入一个字节数据,仅适用于7位地址的设备
ULONG iIndex,//指定USB2I2C设备序号
ULONG iDevice,//低7位指定设备地址
ULONG iAddr,//指定数据单元的地址
ULONG iByte);//待写入的字节数
说明:从两线串口读取一个字节数据。仅适用于7位地址的设备,不支持带从地址的I2C设备。

USBIO_WriteRead(//执行数据流命令,先输出再输入
ULONG iIndex,//指定USB2I2C设备序号
ULONG iWriteLength,//写长度,准备写出的长度
ULONG iWriteBuffer,//指向一个缓冲区,放置准备写出的数据
ULONG iReadStep,//准备读取的单个块的长度,总长度为(iReadStep*iReadTimes)
ULONG iReadTimes,//准备读取的次数
PULONG oReadLength,//指向长度单元,返回后为实际读取的长度
ULONG oReadBuffer);//指向一个足够大的缓冲区,用于保存读取的数据
说明:先输出数据再输入数据,执行数据流命令,适用于同步串口等。

USBIO_SetStream(//设置同步串口流模式
ULONG iIndex,//指定USB2I2C设备序号
ULONG iMode);//指定模式,见下面的说明
说明:IMODE的位1位0:I2C速度/SCL频率,00=低速20KHZ,01=标准100KHZ,10=快速400KHZ,11=高
速750KHZ//位2:SPI的I/O数/IO引脚,0=单入单出(4线接口),1=双入双出(5线接口)//位7:SPI字节
中的位顺序,0=低位在前,1=高位在前//其它保留,必须为0。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
23 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D

USBIO_StreamI2C(//处理两线串口的数据流,适用于所有两线串口的设备
ULONG iIndex,//指定USB2I2C设备序号
ULONG iWriteLength,//准备写出的数据字节数
ULONG iWriteBuffer,//指向缓冲区,放置准备写出的数据,首字节是设备地址及读写位
ULONG iReadLength,//准备读取的数据字节数
ULONG oReadBuffer);//指向缓冲区,返回后是读入的数据对两线串口设备进行操作。
例如,从24C256中3200H开始的地址读出256字节的数据:
ULONG OutBuf[5],InBuf[300];//待写数据缓冲区,读出数据缓冲区
OutBuf[0]=0xA1;
OutBuf[1]=0x32;
OutBuf[2]=0x00;//待写数据:设备地址及单元地址
USBIO_StreamI2C(0,3,OutBuf,256,InBuf);//针对0#设备处理两线串口的数据流

USBIO_ReadEEPROM(//从EEPROM中读取数据块,速度约56K字节
ULONG iIndex,//指定USB2I2C设备序号
EEPROM_TYPE iEepromID,//指定EEPROM型号
ULONG iAddr,//指定数据单元的地址
ULONG iLength,//准备读取的数据字节数
PULONG oBuffer);//指向一个缓冲区,返回后是读入的数据
说明:读EEPROM的API支持从24C01到24C16和从24C32到24C4096的各种型号的EEPROM存储器。

USBIO_WriteEEPROM(//向EEPROM中写入数据块
ULONG iIndex,//指定USB2I2C设备序号
EEPROM_TYPE iEepromID,//指定EEPROM型号
ULONG iAddr,//指定数据单元的地址
ULONG iLength,//准备写出的数据字节数
PULONG iBuffer);//指向一个缓冲区,放置准备写出的数据
说明:写EEPROM的API支持从24C01到24C16和从24C32到24C4096的各种型号的EEPROM存储器。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
24 / 25
http://www.usb-i2c-spi.com/cn/mail.htm
USBIO TECH.
www.usb-i2c-spi.com/cn
USB2I2C V3.1D
11、 封 装 尺 寸
USB2I2C采用SSOP20封装(PCB),尺寸如图7和图8。图7以mil为单位,图8以mm为单位。
图 5- USB2I2C SSOP20 PCB 封 装 图 ( MIL)
图 6 USB2I2C SSOP20 PCB 封 装 图 ( MM)
版权
2007年6月版,版权属USBIO科技发展有限公司所有,未经USBIO科技发展有限公司事先的书面允许,
本出版物的任何部分不得被翻版、传播。
本手册中所包含的内容发生变更时,恕不另行通知。
USBIO 科技发展有限公司
电话:010-82620329(Sale),010-87536099(Tech.)
25 / 25
http://www.usb-i2c-spi.com/cn/mail.htm