Low-cost wiring+connector options for multi-drop bus connecting ~100 small PCBs - Page 1
Forum section: electronics / projects

author: mark03
author_rank: Frequent Contributor
timestamp: November 30, 2024, 03:53:18 am
content: I'm trying to design an array of digital (PDM) MEMS microphones, with ~ 100 elements spread over a one-square-meter aperture. My initial thought is to produce a bunch of small PCBs, each one having a microphone and a bit of circuitry that would let me clock out samples, shift-register style. (The 100 boards would be split into parallel chains, e.g. 10x10, to keep this workable.) The advantage is I don't have to commit to a particular spacing or grid style (rectangular, hexagonal, polar...) ahead of time, and the boards should be cheap.Basically, each microphone wants a (say) 2-MHz "slow" clock, so each chain of microphones needs a distributed shift register where a "fast" clock can shift out a single PDM bit from all the mics in the chain during each "slow" clock cycle. Slow and fast clocks could be LVDS. This is all loosey-goosey---just trying to work out the concept.One obvious disadvantage of such an approach is the interconnect complexity. I'm looking for an inexpensive connector solution to form the chains, where each chain could span a distance of up to three or four feet. Something like IDC in concept, where I install connectors onto a single cable and each PCB has one mating connector. Flat flex or anything else more compact (and better SI) than ribbon cable would be nice. Are there such things?My goal would be $1 per PCB for the connectors and wiring. Not sure this is realistic, but it never hurts to ask.

author: brucehoult
author_rank: Super Contributor
timestamp: November 30, 2024, 06:54:53 am
content: Have you selected what MEMS microphone chip to use? Analogue or digital? How many bits per sample? What sample rate? If digital what interface?If the answer are not crazy then I don't know why you'd consider anything other than using a $0.10 32 bit 24-48 MHz microcontroller such as the Puya PY32f002 or WCH CH32V003 rather than some lash-up trying to build a bus using shift registers and logic. The cheapest 8 pin SOIC package might do what you want, or the only slightly more expensive 16 or 20 pin ones certainly will.Preferably the WCH as a lot more people have experience with them now, there are lots of examples on the internet etc. They run off a wide voltage range (3.3V - 5V, plus another 0.5V either side), don't need a crystal or any other external components (just a bypass cap between GND and Vcc can be useful).If the bit rate isn't crazy you could use an I2C bus. It's just two wires, one is clock, which is provided by a master which polls up to 127 slave devices. 400 kHz is a standard speed, but there are also 1 MHz and 3 MHz.With a microcontroller you could collect samples (up to the 2 KB RAM size on the CH32V003) and then return them all when polled, so the polling rate can easily be 100 or 1000 times lower than the sample rate if you want.Back in the 1980s we used low cost Apple "LocalTalk" networking between PCs (mostly Macs). This used two twisted pairs to network up to 300m at 230.4 kbps. A 3rd party vendor, Farallon, improved on this using a single pair with I think more voltage and you could network over 1800 ft with straight cable or 4500 ft with a single telephone wire pair. There was also a 1 Mbps upgrade. Each computer used a Zilog 8530 SCC (UART). The original LocalTalk and PhoneNet boxes were transformer-coupled, but here is a plan for making compatible but cheaper connections using capacitor coupling instead:https://www.funet.fi/pub/mac/doc/phone-net-connectors.txtThe packet protocols are well documented, and I imagine there are software librareis available.But on the scale you want, I2C should be fine. I think the I2C spec says 1m maximum, but 2-3m can work.Note that MEMs microphones all seem to have I2S interfaces, which I think can have multiple devices (channels) on a daisy chain, but is not as flexible as I2C, which is why you need a microcontroller to convert. If microphone chips had I2C then you wouldn't need a per-microphone microcontroller at all, just one for your whole array.

author: mariush
author_rank: Super Contributor
timestamp: November 30, 2024, 08:03:27 am
content: Ethernet jacks without magnetics are very cheap, like 10-30 cents a piece. .. you have 8 pins, 4 twisted pairs ... use one pair for data (i2c, i2s,spi, rs485 or whatever), one pair for clock, one for power, other pairs for whatever (select active device) ... for example you could buffer 100 ms or whatever, then transfer the data from each device within 10msexhttps://www.digikey.com/en/products/detail/adam-tech/MTJ-881X1/9832263orhttps://www.lcsc.com/product-detail/Ethernet-Connectors-Modular-Connectors-RJ45-RJ11_Ckmtw-Shenzhen-Cankemeng-R-RJ45R10P-B000_C386758.htmlorhttps://www.lcsc.com/product-detail/Ethernet-Connectors-Modular-Connectors-RJ45-RJ11_Ckmtw-Shenzhen-Cankemeng-R-RJ45R08P-A004_C385834.html(the last one is 12 cents each if you buy 100+)Connectors may be relatively expensive at 10-30 cents but you can buy ready made patch cords at various lengths in bulk, could go down to something like 50 cents for a 30 cm or 50cm patch cable with factory installed plugs. Digikey has them at 70 cents if you buy 100, and if Digikey has them so cheap, other places will be cheaper.One other comes to mind ... sata data connectors and sata cables.sata data has 2 pairs and ground wires separating them and data cables are cheap in volume and come with locking clips.Could be enough for voltage and clock, data+ and data-, and ground.You can get a 100 pack of 40 cm sata cables with latch for around $45 and the connectors themselves are 10-15 cents on lcsceven plain usb could be an option but the basic type-a to type-a cable doesn't have any latch or retention mechanismedit : sata may be a bad idea because of the relatively low insertion count rating (50-100 cycles) and because cables are relatively fixed length (usually 30-50cm lengths), with ethernet you can even make your own cables to whatever lengths you want.

author: mark03
author_rank: Frequent Contributor
timestamp: December 01, 2024, 06:11:23 pm
content: Quote from: brucehoult on November 30, 2024, 06:54:53 amDigital microphones. (Also, vast majority are PDM, not I2S.)Cheap MCUs would be interesting if there was a problem here that they could solve. But each microphone generates a ~ 2 Mbit/s stream and that needs to be passed down the line and aggregated somehow. So we are way beyond I2C bandwidths here. (PDM is sigma-delta modulation---noise shaping. So if the $0.10 MCU has enough oomph to run the decimating filters, then the data rate reduces to the PCM bandwidth, e.g. 16 bits @ 20 ksps or so. And you can then add the samples as you go down the line... as long as you make provision for two-way communication so the central controller can set the beamforming delays at each node. But even "slow" interconnect needs to be figured out. I don't see how even I2C vs, say, fast SPI or LVDS changes the interconnect cost that much---see@mariush's comments.)I'll take a look at these cheapo MCUs to see how much DSP they're capable of. I assume they don't have hardware CIC filters (aka "digital microphone peripheral").Edit: Thinking about this some more, there are definite pros to preserving the PDM stream from each individual microphone, because then you can do your beamforming retrospectively, form multiple beams at the same time, etc. in a PC. So a higher-speed link (~ 20 Mbit/sec minimum for a single chain of ~ 10 microphones) would be preferred, even if it were possible to cheaply combine the microphones in a distributed fashion as suggested above.

author: mark03
author_rank: Frequent Contributor
timestamp: December 01, 2024, 06:19:11 pm
content: Quote from: mariush on November 30, 2024, 08:03:27 amThanks@mariush! I guess cat5 could be workable and cheap, although I had really been hoping for a multidrop scheme where you only need one connector per microphone PCB, not two. But I will think about this some more. I wonder how short you can get patch cables? Would look pretty funny to have 100x 10-cm long cables, but hey, whatever works.This *would* double or triple the area of each microphone PCB, just to have mounting space for the RJ45s. That could be the biggest cost driver of this solution, right there. I guess SATA would be smaller.

author: mariush
author_rank: Super Contributor
timestamp: December 01, 2024, 08:15:31 pm
content: If you want inline, you could just do a 2x5 header (mass produced as its used on computer motherboards for usb 2.0 headers)Then you could use 2x5 connectors and 10 wire ribbon cables and you just press the ribbon cable on the connectorsconnector with walls and key :https://www.lcsc.com/product-detail/IDC-Connectors_BOOMELE-Boom-Precision-Elec-2-54-2-5P_C5665.htmlplug :https://www.lcsc.com/product-detail/IDC-Connectors_BOOMELE-Boom-Precision-Elec-2-54-2-5P_C8373.htmlribbon cable :https://www.digikey.com/short/zmz3zbzwworks out to around 1$ a meter. cheaper if you get a large spool from lcsc or aliexpress or somewhere.Probably would still be a good idea to have two connectors , one on each side of the board, as would make it easier to make custom length cables and reuse cables.one concern with the ribbon cables is that they're not shielded, at least with ethernet you get twisted pairs. also being so flat and wide, if you install this in the air and wind catches and blows on the ribbon cable isn't that gonna make some noise that could affect the microphones?You can get really thin ethernet cable and also you can get plugs with open holes at the ends to make it easy to crimp the wires in connectors, so you could make custom lengths really fast and easy.

author: mark03
author_rank: Frequent Contributor
timestamp: December 01, 2024, 10:14:16 pm
content: Perhaps I should be looking at ribbon cable. It makes me nervous trying to run clocks over a meter or two, no twisted pairs, and ~10 stubs along the way, although I should be able to keep the stubs pretty short (1 cm?). Maybe with the right layout of ground pins.Considering the cat5 / RJ45 alternative, if I were to use those cheap connectors (w/o magnetics), how do you think the signal integrity would compare? In that scenario I have cat5 to connector to PCB traces to connector to cat5, repeated ten times down the line. I would worry about the connector discontinuities. (I can certainly figure out the trace differential impedance with Saturn PCB etc.)I did see some cheap USB C to USB C cables on aliexpress, which got me wondering I could use that instead of cat5 and RJ45 connectors. The problem is I don't actually know how many pins are connected through... it depends on the type of cable and the sellers generally aren't providing that information. Cat5 is nice as you know exactly what you have. (I never realized you could buy patch cables that short, but indeed you can

author: brucehoult
author_rank: Super Contributor
timestamp: December 01, 2024, 11:49:38 pm
content: Quote from: mark03 on December 01, 2024, 06:11:23 pmIt would have helped IMMENSELY if you had specified such parameters at the outset. That's 50% more than a stereo CD data stream!

author: mark03
author_rank: Frequent Contributor
timestamp: December 02, 2024, 03:14:08 am
content: Quote from: brucehoult on December 01, 2024, 11:49:38 pmI did say "each microphone wants a 2-MHz clock". I assumed familiarity with PDM digital MEMS microphones and sigma-delta modulators generally.

author: Scrts
author_rank: Frequent Contributor
timestamp: December 02, 2024, 03:28:21 am
content: Look up TE Micro-Match connectors:https://www.te.com/en/products/brands/micro-match/miniature-ribbon-cable-connectors.htmlThey've been used in industrial and medical devices as well.

author: nali
author_rank: Frequent Contributor
timestamp: December 02, 2024, 09:56:47 am
content: I've seen a similar-ish interconnect scheme done with fibreoptic cable, in this case for LED matrix panels. It'll add a layer of complexity and cost to your design e.g. CPLD but make the actual deployment pretty simple and interconnect length isn't a problem (also EMC friendly).