Difference between revisions of "Ethernet Module"

From OpenCircuits
Jump to navigation Jump to search
Line 106: Line 106:
 
*Management Information Base (MIB)
 
*Management Information Base (MIB)
 
**A special collection of variables managed by the SNMP agents.
 
**A special collection of variables managed by the SNMP agents.
 +
**MIB has a tree-like structure.
 +
**An Object Identifier (OID) is given for each node.
 +
**Data are stored at the end-nodes.
 +
**Private variables may be constructed under the "enterprise" sub-tree.
 +
**The OID (41.6.1.4.X) for "enterprise" can be obtained from [http://www.iana.org/cgi-bin/enterprise.pl Internet Assigned Number Authority (IANA)].

Revision as of 23:14, 15 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 Client

  • To be added.

Web Server

  • To be added.


SNMP Agent

  • Simple Network Management Protocol (SNMP) is a standard protocol to access variables to remote device via the Internet.
  • It belongs to the Application Layer, as in HTTP.
  • If a device is SNMP compatible, any SNMP compatible host system can monitor and control that device.

Components in a SNMP System

  • Network Management Station (NMS)
    • This is a client, initiating SNMP communication.
    • This can be a PC with an NMS software, polling data from the SNMP agents periodically.
  • SNMP Agents
    • These are servers, responding to one or multiple NMS requests.
  • Management Information Base (MIB)
    • A special collection of variables managed by the SNMP agents.
    • MIB has a tree-like structure.
    • An Object Identifier (OID) is given for each node.
    • Data are stored at the end-nodes.
    • Private variables may be constructed under the "enterprise" sub-tree.
    • The OID (41.6.1.4.X) for "enterprise" can be obtained from Internet Assigned Number Authority (IANA).