控制端为 MCU,IO是 3.3V的,希望通过TXS0108与1.8V IO电平的从设备进行I2C通信。
测试发现MCU发过去的I2C地址可以正确转为1.8V发给从设备,然后从设备的ACK将1.8V端SDA拉低,但MCU端的SDA保持为高电平,导致MCU无法接收到ACK。
可能是什么原因?
Amy Luo:
您好,
感谢您对TI产品的关注~,您可以把电路图附上来吗
仅不能转换ACK信号吗
Dongjin Chen:
回复 Amy Luo:
应该说是器件端的电平变化,没有传递到MCU端。我放个示意图,我另外试了发完地址后,把Device_SDA长时间短接到地,期间MCU_SDA仍保持高。所以我说是器件端的电平变化没有传递到MCU端。
Kailyn Chen:
回复 Dongjin Chen:
您好,是VCCA=1.8V , VCCB =3.3V是吗? 注意VCCA<=VCCB.
看波形,看起来 SCL 的3.3V 转1.8V没问题,SDA 输出有问题,是一直为低吗?
Dongjin Chen:
回复 Kailyn Chen:
是VCCA=1.8V , VCCB =3.3V是吗?–是的,满足VCCA<VCCB
SDA 输出有问题,是一直为低吗?—请注意看第一张示波器的波形图,B端(3.3V)向A端(1.8V)转SDA输出没问题,只有ACK没法从A端(1.8V)传回B端(3.3V),就好像是单向转换的一样。
Amy Luo:
回复 Dongjin Chen:
您的电路外接其他元件了吗,比如上下拉电阻,上下拉电阻对其电平的影响请查看文档:
www.ti.com.cn/…/scea054
Dongjin Chen:
回复 Amy Luo:
你好,没有外接任何上下拉
Dongjin Chen:
你好,确实没看懂,能在我图上加下图示吗?
Kailyn Chen:
回复 Dongjin Chen:
不好意思,我写反了,我的意思是先使用TXS0108E对device端的1.8V转换成3.3V,然后再和MCU通讯。
但是按照TXS0108E的应用,这个应用框图也没问题,所以我需要再确认下。
Amy Luo:
回复 Dongjin Chen:
您方便断开MCU端测试Device_SDA长时间短接到地时MCU_SDA的电平吗,看下是否由MCU接口内部电路结构造成的呢
您是测试了几块板子有这种现象?有没换一片芯片看一下情况呢
Kailyn Chen:
回复 Kailyn Chen:
您好, 您这边有波形截图看下吗? 因为现在的问题是用在I2C上,波形看电平转换没有问题,当发送完地址之后, device端需要将SDA拉低,只是这个信号没有经过TXS0108传输给MCU端导致无法产生ACK信号,所以我在确认这个问题的过程中,需要您这边提供I2C的时序看下。