Dear RevPi Community,
the internal Ethernet bus on the PiBridge is realised by two Micrel KSZ8851SNLI ICs, one for each side. It is controlled via a 40MHz SPI bus. Thus, the maximum achievable thoughput is theoretically 40Mbit/s.
I wonder what throughput is achievable on the internal bus and hence on gateway modules like the EtherCAT module. How close do we get to the 40Mbit/s?
Moreover, the SPI bus is shared between the the two KSZ8851SNLI which will decrease the maximum performance even more.
Does anybody have gained experience on that topic?
internal Ethernet on PiBridge: Throughput
Re: internal Ethernet on PiBridge: Throughput
Hi Jacob,
so you want to drive your RevPi to the eclipse
First of all you need to decide if you want to run your own drivers for the PiBridge or if you want to rely on our PiControl.
PiControl is running stable and reliably. It will offer you cycle times of several ms with a maximum of 2 x 512 Byte for each Gateway module. Thus you would be far away from your aims.
You could try to establish your own drivers on both sides (Gateway and RevPi Core). But I need to say that the Gateways are no Revolution Pi devices but have been sold long before that project as standalone modules (always 2 of them side by side). This is why we do not publish the firmware of any Gateway module. They are KUNBUS IP especially the fieldbus part as this is also something you would not be allowed to change without loosing the fieldbus certifications of the modules.
On the other hand I need to say that even if you would write your own drivers for the Core-Gateway communication you would not be able to get the bus much faster. We are using a capacitive ethernet coupling, so physically this bus is not the PHY level of standard ethernet norms. This coupling will not allow much more than 1Mbps without risking serious EMI trouble.
I would also guess that 40 Mbps would simply overload any CM1 software doing calculations based on this amount of data per second. CM3 could manage to deal with it but not with a continuous data stream.
RevPi Core is simply not developed as a super fast process data processing machine. If your traffic is more a burst like traffic with sudden high bandwith and large gaps in between you could possibly use a CM3 for data processing of such incomming data streams. But would it be possible to smoothen that traffic right away on the fieldbus and transfer it more equally distributed over the time?
so you want to drive your RevPi to the eclipse
First of all you need to decide if you want to run your own drivers for the PiBridge or if you want to rely on our PiControl.
PiControl is running stable and reliably. It will offer you cycle times of several ms with a maximum of 2 x 512 Byte for each Gateway module. Thus you would be far away from your aims.
You could try to establish your own drivers on both sides (Gateway and RevPi Core). But I need to say that the Gateways are no Revolution Pi devices but have been sold long before that project as standalone modules (always 2 of them side by side). This is why we do not publish the firmware of any Gateway module. They are KUNBUS IP especially the fieldbus part as this is also something you would not be allowed to change without loosing the fieldbus certifications of the modules.
On the other hand I need to say that even if you would write your own drivers for the Core-Gateway communication you would not be able to get the bus much faster. We are using a capacitive ethernet coupling, so physically this bus is not the PHY level of standard ethernet norms. This coupling will not allow much more than 1Mbps without risking serious EMI trouble.
I would also guess that 40 Mbps would simply overload any CM1 software doing calculations based on this amount of data per second. CM3 could manage to deal with it but not with a continuous data stream.
RevPi Core is simply not developed as a super fast process data processing machine. If your traffic is more a burst like traffic with sudden high bandwith and large gaps in between you could possibly use a CM3 for data processing of such incomming data streams. But would it be possible to smoothen that traffic right away on the fieldbus and transfer it more equally distributed over the time?
Unser RevPi Motto: Don't just claim it - make it!
Re: internal Ethernet on PiBridge: Throughput
Hi Volker,
thank you for your detailed explanations. So trying to design a costum AI module with data rates of 10Mbit/s and more would be fruitless effort from the start? Because that is what I was aiming for.... Not to talk about processing and possibly streaming data via a gateway module
Regarding the driver: This could at least be adapted to squeeze more throughput out of it. However, if it is physically not possible, that's a pity
BR
Jakob
thank you for your detailed explanations. So trying to design a costum AI module with data rates of 10Mbit/s and more would be fruitless effort from the start? Because that is what I was aiming for.... Not to talk about processing and possibly streaming data via a gateway module
Regarding the driver: This could at least be adapted to squeeze more throughput out of it. However, if it is physically not possible, that's a pity
BR
Jakob