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 23: Line 23:
  
  
==Development==
+
==Architecture==
*[[Ethernet Module Development]]
+
*See [http://www.opencircuits.com/Multi-purpose_Embedded_System#TCP.2FIP_Stack here] for block diagram
  
  
==User Guide==
+
==Development Roadmap==
*[[Ethernet Module User's Guide]]
+
===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
 +
**[http://www.wiznet.co.kr/en/pro02.php?&page=1&num=180 WIZ610wi]
 +
**[http://ftp1.digi.com/support/documentation/productmanual_xstream_oem_rfmodule_v5.x00.pdf XStream OEM RF Module]
 +
 
 +
 
 +
==Network Configuration==
 +
Our Ethernet products (units) can be controlled by a PC using the TCP-IP protocol. The PC and the units can be setup using one of three topologies:
 +
#Direct Connection;
 +
#Intranet Connection;
 +
#Internet Connection.
 +
===Direct Connection===
 +
An example showing how to connect a PC and a unit directly is shown in Fig. 1. In this topology, the unit can be connected with the PC simply using a direct Ethernet cable. Please ensure that the PC and the unit share the same subnet mask and gateway, but different IP addresses. An incorrect example is shown in Fig. 2. Under direct connection, the user has to set these network configurations manually.
 +
:[[Image:correct_network_setting.png]]
 +
:[[Image:incorrect_network_setting.png]]
 +
To set the network configuration on the unit, the user has to select the Static mode. The default IP addresses, subnet mask, and gateway are 192.168.1.128, 255.255.255.0 and 192.168.1.1 respectively. These settings can only be changed when the Ethernet status is Down. Once they have been changed, the values will be automatically saved.
 +
 
 +
'''To configure the network settings on the PC, '''
 +
*Goto '''<Start>''' and '''<Control Panel>''', open '''<Network Connections>'''
 +
:[[Image:Nict_networksetting11.png]]
 +
*Select the Local Area Connection corresponding to the network card on your PC. Right click and select '''<Properties>'''
 +
:[[Image:Nict_networksetting12.png]]
 +
*Under '''<General>''' tab, scroll down to '''<Internet Protocol (TCP/IP)>'''and click '''<Properties>'''
 +
:[[Image:Nict_networksetting13.png]]
 +
*Select '''<Use the following IP address:>''' and enter the appropriate network settings. Please ensure that the IP address is different from the one used by the unit.
 +
:[[Image:Nict_networksetting14.png]]
 +
 
 +
===Intranet Connection===
 +
An example showing how to connect a PC and 3 units in an intranet is shown in Fig. 3. In this topology, the PC and the units can be plugged into the network sockets directly or through a hub. The units can obtain IP addresses either dynamically by DHCP or statically by assignment.
 +
:[[Image:Nict_networksetting_intranet.png]]
 +
In a network supporting DHCP, the IP address, subnet mask and gateway can be configured automatically if DHCP mode is selected. If the unit cannot acquired a valid connection via DHCP, the IP address, subnet mask and gateway will be displayed as 0.0.0.0. Please consult your network administrator whether your network supports DHCP.
 +
 
 +
In Static mode, the user has to configure the IP address, subnet mask and gateway manually. These settings can only be changed when the Ethernet status is Down. The default settings are 192.168.1.128, 255.255.255.0 and 192.168.1.1 respectively. Please note that a logical network cannot accommodate two units with the same IP address, so you should consult your network administrator before using the Static mode. The network administrator will give you the appropriate settings.
 +
===Internet Connection===
 +
An example showing how to connect a PC and a unit (Unit 4) in the Internet is shown in Fig. 4. Similar to the intranet topology, the PC and the units can also be plugged into the network sockets directly or through a hub. The units can also obtain IP addresses either dynamically by DHCP or statically by assignment.
 +
:[[Image:Nict_networksetting_internet.png]]
 +
Network configuration on the unit is identical to that described in intranet connection (section 1.2). Note that the IP address displayed on the unit is the local IP address. To remote access a unit under Internet connection, the PC needs to know the global IP address of the unit. Please consult your network administrator of the corresponding global IP address.
 +
 
 +
==Software TCP/IP Stack Solution==
 +
===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]
 +
{|border="1" cellspacing="0" cellpadding="5"
 +
! Special Item !! Description !! Quantity
 +
|-valign="top"
 +
| [http://www.davicom.com.tw/userfile/24247/DM9000A-DS-F01-101906.pdf DM9000AEP] || Ethernet Controller from [http://www.davicom.com.tw/ Davicom] || 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
 +
|-
 +
|}
 +
*[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]
 +
 
 +
 
 +
===Software Implementation===
 +
====Driver====
 +
*Download [http://chungyan5.no-ip.org/vc/trunk/demo_posix/dspic/drivers/?root=freertos_posix dm9000a.c]
 +
*Download [http://chungyan5.no-ip.org/vc/trunk/demo_posix/dspic/drivers/include/?root=freertos_posix dm9000a.h]
 +
*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
 +
 
 +
====[[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
 +
 
 +
 
 +
==Hardware TCP/IP Stack Solution==
 +
 
 +
===Circuit and PCB===
 +
*[http://www.wiznet.co.kr/en/pro02.php?&page=1&num=26 WIZNET W5300]
 +
 
  
 
[[category:projects]]
 
[[category:projects]]

Please note that all contributions to OpenCircuits may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see OpenCircuits:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)