Editing Ethernet Module
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | 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. | + | ==Introduction== |
+ | *This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as [http://opencircuits.com/DsPIC30F_5011_Development_Board the dsPic33F development board]. | ||
+ | *The entire Ethernet Module consists of: | ||
+ | #Hardware: a LAN card based on [http://www.davicom.com.tw/eng/index.htm Davicom] DM9000A chip | ||
+ | #Software: a TCP/IP stack based on [http://www.sics.se/~adam/uip/ uIP] 1.0 | ||
− | == | + | ===Useful Links=== |
− | + | ====DM9000A==== | |
+ | *[http://www.davicom.com.tw/eng/products/dm9000a.htm DM9000A Description] | ||
+ | *[http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9000A-DS-F01-101906.pdf DM9000A Datasheet] | ||
+ | *[http://www.davicom.com.tw/big5/download/AC/dm9000a/DM9000A%20circuit_EMI_052306.pdf Application Circuit] | ||
+ | *[http://www.davicom.com.tw/big5/download/LayoutGuide/DM9000A_9010-LG-V11_031706.pdf Layout Guidelines] | ||
+ | *[http://www.davicom.com.tw/big5/download/ApplicationNote/DM9000A%20Application%20Notes%20Ver%201_20_101906.pdf Application Note] | ||
+ | *[http://www.davicom.com.tw/eng/download/Driver/driver_9000.htm DM9000A Official Drivers] | ||
+ | ====uIP==== | ||
+ | *[http://www.sics.se/~adam/uip/index.php/Main_Page uIP Description] | ||
+ | *[http://www.sics.se/~adam/uip/index.php/Documentation uIP Documentation] | ||
+ | *[http://www.sics.se/~adam/uip/index.php/Download Download] | ||
+ | *[http://sourceforge.net/cvs/?group_id=186227 CVS Repository] | ||
+ | ====lwIP==== | ||
+ | *[http://savannah.nongnu.org/projects/lwip/ lwIP Description] | ||
+ | *[http://www.nongnu.org/lwip/ Documentation] | ||
− | + | ====HTML==== | |
+ | *[http://www.w3schools.com/default.asp W3 Schools]: Learning how to write HTML and JavaScript | ||
+ | *[http://www.nvu.com/index.php Nvu]: Open source HTML Editor | ||
+ | ====SNMP==== | ||
+ | *[http://www.snmplink.org SNMP Link]: Information on SNMP Agents | ||
+ | *[http://pen.iana.org/pen/PenApplication.page IANA]: Applying a Private Enterprise Number | ||
− | |||
− | === | + | ==Hardware== |
− | + | ===Component List=== | |
− | + | {|border="1" cellspacing="0" cellpadding="5" | |
− | + | ! Special Item !! Description !! Quantity | |
− | + | |-valign="top" | |
− | + | | [http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9000A-DS-F01-101906.pdf DM9000AEP] || Ethernet Controller || 1 | |
− | + | |- | |
− | + | | [http://www.hanrun.com/hr/upfile/2_1_113.pdf HR911102A] || RJ45 Connector with Integrated Magnetics for 10/100 Base-TX || 1 | |
− | + | |- | |
+ | | [http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf 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 [http://chungyan5.no-ip.org/vc/?root=ethernet gEDA format] | |
− | + | and its gEDA [http://www.opencircuits.com/PCB_Footprints#gEDA_Symbols_and_footprints sym and footprints] | |
− | == | + | ==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] |
+ | *Base on [http://www.freertos.org/ FreeRTOS] and [http://opencircuits.com/DsPIC30F_5011_Development_Board 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 [http://www.sics.se/~adam/uip/index.php/License 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 [http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5 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. |