Schema en layout
Schemata
Het *.sch.toml-bestand: geplaatste onderdelen, nets als lijsten van pinnen, netklassen, rails en de signaalniveau controle, en bladen voor grote ontwerpen.
Onderdelen zijn geplaatste symbolen; nets noemen de pinnen die ze verbinden. Draden worden voor je getekend op een raster van 1,27 mm, tenzij je ze zelf opgeeft.
name = "lna"
board = "lna" # net classes come from this board
no_connect = ["U2.7"] # pins left open on purpose
[[parts]]
ref = "U1"
symbol = "SPF5189Z"
value = "SPF5189Z"
at = [66.04, 50.8] # keep on the 1.27 mm grid
rotation = 90 # 0, 90, 180, 270, counter-clockwise
mirror = true # flip left to right before rotating
# unit = 2 # one [[parts]] per unit of a multi-unit symbol, same ref
# footprint = "SOT-89-3" # default: the symbol's footprint
# dnp = true
fields = { mpn = "Qorvo SPF5189Z" }
[[nets]]
name = "RF_OUT"
class = "RF" # a netclass of the board; without one the net is in "Default"
pins = ["C2.2", "J2.1", "L3.1"] # REF.PIN, by number or by a unique pin name
# style = "power" # wire (default) | label | power (ground and supply symbols)
# wires = [[[x, y], [x, y]], ...] # draw it yourself; check verifies it reaches every pinSpoorvoedingen en analoge ingangen, voor de signaalniveaucheck, komen bovenaan het bestand (of bovenaan het schema van een set sheets):
rails = { GND = 0, "3V3" = [3.25, 3.35], VBUS = [4.75, 5.25] } # volts, or [min, max]
analog = ["U1.13"] # inputs read by an ADC: only min and max applyMet rails ingesteld, berekent de controle de spanning die elke input met levels ziet: weerstanden (R-onderdelen, 1% tenzij het onderdeel een tolerance-veld heeft), schakelaars (SW-onderdelen, elke open en gesloten staat), open collector outputs (uit en laag), interne pulls en input-lekstromen, elk op zijn slechtste hoek over rail- en weerstandsbereiken. Het is een fout als de input tussen VIL en VIH kan zitten, als hij zweeft zonder iets die hem aan een rail koppelt, als lekstroom door een zwakke pull hem uit een geldig niveau verplaatst, en als hij buiten zijn min of max kan gaan. Binnen 100 mV van een drempel is een waarschuwing. Een net met iets anders erop (een output, een connector, een diode, een voedingpint van een net niet in rails) wordt gestuurd door iets dat het niet kan modelleren en wordt overgeslagen. Condensatoren en testpunten worden genegeerd. Een bidirectionele pin mag aan het sturen zijn: tenzij een schakelaar of open collector op het net aangeeft dat hij getrokken wordt, worden de andere inputs op zijn net overgeslagen en wordt hij niet als zwevend gerapporteerd.
Bladen
Splits een groot ontwerp in één schema per sectie en voeg ze samen in een bovenliggend schema dat ze opsomt. De layout plaatst het bovenliggende.
name = "sdr" # sdr.sch.toml
board = "sdr"
sheets = ["power", "fpga", "rf", "usb"]Elk blad is een gewone schema-bestand met zijn eigen onderdelen en nets. Nets sluiten aan over bladen via naam, dus 3V3 op elk blad is één net en een signaal verlaat één blad en komt op een ander aan onder dezelfde naam. De pinnen van een net moeten onderdelen op hetzelfde blad zijn; een net die bladen overspant, heeft overal dezelfde class nodig waar hij die noemt, en wordt getekend met labels. Referenties zijn uniek over het hele ontwerp. Een blad op zichzelf slaat de waarschuwingen voor enkele-pinnen en Default klasse over (de rest van het net, en zijn klasse, kan op een ander blad zitten); het bovenste schema voert elke controle uit op het samengevoegde ontwerp en tekent de bladen gestapeld van boven naar beneden. Het bovenste bestand kan ook onderdelen en nets van zichzelf bevatten.
De controle rapporteert pinnen in twee nets, pinnen in geen net, enkele-pinnen nets, meerdere outputs op één net, handgetekende draden die een pin missen of een pin van een ander net raken, overlappende onderdelen, footprints waarvan de pads de pinnen van het symbool niet dekken, en signaalniveaus als rails is ingesteld. Elk net in de Default-netklasse is een waarschuwing, of het nu geen klasse noemt of Default: de klasse stelt de breedte, clearance, vias en routingvolgorde van het net in, dus elk net zou moeten zeggen wat het is. De waarschuwing heeft een printplaat en een layout van het schema nodig; een schema dat alleen gesimuleerd wordt (zoals examples/logic) slaat hem over. Geef de printplaat een klasse per soort net (Signal, Data, Clock, Analog, Ground, Power, RF, paren) en houd Default als de fallback die de layout gebruikt voor regels die geen klasse dekt. agentee show sch:lna print de positie van elke pin.