Showing posts with label projects. Show all posts
Showing posts with label projects. Show all posts

Sunday, July 4, 2010

Project pages and new Blogs

Over the past few years I've published several pages about some of my experiences trying to put together different projects related to electronics, particularly using microcontrolles and one of my hobbies:  retrocomputing.

I've been always convinced that sharing and teaching what you learn is a way to keep learning, to find others with common interest and exchange experiences, ideas. No doubt, being an Internet pioneer, I always loved to use the network for that purpose, in the old days it was just electronic mail and FTP, later we had archie, gopher, WAIS, the noisy USENET News, but the big bang was "The Web".

Maintaining several sites in the old fashion way was becoming a big time consuming effort, time that I'd prefer to use to develop and publish new projects and comments about what I learn or find interesting in this constantly evolving field of digital electronics, microcontrollers and networking.

So then, I decided to upgrade myself to Web 2.0+.

The old plain HTML project pages do not exist anymore, I'm gradually moving all the content and in the process updating it to Blogger, but to facilitate indexing and keep my brain organized I'm splitting the content in three different blogs:

  • Electronics Projects, Reviews and Gossip
    The "official" LJCV Electronics Blog, for products and services I develop through LJCV, and general comments, reviews and news in the electronics industry.
    I'll also post here announcements if I publish something new somewhere else.
  • eProjects
    For all detailed electronic projects related to microcontrollers, embedded networking, mods, etc.
  • ReTr0ByTeS
    Dedicated to retrocomputing experiences, old computers, calculators, instruments, components, etc.
I hope you find the new format and content useful, and as always if you have comments or suggestions feel free to drop me a line.

Best Wishes
Jorge

Thursday, October 22, 2009

eip-24 and eip-24/100 Preview

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.


Cheers,

Jorge



Monday, October 12, 2009

ENC424J600 - nic424 Board in production !!

It took me a while but finally the nic424 boards featuring the new ENC424J600 Ethernet Controller from Microchip are in production and available for ordering.

I had the first batch of boards ready for sale but I wanted to expedite and improve the test and validation process, for it then I designed a small customized "tester" using a PIC24HJ128GP202 as the "brains" for it, taking also avdantage of the analog features to measure voltage and current for the device under test.

Given the similarities of the nic424 with the nic28 boards, and the fact that I had some extra space on the prototype pcb I was using, I allocated some space and added the test pins for the nic28.

Here is an ugly picture (well it's not supposed to be pretty since it's internal stuff) of the finished tester in action.



Connection to all the test points are implemented with retractable pogo-pins which are kept in alignment with a small layer of plexy-glass, once the board to test is in place four large hexagonal separator act as nuts to keep the board in place and apply pressure to the pogo-pins for optimal contact.


The PIC24HJ128 controls power to the device under test (DUT), and using the ADC module measures the supply voltage to the DUT and supply current using a four-leads current sense resistor that feeds the voltage differential over the resitor to an MCP6022 operational amplifier that connects to one of the analog inputs of the PIC24HJ.


The LCD displays the measured values, the DUT MAC Address and together with two push buttons on the side acts as the user interface for several options and parameters of the test firmware.

When the test is finished the firmware that uses the Microchip TCP/IP stack, generates a complete test report that as a dynamic web page.

If you are interested in additional information about this application or the nic424 feel free to contact me.

Regards

Jorge





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.

Regards
Jorge

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.
Cheers
Jorge