We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X
Maximize Your Experience: Reap the Personalized Advantages by Completing Your Profile to Its Fullest. Update Here
Stay in the loop with the latest from Microchip. Update your profile while you are at it. Update Here
Complete your profile to access more resources. Update Here

Ethernet FAQs

Hardware FAQs


How does the PIC18F97J60 produce a frequency of 41.667 MHz with an input of 25 MHz from the crystal?

The PIC18F97J60 takes an input of 25 MHz and produces two frequencies

  1. 25 MHz for the Ethernet module, and
  2. 41.667 MHz for the microcontroller block using the internal PLL block

Please refer to the Oscillator Configuration section in the PIC18F97J60 data sheet for further details.

There are two stickers on the bottom side of the board; one of these stickers says "25867". What does this mean?

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.

What cable should I use?

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.

What care should be taken to prevent Link termination on my board?

  1. 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.
  2. 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.
  3. Verify that the proper external clock frequency and ppm rating is used for the Ethernet PHY. For the ENC28J60ENCx24J600, and PIC18F97J60 family, the crystal should be a 25 MHz, 50 ppm parallel cut crystal.

What is a MAC address and how do I go about getting one?

The MAC address is a 48-bit or 64-bit Identifier (EUI-48™ and 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 Extension Identifier (EI). A company can purchase an OUI number directly from IEEE. Another option is to request for an Individual Address Block (IAB), but you will only get 4,096 unique addresses to use, versus 224 (over 16 million) different addresses when using an OUI.

OR

You can purchase our EUI-48 enabled MAC address chips. We do all of the above to offer a hassle-free, easy-access and low-cost solution. These plug-and-play MAC address devices come with 1.5 Kb serial EEPROM space and are available in SPI, I2C and UNI/O® buses. They can be purchased as and when needed, and there are no volume requirements. These devices are also EUI-64 compatible.

OR

Some devices, such as PIC32 MCUs or the ENC424J600 and ENC624J600 10/100 Ethernet controllers, come with pre-programmed MAC addresses.

What RJ45 connectors are recommended?

Some common RJ45 connectors are:

  • Bel Stewart 08B0-X1T-36-F
  • Pulse JP011821UNL

What testing tools/equipment are necessary?

When troubleshooting an Internet application, it is critical to be able to monitor network transactions to find out what is going on. Wireshark is a free, powerful and easy-to-use network protocol capture/analyzer tool with filtering capability. 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.

Will plugging in a 10BASE-T Ethernet device into a 100BASE-TX Ethernet network slow the network down?

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.

Software TCP/IP FAQs


What is a TCP/IP stack?

Communication over the Internet is accomplished by implementing the TCP/IP protocol. We offer a free TCP/IP software stack optimized for all our 8-/16-/32-bit MCU families. This stack is a suite of programs that provide services to all TCP/IP-based applications. You 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”, which means 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.

How much does the TCP/IP stack cost?

We provide a royalty-free TCP/IP stack for PIC18, PIC24 and PIC32 MCUs and dsPIC® DSCs in source code format. We offer the full source code royalty free as long as the code runs on a PIC MCU or dsPIC DSC. 

What application layer protocols are supported by TCP/IP stack?

The TCP/IP Stack has implemented the following application layer protocols:

  • HTTP, SSL, FTP, TFTP, SMTP, Telnet, DHCP, DNS, SNMP (v2c, v3), NetBIOS, Boot loader, Ping, NBNS, SNTP and UART Bridging

The following transport layer protocols are also implemented:

  • TCP, UDP and ICMP

The following Internet and network access layer protocols are implemented:

  • ARP and IPv4/v6

How many bytes are occupied by the layers that are implemented in the TCP/IP stack?

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 have a link to the 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.

What compilers can I can use to compile the TCP/IP stack?

The TCP/IP Stack can be compiled using the following MPLAB® XC compilers:

  • MPLAB XC8 Compiler if an 8-bit PIC® MCU is selected
  • MPLAB XC16 Compiler if a 16-bit PIC MCU or dsPIC® DSC is selected
  • MPLAB XC32 Compiler if a 32-bit PIC MCU is selected

Where can I find the information about development boards that can be used with the TCP/IP stack and how to enable/disable them?

Which files should be modified in the TCP/IP stack to implement selected protocols for my application?

The stack has define statements which enable you to select the appropriate protocol files for your applications. Depending on the selections you make there, the files related to different protocols are either selected or not.