Author Topic: Compact and intuitive way to reroute pins  (Read 453 times)

0 Members and 3 Guests are viewing this topic.

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: au
Compact and intuitive way to reroute pins
« on: August 12, 2024, 05:55:54 am »
Hi

So say I have a small PCB around 40mm2, basically an IDC26 male on one end and an IDC26 female on the other.  In between the IDC connectors I want a matrix of switched pins and buffers that can allow me to reroute pins.

So I need to buffer certain output pins and those pins will be different on different BOBs.

So my FPGA connects to one IDC and the other IDC can connect to a variety of CNC BOB breakouts (basically opto-couplers and screw terminals).  The FPGA can change its pins, the BOBs have fixed input or output pins.  The BOB I have here has 12 outputs on IDC26_1 and 4 outputs on IDC26_2, the other pins (36) are +/- pairs for the 18 inputs.

Some background here:
https://www.eevblog.com/forum/beginners/easiest-way-to-buffer/

Is there some funky IC that allows me to set it up to reroute through a buffer or straight through?

In my beginner mind I'm thinking 52 trace "pairs", one of the pair goes to the buffer the other goes straight to the IDC.  If the buffer package is 20SSOP I'm also thinking of having three 20SSOP footprints right next to each other so the buffer can be placed across any of the 26 pins.

I could just make a board that only worked with my BOB but I'm thinking of a more versatile approach.

Thanks.
« Last Edit: August 12, 2024, 06:01:10 am by rthorntn »
 

Offline PGPG

  • Regular Contributor
  • *
  • Posts: 140
  • Country: pl
Re: Compact and intuitive way to reroute pins
« Reply #1 on: August 12, 2024, 09:50:07 am »
I have never used FPGA. Isn't it so that you can do all your rerouting inside it?
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: au
Re: Compact and intuitive way to reroute pins
« Reply #2 on: August 12, 2024, 10:07:42 am »
Thanks, yes, the FPGA can route the pins, but I need to add buffers on the output pins and the CNC breakouts all have different fixed pins so I'm thinking about a "switched" buffer stage in between the FPGA and breakouts.
 

Offline xvr

  • Frequent Contributor
  • **
  • Posts: 407
  • Country: ie
    • LinkedIn
 
The following users thanked this post: rthorntn

Online ebastler

  • Super Contributor
  • ***
  • Posts: 6865
  • Country: de
Re: Compact and intuitive way to reroute pins
« Reply #4 on: August 12, 2024, 11:50:53 am »
Not sure what loads (voltages and currents) you intend to drive with those outputs? There are auto-sensing, bidirectional level converters which you might be able to use, which could avoid the need for a switching matrix entirely. They automatically detect which side is driven, i.e. which pins are input vs. output. The catch is that they can only drive very weak DC loads, a few 100 µA DC, but have much stronger boost circuits to drive level transitions.

When I looked into these about two years ago, I found:
- TXS0108E (Texas Instruments); PI4uls5v108 (Diodes Inc) 2nd source.
- NXB0108 (NXP); FXMA108 (OnSemi/Fairchild) 2nd source
 
If you have enough I/O pins on your FPGA, you could also think of bi-directional drivers with additional inputs for direction control. I am pretty sure I came across some which allow individual direction selection per pin, but I did not take notes since they were not suitable for my intended use.
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: au
Re: Compact and intuitive way to reroute pins
« Reply #5 on: August 12, 2024, 12:09:51 pm »
Thanks, the outputs drive need to drive an opto-coupler, its 5V @ 5mA.

The FPGA card I have has bidirectional level shifters on it I believe and they only put out ~1.5mA so I need a buffer.
« Last Edit: August 12, 2024, 12:15:10 pm by rthorntn »
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3870
  • Country: us
Re: Compact and intuitive way to reroute pins
« Reply #6 on: August 12, 2024, 03:23:37 pm »
This would be fairly easy to do with mechanical jumpers but would also be large.  Are you stuck with only 26 pins from the FPGA?  There are bidirectional buffers / level translators that can drive an optocoipler but they usually need to be manually switched.  So you would need at least a few extra FPGA pins to control them.  A SPI/i2c gpio expander could control a while bank of them with a single chip and just a few control lines.
 
The following users thanked this post: rthorntn

Online ebastler

  • Super Contributor
  • ***
  • Posts: 6865
  • Country: de
Re: Compact and intuitive way to reroute pins
« Reply #7 on: August 12, 2024, 04:21:10 pm »
I'm wondering whether it really needs a full matrix? Any of the 26 pins can either be an input or an output -- so wouldn't it be enough to have one dual jumper per pin to select whether to use an output or input buffer/driver on that pin?

If so, wouldn't 26 solder jumpers be an option? I take it that a give combination of FPGA board and interface board is put together once and then used long-term, right? 
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: au
Re: Compact and intuitive way to reroute pins
« Reply #8 on: August 15, 2024, 12:01:32 am »
If you have enough I/O pins on your FPGA, you could also think of bi-directional drivers with additional inputs for direction control. I am pretty sure I came across some which allow individual direction selection per pin, but I did not take notes since they were not suitable for my intended use.

Thanks all, so say I was to redesign the whole thing, make a single PCB with the FPGA, circuitry and terminal blocks on there, is there such a thing as a bi-directional level-shifting digital isolator buffer driver with additional inputs for direction control?  That would give say 5mA at 5v on an output terminal?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf