2022-11-08 08:46 AM
Hi,
I'm trying to configure the Ethernet peripheral on an STM32H730, using CubeMX, in order to use it with KSZ8863 PHY. (https://ww1.microchip.com/downloads/en/DeviceDoc/00002335B.pdf)
Unfortunately I can't find a way to configure ETH_TX_ER other than just clicking on the pin in pinout view and selecting ETH_TX_ER.
If I do so the pin is marked in yellow, which for my understanding suggests it is not configured properly.
Additionally it is not shown in the GPIO settings of ETH tab. So I assume there is an issue with it.
As I'm new to ethernet on MCU's, I might miss some generic information but I had a look at the reference manual as well and couldn't find any helpful description of ETH_TX_ER and its functionality.
Any help or information is appreciated!
2022-11-08 12:09 PM
If you really mean TX_ER, it doesn't exist for RMII interface and is optional for MII interface. STM32 devices doesn't have it at all and it's basically useless anyway:
Transmit error may be raised for one or more clock periods during frame transmission to request the PHY to deliberately corrupt the frame in some visible way that precludes it from being received as valid. This may be used to abort a frame when some problem is detected after transmission has already started. The MAC may omit the signal if it has no use for this functionality, in which case the signal should be tied low for the PHY.
https://en.wikipedia.org/wiki/Media-independent_interface#Transmitter_signals
If you actually mean RX_ER, it is mandatory for MII interface and optional for RMII interface. STM32 devices use it only in MII mode.
2022-11-09 05:25 AM
Thanks for the helpfull response!
I was already wondering what this signal should be used for, because it didn't make sens to me.
But you saying it is basically useless, confirms my doubts.
Still wondering why there is an alternate function called ETH_TX_ER in the pin description of the datasheet and the following description in the manual:
"TX_ER (optional): required only for Energy Efficient Ethernet (EEE). The transmit error
is indicated by inverting the CRC. The remote station can detect the Transmit error
through incorrect CRC."
If I got it right the pin is used on STM32 as described in the wiki you provided.
"More recently, raising transmit error outside frame transmission is used to indicate the transmit data lines are being used for special-purpose signalling. Specifically, the data value 0b0001 (held continuously with TX_EN low and TX_ER high) is used to request an EEE-capable PHY to enter low power mode."
So basically it doesn't have anythning to do with a tx error as the name suggests.
Other than that the alternate function can be found in CubeMX but without any hint or description as well.
I think ST should really enhance the datasheet, reference manual and CubeMx in this concern. At least for me all three were nothing but confusing.
Anyway you solved my Issue by confirming that I simply don't need the pin at all.
Thanks a lot!
2022-11-09 05:58 AM
Turns out my previous post is also a bit misleading. I didn't knew that on H7 series there indeed has been added a TX_ER signal, which can be used for EEE feature. On H730 devices it is available on pins PA9 and PB2. And indeed it can not be enabled in CubeMX ETH settings.
@KDJEM.1 , this turns out to be a CubeMX deficiency.
2022-11-09 06:49 AM
Hello @EStei.3 & @Piranha,
Thank you for bringing this issue to our attention.
I reported internally.
Internal ticket number: 138629 (This is an internal tracking number and is not accessible or usable by customers).
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-03-06 11:53 PM
Hello,
This issue has been solved in the STM32CubeMX6.8.0.
Thank you for your contribution.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.