Difference between revisions of "Ethernet Module"
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 21:24, 8 August 2007
Contents
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:
Useful Links
DM9000A
- DM9000A Description
- DM9000A Datasheet
- Application Circuit
- Layout Guidelines
- Application Note
- DM9000A Official Drivers
uIP
lwIP
HTML
- W3 Schools: Learning how to write HTML and JavaScript
- Nvu: Open source HTML Editor
SNMP
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