Ethernet/Internet TCP/IP Brief

Overview
"Embedded Internet" and "embedded Ethernet" are hot topics today, and for good reason. The dramatic increase in Internet use has lent some credibility to the concept that nearly any electronic device can be connected to nearly anything else. Connectivity is occurring everywhere, from home appliances to remote weather stations to industrial robots and machinery to vending machines. Even without the spectacular rise of the Internet, the Ethernet protocol was independently becoming the de-facto standard for local area networks. The rise of the Internet/Ethernet threatens to put the last nail in the coffin of alternative local networking solutions.

Although the hardware technology is mature, costs are expected to decrease even more, driving expectations for connectivity even higher. Many embedded designers now face the dilemma of adding Ethernet connectivity to their products, either for use with local networks or for connecting to the Internet. Solutions to this problem generally involve both hardware and software.

Connecting to the Internet is generally done in one of two ways: either via a telephone dial-up connection to an Internet Service Provider (ISP) or via a high speed Ethernet connection. Connecting via dial-up generally uses standard telephone modem hardware and a point-to-point protocol (PPP). Connecting via Ethernet requires a software protocol called TCP/IP. A third method growing in popularity are wireless interfaces to the Internet, and hold significant promise for devices which have no access to telephone lines or to Ethernet networks.

Dial up solutions
The most common dial-up solution is to use a traditional analog modem. The modem provides the physical connection from the embedded device to the phone line, but generally does not provide any protocol support for TCP/IP or PPP. For high volume applications, the embedded designer could develop custom hardware, the protocols to control the modem from the embedded device, and the PPP and TCP/IP protocols which are used after the modem connection has been made. In total, this represents a significant effort that a small or mid-size company may not be able to afford.

Some off-the-shelf modems, such as the iModem from ConnectOne, provide a high level "serial in/modem out" interface for specific dial-up needs, such as obtaining and sending e-mail from an embedded device. The embedded device would send an ASCII command string stating "send the following string as e-mail to the preprogrammed e-mail address", and the modem does the rest.

Other alternatives include using an embedded modem product, such as the SocketModem from Conexant and the iChip from ConnectOne. The iChip interfaces to the modem and handles the protocol to connect to the ISP and transmit data. This relieves the embedded designer from handling these complex tasks.

Ethernet Solutions
The installed base of Ethernet networks is huge and growing. Most factories, office buildings, and new homes have installed Ethernet capability. Due to higher data rates, the Ethernet solution for connectivity is preferred to the dial-up method. With Ethernet, the network is always available. Using Ethernet for networking in non-traditional areas such as industrial networking is appealing because the required cabling is already installed and waiting to be used. 10BaseT is the hardware interface that is most commonly used today. If other networks are already installed, such as 100BaseT, adapters to 10BaseT are available.

Embedded Ethernet solutions come in all sizes. A high-end solution might consist of an embedded PC with an Ethernet interface card and utilize the TCP/IP drivers that arrive with Windows NT. For mid-range and low-end solutions, the cost of an embedded PC is prohibitive, so other solutions must be found.

If interfacing an existing serial device to Ethernet is needed, an RS-232 to Ethenet connection can be made using an Ethernet modem, such as Z-World's EM1000. The device is easy to configure, and enables connecting serial device to a PC or other delivered over Ethernet.

Developing the TCP/IP stacks and other components
In many cases, off-the-shelf hardware and software solutions do not meet embedded developer's needs. Hardware must be reduced to the minimum possible cost and size, and pre-defined functionality, such as "only e-mail", is usually not satisfactory.

A wide variety of options are available to designers of embedded systems. There are many microprocessors to choose from, multiple operating systems, a host of third-party software development and debug environments, and many TCP/IP stacks. And of course, there is always inherent risk in purchasing the different components from different vendors. The components may not work well together, and when problems arise, it's not always clear who is responsible.

Some companies, such as Wind River Systems, offer the development environments, the operating systems, and TCP/IP stack. Other companies, such Zilog and Rabbit Semiconductor, offer all of the above plus microprocessors on which the code operates.

Deciding which TCP/IP stack to use can be an ordeal. If you search out the vendors of TCP/IP stacks you will find the following:

- Many companies do not actually publish their prices. This opens the door to "custom" pricing, where the price reflects the degree of customer negotiation skills and ability to pay.
- "Project-based pricing" may be encountered where the license is restricted to a single product.
- Up front license fees can range from $10,000 to $30,000.
- Run time royalties per-unit may be required.
- The TCP/IP stacks will only run on expensive processors or processors which have not been invented yet.
- Each additional protocol costs more in up front payments and per unit royalties.

An alternative to the above is being developed by Rabbit Semiconductor. Their high-performance Z180 derivative, the Rabbit 2000, has been designed and optimized expressly for the embedded market. They are now developing an extremely low cost TCP/IP toolkit based on the Rabbit 2000 which will consist of the following:

- Hardware development board with a Rabbit 2000 CPU core. The core offers flash and RAM memory, Ethernet interface hardware, and 8 digital I/O points. An LCD display and 12-key keypad are optional.
- Field-proven Dynamic C software development system with TCP/IP software.
- Hardware documentation, including reference schematics of successful core designs.
- Networking demo programs.

The toolkit will allow embedded designers to develop a TCP/IP networking application with the help of Dynamic C development tools which include an editor, compiler and source-level debugger (sells for $295). The integrated solution will reduce the risk inherent in new designs by delivering a proven and tested TCP/IP software and hardware development environment.

- For more information on the Rabbit 2000 chip, go to www.rabbitsemiconductor.com.
- For more Information on the iModem and iChip products, go to www.connectone.com.
- For more information on the EM1000 Ethernet Modem, go to www.zworld.com.