|

Hardware
Software
Glossary
CLICK ON THE QUESTION BELOW TO SEE THE ANSWER.
HARDWARE
There are two kinds of Ethernet cable—straight-through (patch) and crossover. When connecting an embedded device directly to another embedded device (or a PC to a PC), a crossover cable must be used, while a straight-through cable must be used when connecting an embedded device or a PC to a hub/switch/router. Some new PCs, switches, and routers may have a feature called auto- medium dependent interface crossover (MDIX), which automatically detects the cable type and corrects the differential pair's connection inside the equipment. (Top)
When troubleshooting an Internet application, it is critical to be able to monitor network transactions to find out what is going on. Wireshark (formerly Ethereal) (www.wireshark.org) is a network protocol analyzer tool that is powerful and easy to use, and it is free. If you need to test your product for IEEE 802.3 compliance, take a look at the Interoperability Laboratory at the University of New Hampshire (IOL-UNH). There's no official IEEE 802.3 test compliance program, but the IOL-UNH testing service has become the industry's de facto test house. (Top)
The MAC address is a 48-bit or 64-bit Identifier (EUI-48™ & EUI-64™ node address) that provides the physical address of network hardware devices. An Ethernet MAC address has 48 bits, and every device must have its own unique MAC address. The first 24 bits of a MAC address are the organizationally unique identifier (OUI). A MAC address is formed by concatenating an OUI with another 24-bit number, the EI (Extension Identifier). A company can purchase an OUI number directly from IEEE at http://standards.ieee.org/regauth/oui/index.shtml . There's a $1,650 fee to purchase OUI number. A cheaper option is to request for an individual address block (IAB). An IAB only costs $550, but you will only get 4,096 unique addresses to use, versus 224 (over 16 million) different addresses when using an OUI. Finally, there is the added cost of serialization to ensure unique codes on every MCU, which is extremely expensive for low-volumes.
OR
You can purchase Microchip’s new EUI-48™ enabled MAC address chips. We do all of the above, offering our customers a hassle free, easy access and low-cost solution. These plug-and-play MAC address devices come with 1.5Kb serial EEPROM space and are available in SPI, I2C and UNI/O® busses. Also, they can be purchased as and when needed and there are no volume requirements. These devices are EUI-64™ compatible also.
OR
Some interface devices, such as the ENC424J600 and ENC624J600 10/100 Ethernet controllers, come with MAC addresses already pre-programmed.
(Top)
Most embedded applications really do not require the 100 Base-TX data rate. Especially for simple remote monitor and control applications, 10 Base-T is plenty. However this can become a marketing issue and not a technical requirement. Some customers want their products to be 100 Base-TX in order to label or check the box that they have this feature. Typically, 100 Base-TX Ethernet is a standard for PC communication with video streaming and high-end data transfer. Many times this is overkill or much more than is needed for embedded applications. However we do understand the importance of marketing requirements and customer perception and in this case, they could choose to use the ENC424J600 or ENC624J600 device. (Top)
5. Will plugging in a 10 Base-T Ethernet device into a 100 Base-TX Ethernet network slow down the entire network?
If the network administrator takes care to configure the 10 Base-T nodes as a sub-network behind a switch or router, the speeds are auto negotiated and therefore do not degrade the performance of the 100 Base-TX network. (Top)
6. I want the MAC address of the PICDEM.net 2 development board. There are two stickers on the bottom side of the board; one of these stickers says "25867". What does this indicate?
This number represents the second half of a MAC address in decimal form. Converting “25867” to hex yields 00-65-0B. The first half of the MAC address for the board is 00-04-A3, which is Microchip’s OUI. Both together form a unique MAC address 00-04-A3-00-65-0B which can be used to configure the setting in TCPIPConfig.h file.
(Top)
a. The internal analog circuitry in the PHY module requires that an external resistor be attached from RBIAS to ground. The value required is dependent on the device, check data sheet and errata documents for the required value. The resistor influences the TPOUT+/- signal amplitude. It should be placed as close as possible to the chip with no adjacent signal traces to prevent noise capacitive coupling into the pin. It is recommended that the resistor be a surface mount type.
b. The transformers should have at least the isolation rating as specified in the datasheet to protect against static voltages and meet IEEE 802.3 isolation requirements.
c. The Ethernet module is designed to work with a 25MHz 50ppm crystal and hence that configuration has been made to provide exact 25 MHz. (Top)
8. The PICDEM.net 2 board uses the External EEPROM as the SPI EEPROM and not the I2C EEPROM. How do I use the I2C EEPROM and what changes do I have to make in my Stack?
The external EEPROM in the Stack is the SPI EEPROM and is configured in the SPIEEPROM.c file and XEEPROM.h. A driver has to be developed in order to use the I2C EEPROM. It is to be noted that the I2C EEPROM is much slower as compared to the SPI EEPROM. (Top)
The baud rate is declared in maindemo.c of the TCP/IP stack. The baud rate can be modified there in conjunction with changing the settings of the UART registers of the device. (Top)
10. Can I use an Internal EEPROM to store my web pages and update them using the remote connection of FTP?
The PIC18F97J60 part does not have the Internal EEPROM, one can use the Flash Memory to store web pages but it cannot be upgraded using the Remote FTP Protocol. However, in order to upgrade, one can write a program that will write the code only in a particular section of the Flash Memory. (Top)
The crystal should be a 25MHz, 50ppm parallel cut crystal. (Top)
Some of the common RJ45 connectors recommended are:
- Bel Stewart 08B0-1X1T-36-F
- Pulse JP011821UNL
(Top)
The default IP address that is assigned to the board in the TCP/IP stack is 169.254.1.1. When the DHCP server is enabled, the IP address changes to the IP address assigned by the DHCP Server to the board in a few seconds. The Static IP Address is assigned to the board in the files TCPIPConfig.h. (Top)
The default addresses are assigned in the file TCPIPConfig.h in the TCP/IP Stack. The MAC and IP address can be changed in TCPIPConfig.h. (Top)
The PIC18F97J60 takes an input of 25MHz and produces two frequencies
a. 25MHz for the Ethernet module, and
b. 41.667MHz for the Microcontroller block using the internal PLL block
Please refer to the section Oscillator Configuration in the datasheet of the PIC18F97J60 for further details. (Top)
There is a tool for the Internet Traffic Monitoring which captures and decodes Ethernet Frames .It is a free tool which supports a lot of protocols with the filtering mechanism and can be downloaded from www.wireshark.org. (Top)
It is not possible to store web pages in multiple EEPROMs. Microchip’s API does not allow the fragmentation of data. For more space, we recommend using an external Flash memory like the one from SST. (Top)
SOFTWARE - TCP/IP
Communication over the Internet is accomplished by implementing the TCP/IP protocol. Microchip offers a free TCP/IP software stack optimized for all Microchip 8-/16-/32-bit MCU families. The stack is a suite of programs that provide services to all TCP/IP-based applications. Users do not need to know all the intricacies of the TCP/IP specifications in order to use it. Based on the TCP/IP Reference Model, the stack is divided into multiple layers, where each layer accesses services from one or more layers directly below it. Per specifications, many of the TCP/IP layers are “live”, in the sense that they not only act when a service is requested, but also when events like time-out or new packet arrival occurs. The stack is modular in design and is written in the ‘C’ programming language.
CLICK HERE to download the latest stack that has been released by Microchip. (Top)
Microchip provides a TCPIP stack for PIC18, PIC24, PIC32 and dsPIC families that is both royalty-free and in source code format. Many competitors charge some royalty or license fee for the TCPIP stack. Also those who offer free stacks often only offer object code which limits flexibility. We offer full source code and royalty free as long as the code runs on a PIC MCU. The TCPIP stack can be downloaded directly from HERE and additional detail about the stack layers can also be found at that website. (Top)
20. Where can I find the information on the boards supported by the stack, and enabling and disabling the boards?
The TCP/IP stack has the following file:
HardwareProfile.h – This file lists all the boards supported by the Stack along with the necessary hardware definitions. Define the board you want to use there. (Top)
The TCP/IP Stack can be compiled using the following compilers:
a. C18 Compiler if a 8-bit PIC device is selected.
b. C30 Compiler if a 16-bit PIC or dsPIC device is selected.
c. C32 Compiler if a 32-bit PIC device is selected
(Top)
As per the TCP/IP Stack we have implemented the following Application Layer Protocols:
HTTP
|
HTTTP2
|
FTP
|
SMTP
|
Telnet
|
DHCP
|
DNS
|
SNMP
|
NetBIOS
|
Boot loader
|
Ping
|
NBNS
|
SNTP
|
UART Bridging
|
Apart from this, the following Transport Layer Protocols are implemented:
The following Internet and Network Access layer Protocols are implemented:
(Top)
The web pages that are stored in the External EEPROM and then retrieved from the EEPROM or the Program memory to display on the PC over Ethernet has a link to “Stack Footprint”. This “Stack Footprint” can be used to understand the footprint occupied by the Layers.
The same web page can be retrieved from the web pages folder in the TCPIP Demo App folder which is in the Microchip Solutions folder in your C drive. (Top)
24. If I do not want all the protocols to be used by my application and I want to implement the selected protocols, which files should I modify in the TCP/IP stack?
The stack version has the following file which needs to be modified:
TCPIPConfig.h – This file has the define statements with which you can select the appropriate Protocol files for your applications. Depending on the selection here the files related to different protocols are either selected or not. (Top)
25. How should the TCP/IP stack be configured for using the device PIC18F97J60, ENC28J60 or the ENC424J600/624J600?
The selection is controls by the HardwareProfile.h file, if the chip select line for ENC28J60 is defined, then the ENC28J60 is used. If the chip select line for ENCX24J600 is defined, then the ENCX24J600 is used. If nothing else that uses the TCPIP stack is defined, then the PIC18F97J60 driver is used.
(Top)
The web pages you develop can be either stored in the Flash Memory or they can be stored in the External EEPROM on the PICDEM.net 2 board.
In the TCPIPConfig.h in Stack there is #define statement that can enable or disable the storage of the web pages in the EEPROM. If html pages are stored in internal program memory, comment MPFS_USE_EEPROM and include an MPFS image (.c file) in the project. If html pages are stored in external EEPROM memory, uncomment MPFS_USE_EEPROM, by default the web pages are stored in the Flash Memory and not in the External EEPROM. (Top)
The maximum numbers of HTTP Connections that can be opened are 255. One can verify that in the StackTsk.h file in the stack in the following lines of code:
// Check for potential configuration errors in "TCPIPConfig.h"
#if (MAX_HTTP_CONNECTIONS <= 0 || MAX_HTTP_CONNECTIONS > 255)
#error Invalid MAX_HTTP_CONNECTIONS value specified.
#endif
(Top)
In the Microchip TCP/IP stack, we share one or more common transmit buffers. So the problem rises when a socket takes control of the buffer and does not release it for other sockets to use. In such a case if any remote application is trying to get the buffers it will not get the buffers. The user should ensure that every socket gets the buffer when required by creating sufficient Transmit buffers. (Top)
ARP - Address Resolution Protocol
DHCP - Dynamic Host Configuration Protocol
FTP - File Transfer Protocol
HTTP - Hypertext Transfer Protocol
IP - Internet Protocol
IEEE - Institute of Electrical and Electronics Engineers
ICMP - Internet Control Message Protocol
PoE - Power over Ethernet
SNMP - Simple Network Management Protocol
TCP - Transmission Control Protocol
TFTP - Trivial File Transfer Protocol
UDP - User Datagram Protocol
(Top)
Back to Parts
|