Design Choices - Ethernet
Design Choices - Ethernet
Design Choices - Ethernet
interfacing an Ethernet controller chip to a CPU and writing code to support Ethernet communications and the Internet protocols the device uses a module that contains a CPU, Ethernet interface, and software support for Ethernet communications and Internet protocols. Every computer in an Ethernet network must have an Ethernet controller. This ppt will describes the capabilities and operation of popular Ethernet controllers
On
the hardware side, if you have experience with a particular CPU family, The hardware typically includes a circuit board with a CPU, Ethernet controller, and related components. software side, both C and Java are popular languages for programming networked embedded systems. program code includes support for Ethernet, TCP/IP, and other Internet protocols
Different
products use different CPUs, and the type and amount of memory and I/O options vary. A product may support programming in assembler, C, Java, or a combination of languages Rabbit Semiconductors RCM3200 RabbitCore C-programmable Module with Ethernet and Dallas Semiconductors DSTINIm400 Networked Microcontroller Evaluation Kit.
Rabbit 3000 microprocessor - has seven 8-bit I/O ports derivative of ZiLOG, Inc.s venerable Z80 microprocessor The circuit board is smaller than a business card and supports a variety of I/O interfaces external memory bus with 8 data bits and 20 address lines power supply can range from +3.6V - +1.8V Low EMI 512 kilobytes of Flash memory for storing programs, 512 kilobytes of fast RAM for loading code for execution, and 256 kilobytes of RAM for storing data. One of the serial ports uses a special programming cable to load firmware from a PC into RAM or Flash memory. module has an RJ-45 connector for 10BASE-T and 100BASETX Ethernet media systems headers on the bottom of the board provide access to the I/O bits and other signals.
Lowering the supply voltage can reduce power consumption by 75 percent. Slowing the clock reduces power consumption as well. The CPU can switch between a fast clock (up to 54 Megahertz) and a second clock that can run at 32 kilohertz. The CPU can use the slow clock while waiting for a specified time to elapse or an event to occur, then switch to the faster clock when processing power is needed. So for a slow clock, current consumption can be as low as a few hundredths of a milliampere.
Rabbit
Semiconductors Dynamic C is a complete environment for writing and editing code, compiling and linking, loading compiled code into the RCM3200s RAM or Flash memory, and debugging. The compiler also supports in-line assembly code. Dynamic C has built-in support for multitasking for tasks that each require CPU time on a regular basis. A system may use cooperative or preemptive multitasking.
fast
microcontroller - 8051 architecture, plenty of I/O, an operating system, and a Java virtual machine (JVM). Ethernet support: 10BASE-T, 100BASE-TX Typical Uses: applications that need speed, lots of I/O, or a CAN interface.
TINI stands for Tiny InterNet Interface TINI isnt a CPU or a circuit board, but a platform that consists of a CPU and related components, support for networking, and a Java runtime environment. modules circuit board contains a Dallas Semiconductor DS80C400 Network Microcontroller - high-speed derivative of Intel Corporations long-popular 8051 microcontroller. 9 kilobytes of RAM and can address 16 Megabytes of external memory chip has eight 8-bit I/O ports external memory bus with 8 data bits and 22 address bits 64-kilobyte ROM networking stack supports TCP/IP and related protocols, including IP version 6 For remote storage of firmware and easy firmware upgrades, the NetBoot component enables the TINI to automatically locate, load, and run program code from the local network or the Internet. +1.8V Core Supply Voltage and a +3.3V I/O Supply Voltagec
TINI
Software Developers Kit (SDK), available for free downloading from Dallas Semiconductors Web site, includes the TINIOS operating system and a Java Virtual Machine (JVM). When the TINI has been configured for network communications, you can log onto slush over the network using a Telnet application such as Windows HyperTerminal. To use Hyperterminal for a Telnet session, set up the connection to connect to the TINI using TCP/IP.
Netmedia SitePlay At a glance: a very inexpensive module that can serve Web pages and perform UDP communications with a minimum of user programming.Requires a serial link to a CPU to update Web page data and receive data from clients. Ethernet support: 10BASE-Ter Ethernet Web Server Typical use: Basic monitoring and control tasks. Source: Netmedia ( www.netmedia.com) EDTP Electronics Packet Whacker At a glance: An Ethernet interface on a circuit board with headers for connecting to a CPU. Typical use: adding Ethernet to any microcontroller circuit. Ethernet support: 10BASE-T Source: EDTP Electronics (www.edtp.com) Serial-to-Ethernet Bridge At a glance: enables RS-232 and RS-485 devices to communicate over networks Ethernet support: 10BASE-T Typical use: remote communications with devices with serial interfaces. Sources: Z-World (www.zworld.com), Netburner (www.netburner.com), R.E. Smith (www.rs485.com).
An
embedded system that supports Ethernet requires Ethernet controller hardware to provide the Ethernet interface. This section introduces some of the more popular controllers for embedded systems. Ethernet communications are typically handled by a combination of an Ethernet controller chip and device-driver code that communicates with the controller.
Receives the message to send and the destination address from higher-level software. Calculates the Ethernet frame check sequence. Places data, addresses, and other information in the frames fields. Attempts to transmit the frame when the network is idle. Detects collisions, cancels any transmitted frame with a collision Provides an indication of success or failure of a transmission.
Detects and synchronizes to new received frames. Ignores any frames that are less than the minimum size. Ignores any frames that dont contain the interfaces address or a valid multicast or broadcast address in the Destination Address field. Calculates the frame-check-sequence value, compares the result with the received value, and indicates an error if they dont match. Makes the received frames data and other information available to the receiving computer. Higher-level software reads the message and does whatever needs to be done with it.
Ethernet-capable embedded system, a CPU manages communications with the Ethernet controller.
Related Components For 10BASE-T and 100BASE-TX systems, the IEEE 802.3 standard requires an isolation transformer that also functions as a low-pass filter between the controller and the networks RJ-45 connector. include a timing crystal to clock the controller chip and decoupling capacitors for the power pins. Some controllers also support an interface to a serial EEPROM, which can provide nonvolatile, read/write storage of configuration data such as the Ethernet hardware address. controllers also have status outputs for interfacing to LEDs.
A term youre likely to hear in reference to program code for network controllers is NE2000compatible. The NE2000 was an early and popular PC network interface card from Novell. The card contained National Semiconductors DP8390 controller. Software for systems that use the 8390 or a compatible chip has come to be known as NE2000-compatible code An NE2000-compatible chip should support all of the 8390s registers. NE2000-compatible chips are also likely to support accessing buffer memory at addresses
Many providers of controller chips have example code for setting up the registers and transferring frames. You may need to translate the code for use with a specific CPU. Source and executable code is also available from many vendors of modules that use the chips. National Semiconductor also has a couple of application notes. Note AN-475: DP8390 Network Interface Controller: An Introductory Guide, describes the processes of sending and receiving data. Note AN-874: Writing Drivers for the DP8390 NIC Family of Ethernet Controllers, focuses on programming, with example assembly code for a PC.
The ASIX AX88796 An Ethernet controller designed for use in embedded systems is the AX88796 3-in-1 Local Bus Fast Ethernet Controller from ASIX Electonics Corporation Rabbit Semiconductor uses this controller in its RCM3200 module. The controller supports Ethernet communications at 10 and 100 Mb/s. Realtek RTL8019AS For embedded systems with 10BASE-T support, one of the most popular controllers has been the RTL8019AS Full Duplex Ethernet Controller with Plug and Play Function from Realtek Semiconductor Corp.
SMSC LAN91C96 Ethernet controller designed specifically for embedded systems is Standard Microsystems Corporation (SMSC)s LAN91C96 Non-PCI Full Duplex Ethernet Controller with Magic Packet Cirrus Logic CS8900A An older ISA-based controller thats suitable for some embedded systems is Cirrus Logics CS8900A Crystal LAN ISA Ethernet controller. The 8900A is not NE2000-compatible. Instead it defines its own set of registers in on-chip SRAM that it calls PacketPage memory.
Ethernet
Bus
Receiving