Hardware Engineering

From ConceptCar
Revision as of 14:49, 21 May 2010 by Donald (Talk | contribs)

Jump to: navigation, search

Prerequisites

Make sure you use mil as the unit for the grid.

The grid is determined by the pin distance of the smallest part. Divide this value by 3.

Load the DRC-file before starting to route anything.

Make a separate layer (for example 100) for the boards print. You mostly do not want to use the over-filled tDocu. If you want a logo on this layer, you can import a bitmap with the script import-bmp.ulp which is provided by eagle. The logo looks best if you place it on a tRestrict polygon.


Manufacturing of the boards

We are currently using [PCB Pool] as manufacturer for our pcbs. They can directly work with our eagle board files and we're content with the quality.

One important thing to remember: The fonts must be set to vector types. Do so in "Optionen"->"Benutzeroberfläche" and check the "Always Vector Fonts" box.


About the ground layer

It does not provide you any benefit to use a ground layer on both top and bottom of the board. Best is to only use top (though most times impractical), otherwise use the bottom layer. The ground layer should have as few interruptions as possible. And make sure that they are in the direction of the current flow to avoid current loops.


Correct capacitor usage

A small capacitor of 10nF to 100nF should be placed at the supply voltage of each IC. Its connection to the VCC to the IC should be as short as possible, the ground side does not matter because a short connection to the ground plane will easily be possible.

An elko of 10uF to 100uF is only needed once, as close to the power supply as possible. An ideal layout would be that the power supply of each IC is connected on a seperate, direct and wide wire to this elko, but this is rarely possible.


Analog Circuits

It is important to place analog part at the end of the current flow, i.e. on the opposite edge of the board that the power supply comes in. No digital path must be placed behind them in the current path.


Choosing "good" parts

The following advice is targeted at you if you want to build a layout for small to medium series production:

  • It is advised that every resistor is used in SMD 0805-package (as long as the maximum power dissipation is sufficient). Bending the connectors is costly.
  • Capacitors (non-elko) and inductivities should use SMD parts, too. For elkos, it depends on the size of the series, but generally you can say that the more expensive tantal SMD elkos don't pay off.


Sophisticated usage of the Autorouter

The Autorouter will deliver bad results, if not tuned. On the ground layer's side, set the routing direction to be following the current path, on the other side to be arbitrary. Be sure to set the grid correctly before any routing takes place.

Following these steps should lead to a nice basic layout:

  1. Define the ground layer (POLY GND).
  2. Route only the ground signal (AUTO GND). Define costs for the way on the top layer to be high, bottom to be zero. Make vias cheap. Usually one optimization step is sufficient, since there will be only very short fragments on the layer that is not the ground plane.
  3. Route the remaining signals (AUTO). This time costs for ways on the ground layer and non-preferred direction at the ground layer must be high, therefore zero costs for ways at the top layer.

Following these steps should already lead to some nice results, but there is always improvement possible.

  • The script finalize.ulp rips all wires (except the ground signal) one after the other and re-routes them. This leads to a cleaner layout with fewer segments in each wire. It can take hours to complete this script!!
  • Power wires need to be routed most carefully, so sometimes it is better to route these manually after the ground signal's routing is completed in the above steps.


Recovering a broken board layout

It can happen that board and schematic become inconsistent without that being your fault (eagle sometimes just fails with no reason). The script mov.ulp helps you if you want to restore the placement and orientation of the parts. Rip all wires (RIP;) and then run the script on the board. It will produce an output window, whose content you can either copy or save to a file. Do not execute this. Next you close eagle and delete the board file (*.brd). Re-open the schematic and create a new board. Then just run mov.ulp again and paste the content of the last run (that one with the board with already placed parts) to the window and press execute. All parts will be at the same position they were before.