2191388_en-US

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2191388_en-US

2191388_en-US

PNEV7642A and LPC541xx device I2C connection

Hello,

I’m trying to establish an I2C connection between the evaluation board PNEV7642A and a system based on LPC541xx devices.

Pin connections:

  • J46.1 → AD_I2CM_SCL

  • J46.2 → AD_I2CM_SDA

  • J46.4 → GND
    (Connected to the corresponding I2C pins on the LPC541xx board.)

The issue I’m facing is that the I2C bus seems to get stuck — either the data is not received correctly or not received at all.

Additionally, when the I2C bus from the PN7642 evaluation board is connected, it appears to pull down the communication of other I2C devices on the same bus.

Could this be related to a clock issue (e.g., clock stretching, desynchronization, or incorrect clock/frequency settings)?
Initially, I used the clock driver and clock_config files provided in the PNEV7642FAMA software package.

Would you recommend using MCUXpresso Config Tools (https://mcuxpresso.nxp.com/) to generate the pin mux and clock configuration?
If so, is there any special procedure or configuration required for this setup?

Thank you for your help.

Re: PNEV7642A and LPC541xx device I2C connection

Hi,

According to PN7642 Data Sheet, Section 9.6.1.7, I2C Controller interface supports both multi controller and multi controller with target.

Latest SDK available (should be v02.15.004) can be found in PN7642 Product Page, under Software section. Available examples for I2C communication are pn76_hostif_i2c (driver_examples > hostif > i2c) and i2c_gpdma_b2b_transfer_master/_slave (driver_examples > i2c).

Also, I will recommend you referring to the I2C-bus specification and user manual.

Regards,
Eduardo.

Re: PNEV7642A and LPC541xx device I2C connectionHello Eduardo,

I am now getting closer to understanding the root cause.
What I actually need is multi-controller (multi-master) I2C communication with DMA.
I have already started modifying the I2C driver to handle:
• Arbitration lost events
• Retry logic
• Bus ready checks
However, before continuing further development, I would like to confirm:
Does the PN7642 support multi-controller I2C operation?
If yes, are there:
• Any existing SDK examples?
• Updated drivers?
• Application notes or guidance from NXP?
If such resources are available, could you please share them?
Thank you in advance for your support.
Best regards,
Radoslaw Tomasik
Re: PNEV7642A and LPC541xx device I2C connection

Hi,

Please, try using the default source code of the demo (from latest SDK version of each device). I tried to replicate your setup by using:

- LPCXpresso54114 Evaluation board -> lpcxpresso54114_i2c_dma_b2b_transfer_master, no modifications

- OM27642EVK Evaluation board -> pnev7642fama_i2c_gpdma_b2b_transfer_slave, no modifications

Then, connected:

PNEV7642A LPCXpresso54114
J46-1 J1-1
J46-2 J1-3
J46-4 J1-7

The communication works as expected:

- LPCXpresso54114
EduardoZamora_0-1761847212292.png
 
- PNEV7642A
EduardoZamora_1-1761847248985.png

Regards,
Eduardo.

Re: PNEV7642A and LPC541xx device I2C connection

Hello @EduardoZamora,

Did you have a chance to look into the issue?

I’ve attached two files showing one I2C message that is sent cyclically. I can see the signal on the oscilloscope connected to the evaluation board pins; however, it does not appear in the receive buffer of the I2C slave software.

What could be the reason for this behavior? Please advise.

Best regards,
Radoslaw

 

Re: PNEV7642A and LPC541xx device I2C connection

Hello @EduardoZamora,

Thanks, I’m doing fine — hope you’re doing well too!

I’m using the i2c_gpdma_b2b_transfer_slave example (from PN7642 SDK > driver_examples > i2c) as a reference for my tests. My goal is to receive data and send a modified response back.

I modified the address setting to:
slaveConfig.address0.address = 0x00;
so that the device can receive all data on the bus.

On the oscilloscope, I can see traffic on the bus reaching pins J46.1 and J46.2.
Are these pins the correct outputs for I2C communication, or should I use different pins if I only want to receive data?

Regarding J54, my current jumper configuration is as delivered (all four jumpers in place):

  • J54 pins 1–3 & 2–4: PN76xx I2CM as leader — default

  • J54 pins 3–5 & 4–6: PN76xx I2CM as follower — optional

  • J54 pins 5–7 & 6–8: PN76xx I2CA (ATX) as follower — default

I’ve attached an example of the I2C communication for reference.

I hope this helps clarify the situation a bit more.
Thank you in advance for your support.

Best regards,
Radoslaw

Re: PNEV7642A and LPC541xx device I2C connection

Hello @RadoslawTomasik

Hope you are doing well.

Could you please confirm if you are using i2c_gpdma_b2b_transfer_master (PN7642 SDK > driver_examples > i2c) demo as a reference for your test? By any chance, have you modified the original source code?

What are the pins you are using on the LPC541xx? Can you provide a capture of the I2C communication by using an oscilloscope or logic analyzer?

i2c_gpdma_b2b_transfer_master uses a baud rate of 100K. After connecting to LPC55s16 with slave configuration, using pins J46-1 / J46-2 / J46-4, this should be the output:
- PN7642

EduardoZamora_0-1761253723086.png

-LPC55s16

EduardoZamora_1-1761253748400.png

Regards,
Eduardo.

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 05:26 AM
Updated by: