Author Topic: Easiest way to buffer  (Read 710 times)

0 Members and 1 Guest are viewing this topic.

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 444
  • Country: au
Easiest way to buffer
« on: August 11, 2024, 04:25:18 am »
Hi,

I have an interface board with 16 outputs and 18 inputs spread across two 26-pin IDC connectors, I have a problem with my outputs (12 on IDC_1 & 4 on IDC_2), the FPGA I use to drive the outputs only has about 1.5mA on a pin and the optocouplers (HCPL-2631) need 5mA.

So would you make up a BOB with two SN74CBT3245C on there and four IDC26 connectors and route the 16 outputs through the FETs and the other pins just pass through?

Thanks.
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19937
  • Country: gb
  • 0999
Re: Easiest way to buffer
« Reply #1 on: August 11, 2024, 03:16:50 pm »
Why are you using opto-couplers?

Digital isolators don't need such high drive currents.

https://www.ti.com/lit/ds/symlink/iso7840.pdf
https://www.onsemi.com/download/data-sheet/pdf/ncid9401-d.pdf
 
The following users thanked this post: rthorntn, SteveThackery

Offline SteveThackery

  • Frequent Contributor
  • **
  • Posts: 544
  • Country: gb
Re: Easiest way to buffer
« Reply #2 on: August 11, 2024, 05:51:53 pm »
I didn’t know there was such a thing. Thanks!
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 444
  • Country: au
Re: Easiest way to buffer
« Reply #3 on: August 11, 2024, 08:27:57 pm »
Thanks, it's an off-the-shelf CNC board so I'm stuck with the opto-couplers.
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19937
  • Country: gb
  • 0999
Re: Easiest way to buffer
« Reply #4 on: August 11, 2024, 10:22:38 pm »
To answer the original question: yes, the SN74CBT3245C will work, but is a bit overkill. How about an ordinary line driver IC?

Some examples:
https://www.mouser.com/datasheet/2/149/74AC245-1006490.pdf
https://www.ti.com/lit/ds/scas513g/scas513g.pdf
https://www.mouser.com/datasheet/2/149/74ACT240-888464.pdf
https://www.ti.com/lit/ds/symlink/74ac16244.pdf
« Last Edit: August 11, 2024, 10:25:01 pm by Zero999 »
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 444
  • Country: au
Re: Easiest way to buffer
« Reply #5 on: August 12, 2024, 01:01:16 am »
Thanks, could you please help a beginner out some more and help me understand why (my friends suggestion) was overkill and how your suggestions differ?
 

Offline Buriedcode

  • Super Contributor
  • ***
  • Posts: 1684
  • Country: gb
Re: Easiest way to buffer
« Reply #6 on: August 12, 2024, 02:13:26 am »
If you're requirement is only a few mA, or say 8mA per channel, and high speed isn't of a concern, then a buffer from the logic series HC/HCT/AC/ACT/VHC/VHCT/LCX will do.  The 74xx541 has a nice pinout - all IO in a line, as does the bidirectional 74xx245.  Where xx is the logic family.

the T in HCT/VHCT/ACT is for TTL thresholds, will only work at 5V, but will accept 3.3V logic on their inputs.  The LCX/LVC families are 3.6V max, but 5V tolerant inputs, but 3.6V is enough to drive optocouplers.

Assuming your IO is one-way  - you're using optcouplers so these channels aren't bidrectional, they're either a fixed input, or a fixed output.

So, theres a huge range of options there - I would go for something like the 74HC541 or 74HC245, since the pnouts are nicer to work with, and they're cheap.  Only 8 channel, but for 16 - just use two!.

 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 444
  • Country: au
Re: Easiest way to buffer
« Reply #7 on: August 12, 2024, 02:48:14 am »
Thanks, I guess the maximum speed on a step pin could be something like 320K pulses per second:

(200 pulses per rpm x 32 microsteps) x 3000 rpm = 19.2M and then divide that by 60 to get seconds.

Lots of variables, 3000 rpm is more servo and they might not support microsteps, not sure.

I see references to a 400kHz stepping frequency on motion controllers.
« Last Edit: August 12, 2024, 07:04:41 am by rthorntn »
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19937
  • Country: gb
  • 0999
Re: Easiest way to buffer
« Reply #8 on: August 12, 2024, 08:21:55 am »
Thanks, could you please help a beginner out some more and help me understand why (my friends suggestion) was overkill and how your suggestions differ?
I didn't check the data sheet for the 74CBT3245 properly.
https://www.ti.com/lit/ds/symlink/sn74cbt3245c.pdf

The 74CBT3245 is completely unsuitable for your application. It simply an array of switches, all controlled by one signal, on pin 19. When pin 19 is low, then each A pin is connected to the respective B pin, via an internal transistor.

Thanks, I guess the maximum speed on a step pin could be something like 320K pulses per second:

(200 pulses per rpm x 32 microsteps) x 3000 rpm = 19.2M and then divide that by 60 to get seconds.

Lots of variables, 3000 rpm is more servo and they might not support microsteps, not sure.

I see references to a 400kHz stepping frequency on motion controllers.
Line driver ICs are several orders of magnitude faster.
 
The following users thanked this post: rthorntn

Offline rthorntnTopic starter

  • Frequent Contributor
  • **
  • Posts: 444
  • Country: au
Re: Easiest way to buffer
« Reply #9 on: August 12, 2024, 10:22:35 am »
Thanks, should I just grab the first one on your list, the 74xx541, any idea if there are versions that gave more buffers like 16?

I have a Q over here about being able to switch "around" buffers so I can use this "adapter" on different breakouts:

https://www.eevblog.com/forum/beginners/compact-and-intuitive-way-to-reroute-pins/
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19937
  • Country: gb
  • 0999
Re: Easiest way to buffer
« Reply #10 on: August 12, 2024, 10:36:21 am »
 
The following users thanked this post: rthorntn


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf