TI中文支持网
TI专业的中文技术问题搜集分享网站

PCF8574APWR芯片使用问题

你好,我们想通过PCF8574A这个芯片实现I2C扩展GPIO的功能。

我们连接芯片到Linux系统后使用I2Cdetect命令可以看到芯片的地址0x38.

接下来想要配置P5口为高电平,我们使用命令i2cset 1(bus端口) 0x38(设备地址) 0x20(配置数据0010 0000).

但是P5并没有被拉高,我们在P5上连接了LED的正极,LED负极串联电阻接地,看到LED没有被点亮。

请问我们的操作有什么问题?有没有相关的操作说明文档可以参考?

谢谢

Kailyn Chen:

您好,从机地址0X38改为0X70 再试试呢。

Amy Luo:

您好,
您的电路是怎么连接的呢,PCF8574APWR地址是7开头的,见数据手册8.3.3 Address Reference部分,您用示波器看下时序图,看是否有ACK信号,如果通信正常,再看下硬件是否有问题:您接的LED导通压降是多少呢,串接的电阻是多少呢,判断下P5是否有足够的电流驱动LED亮或者断开外接电路测下P5是否输出高

Xu Dianwei:

回复 Kailyn Chen:

0x38是7位地址,使用Linux的I2Cset是直接补全变成0x70的8位地址的。之前使用I2C控制dlp是验证过没有问题的。

Xu Dianwei:

回复 Amy Luo:

0x38是7位地址,使用i2cset命令会自动补齐为8位地址0x70.

我们使用示波器观察,可以看到ack信号,data端也是2串数据,第一组是0x70,第二组是要发的数据0x20。LED灯就是最普通的LED灯,3.3V可以点亮。串阻110欧姆。

Xu Dianwei:

回复 Amy Luo:

正常的操作是先发0x70 ,再发0x20.就可以设置p5是高,其他位都是低吗?

Amy Luo:

回复 Xu Dianwei:

可查看数据手册Figure 16. Write Mode (Output)是输出配置时序,数据包含P0-P7,其他位需要什么值就配置什么值。
LED是否可以点亮主要是驱动电流,建议您断开外接电路测P5输出,排除驱动电流不足问题。

Xu Dianwei:

回复 Amy Luo:

我看到手册连续发了3组数据,第一组是设备地址,第二组和第三组都代表什么意思呢?

Amy Luo:

回复 Xu Dianwei:

第二组是需要写进去的数据,第三组看起来像是数据表中的错误,应该是多余的:
e2e.ti.com/…/881341

Xu Dianwei:

回复 Amy Luo:

这个芯片需要提前配置输入和输出吗?看到规格书里面写8个端口可以单独配置每个口是输入还是输出,这个要如何做到呢?
我们只发设备地址0x70和8个口的电平高低0x20,是不是没有配置各个端口应该是输出或是输入呀?

Kailyn Chen:

回复 Xu Dianwei:

您好,PCF8574AP这款IO expander没有寄存器来配置IOport是输入还是输出,是直接通过读写来判定 是输入还是输出port的。

比如您写某个port,那么就是output, 如果您读某个port,那么这个port就是input port。

赞(0)
未经允许不得转载:TI中文支持网 » PCF8574APWR芯片使用问题
分享到: 更多 (0)