Hi Jorge (and others), thanks for the responses. I have always wanted to experiment in this area (just love the idea of small remotely powered ip addressable devices that I can effectively access from anywhere on the planet) and now have some basic grounding to build on. I had entertained the idea of interfacing to an ISA or PCMCIA network adapter but as you have pointed out would be bulky etc. This will be one of those long slowly developing projects for me but I can see I am going to enjoy the jorney. Thanks again Justin On 7/25/07, jamodio wrote: > > Hi Justin, > > lets see if I can address some of your questions. > > The Microchip TCP/IP Stack is an original piece of code created by Microchip > couple of years ago, it evolved from earlier implementations of the IP > protocol using SLIP and PPP and later incorporated support for stand alone > ethernet controllers such as the Realtek RTL8019 and obviously the one > produced by Microchip the ENC28J60. The latest versions of the software also > support the new PIC18FXXJ60 family of microcontrollers which include the > ethernet controller inside the same chip and instead of using SPI to access > it registers, they are all mapped as regular SFRs on the PIC. > The software is license free but has some restrictions, for example you can > not > port it to other vendor's MCUs like an Atmel AVR. > The latest version is 4.02 and you can get more information on-line about > it at http://www.microchip.com/tcpip/ > > What I did, since the code has a lot of heritage and changes over time, I > took > the 3.75 version (4.02 was not available yet among other reasons why I chose > this version) and did a lot of cleanup, completely reorganized the code, > fixed > some things here and there, changed substantially the way many features and > parameters are configured, replaced the LCD drivers by my own and added > a software implementation of Real Time Clock and Calendar and a SNTP > (Simple Network Time Protocol) client to synchronize the clock with a NTP > server over the internet. > > My primary goal was to have a decent code base, more easy to read and > modify to develop some other projects on top of it. > > The code supports a large collection of MCUs, including 16-bit ones like > PIC24 > and dsPIC33, but not PIC16 due the limitations on program memory and RAM. > > For PIC18 one of my favorites part for this type of development is the > PIC18F4620, or PIC18F2620 if you need fewer pins, it has a reasonable > amount of program memory and RAM to play with, advanced peripherals, etc. > > Obviously running a full TCP/IP stack on a PIC microcontroller has some > trade-offs due the amount of resources you have available on the MCU, > here there is no underlying operating system taking care of some stuff and > some creative coding to implement some level of multitasting, this > particular implementation uses what is known as "cooperative multitasking", > and includes for example a basic web server, a ftp server to update > the web pages if you have them stored in an external serial EEPROM, > you can ping to it, obtain the IP address via DHCP, etc. > > It's not just encapsulation for each protocol layer, there are several > state machines to take care of the different states for each protocol > and some level of processing and clever ways to create web pages with > sort of dynamic contents (such as the state of I/O pins, output of > the ADC, etc). > > About the ENC28J60, it's not just the electrical interface, the > ethernet standard requires specific encoding, signaling and framing, > and as you said all the MAC and DLL layer functionality plus in > this particular case the proper signaling for ethernet over twisted > pairs or 10BaseT. > > One of the challenges in the past using stand alone ethernet > controllers was the number of pins required for the bus interface > between the MCU and the controller, there are many approaches out > there using NE2000 or ISA style interfaces, what the ENC28J60 brings > to the picture is a very simple serial interface (SPI) very small > foot print on different packages including 28 pin DIP very handy > for hobby or development projects. Despite using the SPI interface, > with SCK at 10MHz the performance is quite good compared with using > another controller with a parallel interface. One con, the chip is > a power hog, it needs between 120-180mA and may dissipate up to 600mW. > > Based more or less on the same architecture Microchip released > this year a new family of PIC18F MCUs that incorporate sort of > the ENC28J60 inside the same piece of silicon as the MCU, the > largest pin count part is the 100-pin PIC18F97J60. > > About getting the parts I'm not familiar with distributors in > Australia but I have some Aussie friends that normally get them > on line, you can try with Microchip direct, and also you can > register with them (http://sample.microchip.com/) to obtain > some free samples for these parts, they have a very good samples > program and several of the projects I put together ( you can > see the pictures at http://www.ljcv.net/projects/mchptcp3.75/hardware.html) > were done using sample parts. > > Hope this helps ... > > Regards > Jorge > > -- > View this message in context: http://www.nabble.com/Networking-with-PICs-...-tf4125390.html#a11767107 > Sent from the PIC - [PIC] mailing list archive at Nabble.com. > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist