Ethernet Module Development

This wiki describes the development of [/Ethernet_Module Ethernet Module].

Architecture

 * See here for block diagram

Phase 1

 * Select chips and draw schematic and pcb
 * Obtain samples for chip

Phase 2

 * Device driver
 * Create a Linux socket API wrapper in freertos_posix

Phase 3

 * Reference to Linux socket/lwip, create libraries for
 * DHCP client
 * HTTP server
 * Decide how to get files (html, css, cgi, etc) from nvm (with/without file system)
 * Decide an efficient means to create and download web page to nvm
 * DNS resolver
 * SMTP mail client
 * SNMP agent
 * TELNET application

Phase 4

 * Explore wireless-bridge solutions
 * WIZ610wi
 * XStream OEM RF Module

Circuit and PCB

 * In gEDA format and its gEDA sym and footprints
 * DM9000A Description
 * DM9000A Datasheet
 * Application Circuit
 * Layout Guidelines
 * Application Note
 * DM9000A Official Drivers

Driver

 * Download dm9000a.c
 * Download dm9000a.h
 * Base on FreeRTOS and dsPIC33 platform
 * Using POSIX-like API:
 * int dmfe_open(int flags): initialize the Ethernet controller for 10MHz Half-Duplex
 * int dmfe_close: turn off the PHY layer
 * int dmfe_read(void): copy a packet to the default buffer
 * int dmfe_write(unsigned char device, unsigned char *buf, int count): copy count bytes of the data from buf and transmit
 * void dmfe_interrupt(void): process the transmit interrupt from DM9000A

uIP

 * Light-weight TCP/IP stack designed for 8-bit/16-bit embedded systems

lwIP

 * Light-weight TCP/IP stack designed for 8-bit/16-bit embedded systems
 * Consume more resource than uIP

Circuit and PCB

 * WIZNET W5300