Arduino with two physical ethernet ports (Two Shields)

RET80:

tylernt:

RET80:
I think there would be no need to have ethernet shields at all, just have a physical patch with two jacks that pass from end to end and have the Arduino tap into TX and RX lines of the two physical jacks to read raw data, so there would be no need for the ethernet shields, just two jacks with a T-split on the TX and RX lines of the ethernet cable.

A 16MHz Arduino has little hope of reading two 100MHz signals.

Responses from the source device occur every 1,000ms

Right. How long do those TX and RX lines on the Ethernet wire stay HIGH to send a '1' binary bit? If it's less than 125ns, the Arduino won't reliably read it. If it's less than 62.5ns, the Arduino will probably miss it entirely.

tylernt:

RET80:

tylernt:

RET80:
I think there would be no need to have ethernet shields at all, just have a physical patch with two jacks that pass from end to end and have the Arduino tap into TX and RX lines of the two physical jacks to read raw data, so there would be no need for the ethernet shields, just two jacks with a T-split on the TX and RX lines of the ethernet cable.

A 16MHz Arduino has little hope of reading two 100MHz signals.

Responses from the source device occur every 1,000ms

Right. How long do those TX and RX lines on the Ethernet wire stay HIGH to send a '1' binary bit? If it's less than 125ns, the Arduino won't reliably read it. If it's less than 62.5ns, the Arduino will probably miss it entirely.

I will run a test to see its cycle to see how long the signal is high for.

RET80:
The output and input are going to be the same, completely and totally the same, the data will not be changed or modified in any way.
If the input and output are the same, how can the data be outputted to the end device without the second ethernet port? It cannot just magically appear on the end device, it has to travel from end to end, hence the two ethernet ports, the device acts as if it's a patch from end to end.

I don't need details of the protocols, just an idea of where you are working within the stack. But if you're planning to output the messages unchanged then the whole issue becomes moot. You don't need your new device to output the packets because they are already on the network. By insisting that the output needs to be on a different network interface, you are inventing a problem.

In that case all you need is an Ethernet hub to connect whatever device you use to monitor the traffic into the LAN segment that is carrying the traffic and configure the network interface in promiscuous mode.

(An Arduino does not seem like a very promising platform for this type of work, especially if you are going to need your own proprietary protocol decoders, but it ought to be possible to get something working if the network packet size and frequency are low enough.)

By the way, I suggest you completely abandon any thought of tapping into an Ethernet network without using a network interface. While technically possible if you throw enough resources at it, you'd end up effectively re-inventing your own network interface. NICs are cheap and easy to use and there is no sensible reason for trying to create your own.

One might go into the Ethernet library and defeat any of the tx functions so the arduino would only listen to the traffic. To be electrically balanced in the circuit, an Ethernet hub probably be used to parallel the arduino to the Ethernet traffic. Another possibility would be to electrically isolate the arduino TxD+ and TxD- wires of a 10baseT connection of the arduino Ethernet connection so the arduino would just listen on the RxD+ and RxD- wires.

if you are just listening into the data as it passes through could you some how make your own ethernet splitter?
so that you have one input and 2 outputs?

I am 2 build a master ardunio device that will perform 2 tasks. 1) connect to internet so a webpage can be accessed that will b stored upon the ardunio. 2) connect this master 2 different slaves through Ethernet. i will need to attach two different Ethernet sheilds to the same ardunio .....is that possible ? if not can i connect two arduino's together and place a Ethernet shield on each ? how will this happen ?

Not sure just what your setup is intended to do, but both server and client code can be run on a single arduino.

Basically im building a building management system. it will have 3 main modules.

  1. a web server stored on the arduino but access able over the internet through sme web address, using TCP/IP

  2. the main master ardunio tht will implemnt MODBUS TCP for communication with the slaves

  3. the slaves

i will need to connect the master arudino with the ethernet shield and a computer for website access, BUT also i will need 2 attach another ethernet shield for communication with the slaves....so is it possible to add 2 ethernet shields on uno ? or mega ? .......or else will i need 2 connect two ardunios and attach one shield on each and then communicate these two uno's making thm an effective one master.

unlocked701:
i will need to connect the master arudino with the ethernet shield and a computer for website access,

So far so good...

BUT also i will need 2 attach another ethernet shield for communication with the slaves....

You lost me. With one Ethernet shield, your Arduino could connect to 1,000 other devices. Or more. See: Network switch - Wikipedia

they are using different protocols, for the web server it will communicate using TCP/IP. where as the slaves will communicate using MODBUS TCP

unlocked701:
they are using different protocols, for the web server it will communicate using TCP/IP. where as the slaves will communicate using MODBUS TCP

I don't see how that matters? Ethernet allows multiple protocols on the same network at the same time, for example my PC can simultaneously run TCP, UDP, IPX, and ICMP all on the same NIC on the same switch.

Now, you may have chosen to separate your modbus network from the regular network for speed or reliability reasons. In that case, yes, you would need separate NICs (tagged VLAN support would probably be difficult to implement).

But if you haven't built the network yet, it would be easier to use a single NIC connected to a managed network switch with QoS enabled so the modbus packets get priority.