May 24, 2021
09:01 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 24, 2021
09:01 AM
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
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
Solved! Go to Solution.
1 Solution
May 25, 2021
10:33 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 25, 2021
10:33 PM
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
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
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
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
2 Replies
May 25, 2021
10:33 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 25, 2021
10:33 PM
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
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
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
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
May 26, 2021
12:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 26, 2021
12:38 AM
Dear Vasanth,
thank you very much for your answer, very useful. I overlooked it in the manual...
Best regards
Gili
thank you very much for your answer, very useful. I overlooked it in the manual...
Best regards
Gili