XMC4000 Chip Select lines for SPI

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User18120
Level 1
Level 1
Dear All,

I would like to use an XMC4500 as a SPI master to talk to seven SPI slaves.

Accordingly to the documentation, the XMC4500 has eight chip select lines (SELOx with x=0..7).
Unfortunately when you try to configure the hardware (e.g. XMC Pinout Tool), you face the situation where only four lines can be assigned to a physical pin!?! (SELO[0:4] un U1C1)
Moreover, two pins are shared with the SD/MMC module, therefore if the project also need to use the SD/MMC, only 3 SELO are left.
Accordingly to the documentation, it is possible to use the SELO lines in a "coded" mode: in this case SELO0=MSLS, therefore only two SELOx are left, which may correspond to 4 SPI master, too few...

Now, I wonder why the SPI has the capability for 8 SELOx, but the real situation is that only 5 are actuallly available to physical pins, and in case of SD/MMC only 3 are available...!

It seems that to address more SPI slaves, the only workaround is to use some GPIO pins, with the risk of difficulties for the shyncronization.

Do I miss something in the documentation? Is there any other possibility?

Thank you very much for any hints.

Gili
0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked
Hi Gili,

Even though the SPI module has the capability of connecting to 8 lines, there are limitations specefic to device and USIC block you have taken. As you are using XMC4500 device if you could use U0C0, you have access to more SELO lines
5163.attach

So if the package you have selected does not expose all these pins, unfortunately the number of slave select lines will get limited.

Best Regards,
Vasanth

View solution in original post

0 Likes
2 Replies
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked
Hi Gili,

Even though the SPI module has the capability of connecting to 8 lines, there are limitations specefic to device and USIC block you have taken. As you are using XMC4500 device if you could use U0C0, you have access to more SELO lines
5163.attach

So if the package you have selected does not expose all these pins, unfortunately the number of slave select lines will get limited.

Best Regards,
Vasanth
0 Likes
User18120
Level 1
Level 1
Dear Vasanth,
thank you very much for your answer, very useful. I overlooked it in the manual...
Best regards
Gili
0 Likes