I am trying to use four MUXes to send 4x8 identical sensors onto an I2C bus. Let's call my four types of sensors A,B,C,D. Eight of each means 32 sensors that I need to 8:1 MUX onto one I2C bus.
I'm trying to accomplish this with top sheets and multichannel design. From the picture below, you can see that I have a Sensors.SchDoc sheet repeated eight times. It has four distinct sensors on it, repeated eight times, but I have only shown two of them in the picture for simplicity. I send the 1..8 SDA lines on four busses and the 1..8 SCL lines on four busses. Then all 64 outputs (32 data, 32 clock) go into the I2C MUX (TI TCA9548A) and create one pair of SDA and SCL lines (RM_I2C1_SDA and RM_I2C1_SCL) which go to my MCU.
This shows my top sheet with the 8x repeated Sensors.SchDoc bussed into the single SDA Multiplexers.SchDoc sheet with four multiplexers on it.
Here is my first Sensors.SchDoc sheet.
And here is one of my repeated Sensors.SchDoc sheets. You can see the the U? and C? designators are updating, but not the ports, which I need to be BME680_SDx depending on the sheet number.
Here is my multiplexer sheet. Each of the four MUXes share the same output SDA and SDL nets which go to the MCU.
It's been a painstaking naming process and I've got a bunch of compiler errors.
I've already referenced these articles: Altium. Multichannel design. How to specify the repeat(port) connection order? Altium: Harness as output of MultiChannel block https://techdocs.altium.com/display/ADOH/Multi-Channel+Design+Concepts
I'm guessing I need to use the REPEAT() function somewhere but I tried it for my Sensors.SchDoc sheet ports but then I got errors saying that my sheet port names didn't match my schematic port names.