S32K148EVB + ADTJA1101-RMII

cancel
Showing results for 
Search instead for 
Did you mean: 

S32K148EVB + ADTJA1101-RMII

1,286 Views
marcinmiklas
Contributor III

Hi,

I have S32K148EVB-Q176 29643 REV C and ADTJA1101-RMII 30211 REV B. I would like to run lwIP TCP/IP stack demo application from S32 SDK.

Should lwip_s32k148 from S32K14x EAR SDK v0.8.6 Example Project run on my unmodified S32K148EVB-Q176?

Demo app description says:

    In order for the example to work, resistors R123 and R514 must be populated and resistors R137 and R96 depopulated.
    These changes are in place on the S32K148 EVB (RevC).

I have RevC board but the R137 is populated and R123 is depopulated. Should I unsolder resistor from R137 and solder in R123?

Also, is the demo app suppose to work without any modifications as the demo description suggests? Or should I add the proper PHY driver for TJA1101 in Processor Expert and then add some function calls in enetif_low_level_init to initialize PHY?

Regards,

Marcin Miklas

9 Replies

583 Views
gabriel_robert
Contributor II

Hi,

We are using the S32K148EVB-Q176 with the ADTJA1101-RMII. We were facing the same issue, now resolved with the 12V power supply.

We noticed that the TJA1101 is working only when VDD is 5V and not 3.3V. We cannot figure out why. Is it possible to use it and run the demo using VDD 3.3V?

0 Kudos

583 Views
veronicavelciu
NXP Employee
NXP Employee

Hello Gabriel,

It is possible to run using VDD 3.3V by adding the following code to your demo:

uint16_t regVal;
ENET_DRV_MDIORead(ENET_INSTANCE, 0, 17, &regVal, 65536);
regVal |= 0x4;
ENET_DRV_MDIOWrite(ENET_INSTANCE, 0, 17, regVal, 65536);

regVal = 0;
ENET_DRV_MDIORead(ENET_INSTANCE, 0, 18, &regVal, 65536);
ENET_DRV_MDIOWrite(ENET_INSTANCE, 0, 18, 0x5A11, 65536);
regVal = 0;
ENET_DRV_MDIORead(ENET_INSTANCE, 0, 18, &regVal, 65536);

This code makes the following transceiver configurations:

  • PHY configured as Slave (if you want to configure as Master, use 0xDA11 instead of 0x5A11)
  • RMII mode enabled (50 MHz output on REF_CLK)

Please note that this code should be added after enabling the MDIO interface (using ENET_DRV_EnableMDIO) and before any transmission/reception.

Best regards,

Veronica

0 Kudos

583 Views
gabriel_robert
Contributor II

Hello,

Thank you for your response.

Does it works with the lwip sample? In that case, I have to add the enet module, but the sample doesn't work anymore if I just call ENET_DRV_EnableMDIO ( in 5V or 3.3V ), or ENET_DRV_EnableMDIO, and then set the register you mentioned.

Best regards,

Gabriel

0 Kudos

583 Views
veronicavelciu
NXP Employee
NXP Employee

Hello Gabriel,

The lwip example already uses the ENET driver, initializes it and enables the MDIO interface. This is done in the middleware\tcpip\tcpip_stack\ports\netif\enetif\enetif.c file. You could add the code I mentioned after the following line:

ENET_DRV_EnableMDIO(ENET_INSTANCE, false);

Please let me know if this works for you.

Best regards,

Veronica

583 Views
gabriel_robert
Contributor II

Hi,

Thanks a lot, it works.

Best regards

0 Kudos

583 Views
veronicavelciu
NXP Employee
NXP Employee

Hello Marcin,

Looks like there is a mistake in the example documentation, the resistors are OK in your configuration. S32K148EVB-Q176 29643 REV C shouldn't need any reworks.

There is no need to include the PHY driver in the example, it should work without any modification.

Are you experiencing any issues with running the example?

Best regards,

Veronica

0 Kudos

583 Views
marcinmiklas
Contributor III

Hello,

When I run the example is enetif_low_level_output() is called 4 times with success and fifth time it gets stack there and never returns. It is because ENET_TX_QUEUE_FULL.

Assuming that no software changes are required then maybe something wrong is with hardware?

Here you can see my jumpers configuration, maybe you will notice something wrong.

IMG_20181019_141104.jpg

Also question is how should I configure my media converter to BR-Reach master or slave?

If this is know then the last thing to check is polarity of br-reach cable.

I am running example using Debug RAM PEmicro configuration from S32 Design Studio for ARM.

Best Regards,

Marcin Miklas

0 Kudos

583 Views
veronicavelciu
NXP Employee
NXP Employee

Hello, 

I see from the picture that you are powering the board through the microUSB connector. Could you also try to use 12V power supply and the following jumper configuration for S32K148 EVB (J18:1-2, J7:2-3, J8:1-2) and let me know the result?

According to the MAST/SLV jumper on the ADTJA1101-RMII, the adapter is configured as Slave, so the Media Converter should be configured as Master.

Best regards,

Veronica

583 Views
marcinmiklashar
Contributor I

Thanks Veronica, now with 12V power supply it just works.

Does it mean that with just USB it won't work at all? Or some special jumper configuration is needed?

0 Kudos