Home > Embedded Ethernet and Internet
Embedded Ethernet and Internet
Ethernet and Internet communications for embedded systems.
Embedded Ethernet and Internet Complete
Modules that support Ethernet and Internet communications.
Rabbit Semiconductor's RabbitCore modules use a fast Z80-derivative Rabbit CPU. The Rabbit 3000 CPU has extremely low EMI. The development system includes the Dynamic C compiler with extensive software libraries to support Ethernet and Internet protocols. Library source code is included. The modules have excellent documentation. The RCM3200 module supports 10BASE-T and 100-BASETX Ethernet.
The TINI modules from Maxim Integrated Products/Dallas Semiconductor use a CPU with an enhanced 8051 architecture (DS80C400) and include a Java virtual machine (JVM). The DSTINIm400 module contains a DS80C400 and supports 10BASE-T and 100BASE-TX Ethernet. The DSTINIm400 plugs into the DSTINIs400 Sockets Evaluation Board, which contains the Ethernet PHY circuits and RJ-45 connector. The DSTINI-1 was the original TINNo, I and contains a DS80C390 and 10BASE-T support.
The TINI software is free for use and distribution within the restrictions stated in the license agreement.
The TINI software includes a basic HTTP server for serving static (unchanging) Web pages. The addition of a servlet engine enables the TINI to serve pages that contain real-time data and other dynamic content and enable users to provide input to the TINI. Two servlet engines for the TINI are Shawn Silverman's Tynamo Web server and Smart SC Consulting's TiniHttpServer. (TiniHttpServer hasn't been updated in a while, but it does run on newer TINI firmware.)
Internet Server TINI Edition is a Web server written entirely in Java. From Servertec.
Other sources of TINI hardware:
The TStik from Systronix contains a DS80C400 CPU but uses the same SIMM connector as the DS-TINI-1 and includes an Ethernet transceiver and filtering circuits. Systronix also has development boards for use with the DS-TINI-1 and TStik.
The SNAP from Imsys uses Imsys' CPU, which is around 20 times faster than the Dallas CPU. The JVM is a superset of J2ME/CLDC and is certified by Sun. The board has a SIMM connector.
The TINI SoM-400EM uses a DS80C400 CPU and adds an on-board Ethernet transceiver, hardware SPI port, other I/O, and faster memory. From EMAC, Inc.
Additional TINI resources:
The TINI Webring pages include project descriptions, product vendors, and tutorials.
TINI FAQ. From Tim Rohaly.
Microchip Technology (PIC)
Microchip's ENC28J60 10BASE-T Ethernet Controller has an SPI serial interface.
Ethernet MINI kit from EDTP Electronics uses a Microchip PIC18F67J60.
Other General-purpose Modules with Ethernet Support
EZ Web Lynx embedded Ethernet integration device. From Custom Computer Services, Inc.
Modtronix has PICmicro boards with Ethernet.
Netburner MOD5282 Processor Module contains a 32-bit ColdFire MCF5282 processor that supports a subset of the Motorola 68000 CPUs instruction set. The Development Kit includes software support for Ethernet and Internet protocols, an operating system based on the freeware uC/OS, the freeware GNU C/C++ compiler, a debugger, and configuration utilities.
Sytronix JStik contains a J-100 microcontroller from aJile Systems Inc. The aJ-100 executes Java bytecodes directly, without the need for an interpreter. The result is very fast performance.
Snijder Micro Systems has the EC200 and EJC-EW1A modules, each with an operating system, a fast Java Virtual Machine, and support for 10BASE-T networking.
uClinux on Blackfin BF533 STAMP - A DSP Linux Port project. With 10/100 Ethernet. From Jesslyn Abdul Salam.
Saelig has the WIZnet (Ethernet and TCP/IP on a chip) and more.
Lantronix Device Server enables a device with an asynchronous serial port to communicate over a network.
Netmedia SitePlayer is 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.
These bridges, or serial servers, enable RS-232 and RS-485 devices to communicate over networks.
Rabbit Semiconductor's EM1500 Multipoint Serial-to-Ethernet Bridge has four RS-232 ports and one RS-485 port.
R.E. Smith's ESPSX3 Serial Port Server has two RS-232 ports and one port that is configurable as an RS-232 port or an isolated RS-485 port.
Netburner's SB72 Serial-to-Ethernet Device and Processor Board has one RS-232 or RS-485 interface.
Serial to Ethernet Connector software. From Eltima.
More vendors, compiled by Tactical Software.
USB devices can emulate Ethernet by complying with the Ethernet emulation model (EEM), Ethernet control model (ECM), or Network Control Model (NCM) in the USB communications-class device (CDC) class or by using a vendor-specific interface such as Remote NDIS for Windows.
The Network Control Model builds on the CDC ECM specification with improvements to support higher data rates. The CDC Mobile Broadband Interface Model (MBBIM) defines a protocol for exchanging control commands and data frames with mobile broadband devices.
Ethereal network protocol analyzer. Open source.
Advanced TCP/IP Data Logger from AGG Software.
ProfiShark 1G Gigabit Ethernet Troubleshooter from PROFITAP.
Links to various specification documents for Ethernet and Internet Communications
CGI and SSI
Server Side Includes (SSI). In the documentation for the Apache HTTP Server
Common Gateway Interface (CGI).
Internet Message Format. RFC2822: Internet Message Format specifies the format for text messages sent as e-mail.
Interactive Mail Access Protocol (IMAP). RFC 1730: Internet Message Access Protocol - Version 4.
MAILTO URL scheme. RFC2368: The mailto URL scheme for sending E-mail.
Multipurpose Internet Mail Extensions (MIME). RFC RFC1521: MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies. Multipurpose Internet Mail Extension (MIME) types defined in RFC2045, RFC2046, RFC2047, RFC2048, and RFC2049.
Simple Mail Transfer Protocol (SMTP). RFC2821: Simple Mail Transfer Protocol. For sending E-mail.
Ethernet and Wireless Networks
The main Ethernet standard is IEEE 802.3: Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications.
Power over Ethernet. IEEE 802.3af: Amendment: Data Terminal Equipment (DTE) Power via Media Dependent Interface (MDI).
Wireless networks. IEEE
802.11: Part 11: Wireless LAN Medium Access Control (MAC) and Physical
Layer (PHY) Specifications.
File Transfer Protocol (FTP)
Internet Protocol and Related
Address Resolution Protocol (ARP). RFC0826: An Ethernet Address Resolution Protocol: Or converting network protocol addresses to 48.bit Ethernet address for transmission on Ethernet hardware. Also available as standards-track document STD0037. Reverse Address Resolution Protocol (RARP) is RFC0903: A Reverse Address Resolution Protocol, also available as standards-track document STD0038.
Internet Control Message Protocol (ICMP). RFC0792: Internet Control Message Protocol. For additional ICMP type codes, see RFC0950: Internet Standard Subnetting Procedure and RFC 1256: ICMP Router Discovery Messages.
Internet Protocol (IP). RFC0791: Internet Protocol. Incorporated in STD0005. RFC 3330: Special-Use IPv4 Addresses lists reserved ranges of IP addresses. IPv6 is described in RFC2460: Internet Protocol, Version 6 (IPv6) Specification. Also see RFC2373: IP Version 6 Addressing Architecture and RFC1519: Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy.
Point-to-Point Protocol (PPP). RFC1661: The Point-to-Point Protocol (PPP).
Uniform Resource Locators (URL). RFC1738: Uniform Resource Locators (URL).
Servlets. Java Servlet Specification.
MD5 algorithm. RFC1321: The MD5 Message-Digest Algorithm.
Rijndael Algorithm. Federal Information Processing Standard (FIPS) 197 describes the Rijndael algorithm (also known as the Advanced Encryption Standard (AES)).
Security Roadmap. RFC2411: IP Security Document Roadmap.
Transmission Control Protocol (TCP)
RFC1122: Requirements for Internet Hosts -- Communication Layers clarifies RFC0793 by saying that URG should point to the last byte of urgent data.
Also see RFC2581: TCP Congestion Control.
User Datagram Protocol (UDP)
Web (HTTP and HTML)
Hypertext Markup Language (HTML). HTML 4.01 Specification.
Hypertext Transfer Protocol (HTTP). RFC2616: Hypertext Transfer Protocol -- HTTP/1.1. RFC1945:Hypertext Transfer Protocol -- HTTP/1.0 contains the previous versions, HTTP 1.0 and 0.9. RFC 1123.:Requirements for Internet Hosts -- Application and Support contains the rfc1123-date format specified in HTTP 1.1.
Books about developing embedded systems for use in Ethernet networks or on the Internet. Listed alphabetically, except for my book, which is first. :)
Embedded Ethernet and Internet Complete: Designing and Programming
Small Devices for Networking
My introduction to Ethernet and Internet Communications for small systems, with examples for Rabbit Semiconductor's Rabbit Core and Maxim/Dallas Semiconductor's TINI modules. More info.
Designing Embedded Internet Devices
Brian DeMuth and Dan Eisenreich
A guide to using the TINI.
Embedded Internet Design
Examples use Parallax's Javelin and the TINI.
Embedded Systems Design using the Rabbit 3000 Microprocessor
Kamal Hyder, Bob Perrin
For anyone using Rabbit Semiconductor's CPUs.
Networking and Internetworking with Microcontrollers
Network communications with AVRs and PICs. Fred's website.
TCP/IP Application Layer Protocols for Embedded Systems
M. Tim Jones
Examples for Linux.
TCP/IP Clearly Explained
Inside networking protocols.
TCP/IP Lean: Web Servers for Embedded Systems
How to write low-level networking code, with Microchip PIC examples.