In a project I have two sections, say A and B, each with their own RS485 and CAN communication lines. In their own sheets I created appropriate bus for them, namely A_RS485, B_RS485, A_CAN and B_CAN using BUS Alias Definition window and added TX and RX as nets for all of them. When these buses come to the MCU page, the nets from these buses connect to each other on the PCB since they share the same net names?
Do I have to create unique net names for each bus or is there any other elegant way to do this?
Thanks!
maybe using a NetTie_3_Tee component? This can be use to isolate net names:
No, I may have misunderstood and 2 may be enough.
Hi,
I am experiencing the same problem with netnames in different busses that should not be connected together :
(net (code "74") (name "/Profibus ASIC/miso")
(node (ref "CN901") (pin "7") (pinfunction "D0") (pintype "bidirectional"))
(node (ref "IC501") (pin "47") (pinfunction "SPI_miso") (pintype "output"))
(node (ref "IC601") (pin "124") (pinfunction "SSI1xdat1") (pintype "bidirectional"))
(node (ref "IC601") (pin "38") (pinfunction "SSI0xdat1") (pintype "bidirectional")))
(net (code "75") (name "/Profibus ASIC/mosi")
(node (ref "BH601") (pin "3") (pintype "passive"))
(node (ref "IC501") (pin "1") (pinfunction "SPI_mosi") (pintype "input"))
(node (ref "IC601") (pin "123") (pinfunction "SSI1xdat0") (pintype "bidirectional"))
(node (ref "IC601") (pin "2") (pinfunction "SSI2xdat0") (pintype "bidirectional"))
(node (ref "IC601") (pin "37") (pinfunction "SSI0xdat0") (pintype "bidirectional"))
(node (ref "IC901") (pin "2") (pinfunction "A") (pintype "input")))
(net (code "76") (name "/Profibus ASIC/rst")
(node (ref "IC501") (pin "12") (pinfunction "rst") (pintype "input"))
(node (ref "IC601") (pin "126") (pinfunction "pd5") (pintype "input")))
(net (code "77") (name "/Profibus ASIC/rx")
(node (ref "IC501") (pin "15") (pinfunction "rxd") (pintype "input"))
(node (ref "IC801") (pin "5") (pinfunction "rxd") (pintype "output")))
(net (code "78") (name "/Profibus ASIC/sck")
(node (ref "IC501") (pin "48") (pinfunction "SPI_sck") (pintype "input"))
(node (ref "IC601") (pin "120") (pinfunction "SSI1clk") (pintype "bidirectional"))
(node (ref "IC601") (pin "35") (pinfunction "SSI0clk") (pintype "bidirectional")))
(net (code "79") (name "/Profibus ASIC/ss")
(node (ref "IC501") (pin "3") (pinfunction "~{SPI_ss}") (pintype "input"))
(node (ref "IC601") (pin "121") (pinfunction "SSI1Fss") (pintype "bidirectional"))
(node (ref "IC601") (pin "36") (pinfunction "SSI0Fss") (pintype "bidirectional"))
(node (ref "IC903") (pin "2") (pinfunction "A") (pintype "input")))
How can I prevent the signals being connected together ?
Other then giving them different net names in the busses I have in the schematic.
I have the following busses with (the same) signal names in my schematic :
Profi_bus
mosi
sck
…
NKK_bus
mosi
sck
…
SDC_bus
mosi
sck
…
These are from different interfaces of the microcontroller.
I am using v8.0.8 on debian linux
Currently working on a project and I do not want to upgrade to v9 until after this project is finished.
The bus name should be part of the net name which would solve this problem.
Roelof
In order to connect 2 different nets sharing ‘electrically’ the same point you have to put something in the middle. Could be a 0R resistor or just a net-tie. This or living with only one net will be present in the netlist.
The mosi signals, as example, of the three different busses, Profi_bus / NKK_bus / SDC_bus, are not to be connected together. Same goes for all the other signals with the same names. So a net tie is out of the question.
I just stumbled over the same problem.
Once connected to a bus, the internal net name of the signals should have the bus alias as prefix.
Did you already check if this is a feature request in gitlab?
@gschelotto You got the question wrong
A few years ago I experimented a bit with bus names, and made an example project for that:
https://forum.kicad.info/uploads/short-url/9nKLBpe9nRT1pDm8b8NGEl6RPYB.zip
A bus has a bunch of wires, each with its own net name. A wire can be part of multiple busses and that is very important to be allowed as such. It will be a fatal mistake to split and disconnect a wire, only because is part of multiple busses.
The industry standard: use local scope or global scope for net names in a bus, do not artificially split a net name only because is part of multiple busses. If you need to, create different names for wires you do not want to be connected together.