Changing SPI pins on the fly

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

cross mob
JaSi_1632926
Level 4
Level 4
Welcome! 25 replies posted 10 replies posted

Hi,

We have the need of reconfiguring a (SCB) SPI Master while the system is running. We need to re-assign it to different pins (MOSI, MISO, CLK, SS). Of course the specific SPI block doesn't have to be active when it's being reconfigured, but the rest of the system should.

To achieve this we should have to reconfigure the port configuration (GPIO_PRTx_* registers) as well as the DSI (UDB_DSI_* registers). However, it's hard to find documentation for the DSI interconnect and its registers. Is there a logical "map" of this part of the PSoC available? The "Top Level Architecture" figure in start of section D of the TRM doesn't give any details. Compare this with the excellent documentation of the UDBs (for instance figure 32-4 "PLD Macrocell Architecture").

Creating the two different configurations and checking the differences in the generated cyfitter_cfg.c gives some information, but the diff is probably bigger than it has to be - the compiler may very well change other, unrelated things, due to such a change.

We want to be able to switch to use pins 0, 1, 2, 4 from port 9 or port 3.

Thanks, Jacob

0 Likes
1 Solution
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi Jacob,

The entire PSoC 6 MCu registers are available at  http://www.cypress.com/documentation/technical-reference-manuals/psocr-6-mcu-psoc-63-ble-registers-t...

Please refer ti HSIOM registers availabe at: 15 High speed IO matrix registers

An easy method is to generate the HSIOM register configurations by manual routing (ie port 9 and 3) in your final project with all other digital routing. Later, at the stage of dynamical routing, you can stop the port 9 pins, update the port 3 HSIOM configurations and route to port 3.

Regards,

Bragadeesh

Regards,
Bragadeesh

View solution in original post

0 Likes
1 Reply
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi Jacob,

The entire PSoC 6 MCu registers are available at  http://www.cypress.com/documentation/technical-reference-manuals/psocr-6-mcu-psoc-63-ble-registers-t...

Please refer ti HSIOM registers availabe at: 15 High speed IO matrix registers

An easy method is to generate the HSIOM register configurations by manual routing (ie port 9 and 3) in your final project with all other digital routing. Later, at the stage of dynamical routing, you can stop the port 9 pins, update the port 3 HSIOM configurations and route to port 3.

Regards,

Bragadeesh

Regards,
Bragadeesh
0 Likes