Showing results for 
Search instead for 
Did you mean: 

PSoC™ 5, 3 & 1

New Contributor II


I'd like to use PSoC5 as a kind of "bridge". I want to route some pins  with other pins. This is going to be a 1-to-1 connection. And it is going to be bi-directional. And the routing-map will be defined in runtime... (UPDATE: if it is not possible to do it in runtime, then "offline" is good too).

For clarification purposes, let's assume that I have 8 GPIOs:  A1, A2, B1, B2, C1, C2, D1, D2. I'd like that A1 be routed to A2, B1 to B2... etc.  But this info is not hardcoded. I should be able to change in runtime.


My questions are:

 - What's the best way to achieve  this? DSI?

- What's the maximum number of connections that I can do? Can I do a 28 x 28 routing-map?



[This is a follow up of this question:  ]


1 Solution
Honored Contributor II

ricardo, Too bad.   Analog bi-directionality with AMUX control is easier. (Analog has it's own issues.)

You can DMUX digital ins to digital outs with runtime switching changes.

The major issue is that you want bi-directionality.   This is a BIG problem.

To achieve bi-directionality you need to control of the Output Enables (OE) for each of the outputs and synchronize it with your digital protocol.

Recommendation:  The PSoC can provide DMUXing in one direction without too much problems.  It can also provide bi-directionality control to much smaller number of GPIOs.  (You'll run out of UDBs quickly).

There are commercially available bi-directional DMUX switches.  This is probably your best and lowest-cost choice for larger matrixes.  You can use the PSoC5 for control of the DMUX and other functions.

These commercial switches are used in ETHERNET switches, routers, Digital telephony equipment, etc...

"Engineering is an Art. The Art of Compromise."

View solution in original post

7 Replies