Er zijn hier veel slecht getekende schemas. Een paar keer hebben mensen zelfs om kritiek op hun schemas gevraagd. Deze vraag is bedoeld als een enkele opslagplaats voor schematische tekenregels en richtlijnen waar mensen naar kunnen verwijzen. De vraag is
Wat zijn de regels en richtlijnen voor het tekenen van goede schemas?
Opmerking: Dit gaat over schemas zelf, niet over de circuits die ze vertegenwoordigen.
Antwoord
Een schema is een visuele weergave van een circuit. Als zodanig is het doel om een circuit met iemand anders te communiceren. Een schema in een speciaal computerprogramma voor dat doel is ook een machineleesbare beschrijving van de schakeling. Dit gebruik is in absolute termen eenvoudig te beoordelen. Ofwel de juiste formele regels voor het beschrijven van het circuit worden gevolgd en het circuit is correct gedefinieerd, ofwel is het niet. Aangezien er harde regels voor zijn en het resultaat machinaal kan worden beoordeeld, is dit niet het punt van de discussie hier. Deze discussie gaat over regels, richtlijnen en suggesties voor goede schemas voor het eerste doel, namelijk het communiceren van een circuit aan een mens. Goed en slecht zullen hier in die context worden beoordeeld.
Aangezien een schema bedoeld is om informatie te communiceren, doet een goed schema dit snel, duidelijk en met een lage kans op misverstanden. Het is noodzakelijk maar verre van voldoende om een schema correct te laten zijn. Als het waarschijnlijk is dat een schema een menselijke waarnemer misleidt, is het een slecht schema of je uiteindelijk kunt aantonen dat het na de juiste ontcijfering in feite correct was. Het punt is duidelijkheid . Een technisch correct maar versluierd schema is nog steeds een slecht schema.
Sommige mensen hebben hun eigen idiote meningen, maar hier zijn de regels (in feite zul je waarschijnlijk een brede overeenstemming opmerken tussen ervaren mensen bij de meeste van de belangrijke punten):
-
Gebruik componentaanduidingen
Dit gaat vrijwel automatisch met elk programma voor het vastleggen van schemas, maar we zien hier nog vaak schemas zonder deze schemas. Als je je schema op een servet tekent en het vervolgens scant, zorg er dan voor dat je componentaanduidingen toevoegt. Deze maken het circuit veel gemakkelijker om over te praten. Ik heb vragen overgeslagen toen schemas geen componentaanduidingen hadden, omdat ik geen zin had om de tweede 10 k Ω weerstand van links door de bovenste drukknop . Het “is een stuk eenvoudiger om R1, R5, Q7, etc. te zeggen.
-
Tekstplaatsing opschonen
Schematische programmas plukken over het algemeen onderdeelnamen en waarden op basis van een generieke onderdeeldefinitie. Hierdoor komen ze vaak op onhandige plekken in het schema terecht als andere onderdelen in de buurt worden geplaatst. Maak het. Dat hoort bij het tekenen van een schema. Sommige programmas voor het vastleggen van schemas maken dit gemakkelijker dan andere. In Eagle kan er bijvoorbeeld helaas maar één symbool voor een onderdeel zijn. Sommige onderdelen worden gewoonlijk in verschillende oriëntaties geplaatst, horizontaal en verticaal in het geval van weerstanden bijvoorbeeld. Diodes kunnen in ten minste 4 oriëntaties worden geplaatst omdat ze ook een richting hebben. De plaatsing van tekst rond een onderdeel, zoals de componentaanduiding en waarde, zal waarschijnlijk niet werken in andere oriëntaties dan het was oorspronkelijk getekend. Als u een standaardonderdeel roteert, verplaatst u de tekst daarna zodat deze gemakkelijk leesbaar is, duidelijk bij dat onderdeel hoort en niet in botsing komt met andere delen van de tekening. Verticale tekst ziet er stom uit en maakt het schema moeilijk om te lezen.
Ik maak aparte overtollige delen in Eagle die alleen verschillen in de oriëntatie van het symbool en dus de plaatsing van de tekst. Dat is meer werk vooraf, maar maakt het gemakkelijker bij het tekenen van een schema. Het maakt echter niet uit hoe je een mooi en duidelijk eindresultaat bereikt, alleen dat je het doet. Er is geen excuus. Soms horen we gejank zoals “Maar CircuitBarf 0.1 laat me dat niet doen” . Dus neem iets dat doet. Trouwens, CircuitBarf 0.1 laat je het waarschijnlijk wel doen, alleen dat je te lui was om de handleiding te lezen om te leren hoe en te slordig om er om te geven. Teken het (netjes!) Op papier en scan het eventueel. Nogmaals, er is geen excuus.
Hier zijn bijvoorbeeld enkele onderdelen in verschillende oriëntaties. Merk op hoe de tekst zich op verschillende plaatsen bevindt ten opzichte van delen om de zaken netjes en duidelijk te maken.
Laat dit niet gebeuren voor jou:
Ja, dit is eigenlijk een klein fragment van wat iemand hier op ons heeft gedumpt.
-
Basislay-out en stroom
In het algemeen is het goed om hogere spanningen naar boven, lagere spanningen naar beneden en logische stroom van links naar rechts te plaatsen. Dat is duidelijk niet altijd mogelijk, maar een over het algemeen hogere inspanning om dit te doen, zal het circuit aanzienlijk verlichten voor degenen die uw schema lezen.
Een opmerkelijke uitzondering hierop zijn feedbacksignalen. Door hun van nature, voeden ze “terug” van stroomafwaarts naar stroomopwaarts, dus zouden moeten worden getoond om informatie te verzenden die tegenovergesteld is aan de hoofdstroom.
Stroomaansluitingen moeten omhoog gaan naar positieve spanningen en omlaag op negatieve voltages. Doe dit niet:
Er was geen ruimte om de lijn naar beneden te laten zien omdat andere dingen waren er al. Verplaats het. Je hebt de puinhoop gemaakt, je kunt het ongedaan maken. Er is altijd een manier.
Door deze regels te volgen, worden de meeste van de tijd gewone subcircuits op dezelfde manier getekend. meer ervaring met het bekijken van schemas, deze zullen naar voren komen en je zult dit waarderen. Als dingen op alle mogelijke manieren worden getekend, zien deze gewone circuits er elke keer visueel anders uit en zal het Anderen hebben meer tijd nodig om je schema te begrijpen. Wat is deze rotzooi bijvoorbeeld?
Na wat ontcijferen realiseer je je “Oh, het” sa gemeenschappelijke emitterversterker. Waarom heeft #% & ^ $ @ # $% het niet zojuist getekend als een in de eerste plaats !? “:
-
Teken pinnen volgens functie
Toon pinnen van ICs in een positie die relevant is voor hun functie, NIET HOE ZE UIT DE CHIP BLIJVEN GEBEURD. Probeer positieve kracht te gebruiken pinnen bovenaan, negatieve stroompinnen (meestal massa) onderaan, ingangen links en uitgangen rechts. Merk op dat dit past in de algemene schematische lay-out zoals hierboven beschreven. Dit is natuurlijk niet altijd redelijk en mogelijk. Onderdelen voor algemeen gebruik, zoals microcontrollers en FPGAs, hebben pinnen die afhankelijk van het gebruik kunnen worden ingevoerd en uitgevoerd en die zelfs tijdens runtime kunnen variëren. Je kunt tenminste de speciale stroom- en aardingspennen aan de boven- en onderkant plaatsen, en eventueel nauw verwante pennen groeperen met speciale functies, zoals crystal driver-aansluitingen.
ICs met pennen in fysieke volgorde van de pennen zijn moeilijk te verkrijgen begrijpen. Sommige mensen gebruiken het excuus dat dit helpt bij het opsporen van fouten, maar met een beetje nadenken kun je zien dat niet waar is. Als je iets met een bereik wilt bekijken, welke vraag komt vaker voor Ik wil kijken naar de klok, welke pin is dat? “ of ” Ik wil naar pin 5 kijken, welke functie is dat? “. In sommige zeldzame gevallen wil je misschien om een IC gaan en kijk naar alle pinnen, maar de eerste vraag komt veel vaker voor.
Fysieke lay-outs van de pincode verdoezelen het circuit en maken debuggen moeilijker. Doe het niet.
-
Directe verbindingen, redelijkerwijs
Besteed wat tijd aan plaatsing om draadovergangen en dergelijke te verminderen. Het terugkerende thema hier is duidelijkheid . Het tekenen van een directe verbindingslijn is natuurlijk niet altijd mogelijk of redelijk. Het is duidelijk dat het niet kan “met meerdere vellen, en een rommelig rattennest met draden is erger dan een paar zorgvuldig gekozen” luchtdraden “.
Het is onmogelijk om hier een universele regel te bedenken, maar als je constant denkt aan de mythische persoon die over je schouder meekijkt en probeert het circuit te begrijpen aan de hand van het schema dat je aan het tekenen bent, dan lukt het waarschijnlijk goed. probeer mensen te helpen het circuit gemakkelijk te begrijpen, niet om ze er ondanks het schema uit te laten komen.
-
Ontwerp voor papier van normaal formaat
De tijd dat elektrotechnici tekentafels hadden en aan de slag gingen met tekeningen van D-formaat, zijn voorbij. mensen hebben alleen toegang tot printers met een normaal paginaformaat, zoals papier van 8 1/2 x 11 inch hier in de VS. Het exacte formaat is overal ter wereld een beetje anders, maar ze zijn allemaal ongeveer wat u kan gemakkelijk voor u worden gehouden of op uw bureau worden geplaatst. Er is een reden waarom deze maat als standaard is geëvolueerd. Omgaan met groter papier is een gedoe. Er is geen ruimte op het bureau, het overlapt het toetsenbord, duwt dingen van je bureau als je het verplaatst, enz.
Het punt is om je schema zo te ontwerpen dat individuele bladen goed leesbaar zijn op een enkele normale pagina en ongeveer even groot op het scherm. Momenteel is de grootste algemene schermgrootte 1920 x 1080. Het is vervelend om een pagina met die resolutie te moeten scrollen om de nodige details te zien.
Als dat betekent dat je meer paginas moet gebruiken, ga je gang. Je kunt paginas heen en weer bladeren met een enkele druk op de knop in Acrobat Reader.Het omslaan van paginas verdient de voorkeur boven het pannen van een grote tekening of het omgaan met te groot papier. Ik vind ook dat een normale pagina met redelijk detail een goede grootte heeft om een subcircuit te laten zien. Zie paginas in schemas als alineas in een verhaal. Het opsplitsen van een schema in afzonderlijk gelabelde secties per pagina kan de leesbaarheid vergroten als het goed wordt gedaan. U kunt bijvoorbeeld een pagina hebben voor de sectie stroomingangen, de directe microcontroller-aansluitingen, de analoge ingangen, de vermogensuitgangen van de H-brugaandrijving, de ethernetinterface, enz. Het is eigenlijk handig om het schema op deze manier op te splitsen, zelfs als het had niets te maken met de tekengrootte.
Hier is een klein gedeelte van een schema dat ik heb ontvangen, dit is van een screenshot van een enkele pagina van het schema gemaximaliseerd in Acrobat Reader op een scherm van 1920 x 1200.
In dit geval werd ik gedeeltelijk betaald om naar dit schema te kijken, dus ik accepteerde het, hoewel ik heeft waarschijnlijk meer tijd gebruikt en daarom de klant meer geld in rekening gebracht dan wanneer het schema gemakkelijker was geweest om mee te werken. Als dit van iemand was die op zoek was naar gratis hulp zoals op deze website de site, zou ik bij mezelf hebben gedacht dit te verdraaien en ging verder met het beantwoorden van de vraag van iemand anders.
-
Label sleutelnetten
Met schematische opnameprogrammas kunt u netten doorgaans goed leesbare namen geven. Alle netten hebben waarschijnlijk namen in de software, alleen dat ze standaard op een of andere gobbledygook staan, tenzij je ze expliciet instelt.
Als een net is opgedeeld in visueel niet-verbonden segmenten, dan moet je mensen absoluut de twee laten weten schijnbaar losgekoppelde netten zijn in feite hetzelfde. Verschillende pakketten hebben verschillende ingebouwde manieren om dat te laten zien. Gebruik alles wat werkt met de software die je hebt, maar geef het net in ieder geval een naam en toon die naam bij elk afzonderlijk getekend segment. Beschouw dat als de kleinste gemene deler of gebruik “luchtdraden” in een schema. Als uw software het ondersteunt en u denkt dat het helpt met de duidelijkheid, gebruik dan in ieder geval kleine “springpunt” -markeringen of wat dan ook. Soms geven deze je zelfs het blad en de coördinaten van een of meer overeenkomstige springpunten. Dat is allemaal geweldig, maar geef zon net toch een label.
Het belangrijke punt is dat de kleine naamstrings voor deze netten automatisch door de software worden afgeleid van de interne netnaam. Teken ze nooit handmatig als willekeurige tekst dat de software niet begrijpt als de netnaam. Als afzonderlijke delen van het net ooit per ongeluk worden losgekoppeld of een afzonderlijke naam krijgen, zal de software dit automatisch laten zien, aangezien de weergegeven naam afkomstig is van de daadwerkelijke netnaam, niet iets dat u afzonderlijk invoert. Dit lijkt veel op een variabele in een computertaal. U weet dat meervoudig gebruik van het variabelesymbool naar dezelfde variabele verwijst.
Een andere goede reden voor netnamen zijn korte commentaren. Ik geef soms een naam en laat dan de namen van netten zien, alleen om een snel idee te geven wat het doel van dat net is. Als u bijvoorbeeld ziet dat een net “5V” of “MISO” wordt genoemd, kan dit veel helpen bij het begrijpen van het circuit. Veel korte netten hebben geen naam of verduidelijking nodig, en het toevoegen van namen zou meer pijn doen vanwege de rommel dan dat ze zouden verlichten. Nogmaals, het hele punt is duidelijkheid. Toon een betekenisvolle netnaam als dit helpt bij het begrijpen van het circuit, en don t wanneer het meer afleidend dan nuttig zou zijn.
-
Houd namen redelijk kort
Alleen omdat je software je 32 of 64 karakter netto namen laat invoeren, wil dat nog niet zeggen dat je dat zou moeten doen. Nogmaals, het punt gaat over duidelijkheid. Geen namen is geen informatie , maar veel lange namen zijn rommelig, waardoor de duidelijkheid afneemt. Ergens daartussenin is een goede afweging. Doe niet zo gek en schrijf 8 MHz klok naar mijn PIC als je gewoon CLOCK, CLK of 8MHZ “zou dezelfde informatie overbrengen.
Zie deze ANSI / IEEE-standaard voor aanbevolen afkortingen voor pincodes.
-
Symboolnamen in hoofdletters
Gebruik alleen hoofdletters voor netnamen en pinnamen. Pinnamen worden in datasheets en schemas bijna altijd in hoofdletters weergegeven. Diverse schemaprogrammas, waaronder Eagle, staan zelfs geen kleine letters toe. Een voordeel hiervan, dat ook helpt als de namen niet te lang zijn, is dat ze in de gewone tekst uitkomen. Als je echte commentaren in het schema schrijft, schrijf ze dan altijd in hoofdletters, maar zorg ervoor dat je symboolnamen in hoofdletters gebruikt om duidelijk te maken dat het symboolnamen zijn en geen deel uitmaken van je verhaal. Bijvoorbeeld: “Het ingangssignaal TEST1 gaat hoog om Q1 in te schakelen, waardoor de processor wordt gereset door MCLR laag te sturen.” . In dit geval is het duidelijk dat TEST1, Q1 en MCLR verwijzen naar namen in het schema en geen deel uitmaken van de woorden die u in de beschrijving gebruikt.
-
Toon ontkoppelingskappen per onderdeel
Ontkoppelingskappen moeten fysiek dicht bij het onderdeel zijn dat ze ontkoppelen vanwege hun doel en fundamentele fysica. Laat ze op die manier zien. Soms heb ik schemas gezien met een stel ontkoppelingskappen in een hoek. Deze kunnen natuurlijk overal in de lay-out worden geplaatst, maar door ze bij hun IC te plaatsen, laat je in ieder geval de bedoeling zien van elke dop. Dit maakt het veel gemakkelijker om te zien dat er op zijn minst aan de juiste ontkoppeling is gedacht, het is waarschijnlijker dat er een fout wordt gemaakt in een ontwerpbeoordeling en het is waarschijnlijker dat de dop daadwerkelijk terechtkomt waar hij bedoeld is wanneer de lay-out is voltooid.
-
Punten verbinden, kruisen niet
Teken een punt op elk kruispunt. Dat is de conventie. Wees niet lui. Elke competente software zal dit hoe dan ook afdwingen, maar verrassend genoeg zien we hier nog steeds af en toe schemas zonder verbindingspunten. Het is een regel. Het maakt ons niet uit of je het stom vindt of niet. Zo wordt het gedaan.
Een beetje gerelateerd, probeer knooppunten op Ts te houden, niet 4- weg kruisen. Dit is niet zo moeilijk als regel, maar dingen gebeuren. Als twee lijnen elkaar kruisen, de ene verticaal en de andere horizontaal, is de enige manier om te weten of ze met elkaar zijn verbonden, of het kleine knooppunt aanwezig is. In vroegere dagen, toen schemas routinematig werden gefotokopieerd of anderszins optisch gereproduceerd, konden knooppuntpunten na een paar generaties verdwijnen, of soms zelfs bij kruisen verschijnen als ze er oorspronkelijk niet waren. Dit is minder belangrijk nu schemas meestal in een computer zitten, maar het is geen slecht idee om extra voorzichtig te zijn. De manier om dat te doen is door nooit een kruispunt met vier richtingen te hebben.
Als twee lijnen elkaar kruisen, zijn ze nooit met elkaar verbonden, zelfs niet als het er na wat reproductie- of compressieartefacten uitziet alsof er een punt is. . Idealiter zijn verbindingen of cross-overs ondubbelzinnig zonder verbindingspunten, maar in werkelijkheid wil je zo min mogelijk kans op misverstanden. Maak alle kruisingen Ts met stippen, en alle kruisende lijnen zijn daarom verschillende netten zonder stippen.
Als je terugkijkt, zie je dat al deze regels erop gericht zijn om het zo te maken zo gemakkelijk mogelijk voor iemand anders om het circuit van het schema te begrijpen, en om de kans te maximaliseren dat het begrip correct is.
- Goed schemas tonen je het circuit. Slechte schemas zorgen ervoor dat je ze ontcijfert.
Er is nog een ander menselijk punt hieraan. Een slordig schema toont gebrek aan aandacht voor detail en is irriterend en beledigend voor iedereen die je vraagt ernaar te kijken. Denk er over na. Het zegt tegen anderen “Uw ergernis met dit schema is” mijn tijd niet waard om het op te ruimen “ wat in feite zegt ” Ik “ben belangrijker dan jij” . Dat is in veel gevallen niet slim om te zeggen, zoals wanneer je hier om gratis hulp vraagt, je schema aan een klant, docent, enz. Laat zien.
Netheid en presentatie tellen. Veel. Elke keer dat u iets presenteert, wordt u beoordeeld op de kwaliteit van uw presentatie, of u nu denkt dat dat zo is het zou moeten zijn of niet. In de meeste gevallen zullen mensen het u ook niet vertellen. Ze gaan gewoon door met het beantwoorden van een andere vraag, niet op zoek naar een aantal goede punten die het cijfer een tandje hoger kunnen maken, of nemen iemand anders in dienst, enz. geef iemand een slordig schema (of ander slordig werk van jou), het eerste dat ze “gaan denken is ” Wat een eikel “. Al het andere dat ze van je denken en je werk zal gekleurd zijn door die eerste indruk. Wees niet die verliezer.
Reacties
- Mijn tien cent: hoewel ik graag kleur gebruik om op het scherm ondubbelzinnig te maken Geef ik de voorkeur aan de manier waarop monochrome schemas er in print (of pdf) uitzien. Conventies en æ -stijlen zijn geëvolueerd voor zwart-witwerk, en niet iedereen heeft toegang tot een kleurenprinter / fotokopieerapparaat, zodat kleurinformatie verloren kan gaan. Ik hou er ook van om niet afhankelijk te zijn van kleur (een van mijn collegas is kleurenblind, wat af en toe leidt tot semi-grappige incidenten met kleurgecodeerde LED-statuslampjes. Dus ik ‘ ben hier erg gevoelig voor geworden).
- Misschien ‘ s vanwege mijn programmeerachtergrond, maar ik merk dat ik er vaak de voorkeur aan geef ” luchtkabels ” voor veel dingen. Als ik twee pinnen op de CPU zie met het label ” DATA_TO_FTDI ” en ” DATA_FROM_FTDI “, ik kan in één oogopslag zien dat die pinnen naar de data RX / TX pinnen op de FTDI-chip gaan (of in ieder geval zouden moeten). Een blik op de FTDI-chip kan dat bevestigen.Ik kan die namen dan vergelijken met de definities van de pinnen op het apparaat (aangezien sommige apparaten die zich als communicatiebruggen gedragen, TX als uitvoer gebruiken (ze verzenden gegevens op die pen), terwijl andere het als invoer gebruiken (gegevens accepteren om te worden elders verzonden).
- @supercat – Het probleem met luchtkabels is dat zelfs als waar ze heen gaan, je nooit zeker weet (zonder een uitgebreide zoekopdracht), dat je overal hebt gevonden ze gaan. Voor je ” DATA_TO_FTDI ” voorbeeld, wat als er een seriële activiteits-LED op die bus is? Of een andere apparaat dat de seriële interface deelt? Ik kan het nooit zeker weten zonder handmatig ELK net-label op het hele schema te bekijken.
- Hoewel luchtdraden goed kunnen werken bij eenvoudige projecten, zoals zodra je meer dan een paar ICs hebt, of je schema uitgroeit tot meer dan één pagina, valt het volledig uit elkaar. Bovendien is het ‘ absoluut vergif in elke omgeving waar je Er werken meerdere mensen met de schemas. De analogie tussen luchtdraden en GOTO is zeer toepasselijk. Ze laten je allebei snelkoppelingen maken, en beide maken het resulterende systeem FAR moeilijker te onderhouden.
- De TIA-schemas gevonden op atariage.com/2600/ archieven / schematics_tia / index.html maken veel gebruik van luchtkabels, maar ik kan me ‘ niet voorstellen dat tekening in alle ” air wired ” verbindingen zouden ze nog duidelijker maken. Zelfs zonder geautomatiseerde systemen om netverbindingen te vinden, kan ik ‘ me niet voorstellen dat alle verbindingen naar HΦ1 / HΦ2 of D0-D7 of het schrijfadres van onderaf worden gedecodeerd van pagina 2, enz. zouden de schemas duidelijker maken. Eigenlijk ben ik ‘ nogal onder de indruk van die schemas; inderdaad, ze ‘ zijn beter dan veel nieuwere.
Antwoord
1. Laat je werk zien Een schematisch diagram is bedoeld als documentatie van een circuit. Als zodanig raad ik ten zeerste aan om eventuele eenvoudige vergelijkingen op te nemen die kunnen worden gebruikt. Dit omvat LED-stroomberekeningen, filterhoekfrequenties, etc. Laat je werk zien, zodat de volgende man die het schema moet lezen het gemakkelijk kan controleren.
2. Geef de UART-richting aan Aangezien UART-lijnen niet altijd duidelijk zijn in welke richting ze stromen, voegt u een klein pijltje naast elke lijn toe om de richting aan te geven.
3. Wees consistent Gebruik VDD niet op de ene plaats en 3V3 op een andere. Standaardiseer.
4. Liberaal annoteren Dit is als commentaar in de broncode. Als je een circuit uit een datasheet hebt gekopieerd, plaats de referentie dan in het schema zodat iemand anders (of jij) het later kan controleren.
Antwoord
Hier zijn mijn twee cent
1. Splits het op Splits uw ontwerp op in modules. Zet een blokschema van het systeem op de eerste pagina van het schema.
2. Antwoord wie, wat, waar, wanneer, waarom Wie – Label voor elke modulepagina “met wie” de module verbinding maakt. Leg het van links naar rechts neer zodat het als Engels leest.
Wat – Geef in de titel aan wat de module is. Voor gevallen waarin er meerdere I / O-blokken zijn (d.w.z. UART en USB), label het dan als zodanig op de pagina.
Waar – Gebruik vrije tekst in het CAD-programma om de plaatsing van componenten aan te geven. Bijvoorbeeld – een ontkoppelingskap moet zo dicht mogelijk bij de IC worden geplaatst. Dit werkt als een snellere referentie bij het opmaken van het bord dan als verwijzing naar andere documentatie.
Wanneer – Zijn er overwegingen met betrekking tot de timing, zoals het bepalen van de volgorde van de stroomtoevoer of het stroomuitvalcircuit? Zet deze vereisten niet alleen in een ontwerpdocument, maar ook in vrije tekst op de relevante modulepagina.
Waarom en hoe – Dit hoort thuis in een begeleidend ontwerpdocument om zaken te verifiëren als
a. Reikwijdte – wat doet het circuit, wat doet het niet zoals afgesproken door de belanghebbenden voor het project.
b. Theorie van de werking
c. Rationale waarom de benadering werd gekozen in tegenstelling tot andere. Dit is cruciaal aangezien het dient als geschiedenis voor het circuit verderop wanneer jij (of iemand anders) de ontwerp rekening houdend met dezelfde beslissingen als de oorspronkelijke ontwerper.
d. Overwegingen bij de lay-out
e. Verwijzingen naar andere documentatie.
f. Berekeningen van vermogensdissipatie – bewijst niet alleen dat het werkt, maar dat het berekende vermogensverlies voor alle componenten een zekere mate lager is dan de classificatie voor het component EN bij alle bedrijfstemperaturen.
3.Stijl Dit is aan jou en de rest van het team, maar over het algemeen geef ik de voorkeur aan het volgende
a. Titelpagina / blokschema
b. Eén “blok” per pagina, waarin componenten met een groot aantal pinnen (d.w.z. een microcontroller) worden onderverdeeld in betekenisvolle discrete symbolen. Dit kost wat tijd, maar is de leesbaarheid zeker waard.
De modularisatie stelt je ook in staat om “een pagina uit te scheuren” en deze opnieuw te gebruiken in andere ontwerpen
c. Geef voor elk onderdeel de referentie-aanduiding op, of het al dan niet een no-pop is, de waarde / tolerantie van het onderdeel, het nominale vermogen, indien van toepassing, en de verpakkingsgrootte en een manier om het onderdeelnummer van de fabrikant te bepalen. Het laatste punt zal u helpen om een aantal componenten gemeenschappelijk te maken om de installatiekosten te verlagen en om een oordeel te vellen als sommige ontwerpparameters kunnen worden versoepeld om het aantal verschillende componenten dat op het bord wordt gebruikt te verminderen. Voor verticaal uitgelijnde componenten plaatst u deze tekst aan de linkerkant. Plaats voor horizontaal uitgelijnde componenten deze tekst boven de component.
d. Leg het circuit uit van links naar rechts en geef aan waar de module-interfaces zijn met tekst
e. Voor de duidelijkheid van de stroomrails: GEBRUIK GEEN VDD of VCC , aangezien deze dubbelzinnig zijn. Maak een nieuw symbool om expliciet aan te geven wat de spanning is. Hetzelfde voor aarde (d.w.z. GND voor aarde en AGND voor analoge aarde).
Antwoord
R100, R101, R102 In plaats van R1, R2, R3
Ik zou graag mijn ervaring willen delen met het toewijzen van namen aan componenten.
Identificeer de blokken van circuits volgens de functies. Zelfs als het een complex circuit is, kunt u ze identificeren, zoals de hoofdvermogensfase, voorversterker, versterker, A / D-conversiegedeelte, indicator- / transducerblokken, synchronisatiesectie, timer of andere logische bedieningssecties.
Mijn suggestie is om de componenten een naam te geven met grotere getallen zoals R100, R101, R102 in plaats van R1, R2, R3 … etc.
Je kunt 100, 200, 300 … etc toewijzen voor elk blok dat u identificeerde. U kunt bijvoorbeeld 100 tot 199 nummers toewijzen aan een vermogensgedeelte. Vervolgens alle componenten in het vermogensgedeelte in 1xx-vorm zoals Q100, R101, R103, C100, D100, D106.
Voordeel
- Het is gemakkelijk om de secties van een circuit functioneel te identificeren in een complex schematisch diagram.
- Gemakkelijk op te lossen.
- Het is gemakkelijk om de onderdelen een naam te geven als u later nieuwe componenten aan een sectie moet toevoegen. Omdat u ongeveer 100 naamopties heeft om te selecteren.
- Gemakkelijk om PCB-lay-outs handmatig in CAD-software te tekenen. Omdat aan het begin van de PCB-tekening elk type componenten op één plaats is verzameld.
U kunt ze gemakkelijk in verschillende plaatsen op nummer zonder vaak naar het schema te kijken.
Antwoord
Een paar punten naast de bovenstaande punten . Het eerste antwoord is nogal heroïsch, maar met één ding ben ik het niet eens.
Pinvolgorde in schematisch symbool.
Waarom pinnen opnieuw rangschikken Het maakt een esthetisch aantrekkelijker schema dat misschien gemakkelijker te interpreteren is, afhankelijk van hoe de pinnen zijn aangelegd.
Waarom pinnen niet opnieuw ordenen Het vraagt om problemen, punt. In het gegevensblad staan de pinnen worden gegeven zoals ze zijn in de fysieke chip, dus je creëert een aanzienlijke bron van fouten als je ze gaat herschikken. Het maakt niet alleen het moeilijker om prototypes te maken, je roept ook fouten op in de fysieke pinout. In een ontwerprecensie worden pinouts vergeleken en als ze “mengelmoes zijn,” is het gemakkelijk door elkaar te halen.
Nog een opmerking over “luchtdraden” Doe het gewoon niet. Gebruik in plaats daarvan poorten die je moet expliciet een verbinding maken tussen twee netten in dezelfde of afzonderlijke schemabladen. Als je netten laat verbinden zonder poorten / off-pages, open je een enorm blik wormen omdat schijnbaar niet-verwante netten in lay-out kunnen worden kortgesloten.
Pak niet te veel spullen op een pagina Mensen kunnen beginnen te klagen als je schema uit dertig paginas bestaat, maar het alternatief is heeft ratten nest van verwarrende bedrading tussen onderdelen. Verdeel het schema in logische blokken met circuits en plak ze indien nodig op aparte paginas.
Laat voldoende ruimte tussen de pinnen Veel vooraf gemaakte schematische symbolen pakken de pinnen van het apparaat zo strak mogelijk in. Hoewel dit het gebied van een symbool minimaliseert, maakt het het circuit ook moeilijker te lezen omdat er verbindingen zijn die van “buiten” samenkomen in de dicht opeengepakte pinnen. U moet voldoende ruimte overlaten zodat u serieweerstanden versprongen kunt toevoegen.
Referentie-aanduidingen Het is duidelijk dat u referentie-aanduidingen in schema en lay-out moet hebben. Voor alles wat complexer is, moeten deze worden besteld. Er zijn twee benaderingen.
-
Je kunt het schematische opnameprogramma vragen om deze te labelen, zodat elke pagina zijn eigen voorvoegsel heeft. Op deze manier is het gemakkelijk om een gegeven deel in de stuklijst van het schema. En ook ECO is gemakkelijker te volgen omdat u weet voor welke pagina de wijzigingen zijn bedoeld. Het nadeel hiervan is dat je lange referentie-aanduidingen krijgt en het vinden van het onderdeel in de lay-out moeilijk kan zijn.
-
Je kunt het lay-outprogramma vragen om deze te labelen. Op deze manier heb je referenties op de print besteld, wat het veel gemakkelijker maakt om weerstand R347 te lokaliseren. Bij voorkeur op een grotere printplaat wordt deze afgezet in kwadranten (sextanten, octanten ..). Het nadeel is dat het niet duidelijk is waar het onderdeel in het schema staat. Je kunt hier gewoon niet winnen, beide schemas zijn gemakkelijker te lezen of de lay-out is dat wel.
Opmerkingen
- Ik ben het gewoon niet eens over de volgorde van pinnen. Schemas mogen niet ‘ iets te maken hebben met de fysieke layout van de chip. Opamps moeten er bijvoorbeeld in een schema uitzien als opamps. Een quad-op-versterker moet er NIETS uitzien als de chip. Ook als het gaat om gecompliceerde hoge pin-aantallen, moeten de poorten worden opgesplitst in functionele eenheden.
- Goede punten, maar ik ben het met Scott eens dat het vermijden van het opnieuw ordenen van pins onzin is. Zeker met kleine fiches, maar schemas zijn 100% minder verwarrend als je in plaats van overal kriskras draden te laten kruisen, de pinnen op een chip opnieuw rangschikt en ervoor zorgt dat ze correct zijn gelabeld. Als pinnen op een schema die niet in de juiste volgorde staan genoeg zijn om iemand in de war te brengen, zouden ze ‘ om te beginnen waarschijnlijk niet met het bord moeten rommelen. Zijn opamp-punt is ook zeer geldig.
- Opamps zijn een speciaal geval, aangezien ik ‘ zeker weet dat je ‘ Ik ben het ermee eens, vergelijkbaar met transistors enz. Als je eindigt met een respin omdat je herschikking van schematische pinnen in een ongeldige footprint heeft geleid, heb je niet precies ‘ iets goeds gedaan.
- Footprints moeten worden vergeleken met het gegevensblad. Symbolen ook. Dat is de enige referentie die telt. Het heeft geen zin om een zelfgetekend symbool te gebruiken als referentie voor de footprint. Natuurlijk moet er een consistentiecontrole zijn tussen de twee, maar elke fatsoenlijke software zal dat doen en je aan beide kanten niet-verbonden pinnen laten zien.
- Antwoord in een nieuwere versie thread. Tot uw punt, @ScottSeidman.
Antwoord
Het grootste geschil dat ik zie in de discussie gaat over pin-order, maar dit is alleen een vraag over de grotere onderwerpen: Functioneel vs fysiek! Als ik een goed schema maak om mijn lay-outwerk voor te bereiden, dan is het veel beter om het schema zo dicht mogelijk bij de lay-out te laten lijken, bijvoorbeeld teken de volgorde van de pinnen niet op basis van wat iemand anders doet in het gegevensblad, maar zoals het werkelijk is. Overweeg ook om wat meer ruimte te laten rond grote elementen, zoals elektrische apparaten, bijv. teken ook een heatsink “symbool”. Als de grond sowieso een groot vliegtuig zou moeten zijn, ga dan ook beter voor verbindingen op naam, wat ook helpt om veel kruisingen te voorkomen. Aan de andere kant, als niemand het kruisen van gevoelige lijnen kan vermijden, teken dan het schema zodat het een richtlijn wordt voor een goede lay-out, bijv. de hoge-impedantiekant van een weerstandsdeler moet meestal een korte verbinding hebben, terwijl de aandrijfdraden vaak zonder problemen langer kunnen zijn.
Voor digitale ICs gebruik ik meestal automatische routers en houd ik me aan de functionele volgorde. Een ander controversieel onderwerp zou kunnen zijn hoe je een differentiële versterker tekent, en bijvoorbeeld een meertraps versterker, zoals zouden we elke fase op de gebruikelijke manier moeten tekenen en dan draad naar de volgende fase (die vaak in veel kruisingen terechtkomt), of moeten we de diff-paren echt symmetrisch tekenen (vaak gedaan in oude Tectronics osci-schemas)? Hier hangt het ook af van het doel, en hoe kritisch het houden van symmetrie echt is is. In RF-circuits, met vaak niet zoveel elementen, geef ik weer de voorkeur aan tekeningen die heel dicht bij de lay-out liggen.
Answer
A nog een paar:
- (1) Teken op een normaal raster.
Ik haat het echt te moeten omgaan met het werk van anderen dat op een half raster is getekend. een enorme verspilling van tijd en voegt geen enkele waarde toe aan de tekening.
- (2) Gebruik fysieke stijl voor kleinere apparaten.
Tekenen ICs en kleine componenten met de pinnen om te helpen w Het brengt uw intentie over op de lay-out en maakt het debuggen veel gemakkelijker. Dit geldt dubbel voor transistors en diodes in sot-23: ik teken ze met de volgorde van de pinnen, en als gevolg daarvan hoefde ik in jaren geen verkeerd opgemaakte exemplaar opnieuw te bewerken.
- (3) Realiseer je de limieten van (2) hierboven.
Het is niet mogelijk om fysiek een grote BGA te tekenen, of zelfs maar als één symbool. Maar je kunt in ieder geval op functie scheiden en laten zien hoe pinnen zich ruimtelijk tot elkaar verhouden. Een FPGA kan bijvoorbeeld worden getekend en opgedeeld om blokken te tonen die logische tegels vertegenwoordigen, en de tegels zelf kunnen op het schema worden geplaatst / geordend om te laten zien hoe ze uitlopen.
Historisch gezien, meerdelige symbolen voor elementen zoals op -amps of poorten waren logisch. Maar deze worden steeds zeldzamer in ontwerpen.
- (4) Genoemde aliassen binnen een pagina zijn ok, maar push ze niet.
Genoemde aliassen zijn eigenlijk hetzelfde als off-pages: het betekent dat je de pagina nog moet scannen om de andere exemplaren te zoeken. Met een pdf-schema en Ctrl-F is dit niet zon grote klus als vroeger (en je moet je fabrikanten schamen die niet-doorzoekbare pdfs maken. Dat is gewoon stom.) Dat gezegd hebbende, off-pages worden strenger gecontroleerd door DRC dan aliassen.
- (5) Blokdiagrammen en mechanische plannen zijn de moeite waard
De moeite die u hier besteedt om uw denken over te brengen, zal veel tijd besparen gedurende de levensduur van uw ontwerp – van lay-out tot reparatie. Ja, uw mechanische ontwerper zal de officiële bordomtrek maken, maar u kunt op zijn minst aangeven waar u verwacht dat dingen worden geplaatst – en waarom – door deze twee soorten diagrammen te maken.
- (6) Wanneer u uw schema naar PDF exporteert, maak het dan doorzoekbaar.
Is het echt te veel gevraagd?
- (7) voldoende componentinformatie.
Naast de referentie-aanduiding, zijn sommige ontwerpers in de verleiding om alle onderdeelattributen op het schema te hebben. Maar heb je ze echt nodig? Nee, dat is niet zo. Tolerantie soms. Spanning, soms als u een sectie heeft met een hogere spanning. Voetafdruk – misschien. Artikelnummer fabrikant? Zelden – u wilt meestal meerdere bronnen gebruiken. Corporate AVL / MRP-nummer? Nee, nooit.
Al dit andere is waar een stuklijst voor dient.
- (7a) Denk vooruit naar het genereren van stuklijsten.
Dat gezegd hebbende, kunt u door het ontwikkelen van een soort onderdeelnummersysteem, zelfs in uw begindagen, gedetailleerde stuklijsten maken, zelfs als u geen MRP-systeem heeft. Elk onderdeeltype moet een unieke ID hebben die is ingesteld als een verborgen attribuut in uw schema dat overeenkomt met een vermelding in uw hoofdonderdelenlijst (AVL-lijst). U gebruikt die ID later om de uitgebreide informatie uit uw AVL-lijst samen te voegen om de gedetailleerde stuklijst.
Zelfs later kunt u dit spul importeren in een echt MRP- of PLM-systeem zoals Oracle Agile.
- (8) Vermogen is ook een signaal !
Vroeger tekende je een schema met verborgen stroom- / aardingspennen die automatisch werden gealiast naar VCC of GND. Het is nog steeds een optie wanneer u bijvoorbeeld een symbool in Orcad maakt. Verberg die stroomaansluitingen niet! Toon ze! Vooral gezien de ontwerpen van vandaag met meerdere vermogensdomeinen, hoge vermogensdichtheid, routing, bypass, lusgebied, enzovoort.
Stroom is zo belangrijk dat als je niet minstens 1/3 van je tijd aan energieontwerp moet je een andere manier van werk overwegen.
- (9) Reacties zijn je vriend.
Het markeren van belangrijke elementen met tekst kan veel besparen van tijd in debuggen. Ik zal meestal dingen becommentariëren die betrekking hebben op software (bijv. Adressen, bitlocaties) en stroomontwerp (huidige typische / max, spanning).
- (10) Grootte is belangrijk.
Gebruik 11×8.5 (A-maat) voor heel eenvoudige dingen, 17×11 (B-maat) voor de meeste andere dingen. Ga alleen groter als dat echt nodig is.
17×11 (of het dichtstbijzijnde metrische equivalent) is een redelijk formaat om te bekijken op een HD-scherm of om zelfs af te drukken op 11×8.5. Het is een goede maat om mee te werken.
Aan de andere kant merk ik dat ik niet genoeg dingen kan krijgen op 11×8.5. En aan de andere kant is de andere kant het andere uiterste wanneer ik 23,5 x 15,2 (opgeschaalde B, niet C) heb gebruikt voor een echt complexe tekening die wordt gegroepeerd (bijvoorbeeld DRAM-banken): dit moet worden afgedrukt op 17×11 redelijk gemakkelijk te lezen zijn op papier.
Zoals het is, print ik zelden meer iets, dus zorgen maken over hoe hard copy eruit komt, is meer moeite dan het meestal waard is.
- (11) Links-rechts signaalstroom, stroomafname van boven naar beneden. Meestal.
Dit is de algemene standaard om het begrijpen van de relaties tussen elementen gemakkelijker te maken. Maar soms levert het meer gewicht op de architectuurstroom dan deze oude regel een duidelijker schema op.
- (12) Organiseer off-pages / ports in verticale groepen.
Het is niet nodig of handig om poorten naar de randen van het schema te slepen. Maar plaats ze in ieder geval in georganiseerde kolommen, zodat ze visueel gemakkelijk te scannen zijn.