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



Reply via email to