Difference between revisions of "Ethernet Module"

From OpenCircuits
Jump to navigation Jump to search
Line 58: Line 58:
  
  
==Software Driver===
+
==Software Driver==
 
*Download [http://chungyan5.no-ip.org/vc/tags/1.09.03/demo_posix/dspic/drivers/dm9000a.c?root=freertos_posix&view=markup here]
 
*Download [http://chungyan5.no-ip.org/vc/tags/1.09.03/demo_posix/dspic/drivers/dm9000a.c?root=freertos_posix&view=markup here]
 
*Base on [http://www.freertos.org/ FreeRTOS] and [http://opencircuits.com/DsPIC30F_5011_Development_Board dsPIC33 platform]
 
*Base on [http://www.freertos.org/ FreeRTOS] and [http://opencircuits.com/DsPIC30F_5011_Development_Board dsPIC33 platform]
Line 67: Line 67:
 
**'''int dmfe_write(unsigned char device, unsigned char *buf, int count)''': copy count bytes of the data from buf and transmit
 
**'''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
 
**'''void dmfe_interrupt(void)''': process the transmit interrupt from DM9000A
 +
  
 
==TCP/IP Stack==
 
==TCP/IP Stack==
 +
*uIP and lwIP are light weight TCP/IP Stack designed for 8-bit/16-bit embedded systems.
  
 
===uIP===
 
===uIP===
 +
*Develped by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science.
 +
*uIP is under the [http://www.sics.se/~adam/uip/index.php/License BSD-style license]
  
 
===lwIP===
 
===lwIP===
 +
*lwIP is a small independent implementation of uIP.
 +
*It is more powerful than uIP but requires more memory.
 +
*lwIP is under the [http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5 Modified BSD License]
  
  

Revision as of 22:24, 8 August 2007

Introduction

  • This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the dsPic33F development board.
  • The entire Ethernet Module consists of:
  1. Hardware: a LAN card based on Davicom DM9000A chip
  2. Software: a TCP/IP stack based on uIP 1.0

Useful Links

DM9000A

uIP

lwIP

HTML

  • W3 Schools: Learning how to write HTML and JavaScript
  • Nvu: Open source HTML Editor

SNMP

  • SNMP Link: Information on SNMP Agents
  • IANA: Applying a Private Enterprise Number


Hardware

Component List

Special Item Description Quantity
DM9000AEP Ethernet Controller 1
HR911102A RJ45 Connector with Integrated Magnetics for 10/100 Base-TX 1
93LC46B-I/SN 1K Serial EEPROM 1 (Optional)
25MHz Crystal Crystal 1
22pF For Crystal Use 2
220uF For RXVDD25/TXVDD25 1
49.9ohm For RX+/RX-/TX+/TX- 4
6.8kohm For BGRES/BGGND 1
510ohm For LEDs 2

Circuit and PCB

in gEDA format and its gEDA sym and footprints


Software Driver

  • Download here
  • 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


TCP/IP Stack

  • uIP and lwIP are light weight TCP/IP Stack designed for 8-bit/16-bit embedded systems.

uIP

  • Develped by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science.
  • uIP is under the BSD-style license

lwIP

  • lwIP is a small independent implementation of uIP.
  • It is more powerful than uIP but requires more memory.
  • lwIP is under the Modified BSD License


Ethernet Application

DHCP

Web Server