> Has anyone tried to connect a PIC or any other microcontroller > to an ethernet card? If so, where can I get the relevant information, > and what kind of extra hardware would be needed (sugestions welcome!). Let me start by saying that I think the low- (16C5X) and mid-level (16C6X & 7X) PICs aren't appropriate cores for an Ethernet based unit. They have sufficient CPU performance, but lack bus bandwidth (support circuitry) and memory (both code space and data buffers). The high-end 17C4X series running in microcomputer mode might be OK. Now it would certainly be doable to create a PC ISA bus using multiple 8-bit ports on any PIC. I'd build an 8-bit wide ISA bus. Going with a 16-bit wide AT style ISA bus would complicate the connector (2 pieces required) and bus cycle (since the PIC deals with data in 8-bit chunks anyway). Then plug in an 8-bit ISA Ethernet card. With such a narrow bus, the performance suffers in a PC or clone (so the industry has moved away from this to other, faster & wider buses). ISA 8-bit bus Ethernet cards might still be available new. They are available on the surplus and clearance market. I'd choose one which has on-board buffer memory. That way, the PIC doesn't have to try and deal with incoming & outgoing octets at Ethernet speeds (10Mbps = 1 octet each 800 nanoseconds) during packet reception & transmission. As I recall, the 3Com 3C503 meets these criteria. Then you have to either get the programming information for the ISA Ethernet card from the manufacturer or by reverse-engineering. Any card will have some Ethernet controller chip, but you need to know where the buffers live, how to toggle the support circuitry, and all the minutea of initializing it and handling packets. Then you get to write a device driver to talk to the Ethernet card. This brings up another design choice. What are you going to use as the on-wire protocol for your actual application? Is it going to be raw Ethernet packets? If so, then the above would be all you'd need. If not, then you'd need to write the upper level protocol stack such as IP (plus UDP or TCP), IPX, AppleTalk, DECnet, etc to run over your raw Ethernet interface. This is all perfectly do-able. But it takes a fair amount of memory to hold all this code and some additional memory for data and configuration information. If you're really serious about this, I'd suggest building a unit with a PIC 17C4X series CPU, ROM, RAM, and an Ethernet controller chip on-board. Hardest part would be doing the analog circuitry to deal with the Ethernet wire connection (AUI, coax, and/or UPT). An alternative CPU is the Motorola 683XX series. At least one model has a built-in serial port than can run at 10Mbps. So you can do an integrated Ethernet interface. It only needs ROM, RAM, and analog circuitry for the Ethernet wire. I know of at least 1 router manufacturer that uses it in this fashion. Lee Jones ------------------------------------------------------------------- Jones Computer Communications lee@frumble.claremont.edu 509 Black Hills Dr, Claremont, CA 91711 voice: 909-621-9008 -------------------------------------------------------------------