| |
November 4th 2003 at 00:34
As this is project no longer a "work in progress", I'll be rejigging the entire site over the next week or so to include details of more of my projects. The backend for the new site is finished, as well as the (minimal) design.. I just need to set aside some time to sit down the write some content.
In the meantime, I have uploaded the source code for my PICmicro TCP/IP stack. Bear in mind the code is written for the WIZ-C compiler, hence is not entirely portable.
September 6th 2003 at 02:54
This project has been completed, getting a overall mark of 89% - which helped me on the way to a 1st overall.
The report can be downloaded in PDF format (1.18mb), some of the diagrams didn't convert perfectly, but it's all legible. Source code isn't available online at the moment, but will be before too long.
April 25th 2003 at 00:18
At last, a functioning web server!
After spending a couple of days being annoyed by TCP - specifically, numerous hours after having forgotten the 0 pad for odd length packet checksums. Anyway, it was worth all the effort.
It will ocasionally be available here, though probably not too often.
March 31st 2003 at 03:22
 | I've moved over to the 18F252, as I don't need the extra IO of the 452. When not using the development board, the circuit is fairly basic (see picture).
Currently the SLIP, IP and ICMP layers are complete - with only ICMP types 8 and 0 (ping and ping reply) implemented. The UDP layer partially works, and the device is running a simple TFTP server to serve information over the internet, with the help of a FreeBSD gateway.
I've been working on TCP and hope to have an HTTP server capable of serving simple requests within a couple of weeks. |
January 27th 2003 at 02:31
It's been a while since I posted any updates, but work on the project has been ongoing (aside from a bit of a break to catch up with other projects.)
I bought an updated version of WIZ-C in December. This version supports use of the In Circuit Debugger with the 18F452, so of course I needed one of those too. It's been a handy addition. But not without a few hiccups, WIZ-C version 9 has been going through a bit of a beta stage.
I've got the SLIP drivers fully sorted now, though it will doubtless need a good bit of tweaking. The IP layer is about half way through, I just need to work out a good method of calculating the checksums.
I can't decide how much ICMP to implement, I think it'll just be left with type 8 (ping) for now and I'll move on to UDP.
December 4th 2002 at 19:41
 The programmer doesn't handle setting of fuses too nicely - calculating the 7 hex settings is a bit of a pain. So I knocked together a Visual Basic application.. |
December 4th 2002 at 00:29
Time for a status update.
I've managed to get a few PICs, a programmer, compiler and a load of components. So I've cracked together some circuits.
The microcontroller unit is helping a bit, and I've finished all the labs for this semester - helping to get a better idea of how these things work.
I've been getting to know WIZ-C a bit, and so far got an LCD module up and working - and some simple RS232 communication.
Although I'm a little behind where I would have hoped to be around now, the deadline still isn't unrealistic. The aims might need to be redefined a little, though.
October 7th 2002 at 10:22
The first project meeting with Graham is this afternoon (a bit of a pain that it's on a monday).
I've been reading the iosoft book most of the weekend, and I'm about 2/3 through it. I have a much better understanding of what is required.
I'm at the stage where I just want to get something started, but I still have no idea what hardware is required or how I would go about writing a SLIP driver without a PIC and development board etc.
Current reading :-
- TCP/IP Lean Second Edition - Jeremy Bentham
- TCP/IP Illustrated Volume 1 - W. Richard Stevens
- The C Programming Language - Kernighan and Ritchie
- Various RFCs (791, 792, 793, 1071)
October 4th 2002 at 21:34
I got hold of both editions of iosoft's TCP/IP Lean from Martin.
The second edition seems (as would be expected) to include eveything from the first, but with a few extra chapters, such as PPP.
Hopefully I can get the second edition read in the next week or so.
October 3rd 2002 at 13:08
There have been a few developments over the last week.
I've been reading as much as I can about similar projects and various things involved with mine. Reading the IPv6 RFC (2460) a few days ago, I noticed the minimum MTU for an IPv6 node is 1280. This is pretty large. I'm starting to realise why, when searching for similar projects, there are a good number of IPv4 versions but no IPv6. After speaking with a few lecturers, I've decided it best to drop the IPv6 idea and just go for plain old v4.
The general opinion was that the project is a little beyond the scope of a BSc project. In fact, there's an MSc student doing the same thing for his project this year.
Also, I've had my first ever embedded programming lecture!
September 29th 2002 at 22:26
Continued refininig C knowledge.
Advanced background reading, specifically involving hardware requirements and microprocessor technologies.
September 21st 2002 at 20:12
I enrolled at university yesterday, so it's time to get back on with this.
I've spent a while reading through Adam Dunkels' documentation for his simlar project, the task now seems fairly realistic!
June 14th 2002 at 14:26
Things to think about:
- Which chip to use for the main processor?
- How to store additional data (web pages), a seperate EEPROM chip perhaps.
- How will it connect to the network.. serial port via computer, self-contained ethernet.
- Which protocols must it handle? IP, TCP, ICMP, UDP, ARP
June 13th 2002 at 22:59
I'm still not sure what PIC actually means. I thought it was Programmable Interrupt Controller, but perhaps it's Pysical Interface Card.. hope to find that out soon. new site
June 13th 2002 at 22:27
Started a bit of research today. The whole thing now at least seems feasible, even though I still don't really have a clue how to implement it.
The task as stated by Graham is to implement an IP stack on a PIC, so I'll aim for that initially. If all goes well I'd like to improve on it to include a (very) basic web server, hopefully IPV6!
|
|
|
| Menu |
- New Site
|
| Code stats.. |
| Date |
RAM |
Words |
| 27/01/03 |
243 |
1045 |
| 30/01/03 |
388 |
1175 |
| 24/03/03 |
384 |
2382 |
| 25/04/03 |
431 |
4319 |
| 06/05/03 |
1383¹ |
5714² |
¹ mostly output buffer
² including data (HTML etc.)
|
| Why? |
I'm in my final year of a Computer and Network Technology degree,
this site is in support of my final year project.
Though it's mainly for my own record keeping, it may as well be open for
viewing by anyone who wishes.
|
| What? |
It's an embedded system (a
PIC microcontroller)
capable of acting as a
TCP/IP node. There is a little hardware/electronics involved, but I'm
concentrating mainly on the software.
At the moment the only method of connectivity is via an RS232
serial interface - Ethernet was avoided primarily because of the
added hardware complexity.
|
| Who? |
If you have any comments on this project, or anything else, feel free
to email me.
I'd be interested to hear from anyone else involved with a similar project.
|
|
|
|