At 10:06 PM 24/10/2018 -0500, you wrote:
>On 10/24/2018 04:25 PM, Al Kossow via cctalk wrote:
>> To draw out the schematics for the Displaywriter I have a bunch of boards to
>> trace out,
>> and I don't want to do the usual "scribble on yellow pad"
>> to do it. Has someone written a graphical tool for doing this?
>>
>> What I would like to find is a tool that puts up a bunch of footprints with
>> internal IC functions
>> shown, then a way to rapidly enter the buzzed out interconnections,
>> generating a netlist.
>>
>> This is exactly backwards workflow from normal schematic entry and pcb
>> layout.
>>
>> I suspect I'm just going to have to bite the bullet and write it..
>Hmmm, you COULD actually use a schematic tool to do this!
>Maybe create the components to look like DIPs. I know I
>could do this in Protel 99 without a great deal of trouble.
>Then, just draw in all the wires.
>I suspect a few other good schematic entry tools could also
>do this.
>
>Jon
The idea of creating a lot of 'IC puppet' graphics showing internal functions
connected to
footprint pins to help in reverse engineering PCBs, may sound nice at first but
probably
won't be worth the effort in practice.
It falls down in several cases:
- ICs containing multiple functional blocks (eg 6 x inverters.) These may be
used all over
the place in a schematic. You don't want to be forced into drawing them
together at any
stage of schematic derivation.
- Complex IC functions, in which physical pin arragements bear no resemblance
to a sane
functional symbol. Again, you don't want to be drawing schematics forced
into physical
pin arrangements. Pretty much every IC from simple counters and latches, on
up are like this.
- Even simple elements like op-amps - you want to be able to draw the + and -
inputs
whichever way up is appropriate for good schematic practice for the circuit
form.
- Power pins should appear on the schematic as sensible for the specific case.
Usually
not on actual circuit symbols.
Keep the objective in mind. What you want to end up with is a schematic, that
is laid out
in a way that aids comprehension of how the circuit works. Typically this means
overall
left to right functional or power flow, with separate functional blocks
visually separate,
visual emphasis where appropriate, and so on. Something like the original
designers drew,
if they were any good.
When you have only a PCB and want to reverse engineer the schematic, the tasks
are:
1. Find data sheets for all the semiconductors/complex parts, so you have
diagrams of pin
functions. Extract just the pin diagrams to one convenient location, for
easy reference
while tracing tracks. Paper, or 2nd screen while using primary screen for
PCB overlays.
2. Trace PCB copper connectivity, drawing schematic fragments as you go.
Every component drawn in the fragents must have a designator. Use the ones
from the
PCB if there are any, or make them up if not.
During this process it can be helpful to know the functions, but usually
not essential.
At this stage you're aiming to achieve something like a 'netlist with
circuit fragments'
that doesn't have to make sense on more than a very low level.
The number one priority is to do this without errors. The only way to do
that is to have
a visual copy of the PCB on which you can mark node paths and components as
you identify
them (to 100% certainty) without fail.
3. Once you have a bunch of sheets of drawn circuit fragments, then integrate
them into a
sensible circuit diagram. This can be a multi-stage process, and I don't
think can be
automated. It requires comprehension of how the circuit functions, since
that's what the
schematic should be trying to convey.
I like it when I achieve a schematic in which the component designators
(from the original
PCB) run in an orderly fashion across the derived schematic, since that's
how the designer
will have assigned them on their schematic.
For stage 2 I use photoshop, with overlaid layers for the front and back of the
PCB, and more
layers for traced copper tracks, component designators (where there are none on
the PCB and you
have to make them up), notes, 'component done' dots, color codes for power
rails, etc.
Start with a hi-res photo of the board front, taken from some distance away to
reduce component
parallax and barrel distortion.
In PS, add some guide lines for the board edges and use 'distort' to make the
PCB image rectangular.
Overlay a layer with the board rear photo. Flip it, make semi transparent,
align and distort it
to exactly align with the board front side image. If your photos were OK you
should be able to
get all pads right across the PCB to line up very well.
You can adjust the colors of the PCB front and back layers to get a red/blue
effect when viewing
them both as overlaid transparencies.
Btw older versions of photoshop tend to be more useful for this than recent
versions. Load faster,
simpler menus, less bullshit overall, etc. I use PS 5.5 for this.
Turn autosave OFF! You want to make sensible staged version saves, when YOU
want.
For stage 3, the intermediate iterations in which you're forming an
understanding of how the
schematic fragments go together to a functional whole, are best done with paper
and pencil since
schematic editors tend to be not very good for shuffling schematic blocks
around.
Keep the first set of schematic fragments as the 'gold standard', with
hopefully zero transcription
errors. DON'T make any changes or 'done' highlighting to these yet.
While you are 'integrating' use multiple pages, multiple quick sketches. These
don't need to be
complete as they are just layout concepts, getting a feel for how to arrange
and space things.
When ready to draw the final, neat and sensible schematic, then you have the
choice of what tools
to use. Hand drawn again? Or photoshop? Or a real schematic editor? Depends on
the intended use.
While creating this schematic, mark off elements from your original set of
schematic fragments sheets.
Guy