Ethernet in the Embedded Space
- Created on Friday, 01 November 2013
Networking originated from the need to share information. Many of us accomplish such a thing on a daily basis through conversation. For example, think about the typical office framework: you work side-by-side with your colleagues, but also have a manager who will check on the work being produced periodically. You have both peerto- peer and supervisory communication taking place.
When it comes to Ethernet, different kinds of equipment are needed, yet the goal of communication stays the same. Keep it simple and, especially in terms of hardware and software, keep it inexpensive. One of the major factors that affects those goals is timeliness — responses should be received in a reasonable period of time after inquiry. Keeping the process predictable creates a deterministic system. Some early arrangements of deterministic networks took the form of the token ring and the token bus.
The token ring was established quite some time ago to allow a complex grid of many terminals to each have some allotted time to get work done. There is one token, and this token allows one terminal node to broadcast and receive. The token must be passed between the nodes, giving each its turn. Typically, there would be a token rotation and a token hold time. The rotation is the given order of terminal nodes to which the token is passed, while hold time is how long each node gets to do its requested job. In a more complex environment, where you have several media access units (MAUs) passing the token around their ring, there may very well be several terminal nodes connected to any one MAU. The terminal nodes will need to share its time with the MAU.
The token bus is very similar to the token ring, in that only one terminal node has the token at any point in time and every node gets the token at a predetermined time. The rotation order and hold time are usually preconfigured when the token bus is set up by the network manager. The network manager that sets these arrangements up is connected to the same token bus. Its primary function is to set each node’s token rotation and time sequence during network initialization, and to continuously monitor network traffic as a diagnosis tool. The IEEE 802.4 standard, also known as Manufacturing Automation Protocol (MAP), was a popular type of communications networking standard installed in many factories where deterministic traffic could be predicted and placed on a network.
Networking in the embedded space is used to replace legacy serial communication, connect subsystems (peer-to-peer), connect the subordinates to the supervisor, deliver captured information to storage, enable timely interrogation of stored information, and create seamless information boundaries between systems.
Rise of Ethernet
Ethernet arrived on the scene in 1980 and became fully standardized in 1985. It quickly became popular as a wonderful, low-cost standard. Why was it so inexpensive? It was used heavily with many terminals in the office environment, and the sheer number of these terminals drove the price down. It was based on multi-drop technology; running one long cable and allowing nodes to be appended fairly easily. Using the nondeterministic Carrier Sense Multi- Access/Collision Detect (CSMA/CD) protocol, performance varied between “well-behaved nodes” and “bandwidth hogs.” Well-behaved nodes knew enough to broadcast on the cable and then detach to allow others a chance to transmit. Bandwidth hogs would get a hold of a cable and stay on, preventing other broadcasts and reception. CSMA/CD protocol is the reason these two possibilities exist.
Ethernet evolved over time, using different cables at varying lengths and node counts, starting at 10Base5. When 10GBase-T was developed, it used a full duplex point-to-point mode of transmission between only two nodes. This mode is very high speed, with no interference or determinism issues. Likewise, with 40GBase-T, transmission is also full duplex point-to-point, but with the distances starting to shorten a bit. Our focus will be on the 10Gb Ethernet.
System Integration and Standardization
When looking at system integration goals, there are a variety of issues one can face, but the most important one is standardization. The Open Systems Interconnect (OSI) standard was designed so that multiple parties could participate, communicate, and share information by implementing a specific combination of hardware and software. The hardware is the physical connection to the medium, while the software has to execute and manage the software packet exchange. The ultimate objective is reliable connectivity to get the job done. The availability of the network, or performance, varies along with its speed. The CSMA/CD protocol proved that there are some performance issues. The question that needs asking is: “Is the performance sufficient to get my job done?” There are pros and cons to every structure.
The Open Systems Interconnect (OSI) TCP/IP stack is made up of 7 layers (see Figure 1). The lowest layer is the Physical Layer of fiber or copper — possibly wireless today. This interface is the means by which a node would communicate on the medium. The next layer is the Data Link (MAC) Layer. This is where information pertaining to the station address is used to link information to pass from one node to another. The third layer is the Network Layer, which works with multiple bridges and multiple cell networks. After that, the Transport Layer ensures that information is sent and delivered between a station address on one network to a station address on another network. Next, the Session Layer separates the environment for each particular application or user. Following is the Presentation Layer that ensures the information coming from the Session Layer is put into the proper format for the Application Layer to use. Lastly, the Application Layer is where the work is done; whether you are sending emails, controlling machinery, or collecting information.
Resource requirements on the OSI model depend on the goal each layer is trying to achieve. Layers 1 and 2 don’t require nearly as much as 3, 4, 5, or 6. A tremendous amount of logic needs to be executed in the upper layers, and that can chew up a lot of CPU time and memory depending on system architecture and bus speeds. The faster the computer and related data buses, the more seamless the information transfer will be; moving data is where the majority of resources is being used.