Beyond Logic



IP & Ethernet Interfaces


    There is a general consensus that in years to come more and more Internet devices will be embedded and not PC oriented. Just one such prediction is that by 2010, 95% of Internet-connected devices will not be computers. So if they are not computers, what will they be? Embedded Internet devices.

    One popular solution is to use an 8 bit microcontroller such as a Rabbit 2000, AVR or PIC and a Ethernet MAC such as a CS8900A or RTL8029AS hanging of it’s parallel port pins in 8 bit mode. A TCP/IP stack is normally written in C and can be striped of features and ported to these resource limited microcontrollers. While this works and we detail many such boards below, a little debate is brewing over it’s reliability and functionality.

    With DOS (denial of service) attacks becoming more and more common, it doesn’t take much to knock your little 8 bit microcontroller off the network. In fact some configurations have a little trouble keeping up with the high volume of broadcast packets floating around a loaded network, let alone any malicious attacks.

    One solution of course is to put in a bigger processor. This is the case with Embedded Linux devices such as Coldfire, DragonBall or ARM based devices. They are quite powerful enough to allow a suitable bandwidth and not be susceptible to someone’s malicious intent.

    The other solution is to use a hardware TCP/IP stack. A hardware based stack is not new. If you have followed this site, you will be aware of the Sekio S-7600A hardware stack which incorporated a TCP/IP stack with a PPP controller so you could connect it to a modem. Sekio had licensed the technology from Iready Corporation. While it had it’s place in data logging or dial on demand applications where your device could dial up the Internet and send you an email to the effect that your house has been broken into or the past 24 hours logged data etc, it wouldn't connect to the popular ethernet networks present everywhere today.

    The next logical progression had to be the Ethernet interface. Sekio has exited the embedded Internet business discontinuing it’s S-7600 on the 1st September. However the concept is still alive.

    A hardware TCP/IP stack has a couple of advantages. Firstly as they are hardware based, most run at close to line speeds encapsulating and striping streams of data on the fly. This makes it increasingly more difficult to cause a DOS attack and almost impossible to run malicious code using principals of buffer overruns etc. However being hardware makes it difficult to upgrade should little quirks be found allowing say SYN attacks for example.

    Later we detail some devices from Ipsil and Connect One. Both have the ability to upload new firmware which future proofs the designs in these peripheral devices. However the Ipsil and Connect One devices on the market today rely on an external ethernet MAC such as the popular CS8900A or RTL8029AS. This contributes to the chip count.

    Ipsil has preliminary data on their IPµ8932 which combines a webserver, Ethernet MAC layer, and TCP/IP controller all on a single chip. This allows the one chip with 20 digital or analog inputs to display webpages without the need of a microcontroller. Ipsil has WebHoles™ technology which allows holes (simular to server side includes principles) to be filled in with values from the I/O ports. If you do happen to need more complexity, you can add a microcontroller and talk via standard TCP/IP socket calls.

    However WIZnet Inc already has a simular device on the Market. The W3150A incorporates a TCP/IP stack and a future proofed 10/100 Ethernet MAC. So when it comes to chip count, it makes sense to off load the burden of the TCP/IP stack into a second peripheral chip complete with Ethernet MAC. It can reduce time to market, as the design of the TCP/IP stack is omitted (or saves costs of licensing one), plus you have a more stable product. Your 8 bit micro effectively has more grunt now, as it's no longer responsible for the lower TCP/IP protocols and ethernet encapsulation. All these advantages and yet, still only two chips.

    How long before the leading microcontroller manufacturers are going to integrate a hardware TCP/IP stack and ethernet MAC into their microcontrollers making a one chip solution?

      Answer : WIZnet Inc. and Atmel Corporation to jointly develop and market Internet connectivity solutions.

      WIZnet Inc. and Atmel Corporation has forged a strategic partnership to develop and co-market Internet connectivity solutions. As part of this agreement WIZnet will manufacture OEM products around Atmel’s AVR microcontrollers. Both have agreed to move in the direction of system-on-chip (SoC) which will see WIZnet’s TCP/IP hardwired technology be integrated with Atmel’s MCU cores. Outcome? An AVR with \ hardware TCP/IP stack and ethernet in the one chip. I can't wait. . . .

    Lantronix

      Lantronix has developed the XPort. It's a x86 processor with 256Kbytes SRAM, 512Kbytes Flash and a 10/100 Ethernet Interface in tiny package not much bigger than the standard Ethernet socket. Having a mature O/S, the XPort can send e-mail alerts or serve web pages among other things. There is even a model with 128-bit AES Rijndael encryption if you need it. Encapsulated in a single drop in module, the EMC-compliant XPort makes the perfect partner to your Amtel or PIC based Internet Application offloading the responsibility of the TCP/IP stack to the XPort. Communication between the module and your MCU is done by a 300bps to 230 kbps asynchronous serial port.

        XPort Embedded Device Server

        • Ethernet 10Base-T or 100Base-TX RJ45
        • Supports TCP/IP, UDP/IP, ARP, ICMP, SNMP, TFTP, Telnet, DHCP, BOOTP, HTTP, and AutoIP
        • 300 to 230 kbps Asynchronous CMOS Serial Port
        • 3 PIO pins (Software selectable)
        • Can serve web pages and Java applets with 384Kbytes internal Flash Storage
        • CPU : Enhanced 16-bit, 48MHz, x86 architecture
        • 256Kbytes SRAM and 512Kbytes flash
        • Flash Firmware upgradable over the wire via TFTP and serially
        • 3.3V @ 210 mA max.
        • Only 33.9 x 16.25 x 13.5mm. A little longer than a standard RJ-45 Socket.

        The XPort - A 16bit x86 CPU, Flash, SRAM and Ethernet in a Tiny Single Encapsulated Package.

        WiPort Wireless Embedded Device Server

        • Wireless 802.11b and 10/100 Ethernet
        • Supports TCP/IP, UDP/IP, ARP, ICMP, SNMP, TFTP, Telnet, DHCP, BOOTP, HTTP, and AutoIP
        • Dual 300 to 921.6 kbps Asynchronous CMOS Serial Port (3V3)
        • 11 GPIO pins
        • Can serve web pages and Java applets with 1.8MBytes (or 3.8MB) internal Flash Storage
        • Lantronix DSTni-EX 186 CPU
        • 256Kbytes zero wait state SRAM, 1024KB SRAM and 2048Kbytes (or 4096) flash
        • Flash Firmware upgradable over the wire via TFTP and serially
        • 3.3V @ 460 mA max.

        The WiPort
    Digi

      Digi International has another even more impressive little module out. They have crammed a 32bit ARM processor running at 55MHz complete with large amounts of flash and RAM into a small PCB mount module. But what makes these modules more impressive is the ability to switch between a wired 10/100 ethernet or 802.11b module. Both are pin to pin compatible making your designs built around the Digi Connect ME family even more flexible. The wireless module is enclosed, and as such is FCC approved, so you are not required to get approvals for your WIFI design further decreasing your time to market. If however resources are a little tight, then the EM family may be for you offering increased memory, multiple serial ports, SPI and more I/O.

        Digi Connect ME


        • NetSilicon NS7520 32-bit ARM Microprocessor.
        • 10/100Base-T Ethernet with power pass-thru for network powered devices.
        • 2MB Flash, 8MB RAM on board.
        • 230Kbps TTL Level Async Serial Port.
        • 5 Shared GPIO Ports.
        • Strong SSL/TLS encryption.
        • Royalty-free NET+Works development platform.
        • 3.3Vdc @ 250mA.
        • Small 36.7 x 19.05 x 18.67mm Package with Samtec FTS-110-01-F-DV-TR 20pin Micro Header.

        Digi Connect Wi-ME


        • NetSilicon NS7520 32-bit ARM Microprocessor.
        • 802.11b wireless embedded module up to 11Mbps
        • WPA security & WEP Encryption
        • 2MB Flash, 8MB RAM on board.
        • 230Kbps TTL Level Async Serial Port.
        • 5 Shared GPIO Ports.
        • Strong SSL/TLS encryption.
        • Royalty-free NET+Works development platform.
        • 3,3Vdc @ 400mA.
        • Small 49.4 x 19.05 x 18.67mm Package with Samtec FTS-110-01-F-DV-TR 20pin Micro Header.

        Digi Connect EM


        • NetSilicon NS7520 32-Bit ARM Microprocessor @ 55MHz
        • 10/100Base-T Ethernet with power pass-thru for network powered devices.
        • 4MB flash, 8MB RAM on board.
        • Two high speed 230Kbps TTL Level Async Serial Ports.
        • 9Mbps SPI Interface.
        • 9 Shared GPIO Ports.
        • Strong SSL/TLS encryption.
        • Royalty-free NET+Works development platform.
        • 3.3Vdc @ 250mA.
        • 49mm x 40mm PCB Module.

        Digi Connect Wi-EM


        • NetSilicon NS7520 32-Bit ARM Microprocessor
        • NetSilicon NS7520 32-Bit ARM Microprocessor @ 55MHz
        • 802.11b wireless embedded module up to 11Mbps
        • WPA security & WEP Encryption
        • 4MB flash, 8MB RAM on board.
        • Two high speed 230Kbps TTL Level Async Serial Ports.
        • 9Mbps SPI Interface.
        • 9 Shared GPIO Ports.
        • Strong SSL/TLS encryption.
        • Royalty-free NET+Works development platform.
        • 3.3Vdc @ 400mA.
        • 49mm x 47mm PCB Module.
    Ipsil

      Ipsil have three products in its IPµ range. The IPu8930 is currently on the market and is sold as a module complete with a RTL8019AS ethernet MAC on the bottom. With a development kit for only $199 USD, this looks like at good entry point into this market. In the pipeline is the IPµ8932 which incorporates the Ethernet MAC into the one chip, and the IPu8942 designed for data streaming applications.

        IPµ8930

        • The IPµ8930 consists of an IPµ TCP Controller chip, an Ethernet PHY/MAC interface chip, and an EEPROM. You just need to add the ethernet magnetics
        • Small board footprint 1.3”x1.4” or 33.2mm x 34.5mm
        • 8 on-board 10-bit A/D converters
        • Serial, I 2 C and SPI. Async speeds up to 115,200bps
        • 512KB EEPROM, 482KB available for designer
        • Uses RealTek RTL8019AS MAC
        • 5.0V operation
        • Bare Module $99 USD, Development Kit $199 USD

        IPµ8932

        • Single-chip TCP Controller with Ethernet and SlipNet™ designed for general purpose monitoring, control, and connectivity applications.
        • Supports a wide range of network applications and protocols including TCP/IP, UDP, DHCP, ICMP (ping), FTP and Telnet
        • 64Pin QFP

        IPµ8942

        • Single-chip TCP Controller with Ethernet designed for multimedia applications such as streaming video and audio.
        • Optimised for streaming


    Connect One

      Connect One has iChip offerings in both ethernet and dial-up/wireless based solutions. The dial-up/wireless iChips get integrated at remote sites or in mobile phones and supports the full range of AMPS, CDMA, CDPD, GPRS, GSM, iDEN, and TDMA wireless modems. This allows you to contact the Internet from remote locations, making it ideal for data logging applications. The iChip introduced in 1999 was claimed to be the first Internet peripheral chip on the market that uses updateable flash memory to store the full Internet protocol stack. This allows it to be updated without having to throw out the chip.

        iChip LAN CO561AD-L

        • Supports ARP, IP, ICMP, UDP, TCP, DNS, DHCP, SMTP, POP3, MIME and HTTP
        • Supports 10Mbps Crystal LAN CS8900A and Realtek RTL8019AS Ethernet controllers in 16bit mode. (Requires external PLD for CS8900 Handshaking)
        • Supports 100Mbps SMSC (LAN91C111 and LAN91C113) and Asix AX88796L Ethernet MACs.
        • iChip suggests they will have support for 802.11b Wireless LAN at the beginning of 2003
        • Opens up to 10 TCP or UDP sockets and up to 2 Listen (server) sockets.
        • iChip Lan supports asynchronous comms speeds up to 230,000 bps
        • 68 pin PLCC
        • 3.3V or 5V (RTL8019A only supports 5V) 70mA Typ @ 3.3V, 160mA @ 5V


    WIZnet Inc

      WIZnet Inc claims to have the world's first Ethernet based TCP/IP hardware chip, the W3100A. This features a hardware TCP/IP stack, plus a 10/100 Ethernet MAC Layer in the one chip.

        W3150A Hardwired Internet Connectivity Chip

        • Support ADSL connection (with PPPoE)
        • Supports TCP, IPv4, UDP, ICMP, ARP, DLC and MAC Protocols (DHCP, HTTP, SMTP, and PING are included as Application protocols)
        • Supports 4 independent channels
        • In built Ethernet MAC with 10/100 Base T auto detection
        • Intel/Motorola MCU bus interface with i2C serial interface
        • Speedy 8 Mbps throughput with a Hitachi SH7709A, 6 Mbps with a Intel 80386
        • 3.3V internal operation, 5V tolerant I/O
        • 64-Pin LQFP Package


    Common Ethernet MAC Controllers

      There are two main contenders in the embedded Ethernet MAC market based on popularity. Both started their life as 16 bit ISA ethernet devices, but are now very popular with 8, 16 and 32 bit microcontrollers. The Realtek is favoured among many for its generous internal SRAM which helps when assembling packets in microcontrollers with limited resources, while the Crystal Lan finds itself popular in 3.3V circuits.



    Bare Development Boards

      Quite often the MAC controller IC's and transformers (Magnetics) are hard to come by in one off quantities. However quite a few vendors sell development boards which allows you to add ethernet to your favourite processor. Just some of these boards are detailed below.



    Ethernet and Processor Development Boards

      If connecting one of the above boards to your favourite processor and porting across a TCP/IP stack sounds too much hard work for you, look no further than some of the Ethernet & Microcontroller combos below.

      The first modules come from the Web51 project. Most of the project is open source and free to download. The code is available from the Web51 site under the GNU General Public License. On visiting the Web51 web site, you will see the abundance of examples and information that one could easily spend hours if not days browsing.

        Charon 1 (Web51 Charon)

        • Intel x51 compatible processor.
        • Realtek RTL8019AS 10 Mbit Ethernet Controller.
        • One TTL Level Asynchronous Serial Port.
        • 32 kB RAM, 64 kB FLASH and 2kB EEPROM.
        • Comes preloaded with an ethernet to serial line application example.
        • 44 x36 mm
        • Charon I DataSheet
        Charon I & II Development MotherBoard

        • Accepts Charon I & II Modules.
        • Integrated Ethernet Connector and Magnetics.
        • MAX232 Line Drivers for RS-232 Serial Port.
        • Interface for 2 line x 16 Character LCD Display & 1 Wire Devices.
        • Extra Flash Memory via SPI Interface.
        • 8 LED's, Bargraph Display and DIP Switches for I/O.
        • AVR JTAG ICE & AVR ISP Programmer Headers.

        The HW server group also have some Turn-key solutions based on their Web51 modules if you are looking for a complete solution housed in a box. All you have to do is modify the code to fit your project.


        Ethernut

        The Ethernut project is also another open source hardware and software project. The software includes a Real Time Operating system nicknamed the Nut/OS and a TCP/IP Stack nicknamed Nut/Net. This project is based on the popular Atmel AVR series processors.

        • Atmel ATmega128 RISC MCU @ 14.7456 MHz
        • Realtek RTL8019AS 10 Mbit Ethernet Controller.
        • RS-232 serial port.
        • 128 Kbyte Flash, 4 Kbyte EEPROM, 32 Kbyte SRAM.
        • 22 programmable digital I/O lines with 8-channel, 10-bit ADC and 3 timer/counters.
        • 4 layer PCB 80 x 100 mm.

        Charon 2

        The Charon 2 is a Ethernut compatible module from the HWgroup. It is an excellent way to embed an Atmel ATmega 128 and RTL8019 without having to build a daughtercard for the original Ethernut board.

        • Atmel ATmega128 RISC MCU.
        • Realtek RTL8019AS 10 Mbit Ethernet Controller.
        • 128 kb Flash, 4 kb SRAM, 4kb EEPROM and dual USART.
        • Charon II Development Board Schematic (655 kb)
        • Charon II Schematic (621 kb)

        Microchip PICDEM.net ™ Embedded Internet/Ethernet Demonstration Board

        • Powered by a PIC16F877 or PIC18F452 Microcontroller @ 19.6608MHz
        • Uses Realtek RTL8019AS MAC in 8 bit mode
        • 24LC256 serial EEPROM provides 256 Kbit (32 Kbyte) of storage for Web pages
        • 2 line 16 Character LCD Display
        • ICSP™/ICD interface connector for easy debugging
        • Free Microchip TCP/IP Stack firmware has been provided with the board
        • Comes with book, TCP/IP Lean: Web Servers for Embedded Systems (Second Edition)

        AVR Embedded Internet Toolkit

        • Powered by a ATmega103 microcontroller @ 4.608 MHz
        • Board includes 32K bytes of external SRAM and 262K bytes external Flash
        • Uses CS8900 MAC in 8 bit mode
        • Royalty Free AVR TCP/IP Stack firmware has been provided with the board
        • AVR460: Embedded Web Server Manual

        Rabbits (Rabbit 2000 and Rabbit 3000 Core Modules)

        Rabbit Semiconductor have a wide range of Rabbit2000 and Rabbit3000 cores with ethernet. To complement these cores, they also have a range of ready to go development kits. Each kit comes with a copy of Dynamic C and their royalty-free TCP/IP stack with source.

        • RCM3000 Rabbit3000 core based on an enhanced Z180 CPU
        • 10Base-T Ethernet.
        • 128K–512K SRAM, 256K–512K Flash
        • 52 digital I/O
        • 29.4 MHz clock

        RabbitCore RCM3000

        Rabbit Developer Resources provided by Card Labs.



    S-7600A TCP/IP Network Protocol Stack LSI

      Seiko Instruments Inc have come up with what should be a very popular chip. Having already picked up the Electronic Products 1999 Product of the Year Award, the S-7600A is a 48 pin package which takes care of the TCP/IP stack in hardware. This allows quite dumb processors the ability to talk on the internet. The S-7600A incorporates a UART which is connected to the internet using PPP (Point to Point Protocol) either via a dedicated link or via a dial up modem. A microcontroller can then send the S-7600 streams of information which is automatically encapsulated in a TCP/UDP datagram and sent using IP.

        S-7600A

        • Supports Industry Standard Protocols : TCP/IP (Ver. 4.0) PPP (STD-51-compliant) UDP
        • Supports two general purpose sockets
        • Easier application development (Hardware takes care of Encapsulation, PPP, TCP/IP Stack)
        • 48-pin QFP

      This has a wide range of uses, such as allowing your data logger to dial up the internet and FTP it's data to your server or email you alarms and summaries. Coupled with a GSM or mobile phone, you can get alarms via email from any number of devices - pumping stations - weather instruments - toasters! You name it. The internet, being a cost effective transmission medium allows cheaps calls to a local ISP which can then be relayed to the other side of the world if need be via the internet.

      On the less practical, but far more enjoyable hobbyist side, you could endeavour to make the world's smallest Web Server. Certain debate lies if you could use a 8 Pin PIC12C508, but it has been done with a PIC16F84! See Small Web Server based on the PIC16F84

      Mike Johnson from Iready Corporation was kind enough to send one of this newly designed S-7600 AVR Development Boards my way (Pictured). Documentation of the AVR Development board can be found at http://www.iready.org/projects/avr/

      RT Control's ucSimm


    uCSimm (Embedded Ethernet Controller running Linux)

      The uCSimm has been a very popular module ever since one little advertisement in Circuit Cellar. The uCSimm is an embedded Ethernet module ideal for Internet connectivity. Based on a Motorola 68K running Linux there is no limits to what you can achieve with this unit. If your imagination isn't with you today, check out the uCSimm and uCLinux Forums on http://www.uClinux.org

        RT Control's ucSimm

        uC68EZ328

        • MC68EZ328 Motorola Dragonball Microcontroller
        • 8 Mb DRAM (4096k x 16 bits)
        • 1 Mb (512k x 16 bits) / 2 Mb (1024k x 16 bits) / 4 Mb (2048k x 16 bits) ROM
        • 10baseT Ethernet
        • +3.3 volt

      For those who can't help making their own (Maybe with extra I/O or no conformal coating on the gold contacts . .) this device uses a 68EZ328 Dragon Ball Processor. Motorola has a 68EN302 processor, based on their 68K Architecture complete with Embedded Ethernet Interface. While this seems the better option, reality is that you can't obtain these easily and they use a normal medium speed crystal. The dragonball on the other hand will run from DC to 16.58 MHz with 2.7 MIPS performance. What is quite useful is the 68EZ328's ability to generate it's 16.58MHz internal clock with a tiny 32.768 kHz crystal using it's internal PLL clock Multiplier. Ideal for those small locations. The uCSimm has two small crystals tucked on the back of the module.

      The 68EN328 has a built in DRAM controller which requires no Glue Logic. This, coupled with a CS8900A LAN Controller makes the module so simple, anyone could wack one together customised to their specs. Even the software is a breeze with the unit running on uClinux, an open source embedded Linux. With all this functionality, I have to ask - who needs an embedded I386?


    Tini (Embedded Ethernet Controller running Java)

      The TINI standing for Tiny InterNet Interface is a product of Dallas Semiconductor. It's very simular to the uCSimm and you could easily mistake it for a uCSimm from a distance. Both the uCSimm and TINI come with daughter boards for testing.

        DSTINI1 - TINI Verification Module

        • DS80C390 Processor @ 36.864MHz.
        • 31.8 mm x 102.9 mm 72-pin SIMM board
        • 512KByte Flash
        • 512K/1MByte nonvolatile SRAM
        • Ethernet 10Base-T interface (SMC91C96)
        • Dual 1-Wire® interface (IButton)
        • CAN interface / Dual Serial Port / I2C Interface
        • Requires single +5VDC Power Supply
      A Picture of the TINI Module and Daughter Board


Copyright 2001-2010 Craig Peacock 11th May 2006.