Lakeview Research home > Embedded Ethernet and Internet Central

Embedded Ethernet and Internet Central

brought to you by Jan Axelson

Articles | Device Modules | Specifications | Books

Ethernet and Internet communications for embedded systems.

Embedded Ethernet and Internet Complete

Embedded Ethernet and Internet CompleteEmbedded Ethernet and Internet Complete: Designing and Programming Small Devices for Networking, focuses on local-network and Internet communications for embedded systems.

Code examples from the book.

Articles

Network Security for Small Systems

Pick the Network Protocol that’s Right for your Device

Device Modules

Modules that support for Ethernet and Internet communications

RabbitCore

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. Excellent documentation. The RCM3200 module supports 10BASE-T and 100-BASETX Ethernet.

For help in using RabbitCore modules, see Rabbit Semiconductor's Bulletin Board and the independently run e-mail discussion group rabbit-semi.

TINI

Dallas Semiconductor's TINI modules use a CPU with an enhanced 8051 architecture (DS80C400 or DS80C390) 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 TINI 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.

Universal Vinculum has DSTINI-1 boards.

For help with the TINI, Dallas Semiconductor sponsors an e-mail discussion group with a searchable achive.

Additional TINI resources:

TINI Tutorials. From Systronix.

The TINI Webring pages include project descriptions, product vendors, and tutorials.

Other General-purpose Modules with Ethernet Support

EZ Web Lynx embedded Ethernet integration device. From Custom Computer Services, Inc.

Microchip Technology PICDEM.net 2 Internet/Ethernet Demonstration Board.

Microchip's ENC28J60 10BASE-T Ethernet Controller has an SPI serial interface.

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 CPU’s 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.

Linux Blackfin processor BF533-STAMP board project. With 10/100 Ethernet. From Aaron Whittemore and Robin Getz.

Saelig has the WIZnet (Ethernet and TCP/IP on a chip) and more.

Special-purpose Modules

EDTP Electronics Packet Whacker contains a Realtek RTL8019AS Ethernet controller, an RJ-45 connector, two headers that bring out the signals required to communicate with the Ethernet controller, and related components. You can use the Packet Whacker to add Ethernet to just about any microcontroller. EDTP has similar boards with other Ethernet controllers.

Lantronix Device Server enables a device with an asynchronous serial port to communicate over a network. Each server has a TTL-compatible asynchronous serial port and an RJ-45 connector for connecting to an Ethernet network. The Device Servers contain firmware to support Ethernet and Internet protocols. User firmware manages communications between the serial port and the server. The DSTni-LX Development kit includes a development board and the Paradigm C++ Professional development toolkit.

Netmedia SitePlayer Ethernet Web Server is 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.

Ubicom IP2022 Wireless Network Processor is a CPU optimized for networking with software-configurable peripherals and wireless support. Project development uses Ubicom’s integrated development environment and GNUPro, a software development suite that includes a C compiler.

Serial-to-Ethernet Bridges

These bridges, or serial servers, enable RS-232 and RS-485 devices to communicate over networks.

Z-World'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.

More vendors, compiled by Tactical Software.

Specifications

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).

E-mail

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.

Post Office Protocol (POP). RFC1939: Post Office Protocol - Version 3. For receiving E-mail. First described in RFC0918.

Simple Mail Transfer Protocol (SMTP). RFC2821: Simple Mail Transfer Protocol. For sending E-mail.

Ethernet and Wireless Networks

Index to Ethernet standards.

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)

File Transfer Protocol (FTP). RFC0959: File Transfer Protocol (FTP). Also see RFC 1123: Requirements for Internet Hosts -- Application and Support and RFC 2428: FTP Extensions for IPv6 and NATs.

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.

Domain Name System (DNS). RFC1034: Domain names - concepts and facilities. RFC1035: Domain names - implementation and specification. Both are incorporated in STD0013.

Dynamic Host Configuration Protocol (DHCP). RFC2131: Dynamic Host Configuration Protocol. RFC2132: DHCP Options and BOOTP Vendor Extensions.

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).

Protocol Numbers and Assignment Services (obsoletes RFC0790:and similar documents). From IANA.

Uniform Resource Locators (URL). RFC1738: Uniform Resource Locators (URL).

Java Servlets

Servlets. Java Servlet Specification.

Security

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)

Transmission Control Protocol (TCP). RFC0793: Transmission Control Protocol. Also available as STD0007.

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)

RFC0768: User Datagram Protocol. Also available as STD0006.

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

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
Jan Axelson
2003, Lakeview Research
482 pages; $49.95

My introduction to Ethernet and Internet Communications for small systems, with examples for Rabbit Semiconductor's Rabbit Core and Dallas Semiconductor's TINI modules. More info.

Designing Embedded Internet Devices
Brian DeMuth and Dan Eisenreich
2002, Butterworth-Heinemann
320 pages; $49.95

A guide to using Dallas Semiconductor's TINI (the DSTINI390).

Embedded Internet Design
Al Williams
2003, McGraw-Hill/TAB Electronics
318 pages; $39.95

Examples use Parallax's Javelin and Dallas Semiconductor's TINI (DSTINI390).

Embedded Systems Design using the Rabbit 3000 Microprocessor
Kamal Hyder, Bob Perrin
2004, Newnes
480 pages, $49.95

For anyone using Rabbit Semiconductor's CPUs.

Ethernet: The Definitive Guide
Charles E. Spurgeon
2000, O'Reilly & Associates
500 pages; $49.95

Not specifically about embedded systems, but contains everything you'll want to know about Ethernet. Charles' website.

Networking and Internetworking with Microcontrollers
Fred Eady
2004, Newnes
376 pages; $59.95

Circuit Cellar columnist Fred Eady shares his experience in network communications with AVRs and PICmicros. Fred's website.

TCP/IP Application Layer Protocols for Embedded Systems
M. Tim Jones
2002, Charles River Media
460 pages; $49.95

With examples for Linux.

TCP/IP Clearly Explained
Pete Loshin
2002, Morgan Kaufmann
709 pages; $49.95

Not specifically about embedded systems but a good introduction to networking protocols.

TCP/IP Lean: Web Servers for Embedded Systems
Jeremy Bentham
2002, CMP Books
559 pages, $59.95

How to write low-level networking code, with Microchip PICMicro examples.

The TINI Specification and Developer's Guide
Don Loomis
2001, Addison-Wesley
384 pages; $39.99

From the lead architect and developer of the TINI. This book is also available as a free download (PDF) from Dallas Semiconductor.

 

This site is a member of WebRing. To browse visit here.