Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for single pair Ethernet PHY (IDFGH-9431) #10799

Closed
gkasprow opened this issue Feb 19, 2023 · 15 comments
Closed

add support for single pair Ethernet PHY (IDFGH-9431) #10799

gkasprow opened this issue Feb 19, 2023 · 15 comments
Assignees
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Feature Request Feature request for IDF

Comments

@gkasprow
Copy link

Is your feature request related to a problem?

10Base-T1S becomes more and more popular as a CAN replacement in industry and automotive.
It's an ideal solution for short-range IoT networks, epecially where 2.4GHz band is overcorowded

Describe the solution you'd like.

Support for either LAN8670 PHY or NCN26010 MAC+PHY

Describe alternatives you've considered.

Of course standard Ethernet works fine but it requires switch and a lot of cabling if one needs to build a sensor network with let's say 16 devices.

Additional context.

Here is the use case - a photonic sensor where SPE is used for both data transfer and power
sinara-hw/DiPho#18

@gkasprow gkasprow added the Type: Feature Request Feature request for IDF label Feb 19, 2023
@espressif-bot espressif-bot added the Status: Opened Issue is new label Feb 19, 2023
@github-actions github-actions bot changed the title add support for single pair Ethernet PHY add support for single pair Ethernet PHY (IDFGH-9431) Feb 19, 2023
@kostaond
Copy link
Collaborator

Hi @gkasprow, thanks for submitting the feature request. It really could be interesting to support 10Base-T1S. Could you please check this article first? Would it be applicable to 10Base-T1S PHY chips?

@gkasprow
Copy link
Author

It looks so. These chips have a standard RMII interface. Only registers differ.

@gkasprow
Copy link
Author

I have LAN8670 eval in my lab as well as USB dongle
we are curently developing open source PoE router based on RPI 0.

@espressif-bot espressif-bot added Status: Selected for Development Issue is selected for development and removed Status: Opened Issue is new labels Mar 1, 2023
@morgana2313
Copy link

morgana2313 commented Jul 11, 2023

@gkasprow: we want to use the 10BASE-T1S LAN8670 LAN8651 with esp-idf. Is there any code available from sinara-hw/DiPho#18 , from which we can learn how to setup the proper chip registers ?

We have the EVB-LAN8670-USB working with Linux raspberry pi.

@gkasprow
Copy link
Author

We were using NCN26010 with STM32 eval board.
There is example code for STM32 and other platforms provided by Onsemi
https://www.onsemi.com/pub/Collateral/EXAMPLE%20SOFTWARE:%20STM32%20IMPLEMENTATION%20.ZIP

@morgana2313
Copy link

We got an ESP32 + LAN8551 replying to ping packets send by the RPi with the LAN8650/1 OPEN Alliance TC6 Driver. It gives ping times of ±50ms. Between two RPi's the SPE ping times are ±1ms.

What would be normal ping times for a 10Base-T1S network?

@gkasprow
Copy link
Author

It depends on how the ICMP stack is implemented. Did you use polling or interrupts?
With interrupts, it should be a much lower value. If you use polling, 50ms could be possible.

@baybal
Copy link

baybal commented Jul 21, 2023

Hi @gkasprow, thanks for submitting the feature request. It really could be interesting to support 10Base-T1S. Could you please check this article first? Would it be applicable to 10Base-T1S PHY chips?

Current chip revisions of LAN867* have buggy PLCA. I was recommended NCN26000, but it's nowhere to be found.

@gkasprow
Copy link
Author

NCN26010 chips are easily available now. Availability issue was a few months ago.
Devkits are also available .

@baybal
Copy link

baybal commented Jul 21, 2023

NCN26010 chips are easily available now. Availability issue was a few months ago. Devkits are also available .

NCN26010 is SPI and NCN26000 is MII. You can only realistically use it with a much higher end MCU, while RMII is a lingua franca for ethernet in microcontrollers, including sub $1 ones.

@gkasprow
Copy link
Author

Oh,I didn't know Onsemi has RMII version. I thought you made a typoo. Anyway, SPI is better because RMII consumes most of ESP32 IOs.

@baybal
Copy link

baybal commented Jul 23, 2023

Oh,I didn't know Onsemi has RMII version. I thought you made a typoo. Anyway, SPI is better because RMII consumes most of ESP32 IOs.

But then you lose all the power & performance benefit of the onboard MAC

@gkasprow
Copy link
Author

We arr limited to 10Mbit anyway so that is not critical.

@kostaond
Copy link
Collaborator

kostaond commented Dec 6, 2023

@espressif-bot espressif-bot added Status: Reviewing Issue is being reviewed and removed Status: In Progress Work is in progress labels Feb 5, 2024
@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: Reviewing Issue is being reviewed labels Mar 7, 2024
@Indastri
Copy link
Collaborator

Indastri commented Mar 28, 2024

The fix was merged. Closing the issue. If there will be any more problems do not hesitate to reopen this or create a new issue.
Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally Type: Feature Request Feature request for IDF
Projects
None yet
Development

No branches or pull requests

6 participants