Author Topic: EEVblog #1129 - Creating a Nice Readable Schematic  (Read 10165 times)

0 Members and 1 Guest are viewing this topic.

Offline djacobow

  • Super Contributor
  • ***
  • Posts: 1066
  • Country: us
  • takin' it apart since the 70's
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #25 on: October 07, 2018, 09:35:23 pm »

Though I absolutely agree with the need to tidy up this schematic, I think it supports a thread I started awhile back in the CAD sections which is that fundamentally, schematics kind of suck, particularly for digital circuits. (https://www.eevblog.com/forum/eda/no-schematic-pcb-workflow/)

Personally, I hate drawing them and I hate the fiddly time it takes to make them look nice. It's not that I don't see the advantage of them being nice and readable -- I do, and that's why I try to take care. But I just don't like it. Like, for me it's one of the least fun parts of electronics design. I don't mind optimizing a PCB layout, but I do mind "optimizing" a schematic layout.

A lot of this work can be reduced through judicious use of hierarchy. If you have "n" of something, draw it exactly once. And do not draw it once and then copy/paste it. Just show it once, too.

The example is largely an analog circuit, so I think there's almost no getting away from schematics, but for the digital portions, I think the world needs to move towards something that is text-based, like a netlist format, perhaps with the right macros and syntactic sugar to make it a little less painless. Basically, an HDL but without inferred instantiation (eg, synthesis).

I started my career in semiconductors and we moved away from schematics for digital stuff a long time ago. I was honestly surprised to start working on boards and find these huge sheets of chips connected to each other.


Just my $0.02

 

Online blueskull

  • Supporter
  • ****
  • Posts: 13765
  • Country: cn
  • Power Electronics Guy
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #26 on: October 07, 2018, 10:27:06 pm »
... when people just plop down all the symbols, with net names but no interconnect wires at all ...

Exactly what I draw all the time :palm:.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9323
  • Country: 00
  • Display aficionado
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #27 on: October 07, 2018, 10:35:36 pm »

Though I absolutely agree with the need to tidy up this schematic, I think it supports a thread I started awhile back in the CAD sections which is that fundamentally, schematics kind of suck, particularly for digital circuits. (https://www.eevblog.com/forum/eda/no-schematic-pcb-workflow/)

Personally, I hate drawing them and I hate the fiddly time it takes to make them look nice. It's not that I don't see the advantage of them being nice and readable -- I do, and that's why I try to take care. But I just don't like it. Like, for me it's one of the least fun parts of electronics design. I don't mind optimizing a PCB layout, but I do mind "optimizing" a schematic layout.

A lot of this work can be reduced through judicious use of hierarchy. If you have "n" of something, draw it exactly once. And do not draw it once and then copy/paste it. Just show it once, too.

The example is largely an analog circuit, so I think there's almost no getting away from schematics, but for the digital portions, I think the world needs to move towards something that is text-based, like a netlist format, perhaps with the right macros and syntactic sugar to make it a little less painless. Basically, an HDL but without inferred instantiation (eg, synthesis).

I started my career in semiconductors and we moved away from schematics for digital stuff a long time ago. I was honestly surprised to start working on boards and find these huge sheets of chips connected to each other.


Just my $0.02
Few people like to document their work, which is probably why the documentation tends to be in such a sorry state almost everywhere you look. It's easy to neglect too, because paying the price always comes much later and people generally have actual problems to solve right now.
 

Offline SL4P

  • Super Contributor
  • ***
  • Posts: 2152
  • Country: au
  • There's more value if you figure it out yourself!
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #28 on: October 07, 2018, 10:45:02 pm »
The tedium of drawing a complete schematic isn't rewarded immediately - but one, two, five years later!
Damn Scram - you beat me to it!
Don't ask a question if you aren't willing to listen to the answer.
 
The following users thanked this post: kony

Offline wilfred

  • Frequent Contributor
  • **
  • Posts: 917
  • Country: au
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #29 on: October 07, 2018, 11:05:52 pm »
or maybe just a top 10 things to do or not in a schematic?

Those Top 10 Youtube channels sure do get a lot of views...

It would still get fewer views than Top 10 Halloween ideas for a broken kitchen motion sensor bin. Better make it Top 11.

Seriously if you're chasing views you've choosen the wrong niche. This one has 1.3M views and sadly I'm one of them. But only because I saw one on the roadside and was curious about it. I flirted with the idea of having a creepy head pop out as it opened. You're welcome to the idea if you want it.
 

Offline SeoulBigChris

  • Contributor
  • Posts: 35
  • Country: kr
  • "Unencumbered by the thought process"
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #30 on: October 07, 2018, 11:47:36 pm »
The thing I hate most is when people just plop down all the symbols, with net names but no interconnect wires at all & call it a schematic.
That, and not providing a PDF version in addition to the format of whatever tool they use

Indeed. This used to drive me crazy. I called it a visual net list.
 

Offline SeoulBigChris

  • Contributor
  • Posts: 35
  • Country: kr
  • "Unencumbered by the thought process"
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #31 on: October 08, 2018, 12:04:27 am »
Regarding logical vs physical symbols, I came to learn over the years that there can be more than one schematic of the same design. There’s the functional schematic that explains the design itself, using op-amp symbols in this example. This schematic is typically used by engineers.

Then one could also prepare a schematic focusing on the physical layout of the printed circuit assembly itself. This type of schematic would be used primarily by service technicians (back when electronics were more serviceable), and would have typical voltages, waveforms, etc. This is where you’d most often use physical symbols like the dual op amp in this example. This type of schematic wouldn’t be prepare unless the product warranted it, which is infrequent in my experience.

A couple of other things about kinds of schematics that I’ve picked up...

A single assembly might have multiple schematics, not just the functional and physical types. For example, one huge test assembly that item I built years ago involved both electronics and plumbing (compressed nitrogen). In that case, we ended up with an electrical and a piping schematic (which threw a wrench in our company’s drawing numbering system).

Last point, which I think may be controversial, is that  was taught that the schematic describes the circuit, and the PCB layout describes the physical implementation. This means that if you have two physical versions of an assembly, let’s say a thorough-hole version for lab testing and a surface mount version for production, they would have the same schematics. The different implementations are handled by the BOM / footprint mapping table. This sounds good in theory but often falls apart in practice, so I can’t really disagree with people who insist on a schematic than locks you into a particular physical implementation.
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 18464
  • Country: nz
  • Taupaki Technologies Ltd. NZ Siglent Distributor
    • Taupaki Technologies Ltd.
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #32 on: October 08, 2018, 12:06:06 am »
Nice vid Dave, should be a compulsory watch for PCB CAD newbies.  :clap:

A question if I may about the inclusion of component names/values and designators into the schematic symbol.
For example, when using 'box' components like resistors and some IC's I place the resistor value into the box and leave the designator outside.
IC's I place both into the box. Likewise with say logic gates, only the part # close to U*A and then U*B, C, D etc into the schematic symbol.

Good/acceptable practice or not ?
Avid Rabid Hobbyist
 

Offline SL4P

  • Super Contributor
  • ***
  • Posts: 2152
  • Country: au
  • There's more value if you figure it out yourself!
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #33 on: October 08, 2018, 12:21:29 am »
I’ve worked on some beautifully engineered gear, and the best sets had three major tech docs...

— Schematic (detailed)
— Block (roadmap to schematic and functionality sometimes with wiring/ loom maps)
— Theory of operation (explains the operation of each ‘block.

The doc package came as a set of 3-inch thick binders!

You could almost repair these $500K / half ton machines without opening the box!
Don't ask a question if you aren't willing to listen to the answer.
 

Offline SeoulBigChris

  • Contributor
  • Posts: 35
  • Country: kr
  • "Unencumbered by the thought process"
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #34 on: October 08, 2018, 02:55:46 am »
A project leader of mine from way back had one more rule in addition to the “functional flow should go from from left to right”. He insisted that all connectors be isolated on their own sheet, usually sheet one. We griped and groaned about it at the time, but it kind of grew on me. I will do this for a large design, and even in a small one-page design I follow his rule in spirit by showing all connectors along the edges of the page.

 

Offline SeoulBigChris

  • Contributor
  • Posts: 35
  • Country: kr
  • "Unencumbered by the thought process"
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #35 on: October 08, 2018, 02:58:52 am »
I wish the standards for reference designators, symbols, etc., were freely available. Last I checked they were spread around various IEEE and ANSI standards which you had to pay for. I was fortunate to work for a company in my early years that had these documents available, but the cost is kind of steep for the hobbyist.

 

Offline Bud

  • Super Contributor
  • ***
  • Posts: 4154
  • Country: ca
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #36 on: October 08, 2018, 03:06:28 am »
Nice vid Dave, should be a compulsory watch for PCB CAD newbies.  :clap:

A question if I may about the inclusion of component names/values and designators into the schematic symbol.
For example, when using 'box' components like resistors and some IC's I place the resistor value into the box and leave the designator outside.
IC's I place both into the box. Likewise with say logic gates, only the part # close to U*A and then U*B, C, D etc into the schematic symbol.

Good/acceptable practice or not ?

You are not being consistent then, 'cause the other components are annotated differently.
Facebook-free life and Rigol-free shack.
 

Offline grouchobyte

  • Regular Contributor
  • *
  • Posts: 236
  • Country: ca
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #37 on: October 08, 2018, 03:15:09 am »
Nice video Dave thanks, it will teach newcomers without much schematic drawing experience one hell of lot. Not only did you show good industry practice but you also explained why it's done that way  :-+ Things that perform certain functions have their own blocks and very easy to follow the signal path, nice job very well done.

On a few occasions I've seen schematics drawn from right to left, several of those were because the design engineer was left handed and on one occasion I had a right to left schematic pop up at an interview, I was a bit perplexed trying to follow the signal path and I didn't get the job, no worries though. MInd you on the other hand, no pun intended, I worked with another left handed engineer who drew his schematics from left to right. My late younger brother was left handed and watching him "push" a pen across the page and not smudge think ink was something else.

Do left handed engineers have a preference for drawing from right to left ?

I wholehearted agree with Dave’s pointers vis a vis creating schematics. I too have no set rules but as Dave points out quite clearly, there are certain acceptable standards and there are acceptable exceptions to those norms depending on the design and a bunch of other factors. I am personally a neatness fanatic and have been complimented by hundreds of EE’s that have  read my schematics over the past several decades. They may not like or agree with my designs, but they all like the readability and clarity.

As far as left to right is concerned, the flow of your schematic should probably depend on whether you are following Hebrew or Sino tradition. One thing for sure, nothing (no I/Os) should enter or leave the top or bottom of a page/sheet

@grouchobyte

« Last Edit: October 08, 2018, 03:18:39 am by grouchobyte »
 

Offline TERRA Operative

  • Frequent Contributor
  • **
  • Posts: 793
  • Country: jp
  • Voider of warranties
    • Near Far Media Youtube
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #38 on: October 08, 2018, 03:27:12 am »
A project leader of mine from way back had one more rule in addition to the “functional flow should go from from left to right”. He insisted that all connectors be isolated on their own sheet, usually sheet one. We griped and groaned about it at the time, but it kind of grew on me. I will do this for a large design, and even in a small one-page design I follow his rule in spirit by showing all connectors along the edges of the page.



Toyota schematics do a similar thing.
Each connector on the schematic has a reference number, so you can go to the 'connector manual' or sometimes the connector page (if included) in the service manual you are reading the schematic from and see a drawing of that connector with pinouts etc.

Makes identifying connectors in a greasy loom down the side of an engine much easier.
Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

https://www.youtube.com/user/NearFarMedia/
 

Offline sibeen

  • Regular Contributor
  • *
  • Posts: 240
  • Country: au
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #39 on: October 08, 2018, 05:44:49 am »
I've always liked the connectors on their own page a nice feature.

Another that should be added, especially for largish circuits that will be across multiple sheets is that the sheets should have numbers down the side (0 to 9) and letters across the top (A to M) so that when signals jump to another sheet they are given a reference, or when you are looking at the sheet containing the connectors each signal will have a name but also a reference allocation, eg M_RECT [4-M7], signal name is M_RECT and it can be found on sheet 4 location M7.
 

Online sleemanj

  • Super Contributor
  • ***
  • Posts: 2499
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #40 on: October 08, 2018, 06:13:16 am »
I always find it kind of annoying that schematics rarely have any notes on them.  Tool often don't even provide a good way to include notes.  A simple note about why a particular value was chosen, or what the intent of some circuitry is, or ... can go a long way to helping yourself when you come back to it 6 months or 6 years later.

It's like if you wrote 10000 lines of code, without a single comment.  Which, sadly, I also see a lot of :/

Also, busses, use busses, don't know how other packages handle it but DipTrace's way works well to make it far tidier and easier to see what goes where than both running lots or wires, or using random floating labels.
~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9323
  • Country: 00
  • Display aficionado
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #41 on: October 08, 2018, 06:35:37 am »
I always find it kind of annoying that schematics rarely have any notes on them.  Tool often don't even provide a good way to include notes.  A simple note about why a particular value was chosen, or what the intent of some circuitry is, or ... can go a long way to helping yourself when you come back to it 6 months or 6 years later.

It's like if you wrote 10000 lines of code, without a single comment.  Which, sadly, I also see a lot of :/

Also, busses, use busses, don't know how other packages handle it but DipTrace's way works well to make it far tidier and easier to see what goes where than both running lots or wires, or using random floating labels.
I started a thread about this a while back and the few replies that I got were "there isn't really a standard". As you say, that's very surprising. I sometimes struggle to remember why I made a decision a few weeks later, so there's no chance anyone will know when that's years later or somebody else entirely. Some of us will remember this happening to Keysight, as they were forced to release a public safety warning about a bench multimeter while they scrambled to justify a design choice that wasn't immediately apparent. They damaged their brand and caused issues for their customers simply because they didn't have a note on the why and how.
 

Offline maginnovision

  • Super Contributor
  • ***
  • Posts: 1734
  • Country: us
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #42 on: October 08, 2018, 07:01:52 am »
The thing I hate most is when people just plop down all the symbols, with net names but no interconnect wires at all & call it a schematic.
That, and not providing a PDF version in addition to the format of whatever tool they use

One board I have now has 100 pin CPLD, 144 pin MCU, 50 pin input connector, a bunch of level shifters for all of those 50 lines, audio and video amps. I like to logically separate things across sheets. MCU system(left/right/top power inputs, clock, programming header, reset, internal sys ctrl), MCU IO(Two banks), Power supplies(10V, 5V, 3V3, 1V0), level shifters(56 pin, 3 20 pin, 24 pin), interfacing(display, encoders, buttons, switches). Decoupling capacitors are on the pages for the IC's that use them. Plenty of stuff has connections but for me it would just be a mess having a single page and difficult to follow. Yes you have to switch pages but you don't have 50 lines crossing here and there or make multiple symbols for IC's just so they match for the specific project. I had to choose pins to make the board layout work, so the schematic has to be separated to be readable or possible to follow. It would also be impossible to print in one page. The interfacing page could be combined with MCU IO but it wouldn't be much of a help. I might be bad at this but I can't imagine it be any nicer if all the nets were "physically" connected.
 

Online sleemanj

  • Super Contributor
  • ***
  • Posts: 2499
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #43 on: October 08, 2018, 07:15:36 am »

One board I have now has 100 pin CPLD, 144 pin MCU, 50 pin input connector, a bunch of level shifters for all of those 50 lines, audio and video amps. I like to logically separate things across sheets.

Use a bus.

Here is a trivial example from diptrace, just imagine it as a far more interesting and pin-involving thing with many modules spread over pages...



~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline maginnovision

  • Super Contributor
  • ***
  • Posts: 1734
  • Country: us
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #44 on: October 08, 2018, 07:31:10 am »

One board I have now has 100 pin CPLD, 144 pin MCU, 50 pin input connector, a bunch of level shifters for all of those 50 lines, audio and video amps. I like to logically separate things across sheets.
Use a bus.


I'm not sure I see the difference. Instead of pages I connect my logical blocks with 1 line? Eagle busses are also sort of crap. They are basically just lines you draw. It'd be the same effective thing if I just added a note detailing flow, although the pages are already sorted for that.

Just to add... Busses in EAGLE are REALLY ugly as well unless I'm really missing something.
« Last Edit: October 08, 2018, 07:34:37 am by maginnovision »
 

Offline johnwa

  • Regular Contributor
  • *
  • Posts: 239
  • Country: au
    • loopgain.net - a few of my projects
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #45 on: October 08, 2018, 07:35:00 am »
One tip I didn’t see, was - if possible -

Place your power busses from the ‘most positive’ at the top, to the ‘most negative’ at the bottom.


Yes, or as an extension of this concept, there should be a 'voltage gradient' from the top to the bottom of the schematic. This can make following complex analogue circuitry considerably easier. Of course, sometimes this conflicts with the 'signal flow from left to right' idea, any you will have to choose which one to follow (Think of a common base amplifier for instance).

Re angled wires, like GOTOs, these should definitely be used sparingly, but can occasionally make things clearer. The USB data lines in Dave's schematic could have been crossed over this way (although editing the the symbols to make the pins match would be better still.) The traditional two transistor multivibrator is another instance.

If I am drawing a schematic by hand, I still like to use the little 'loops' for wires that cross without connecting, which then renders a four-way junction unambiguous. Sadly though I have not come across any schematic software that supports these... But that is really just a matter of style.

This was definitely a good topic for a video Dave, hopefully whoever draws the next schematic I have to interpret will watch it!

 

Online sleemanj

  • Super Contributor
  • ***
  • Posts: 2499
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #46 on: October 08, 2018, 07:45:59 am »
I'm not sure I see the difference. Instead of pages I connect my logical blocks with 1 line?

I don't know how Eagle handles it, but as you can see in the screenshot in DipTrace the bus can be split, those two sections of the bus could be on separate pages as long as they have the same name ("ATMEGA") they are the same bus.

So imagine that the CP2102 is on a different page, you open that page and you can immediately see that "oh, that connects to RX on the ATMEGA", you don't have to say "that connects to something called RX, now where is that", which if you have a very complicated schematic and you're not familiar with it (any more) might not be such a simple thing.

~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline VK3DRB

  • Super Contributor
  • ***
  • Posts: 1744
  • Country: au
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #47 on: October 08, 2018, 12:02:16 pm »
What some schematic writers forget is there are two proposes to a schematic:

1. To define electrical connections to layout a PCB for example.
2. To communicate to humans. That includes debug technicians, or the next poor bunny who has to change the schematic.

Back annotating is great but must be treated with caution. It can be valuable to help debug techs locate parts on a PCB, but it back annotating makes no sense during the development process from when the designators are defined in test plans, test results and BOM quotes.

Use version control (eg: SVN, GIT or SharePoint), and make sure there is a change history somewhere, either on the top sheet, back sheet, or a separate document. Altium works with SharePoint quite well, and even SVN, but from my experience Altium 18 has too many problem with GIT. Even for beginners, SVN is pretty easy to master. SharePoint is a whole new world of file management thinking.

One other point... Use IEEE standard symbols and designators. It make is easier for everyone and avoids painting yourself into the ambiguity corner. Also make rules for your net labels! Eg: nRESET or /RESET or ERROR-FLAG. You cannot use an underscore with Altium because the stupid thing is masked by the wiring - a "feature" that Altium has never bothered fixing.

I could write a book on it, but I won't bore you here.
 
The following users thanked this post: ANTALIFE, SeoulBigChris

Offline maginnovision

  • Super Contributor
  • ***
  • Posts: 1734
  • Country: us
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #48 on: October 08, 2018, 03:12:11 pm »
I'm not sure I see the difference. Instead of pages I connect my logical blocks with 1 line?

I don't know how Eagle handles it, but as you can see in the screenshot in DipTrace the bus can be split, those two sections of the bus could be on separate pages as long as they have the same name ("ATMEGA") they are the same bus.

So imagine that the CP2102 is on a different page, you open that page and you can immediately see that "oh, that connects to RX on the ATMEGA", you don't have to say "that connects to something called RX, now where is that", which if you have a very complicated schematic and you're not familiar with it (any more) might not be such a simple thing.

In eagle it's a graphical element, unless you make custom symbols. If the design were finished we could create custom symbols to make ports that contain all of a set. Those can use busses directly. So far good net names make it clear what is what and where it goes. I'll actually recreate the current schematic though using normal symbols and see how it feels. Then I'll see if it seems clearer to anyone. I'm just one guy so maybe other people hate it and just aren't telling me, other than here.
 

Offline German_EE

  • Super Contributor
  • ***
  • Posts: 2400
  • Country: de
Re: EEVblog #1129 - Creating a Nice Readable Schematic
« Reply #49 on: October 08, 2018, 05:21:43 pm »
Dave, a minor correction to your schematic. I believe that the section after the AC/DC switch isn't a filter, it's a range switch. 1.1M ohm is 100 times greater than 11K ohm so this switch is used before gain selection on the weirdly drawn op amp. The two capacitors in the circuit are frequency compensation, similar to a scope probe.
Should you find yourself in a chronically leaking boat, energy devoted to changing vessels is likely to be more productive than energy devoted to patching leaks.

Warren Buffett
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf