Author Topic: What are the best practices for headers?  (Read 3181 times)

0 Members and 2 Guests are viewing this topic.

Offline konsgnTopic starter

  • Newbie
  • Posts: 4
  • Country: us
What are the best practices for headers?
« on: October 20, 2017, 06:20:04 pm »
Hey all,

I started working on a successor to the BusBlaster device with the FT601 SuperSpeed FIFO and an ice40 FPGA. The design I have so far is here:
https://github.com/konsgn/SuperBlaster


The goal of this device is to be paired with an appropriate shield that will have the SPI flash for maintaining the bitstream that configures the FPGA. A few shields that would be nice to implement, [pirate shield(like buspirate),logic analyzer, oscilloscope, power analysis/side-channel attacking. programmer shield(could be mixed into pirate shield), etc.. ]

The lower and right side FPGA pins are going to be used for the 3.3V 32bit bus and control signals from the ft601.

Basically, I am looking for advice on how to wire up the headers.
In this design, I am placing 3 20pin headers around the FPGA.
My current plan is to wire up the lower left header for 3.3v power with the spi memory breakout immediately above that, followed by some unused 3.3v signal pins from the bottom and right GPIO of the FPGA.

The left and right headers will have individually selectable voltage levels(based on the bitstream configuration) and 16 signals from the left and top FPGA GPIO respectively.

I plan to route the left signals with their appropriate pairings so that LVDS signaling may be taken advantage of on that side.

What do you guys think?

 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16607
  • Country: us
  • DavidH
Re: What are the best practices for headers?
« Reply #1 on: October 21, 2017, 03:58:41 am »
Include decoupling at the headers and place a power or ground adjacent to every signal.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21657
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: What are the best practices for headers?
« Reply #2 on: October 21, 2017, 04:57:12 am »
Yes. ^^

First of all, make sure the header is pinned in ribbon-cable order.  Typically, you'll assign differential pairs to adjacent pins, and place grounds on either side (as shielding).

This looks fine when the header pins are adjacent (side by side), but every other pair will be diagonally adjacent.  It's not wrong, just make sure you have the correct diagonal and all that. :)

By "ground", any well-bypassed supply will do.  "Ground" is an RF point of view here, and all supplies are equivalent, if they are bypassed together.  Normally you'll alternate supply and ground, or group sets of them together.

Unbalanced signals should be placed the same way, i.e., with grounds inbetween.  This gives a characteristic impedance of about 100 ohms.  (Diff pairs are about 120 ohms.  The ribbon cable datasheet will give exact figures for configurations.)  An array of unbalanced signals will occupy one column of the header, and the other will be all "grounds".

This is why old school data cables used so many pins, and often a bus driver IC at the transmitter end and a terminator resistor pack at the receiver end.  Classic example: ST-506 hard drive bus.  Somewhat more recently: parallel ATA was originally 40 pins, but 80-pin cables with special 40-pin connectors, using shorting links to ground every other wire, were introduced when high speed modes were introduced.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: What are the best practices for headers?
« Reply #3 on: October 24, 2017, 06:35:17 pm »
For high-speed connections you might want to use specialised connectors with built-in ground plane (like these connectors and matching cables). IDC cables will not yield very good SI especially at high speeds. I would not use them for anything above 100-150 MHz.

Offline konsgnTopic starter

  • Newbie
  • Posts: 4
  • Country: us
Re: What are the best practices for headers?
« Reply #4 on: October 25, 2017, 02:10:34 pm »
Hey Guys, thank you for the advice.

Just to clarify, I have no intention of hooking up cables to these connectors, The idea is that these .05" connectors will have male pins that will go directly to a application board that will be mounted directly on top. There may be high speed cabling that comes out from that, but this part of the design is more of a carrier board to do basic processing of the data and handle the computer connectivity.

As such, is the intermittent spacing of grounding pins necessary when going directly to a female header on another pcb? I was hoping to get away with having the lower two rows of each header be Power(for that header connection at whatever potential it is set to) and Ground. Should I place the power and ground rows in between the data connections? i.e. [3 data rows, power row,2 data rows,ground row,3 data rows]?

Thank you.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2730
  • Country: ca
Re: What are the best practices for headers?
« Reply #5 on: October 25, 2017, 05:58:33 pm »
Just to clarify, I have no intention of hooking up cables to these connectors, The idea is that these .05" connectors will have male pins that will go directly to a application board that will be mounted directly on top. There may be high speed cabling that comes out from that, but this part of the design is more of a carrier board to do basic processing of the data and handle the computer connectivity.
Check the link I've provided above. These are primarily board-to-board hi-speed connectors (there are version for single-ended and differential signals). Using cable is an option, not a requirement, as the cable would connect to connectors on both sides.

As such, is the intermittent spacing of grounding pins necessary when going directly to a female header on another pcb? I was hoping to get away with having the lower two rows of each header be Power(for that header connection at whatever potential it is set to) and Ground. Should I place the power and ground rows in between the data connections? i.e. [3 data rows, power row,2 data rows,ground row,3 data rows]?
It all depends on what kind of signal (switching frequency, rise/fall time, single-ended/differential) will you be pushing. I opted to put these high-speed connectors in similar circumstances (especially since the manufacturer was kind enough to send me 10 pairs of connectors as free samples even thou I registered using gmail account) just to be sure.

Offline chickenHeadKnob

  • Super Contributor
  • ***
  • Posts: 1055
  • Country: ca
Re: What are the best practices for headers?
« Reply #6 on: October 26, 2017, 05:10:53 am »
Ok now that we have a better idea of your end goal for this design I would say that downward facing connectors would be superior simply because your board is small and it it is awkward having the  board on top larger than the bottom one. In any case whether  top or bottom your board should have mounting holes, this my personal pet peeve. A second universal truth is that inch headers should always be on a 0.1 (or 0.05) inch aligned grid, that is two headers some distance apart should be an exact multiple of .1 inches apart in both axis so that a mated perf board lines up. Don't make the Arduino blunder! You can get away with no mounting holes if your board is a)tiny, b)connectors are balanced on opposite sides so they form mechanical support. Your board is unbalanced with a cantilevered section, I would put at least one hole or preferably two in the obvious end for support. That will help take up the stress from usb cable insertion/removal.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf