S32K344 LPI2C0 Transmission Failures

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

S32K344 LPI2C0 Transmission Failures

1,178 Views
ArushThomas
Contributor III

Hi all,
I'm trying to bringup I2C transactions with the S32K344 microcontroller, configured as a Master device. I've configured the pins as follows:

  • PTD13 as LPI2C0_SDA
  • PTD14 as LPI2C0_SCL
  • PTC6 as LPI2C1_SDA
  • PTC7 as LPI2C1_SCL

In the LPI2C peripheral configuration, I've set both peripherals to STANDARD mode, MASTER configurations, with an I2C Baudrate of 53083Hz. In firmware, I'm only trying to transmit one byte to Slave Address 0x68.

What I observed is that the LPI2C1 peripheral returns the error code LPI2C_IP_RECEIVED_NACK_STATUS when I call the Lpi2c_Ip_MasterSendDataBlocking() API. This is expected to me, since I don't actually have any slave device connected.

The problem is that the LPI2C0 peripheral behaves differently. It reports the error code LPI2C_IP_TIMEOUT_STATUS on the first call to Lpi2c_Ip_MasterSendDataBlocking(), and reports LPI2C_IP_BUSY_STATUS on subsequent calls. I had expected it to return LPI2C_IP_RECEIVED_NACK_STATUS, the same as the LPI2C1 peripheral.

Upon probing the I2C buses with an oscilloscope, I observed that the LPI2C1 peripheral drives an I2C waveform, with the address '0x68', followed by a NACK Signal. Exactly as expected.
Whereas, the LPI2C0 peripheral does not show any waveforms whatsoever.

Here are the generated configurations for the LPI2C1 peripheral, which does work correctly:

static const Lpi2c_Ip_BaudRateType baudrateParams1 =
{
    LPI2C_MASTER_PRESC_DIV_128, /* Prescaler */
    1U,  /* Clock HI period */
    3U,  /* Clock LO period */
    0U, /* Setup Delay */
    0U,  /* Data Valid */
    1U, /* Clock High HS */
    3U, /* Clock Low HS*/
    2U, /* Setup Delay HS */
    1U /* Data Valid HS */
};
const Lpi2c_Ip_MasterConfigType I2c_Lpi2cMasterChannel1 =
{
    /* Slave address */
    0U,
    /*10-bit address */
    FALSE,
    /* Operating Mode */
    LPI2C_STANDARD_MODE,
    /* Baudrate parameters */
    &baudrateParams1,
    /* Pin Low Timeout */
    0,
    /* Bus Idle Timeout */
    0,
    /* Glitch Filter SDA */
    0,
    /* Glitch Filter SDA */
    0,
    /* Master code */
    0U,
    /* Transfer Type */
    LPI2C_USING_INTERRUPTS,
    /* Dma Tx channel */
    0,
    /* Dma Rx channel */
    0,
    /* Master Callback */
    NULL_PTR,
    /* I2c Master Callback Parameter */
    0,
    /*  Master State index */
    1
};

 

Here are the generated configurations for the LPI2C0 peripheral, which does not work correctly:

static const Lpi2c_Ip_BaudRateType baudrateParams0 =
{
    LPI2C_MASTER_PRESC_DIV_128, /* Prescaler */
    1U,  /* Clock HI period */
    3U,  /* Clock LO period */
    0U, /* Setup Delay */
    0U,  /* Data Valid */
    1U, /* Clock High HS */
    3U, /* Clock Low HS*/
    2U, /* Setup Delay HS */
    1U /* Data Valid HS */
};
const Lpi2c_Ip_MasterConfigType I2c_Lpi2cMasterChannel0 =
{
    /* Slave address */
    0U,
    /*10-bit address */
    FALSE,
    /* Operating Mode */
    LPI2C_STANDARD_MODE,
    /* Baudrate parameters */
    &baudrateParams0,
    /* Pin Low Timeout */
    0,
    /* Bus Idle Timeout */
    0,
    /* Glitch Filter SDA */
    0,
    /* Glitch Filter SDA */
    0,
    /* Master code */
    0U,
    /* Transfer Type */
    LPI2C_USING_INTERRUPTS,
    /* Dma Tx channel */
    0,
    /* Dma Rx channel */
    0,
    /* Master Callback */
    NULL_PTR,
    /* I2c Master Callback Parameter */
    0,
    /*  Master State index */
    0
};

The only difference between the two appears to be the 'MasterStateIdx' parameter of the 'Lpi2c_Ip_MasterConfigType' structs. I'm also attaching the whole bringup project.

Kindly do help resolve the error. Why does the LPI2C0 peripheral behave differently from the LPI2C1 peripheral?

For added clarity; I have been able to successfully interface with an I2C slave using the LPI2C1 peripheral, and have failed to do so with the LPI2C0 peripheral. I've been able to replicate these problems on a custom PCB, as well as S32K3X4EVB-T172 SCH-53148 REV B2 development board.

0 Kudos
Reply
5 Replies

1,106 Views
VaneB
NXP TechSupport
NXP TechSupport

Hi @ArushThomas 

Just to confirm, on both the custom PCB and the S32K3X4EVB‑T172, did you connect the appropriate pull‑up resistors required for the I2C lines? On the EVB, pull‑ups are already populated for PTC6 and PTC7, as shown in the board schematic. However, PTD14 and PTD13 do not include onboard pull‑ups, so external pull‑ups would be required if you use those pins for I2C.

 

BR, VaneB

0 Kudos
Reply

1,100 Views
ArushThomas
Contributor III
Yes, we did connect external pull-ups of 10 kilo-ohms. The oscilloscope shows that PTD13 and PTD14 have a constant voltage of ~3.3 volts.
0 Kudos
Reply

1,083 Views
VaneB
NXP TechSupport
NXP TechSupport

Hi @ArushThomas 

I currently do not have an S32K3X4EVB‑T172 with me, so I performed some tests using the S32K344MINI‑EVB and the S32K3X4EVB‑Q172, along with the attached .mex and main.c files.

On my end, LPI2C0 already returns LPI2C_IP_RECEIVED_NACK_STATUS when calling Lpi2c_Ip_MasterSendDataBlocking(). Could you please run the same setup on your side and let me know if you observe any differences in behavior?

Also, please note that on the S32K3X4EVB‑T172 the PTD13 pin is connected to the TJA1103 transceiver, which may affect its behavior. On the boards I used for testing (S32K344MINI‑EVB and S32K3X4EVB‑Q172), this pin is not connected in the same way. Therefore, there is a possibility that we may observe different behavior on your EVB due to this hardware difference.

0 Kudos
Reply

1,067 Views
ArushThomas
Contributor III

Hi Vane, thanks for your example!

Running it on Arrow's SEED-S32K3B_CORE, I was able to find that LPI2C0 worked correctly on PTD13 and PTD14.

I found on our S32K3X4EVB-T172, that the PTD13 is connected to Pin#2 of the TJA1103A PHY. I imagine that's what was causing interference there.

Finally, I found a soldering defect on our custom PCB. So there was discontinuity between my pullups and the MCU pins, resulting in the 'BUSY' error code.

Reworking our PCB solved the issue.
Thanks for your help!

0 Kudos
Reply

1,060 Views
VaneB
NXP TechSupport
NXP TechSupport

Hi @ArushThomas 

Thank you for your feedback. I am glad to hear that the problem has been resolved.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2317802%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2317802%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20all%2C%3CBR%20%2F%3EI'm%20trying%20to%20bringup%20I2C%20transactions%20with%20the%20S32K344%20microcontroller%2C%20configured%20as%20a%20Master%20device.%20I've%20configured%20the%20pins%20as%20follows%3A%3C%2FP%3E%3CUL%3E%3CLI%3EPTD13%20as%20LPI2C0_SDA%3C%2FLI%3E%3CLI%3EPTD14%20as%20LPI2C0_SCL%3C%2FLI%3E%3CLI%3EPTC6%20as%20LPI2C1_SDA%3C%2FLI%3E%3CLI%3EPTC7%20as%20LPI2C1_SCL%3C%2FLI%3E%3C%2FUL%3E%3CP%3EIn%20the%20LPI2C%20peripheral%20configuration%2C%20I've%20set%20both%20peripherals%20to%20STANDARD%20mode%2C%20MASTER%20configurations%2C%20with%20an%20I2C%20Baudrate%20of%2053083Hz.%20In%20firmware%2C%20I'm%20only%20trying%20to%20transmit%20one%20byte%20to%20Slave%20Address%200x68.%3C%2FP%3E%3CP%3EWhat%20I%20observed%20is%20that%20the%20LPI2C1%20peripheral%20returns%20the%20error%20code%20%3CEM%3ELPI2C_IP_RECEIVED_NACK_STATUS%3C%2FEM%3E%26nbsp%3Bwhen%20I%20call%20the%20Lpi2c_Ip_MasterSendDataBlocking()%20API.%20This%20is%20expected%20to%20me%2C%20since%20I%20don't%20actually%20have%20any%20slave%20device%20connected.%3C%2FP%3E%3CP%3EThe%20problem%20is%20that%20the%20LPI2C0%20peripheral%20behaves%20differently.%20It%20reports%20the%20error%20code%20%3CEM%3ELPI2C_IP_TIMEOUT_STATUS%3C%2FEM%3E%26nbsp%3Bon%20the%20first%20call%20to%20Lpi2c_Ip_MasterSendDataBlocking()%2C%20and%20reports%20%3CEM%3ELPI2C_IP_BUSY_STATUS%3C%2FEM%3E%26nbsp%3Bon%20subsequent%20calls.%20I%20had%20expected%20it%20to%20return%20%3CEM%3ELPI2C_IP_RECEIVED_NACK_STATUS%3C%2FEM%3E%2C%20the%20same%20as%20the%20LPI2C1%20peripheral.%3C%2FP%3E%3CP%3EUpon%20probing%20the%20I2C%20buses%20with%20an%20oscilloscope%2C%20I%20observed%20that%20the%20LPI2C1%20peripheral%20drives%20an%20I2C%20waveform%2C%20with%20the%20address%20'0x68'%2C%20followed%20by%20a%20NACK%20Signal.%20Exactly%20as%20expected.%3CBR%20%2F%3EWhereas%2C%20the%20LPI2C0%20peripheral%20does%20not%20show%20any%20waveforms%20whatsoever.%3C%2FP%3E%3CP%3EHere%20are%20the%20generated%20configurations%20for%20the%20LPI2C1%20peripheral%2C%20which%20does%20work%20correctly%3A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Estatic%20const%20Lpi2c_Ip_BaudRateType%20baudrateParams1%20%3D%0A%7B%0A%20%20%20%20LPI2C_MASTER_PRESC_DIV_128%2C%20%2F*%20Prescaler%20*%2F%0A%20%20%20%201U%2C%20%20%2F*%20Clock%20HI%20period%20*%2F%0A%20%20%20%203U%2C%20%20%2F*%20Clock%20LO%20period%20*%2F%0A%20%20%20%200U%2C%20%2F*%20Setup%20Delay%20*%2F%0A%20%20%20%200U%2C%20%20%2F*%20Data%20Valid%20*%2F%0A%20%20%20%201U%2C%20%2F*%20Clock%20High%20HS%20*%2F%0A%20%20%20%203U%2C%20%2F*%20Clock%20Low%20HS*%2F%0A%20%20%20%202U%2C%20%2F*%20Setup%20Delay%20HS%20*%2F%0A%20%20%20%201U%20%2F*%20Data%20Valid%20HS%20*%2F%0A%7D%3B%0Aconst%20Lpi2c_Ip_MasterConfigType%20I2c_Lpi2cMasterChannel1%20%3D%0A%7B%0A%20%20%20%20%2F*%20Slave%20address%20*%2F%0A%20%20%20%200U%2C%0A%20%20%20%20%2F*10-bit%20address%20*%2F%0A%20%20%20%20FALSE%2C%0A%20%20%20%20%2F*%20Operating%20Mode%20*%2F%0A%20%20%20%20LPI2C_STANDARD_MODE%2C%0A%20%20%20%20%2F*%20Baudrate%20parameters%20*%2F%0A%20%20%20%20%26amp%3BbaudrateParams1%2C%0A%20%20%20%20%2F*%20Pin%20Low%20Timeout%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Bus%20Idle%20Timeout%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Glitch%20Filter%20SDA%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Glitch%20Filter%20SDA%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Master%20code%20*%2F%0A%20%20%20%200U%2C%0A%20%20%20%20%2F*%20Transfer%20Type%20*%2F%0A%20%20%20%20LPI2C_USING_INTERRUPTS%2C%0A%20%20%20%20%2F*%20Dma%20Tx%20channel%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Dma%20Rx%20channel%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Master%20Callback%20*%2F%0A%20%20%20%20NULL_PTR%2C%0A%20%20%20%20%2F*%20I2c%20Master%20Callback%20Parameter%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20%20Master%20State%20index%20*%2F%0A%20%20%20%201%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3EHere%20are%20the%20generated%20configurations%20for%20the%20LPI2C0%20peripheral%2C%20which%20does%20not%20work%20correctly%3A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Estatic%20const%20Lpi2c_Ip_BaudRateType%20baudrateParams0%20%3D%0A%7B%0A%20%20%20%20LPI2C_MASTER_PRESC_DIV_128%2C%20%2F*%20Prescaler%20*%2F%0A%20%20%20%201U%2C%20%20%2F*%20Clock%20HI%20period%20*%2F%0A%20%20%20%203U%2C%20%20%2F*%20Clock%20LO%20period%20*%2F%0A%20%20%20%200U%2C%20%2F*%20Setup%20Delay%20*%2F%0A%20%20%20%200U%2C%20%20%2F*%20Data%20Valid%20*%2F%0A%20%20%20%201U%2C%20%2F*%20Clock%20High%20HS%20*%2F%0A%20%20%20%203U%2C%20%2F*%20Clock%20Low%20HS*%2F%0A%20%20%20%202U%2C%20%2F*%20Setup%20Delay%20HS%20*%2F%0A%20%20%20%201U%20%2F*%20Data%20Valid%20HS%20*%2F%0A%7D%3B%0Aconst%20Lpi2c_Ip_MasterConfigType%20I2c_Lpi2cMasterChannel0%20%3D%0A%7B%0A%20%20%20%20%2F*%20Slave%20address%20*%2F%0A%20%20%20%200U%2C%0A%20%20%20%20%2F*10-bit%20address%20*%2F%0A%20%20%20%20FALSE%2C%0A%20%20%20%20%2F*%20Operating%20Mode%20*%2F%0A%20%20%20%20LPI2C_STANDARD_MODE%2C%0A%20%20%20%20%2F*%20Baudrate%20parameters%20*%2F%0A%20%20%20%20%26amp%3BbaudrateParams0%2C%0A%20%20%20%20%2F*%20Pin%20Low%20Timeout%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Bus%20Idle%20Timeout%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Glitch%20Filter%20SDA%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Glitch%20Filter%20SDA%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Master%20code%20*%2F%0A%20%20%20%200U%2C%0A%20%20%20%20%2F*%20Transfer%20Type%20*%2F%0A%20%20%20%20LPI2C_USING_INTERRUPTS%2C%0A%20%20%20%20%2F*%20Dma%20Tx%20channel%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Dma%20Rx%20channel%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20Master%20Callback%20*%2F%0A%20%20%20%20NULL_PTR%2C%0A%20%20%20%20%2F*%20I2c%20Master%20Callback%20Parameter%20*%2F%0A%20%20%20%200%2C%0A%20%20%20%20%2F*%20%20Master%20State%20index%20*%2F%0A%20%20%20%200%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EThe%20only%20difference%20between%20the%20two%20appears%20to%20be%20the%20'MasterStateIdx'%20parameter%20of%20the%20'Lpi2c_Ip_MasterConfigType'%20structs.%20I'm%20also%20attaching%20the%20whole%20bringup%20project.%3C%2FP%3E%3CP%3EKindly%20do%20help%20resolve%20the%20error.%20Why%20does%20the%20LPI2C0%20peripheral%20behave%20differently%20from%20the%20LPI2C1%20peripheral%3F%3C%2FP%3E%3CP%3EFor%20added%20clarity%3B%20I%20have%20been%20able%20to%20successfully%20interface%20with%20an%20I2C%20slave%20using%20the%20LPI2C1%20peripheral%2C%20and%20have%20failed%20to%20do%20so%20with%20the%20LPI2C0%20peripheral.%20I've%20been%20able%20to%20replicate%20these%20problems%20on%20a%20custom%20PCB%2C%20as%20well%20as%20S32K3X4EVB-T172%20SCH-53148%20REV%20B2%20development%20board.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F227167%22%20target%3D%22_blank%22%3E%40ArushThomas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20currently%20do%20not%20have%20an%20S32K3X4EVB%E2%80%91T172%20with%20me%2C%20so%20I%20performed%20some%20tests%20using%20the%20S32K344MINI%E2%80%91EVB%20and%20the%20S32K3X4EVB%E2%80%91Q172%2C%20along%20with%20the%20attached%20.mex%20and%20main.c%20files.%3C%2FP%3E%0A%3CP%3EOn%20my%20end%2C%20LPI2C0%20already%20returns%20LPI2C_IP_RECEIVED_NACK_STATUS%20when%20calling%20Lpi2c_Ip_MasterSendDataBlocking().%20Could%20you%20please%20run%20the%20same%20setup%20on%20your%20side%20and%20let%20me%20know%20if%20you%20observe%20any%20differences%20in%20behavior%3F%3C%2FP%3E%0A%3CP%3EAlso%2C%20please%20note%20that%20on%20the%20S32K3X4EVB%E2%80%91T172%20the%20PTD13%20pin%20is%20connected%20to%20the%20TJA1103%20transceiver%2C%20which%20may%20affect%20its%20behavior.%20On%20the%20boards%20I%20used%20for%20testing%20(S32K344MINI%E2%80%91EVB%20and%20S32K3X4EVB%E2%80%91Q172)%2C%20this%20pin%20is%20not%20connected%20in%20the%20same%20way.%20Therefore%2C%20there%20is%20a%20possibility%20that%20we%20may%20observe%20different%20behavior%20on%20your%20EVB%20due%20to%20this%20hardware%20difference.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320325%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320325%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F227167%22%20target%3D%22_blank%22%3E%40ArushThomas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20your%20feedback.%20I%20am%20glad%20to%20hear%20that%20the%20problem%20has%20been%20resolved.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320097%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320097%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Vane%2C%20thanks%20for%20your%20example!%3C%2FP%3E%3CP%3ERunning%20it%20on%20Arrow's%20SEED-S32K3B_CORE%2C%20I%20was%20able%20to%20find%20that%20LPI2C0%20worked%20correctly%20on%20PTD13%20and%20PTD14.%3C%2FP%3E%3CP%3EI%20found%20on%20our%20S32K3X4EVB-T172%2C%20that%20the%20PTD13%20is%20connected%20to%20Pin%232%20of%20the%20TJA1103A%20PHY.%20I%20imagine%20that's%20what%20was%20causing%20interference%20there.%3C%2FP%3E%3CP%3EFinally%2C%20I%20found%20a%20soldering%20defect%20on%20our%20custom%20PCB.%20So%20there%20was%20discontinuity%20between%20my%20pullups%20and%20the%20MCU%20pins%2C%20resulting%20in%20the%20'BUSY'%20error%20code.%3C%2FP%3E%3CP%3EReworking%20our%20PCB%20solved%20the%20issue.%3CBR%20%2F%3EThanks%20for%20your%20help!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319150%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319150%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F227167%22%20target%3D%22_blank%22%3E%40ArushThomas%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EJust%20to%20confirm%2C%20on%20both%20the%20custom%20PCB%20and%20the%20S32K3X4EVB%E2%80%91T172%2C%20did%20you%20connect%20the%20appropriate%20pull%E2%80%91up%20resistors%20required%20for%20the%20I2C%20lines%3F%20On%20the%20EVB%2C%20pull%E2%80%91ups%20are%20already%20populated%20for%20PTC6%20and%20PTC7%2C%20as%20shown%20in%20the%20board%20schematic.%20However%2C%20PTD14%20and%20PTD13%20do%20not%20include%20onboard%20pull%E2%80%91ups%2C%20so%20external%20pull%E2%80%91ups%20would%20be%20required%20if%20you%20use%20those%20pins%20for%20I2C.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%2C%20VaneB%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319160%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20LPI2C0%20Transmission%20Failures%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319160%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EYes%2C%20we%20did%20connect%20external%20pull-ups%20of%2010%20kilo-ohms.%20The%20oscilloscope%20shows%20that%20PTD13%20and%20PTD14%20have%20a%20constant%20voltage%20of%20~3.3%20volts.%3C%2FLINGO-BODY%3E