Thursday, October 22, 2009

eip-24 and eip-24/100 Preview

Update 5/23/18:

I published this article several years ago. No doubt many of the links and references are now outdated. Just keeping it here to preserve the history of some blog entries. 

After few rounds of feedback from colleagues and debating with myself, I completed the final design for two new embedded TCP/IP boards.

The first batch of printed circuit boards are in the final steps of fabrication and I'll have them soon to complete assembly and testing.

Both boards will have a 16-bit Microchip PIC24HJ128GP202 as the main processor, same form factor and almost identical pcb layout, and same pin-outs.

The eip24 shown above will have a Microchip ENC28J60 10BaseT Ethernet Controller, a 16Mbit SPI Flash memory and a Microchip 25AA02E48 EEPROM with a unique Ethernet MAC Address.

The eip24-100 shown above will have aMicrochip ENC424J600 10/100BaseT Ethernet controller, a 32Mbit SPI Flash memory, and a Microchip 23K256 SPI RAM memory.

Both boards will also have three LEDs for heartbeat status indication or other use, and an RS232 transceiver for the serial interface.

On the drawing board and prototype bench I've right now a piggy-back board that will be compatible with both the eip24 and eip24-100 and that will have a 3x16 DOGM LCD, a microSD card socket, a temperature sensor, a 3.3V voltage regulator, some pushbuttons and a RJ11-6 for ICSP connection to an ICD2/3 or similar PIC programmer.

I'll post another article with additional details of the piggy-back board and an update as soon as the final docs and the eip24 boards become available.

Now it's time to go back to work on the firmware for them that will essentially be based on Microchip's TCP/IP Stack v5.10.



Monday, October 12, 2009

ENC424J600 - nic424 Board in production !!

Update 5/23/18:

I published this article several years ago. No doubt many of the links and references are now outdated. Just keeping it here to preserve the history of some blog entries. 

Friday, August 21, 2009

Microchip ENC424J600 - Preliminary Tests

Finally the printed circuit boards and all parts arrived and I've got some time to put together the first batch of nic424 boars featuring the new Microchip ENC424J600 Ethernet Controller.

Based on the firmware code distributed with the latest (v5.10) Microchip TCP/IP Stack I customized a MAC driver module specifically for the nic424 and started to run some preliminary tests.

To my surprise I didn't have any problems getting the board up and running on the first try.

To test the Ethernet controller I mounted the nic424 on a solderless prototype breadboard alongside a ProtoPIC28 board populated with a Microchip PIC24HJ128GP202 Microcontroller.

For this first set of tests I'm using the SPI interface with a clock speed of 10MHz and the PIC24HJ running at 80MHz clock speed.

I compiled the TCP/IP Stack with the drivers for the nic424 and only included the ICMP Server module and the TCP Performance Test module.

The first test consisted in sending ICMP ECHO Requests (pings) packets to the PIC24HJ + nic424 from a dual core Pentium machine with Linux running at 2.4GHz, and connecting the Linux server and the nic424 through a Cisco Catalyst C2950 Ethernet Switch.

The Cisco C2950 didn't have any problems negotiating 100Mbps and Full Duplex with the ENC424J600 so I started playing with the payload sizes of the ping packets, going from 32 bytes up to 512 bytes. For each test the Linux server sent over a million packets in flood ping mode, packet loss with all payload sizes was 0% and the TCP/IP Stack didn't hang or reset during the tests.

To have a comparative test, I replaced the nic424 with a nic28 using the Microchip ENC28J60 Ethernet Controller and ran the same tests.

The graph below shows the average Round Trip Time results of the tests with both Ethernet controllers, clearly the ENC424J600 even at the same SPI clock performs faster than the ENC28J60.
After running the ICMP tests, I ran the TCP Performance Test with both controllers. The configuration using the ENC28J60 reported 97,100 Bytes/sec when the configuration using the ENC424J600 reported 134,100 Bytes/sec.

I'm planning to run some additional tests to get some metrics for packets per second and bytes per second taken from the five minute averages computed by the Cisco switch.

I'll mount a nic424 on a PICtail+ prototype board and do some testing with different processors on a Microchip Explorer 16 development board, and also try different parallel interface modes and see how well the crypto engines included in the chip perform.

So far things look very good, average current for the ENC424J600 was consistent with the values shown in the datasheet, around 200mA and the chip does not get too hot.

Don't have a firm date yet but I'll soon make the nic424 available for purchase through the LJCV Electronics site.


Monday, August 3, 2009

New 10/100 Mbps Ethernet Controller from Microchip

About four years ago Microchip debuted in the ethernet controller market with the introduction of the smallest standalone ethernet controller, the ENC28J60.
While embedded application developers looking to add a networking interface to their designs had other options, the ENC28J60 became a very interesting alternative for many applications since it didn't require to use many I/O pins from the MCU to talk with the controller.
Just a few components, the RJ45 with integrated or external magnetics, a simple connection using the SPI interface and voila you were on the 'net courtesy of the free Microchip TCP/IP Stack.
Few months ago we started savoring and playing with samples of a new generation of ethernet controllers to be available from Microchip, the ENC424J600 and ENC624J600. Today, Microchip made the official announcement !!
While some hobbyists will not be extremely happy because the new parts will be only available in 44 and 64-pin TQFP and QFN packages the new controllers have many goodies we were all waiting for, such as:

  • Integrated MAC and PHY for 10/100BaseTX twisted pair ethernet
  • 24 KB of RAM compared to 8K from the ENC28J60
  • How many times folks asked in the Microchip forum where to get the MAC address from ? Now it's on the chip !!, no more hassle you get the chip you have the address !!
  • We still get the simplicity of the SPI interface but on top of that now a multiple mode parallel interface
  • Integrated Security Engine on the chip to support RSA, MD5, Diffie-Hellman and SHA-1 computations
  • Available in two flavors, 44-pin (fewer parallel interface options) and 64-pin
If you can't control your anxiety to put your fingers on this new part and start playing with it, more good news, the 10/100Mbps Ethernet PICtail is available for purchase from Microchip.
In the past few weeks I've been working on a new network interface card similar to the nic28 I produced in the past for the ENC28J60. Just waiting for the first batch of pcbs to arrive and complete testing and documentation.
I'll soon post some pictures and specs for the new nic424 that will become available for purchase through LJCV Electronics.
Happy Networking !!!

Monday, July 27, 2009

COG LCD Character Module with SPI Interface

For some applications adding an alphanumeric display, particularly an LCD Character Module could be a plus, not only as a Human Machine Interface (HMI) but also as an output interface for device diagnostics and troubleshooting.

Nowadays Character Module LCDs are quite inexpensive, most of them use a parallel interface based old Hitachi HD44780 or its Samsung cousin KS0066 controllers.

You will also find some folks selling a Character Module LCD with an add-on serial interface or things like the
Serial Enabled Backpack from Sparkfun.

On one of my projects I showed
how to interface a regular Character Module using the SPI interface taking advantage of the Microchip MCP23S08 port extender.

I’ve been looking around for a while for a reasonable priced integrated solution, preferable with Chip On Glass Technology that does not take to much pcb real state.

To my satisfaction I recently found that the folks from
Electronic Assembly in Germany started to produce the DOG-M LCD series that is exactly what I was looking for.

The DOG-M LCD display series, not only provide the classic parallel interface but they also offer using the same controller the SPI interface option, and guess what you can use them with +5V or +3.3V supply.

There are different variants including STN yellow/green, reflective, STN blue, FSTN positive and negative, some of which require a backlight, but EA also offer a nice collection of LED based backlighting with ultra thin construction.

The EA DOG-M display series is available from
Mouser Electronics.

I’ll be using the 3 x 16 model for one of the products I’ve under development.
I'll soon post some pictures with the DOG-M displays in action.