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
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?
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, ®Val, 65536);
regVal |= 0x4;
ENET_DRV_MDIOWrite(ENET_INSTANCE, 0, 17, regVal, 65536);regVal = 0;
ENET_DRV_MDIORead(ENET_INSTANCE, 0, 18, ®Val, 65536);
ENET_DRV_MDIOWrite(ENET_INSTANCE, 0, 18, 0x5A11, 65536);
regVal = 0;
ENET_DRV_MDIORead(ENET_INSTANCE, 0, 18, ®Val, 65536);
This code makes the following transceiver configurations:
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
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
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
Hi,
Thanks a lot, it works.
Best regards
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
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.
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
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
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?