I am designing a Schematics for one of my big project. I am using Hierarchical Design for my project. My Schematics has one processor which has 5 UART. The UART nets have names like UART1_TX
, UART2_RX
. I have to move such signals from child
sheet to top level sheet
and from top level sheet
to various other sheets via Sheet Symbols
and Sheet Entries
.
After reading this article, I got to know Buses
should be used only with signals (or net labels) which has sequential names like Data0
, Data1
and etc.
But in the past, I was using a Bus
to collect signals like UART1_TX
and UART1_RX
and move from sheet to sheet. The Net Identifier scope was set to Global
. I was actually following the way that has been presented on these Evaluation board Altium Projects. I realized now that Bus
in my earlier practices weren't actually doing anything as the Net Identifier scope was set to Global
.
I want to know is Signal Harness
is a right Net Identifier
for my signals (UART1_TX
and other GPIO signals GPIO_PIN_20
)?
Why it is not being used in above Evaluation Projects?
Below is the picture of my harness:
Answer
You're using harnesses in a slightly strange way - not wrong as in "it will work and at least the signals are grouped" but what I would do is to do the following:
- Learn the difference between a harness type and the harness name (net label put onto the harness). The harness type is e.g. UART, it will have four signals named RXD, TXD, RTS, CTS. Think of object oriented software. You have a type (class) and you generate multiple instances (UART1, UART2, UART3, ... all of them are of type UART).
- With that knowledge, separate the 3 harnesses from your picture; all of them are of type UART (same type) but you apply different net labels to each of the harnesses (UART1, UART2, ..).
- Now, automatically you will get the following signal names in the PCB: UART1.RXD, UART1.TXD, ... You'll also get the correct net classes if you have set the option in the project options
You probably weren't really using busses because as you state, the signal names for your bus must be somewhat sequential and RX/TX do not follow that. As you said, AD probably connected your net labels through the "global" setting which I would recommend against.
No comments:
Post a Comment