I2C pad settings behavior

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

I2C pad settings behavior

208件の閲覧回数
YoshiDev
Contributor II

Hi, 

We have a board based around the i.MX8MP application processor. We are trying to optimize the signal integrity of an I2C bus. We have tried changing the pad settings. However, the pad settings do not seem to influence the signal at all. Is this expected? On our board, there is only a pull-up resistor and some sensors on the I2C bus. 

As a test, we have also changed the pad settings on GPIOs. In that case, we see a clear difference between different pad settings. We have changed the driver strength, and the open drain enable setting on both the GPIO pads and the I2C pads. Does the behavior of the pad settings depend on the chosen peripheral? How should the pad be configured for an I2C bus? 

 

Kind regards, 

Yoshi

0 件の賞賛
返信
5 返答(返信)

189件の閲覧回数
Alejandro_Salas
NXP TechSupport
NXP TechSupport

Hello @YoshiDev 

 

Normally, in i.MX8MP the configuration pad is 0x400001c2 to the pad registers as you can see on device tree:

Alejandro_Salas_0-1718058896889.png

 

2 => DSE_X1

C => HYS and PUE enabled

1 => PE 

and 4 => SION

Alejandro_Salas_1-1718059086195.png

 

Best regards,

Salas.

0 件の賞賛
返信

175件の閲覧回数
YoshiDev
Contributor II

Hi @Alejandro_Salas , 

Thank you for your feedback. 

Are other pad settings not supported, or just not recommended? 

We are really wondering why changing the pad settings of the I2C signals does not change the signal, while the same works as expected for the GPIO signals. 

Kind regards, 

Yoshi

0 件の賞賛
返信

171件の閲覧回数
Alejandro_Salas
NXP TechSupport
NXP TechSupport

Hello @YoshiDev 

 

Could you please clarify "Are other pad settings not supported, or just not recommended? "?

 

Best regards,

Salas.

0 件の賞賛
返信

167件の閲覧回数
YoshiDev
Contributor II

Hi @Alejandro_Salas , 

I mean what happens when I configure the pad settings as 0x400001c6 instead of 0x400001c2? Or 0x400001e6? Will the interface stop working? Will the signal be less good? 

Because currently, we are not able to measure any differences between the different options. 

Kind regards, 

Yoshi 

0 件の賞賛
返信

164件の閲覧回数
Alejandro_Salas
NXP TechSupport
NXP TechSupport

Hello,

 

The recomended value is 0x400001c2, but yes, if you change some values the I2C interface can stop to work, for example if you enable the PE and you select Pull Down in PUE the interfaz will stop to work, because in I2C the lines must be Pull Up. Remember DSE is the drive strength field, higher DSE means more current that pad can drive (as output). Maybe if your design requiere to handle more distance between I2C master and Slaves, a Higher Drive Strength should works better.

 

Best regards,

Salas.

0 件の賞賛
返信