3
\$\begingroup\$

I'm designing a PCB in Altium that contains three of the same motor driver IC's (L6470H) which all communicate via SPI bus. As you can see below, I have repeated blocks to avoid redoing the same schematic.

enter image description here

The problem I'm having is related to merging the ports of every block so that they connect to the a single MOSI and MISO pin on my microcontroller. What I am currently doing is taking the SPI bus from every block and creating a bus which will be terminated elsewhere in my hierarchical design.

In my higher level schematic below, I attempted combined buses by simply terminating a MOSI bus into a single MOSI wire thats connected to my STM microcontroller. Although the schematics do compile, my PCB layout is missing a rats nest between all the SPI pins for the motor drivers and microcontoller. As a result, I dont think my method is correct and could really use some advice!

How do you short pins between repeated blocks?

enter image description here

Thank you.

\$\endgroup\$
1
\$\begingroup\$

For you SPI bus, remove the REPEAT(..) from each of the ports that you want shared. That will tie them all together.

\$\endgroup\$
1
\$\begingroup\$

I would remove the REPEAT statement for all ports, and use 3 instances of sheet symbols. Yes, this requires a little more space but you are more free in placing your connections, especially if you're using daisy chaining for various signals. Also, make sure that each SPI Chip Select connects to its targeted instance.

An additional benefit of using 3 instances instead of using the REPEAT statement: You immediately see that there is three times the same block.

Here is an example of how I would do it: enter image description here

The situation is a little bit different, but it's two times the same instance without using the REPEAT keyboard. It uses the same SPI bus but two different control interfaces. For your daisy-chaining you would need to connect one signal from the first block to second and so on.

What you really should be after is an easily understandable design. Put yourself in the role of the software engineer who needs to understand your schematic. It will take him (or her) a while to comprehend the REPEAT statement whereas you as an electronics engineer gain nothing but a little space. Or to put it differently: "I see three blocks, there are three things of whatever" in comparison to "I see one block with some crazy looking netnames, let's go ask the electronics engineer".

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.