uCEthernet - CAD
At the end of all this work we want to end up with a tangible piece of hardware.
To produce a quality PCB, it is best done using a professional PCB house.
All PCB companies will require information on how to build the PCB. The most common
format accepted by all manufactures is the gerber format. These files accuatetly
describe how the PCB should be made.
To generate a set of gerber files generally requires a CAD tool. The are numerous
tools available, most of them are expensive too expensive for the casual enthusiast
to purchase.
For small two layer projects, like uCEthernet, there is a solution. Eagle. A light
version can be downloaded that will allow the user to generate a 2 layer PCB upto
100mm by 80 mm from a single page schematic for non profit use. There are other
flavours that are not free but still relatively cheap that increase the software
capability or allow the software to be used in a professional envirmoment.
Eagle allows the user to generate schematics. There are a large number of libraries
that come with eagle that you can use to generate the schematic. I personally, like
to have my own libraries, they are more concise so take less time to find what your
looking for. There is no point in me going through step by step on how to use Eagle
as there a large number
of tutorials already available.
The schematic for the uCEthernet is below, as you can see there is very little to
it, so ideal for a first time project.
Once the schematic is completed, layout can be started.
If cost is a big factor in the design (like this one), it is essential that the
PCB manufacturer has already been chosen. This should be done to find out exacty
what PCB contraint / rules are required. Some PCB manufacturers will provide a DRC
file that can be imported into Eagle.
I find when routing a PCB, the key variable is good component placement. If you
get the placement write, laying out the PCB becomes much easier.
Key signal lines here are the connections to the RJ45 connector. There are two diffential
pairs. Ideally each pair should be routed so each trace is the same length.
Once routed you should end up with something like shown below:
Page 3