pcb-rnd knowledge pool
intnoconn - pretend objects are not connected in a subc
intnoconn by Tibor 'Igor2' Palinkas on 2018-02-10
Tags: howto, intnoconn, antenna, microwave, filter, ground, gnd, star, grounding, agnd, dgnd, pgnd, connecting, connect, single, point, hub
Abstract: There are various applications where a special subcircuit is needed: a subcircuit that has multiple pins/pads that are connected in copper within the subcircuit, but the rest of the system should see it as if the pins/pads were not connected. Typical examples are antennas, microwave parts etched in copper, PCB coils, star grounding. The intnoconn attribute solves all these problems.
The optional intnoconn attribute is an object attribute that can be used on any copper object in a subcircuit. The key of the attribute is intnoconn and the value is an integer between 1 and 255.
The value is interpreted as a group number. If two objects within the same subcircuit have the same intnoconn group, the code will pretend they are not connected even if they overlap.
This controls only direct connections, and only connections within the subcircuit. In other words, board objects, objects of other subcircuits, or objects not tagged with the same intnoconn group within the subcircuit still can make a galvanic connection between the intnoconn objects. Thus shorts caused accidentally are still detected.
How to use it
Either before converting board objects into subcircuit, or when a subcircuit is being edited, select two (or more) copper objects, and press ctrl+e to get the property editor:
[TODO: screenshot: property editor without the intnoconn attr]
Add a new attribute with key intnoconn and value 1 (or another integer that is not yet used for intnoconn in the given subcircuit).
[TODO: screenshot: property editor while editing the new attribute]
[TODO: screenshot: property editor showing the new attributes]
Close the attribute dialog and save.
PCB loop antenna
The loop antenna typically has two terminals and a closed loop of copper tracks connecting them. It is enough to break the loop with intnoconn at one, random place. In this example the two line objects next to the refdes are set to intnoconn group 4. Pressing 'f' on either pad shows how find.c stops at the junction of the two lines.
[TODO: screenshot: antenna, f on pad 1]
[TODO: screenshot: antenna, f on pad 2]
A PCB coil is a very similar example to the above PCB loop antenna application. The same goal is achieved the same way:
[TODO: screenshot: coil, f on pad 1]
[TODO: screenshot: coil, f on pad 2]
PCB microwave parts
A microwave PCB filter is also a very similar example to the above PCB two: a series of often galvanically connected polygons, with geometry carefully calculated/simulated, with pads on each end. For DC, this object is a short. For microwave, it is a component, a filter, so the two pads are not connected netlist-wise, just as we don't consider the two pads of a coil or choke connected. The same goal is achieved the same way:
[TODO: screenshot: filt1, f on pad 1]
[TODO: screenshot: filt1, f on pad 2]
A typical application is to have separate ground (or power) networks, e.g. one for analog, one for digital, and a third for power. These networks are connected galvanically, but they are connected only on a specific spot, usually close to the PSU and/or carefully designed filters.
This is a contradiction: galvanically the three ground networks are connected, yet we ask our toolchain to handle them as separate networks, yet if we don't connect them at the end, it should be considered a bug.
A trivial solution that resolves this contradiction is using a subcircuit that features three overlapping pads, all put in the same intnoconn group. The subcircuit should have a refdes and the pads should be numbered. The subcircuit should be explicitly drawn on the schematics, as a 3 pin device.
[TODO: screenshot: star grounding]
Complementer feature is intconn , which can create non-copper internal connections within a subcircuit.