ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites

IrDA

Circuit Cellar Online
THE MAGAZINE FOR COMPUTER APPLICATIONS
Circuit Cellar Online offers articles illustrating creative solutions
and unique applications through complete projects, practical
tutorials, and useful design techniques.
RESOURCE PAGES

cil.gif (3024 bytes)
A Guide to online information about:

TCP/IP for Embedded Systems

by Benjamin Day

The set of network protocols, loosely referred to as TCP/IP, have helped to form the backbone of the Internet since long before most people ever heard of the Internet. Now, if you are making a product that will connect to a PC, TCP/IP seems to be the logical choice, whether your product is a stuffed Winnie-the-Pooh or a toaster.

TCP/IP is such a broad topic, I can't possibly cover everything for you. But hopefully, I can point you towards some information that will help you get started with your quest. To get a good understanding of TCP/IP, you would probably want to take a college course in data communications, or you could just try reading a textbook on the subject. The first secton here will covers the OSI network model.

OSI Network Model

To understand networking in general, you should be aware of the OSI network model. A network can be described as having several layers of functionality. The OSI network model defines seven layers of functionality which, from highest level to lowest level are: application, presentation, session, transport, network, data link, and physical. Of course, the lowest layers are realized in hardware.

Some would argue that TCP/IP does not conform to the OSI network model because it does not clearly define all seven layers. However, TCP/IP has essentially collapsed some of the layers together. TCP/IP has four clearly defined layers: application, transport, network, and link. On the application layer you'll find your application and other user-level protocols such as FTP and telnet. The transport layer is handled by TCP or UDP. The network layer is handled by ICMP, IP, and IGMP protocols. And the link layer is handled by ARP, RARP, and the hardware driver interface. Because TCP/IP does not specify a physical layer, you can find it on a wide variety of media: arcnet, ATM, X.25, and so on. But most commonly, you'll probably find it on Ethernet and RS-232.

TCP/IP comprises a large collection of standards, called RFCs or Requests For Comments. The RFCs are freely available over the Internet. You can find out how to obtain the RFCs by sending e-mail to rfc-info@isi.edu with the subject line "getting rfcs." The first line of the body of the message should read: "help: ways_to_get_rfcs" You should get a fairly quick automated reply back detailing where to find the latest information.

Ethernet Controllers for Embedded Systems

Although TCP/IP does not specify a physical layer, TCP/IP over Ethernet is commonplace. Although justice cannot possibly be served in this short section with respect to the subject of Ethernet controllers, I'll briefly mention a few.

Motorola

If you haven't selected a processor yet but plan to support Ethernet, you might want to consider one of Motorola's processors that include an onboard Ethernet controller—the Motorola 68360 or the Motorola PowerPC MPC860.

Crystal

Crystal offers the CrystalLAN 10 Mbps Embedded Ethernet Controller. CrystalLAN integrates easily with 'x86-based embedded systems. A datasheet and technical reference manual are available online.

Suppliers of TCP/IP Protocol Stacks for Embedded Systems

With the exception of WATTCP, which is freeware, all of the TCP/IP protocol stacks listed here are commercial products. As the Internet has exploded in the last few years, so has the number of choices of TCP/IP vendors. If it is your job to choose which vendor to use, I don't envy you one bit. Each vendor offers pretty much the same protocols and some make similar claims that can be difficult to verify. In the end, what will matter the most will be software quality, support, and price. Evaluating all that will require the wisdom of Solomon. Or, if you're lucky, it will get sorted out by other factors such as the processor you already decided to use. Or, it may come down to needing a protocol such as NFS that isn't offered by everyone.

EBS, Inc.

EBS, Inc. offers a TCP/IP stack that works with a handful of RTOS kernels including AMX, SMX, RtKernel, CMX, Nucleus, and Phar Lap. EBS offers support for a variety of protocols including FTP, HTTP, telnet, SMTP, NFS-client, SNMP, DHCP, and DNS.

Interniche Technologies, Inc.

Interniche Technologies, Inc. offers the only TCP/IP stack for embedded systems that offers NAT routing capability, which is a must for any SOHO router-style product. NAT or network address translation can do a lot of things, but the most common use of NAT is to allow several machines to share a single IP address.

KADAK Products Ltd.

KADAK's KwikNet TCP/IP Stack was first introduced to the market in June of 1998. KwikNet supports all the standard protocols—TCP, UDP, IP, ICMP, ARP, and BOOTP. Optionally, there is also support for PPP, FTP, HTTP, and SNMP. and also includes a very nice graphical configuration manager. KwikNet can be used with a variety of real-time operating systems, including KADAK's AMX. KwikNet supports several popular target systems including 'x86 (real and protected mode), PowerPC, DragonBall, and ColdFire.

KADAK's web site has downloadable reference manuals for evaluation purposes. You can also download a demo copy of the graphical configuration manager.

Micro Digital

MicroDigital offers smxNet, a complete TCP/IP stack that optionally offers NFS client support. Currently, smxNet supports 'x86, ColdFire, and PowerPC processors.

Pacific Softworks

Pacific Softworks' FUSION protocol suite represents mature code that has been developed over the course of 14 years. Pacific Softworks offers a wide range of support for processors from 8- to 64-bit. Support is also available for some DSP.

Treck, Inc.

Treck offers the Treck Real-Time TCP/IP and claims to be the only embedded TCP/IP stack to implement zero-copy buffering for TCP. Perhaps Treck was the first to offer this, but a few of the other vendors listed here also claim to offer zero-copy buffering for TCP. Zero-copy buffering essentially means that, as data is passed from one protocol layer to the next, instead of copying the data to a buffer, the stack just passes a pointer. Because there are quite a few layers, zero-copy buffer support makes a big difference in performance.

US Software

US Software offers a total solution with its USNET Embedded Protocol Suite. US Software has been around since the 1970s and has more experience with TCP/IP than most of the other vendors. Because of this, they support more target processors and offer more Ethernet drivers than most vendors.

WATTCP

WATTCP is a freeware TCP/IP protocol stack developed by Erick Engelke at the University of Waterloo. WATTCP was designed for use with MS-DOS which restricts you to development on 'x86-based targets. But it has been successfully used on a wide variety of embedded PC hardware. Although there is no company to provide support, there is a broad user base. And if you are willing to consider using off-the-shelf hardware, JK Microsystems offers an embedded controller module µFlashTCP based on the '386EX and has incorporated WATTCP so you don't have to.

Books

Quite a few books have been written on the subject of TCP/IP. I'll try to list a few here that I've found useful over the years. I have included some convenient links to Amazon.com in case you're interested in buying any of these great books without having to leave the comfort of your computer chair.

TCP/IP Illustrated, Vol. 1 : The Protocols by W. Richard Stevens

TCP/IP Illustrated, Vol. 2 : The Implementation by Gary R. Wright and W. Richard Stevens

TCP/IP Illustrated, Vol. 3 : TCP for Transactions, HTTP, NNTP, and the Unix Domain Protocols by W. Richard Stevens

Internetworking With TCP/IP : Principles, Protocols, and Architecture by Douglas E. Comer

I have also included a book on the broader topic of data communications. This book begins with a chapter that introduces the general topic of communications and introduces the OSI network model. Without a book like this, you haven't seen the whole Mona Lisa!

Data and Computer Communications by William Stallings


If you would like to add any information on this topic or request a
specific topic to be covered, contact Benjamin Day


Circuit Cellar provides up-to-date information for engineers. Visit www.circuitcellar.com for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com or subscribe online. ©Circuit Cellar, the Magazine for Computer Applications. Posted with permission.

Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ