STM32 USB to I2S multi channel - Hardware part

So please find below the v2 of the schematics.

Main modifications are:
  • move to stm32H743VIT6 to have more SAIs,
  • Export the NZ2520SDA clocks as I2S ref for clients, using LMK1C1104 buffer
  • Added a 24MHz oscillator (in place of crystal, capacitors and associated concerns)
  • EMI protection on USB lines as per the Wurth ot TI AN (data lines and VBUS line)
  • Option for dedicated 5V "clean" Power
  • Two additional connectors to expose more SAI, I2S, SPDIF, I/Os
  • SPI header, on in Bohrok system, to possibly control a screen (thanks for the idea)
  • Add LEDs pour power and debug
  • C0G for decoupling of audio crystals
0603 parts for manual placement and hot hair soldering, without stencil (possibly by a soldering hot plate)
  • BOM Digikey for prototyping
  • Changed the USB connector to micro USB type B (seems the most common as of today)

Comments advices very welcomed 🙂

A question: when you prototype without having stencils, how to you proceed for the soldering:
  • soldering iron?
  • alternative way to apply solder paste and hot hair (in that case which method)?
  • other?
By the way, I tried to identify the differences between USB3300 and USB3320 and it was not obvious to me reading the Microchip website (USB3340 seems an improvement for power chargers).

JMF
 

Attachments

Changed the USB connector to micro USB type B (seems the most common as of today)
It may be the most common, but it is the most inconvenient and the most unreliable. Especially full smt in DIY.
("Full" - because there is combined smt-TH).
Mini is much better and stronger, but less used today.
Type-C is good, but most common for audio is still "B".

A question: when you prototype without having stencils, how to you proceed for the soldering:
  • soldering iron?
  • alternative way to apply solder paste and hot hair (in that case which method)?
  • other?

Soldering iron - with T12 tips, BCM2 or BCM3 (mini wave) type, of JBC (clone, original is expensive) with "spoon" tip.
Solder paste usually not need, but if to use it w/o the stencil - use it in syringe.

And more flux, more! Also in syringe.
What's in the solder wire is not enough in many cases!
(for resistors/capacitors enough).

Alex.
 
USBLC6 is a good chip, but not required if you use USB33xxx - ESD protection are already implemented inside.

Why you use 24MHz oscillator and not a crystal with 2 caps?

C10||R6 - you use 100nF + 330 Ohm, where did you get these values? I usually use 3-10nF+1MOhm, it is the most common.

Alex.
 
Thanks for the feedback Altor, and the advices for the soldering. Soldering iron is also working for the QFN package?

I consider using 24MHz oscillator after reading the ST AN2867 Guidelines for oscillator design on STM8AF/AL/S and STM32 MCUs/MPUs, and several threads about the capacitors selection, evaluation of the traces capacitance... Looked like I was not sure to have the skills. And then I went through that https://community.st.com/t5/stm32-m...scillator-limiting-resistor/td-p/68794/page/2. I ckecked some ST discovery boards, and they used oscillators... So oscillators looked like the safe and lazzy path.

For C10//R6, I have seen different values here and there, and settled with those indicated in https://ww1.microchip.com/downloads/en/Appnotes/AN26.2-Application-Note-DS00001876C.pdf . Would you know about the trade-off between the 2 sets of values?

I will remove the USBLC6 if not needed (I love streamlining) and mobe to a mini B receptacle (also used in Bohrok board).

Best regards,

JM
 
SPI displays typically also need 3-4 GPIOs: reset, chip select, data/command, backlight.
Thanks Bohrok, I will take it into account. I need to work on the routing and see if I can add I/Os (there are still some available on the board.

Next challenge for me is to learn about the PCB routing for the several high speed traces on the boards, impedance requirements for some of them. I feel that this design is at the edge of that being mandatory, but good to learn 🙂

If you know about a relevant tutorial on that topic, I'm really interested.

Again thanks for all the help !

JM
 
Soldering iron is also working for the QFN package?

Better to use Hot Air.
Even simple ATTEN 857D_ from Ali.

For C10//R6, I have seen different values here and there, and settled with those indicated in https://ww1.microchip.com/downloads/en/Appnotes/AN26.2-Application-Note-DS00001876C.pdf . Would you know about the trade-off between the 2 sets of values?
Strange choice.
If to put 330 ohms, then it is better not to put anything but to connect it shortly.
But this is not correct for USB-devices, only in USB-host the shield is connected to GND.
I will remove the USBLC6 if not needed (I love streamlining)

CM filter at USB you can also eliminate. I tried to use it, but gain nothing in EMI also in SQ.
Better to use I2S isolation between CPU an DACs or ant USB input.

Alex.
 
. I need to work on the routing and see if I can add I/Os (there are still some available on the board.
If you are limited in free STM's pins, there are some tricks how to decrease I/O required for display control down to 2-3 pins, but it is not so easy for coding, especially for the fast real-time like here.

But, there are some simple tricks, like to use SPI_CLK, SPI_MOSI or C/D also for backlight control - just set it to the corresponding value when SPI transmission is finished and connect it also to the gate of small mosfet (2N7002, etc.), controlling display's backlight through RC.

Alex.
 
Better to use Hot Air.
Even simple ATTEN 857D_ from Ali.


Strange choice.
If to put 330 ohms, then it is better not to put anything but to connect it shortly.
But this is not correct for USB-devices, only in USB-host the shield is connected to GND.


CM filter at USB you can also eliminate. I tried to use it, but gain nothing in EMI also in SQ.
Better to use I2S isolation between CPU an DACs or ant USB input.

Alex.
So I will go for your values for the USB shield decoupling. Thanks !

For QFN, I have the hot air station and already have used it, but with stencil. For QFN, how do you proceed with hot air and no stencil? apply a bit of solder paste? Tin the pads with solder wire, put the QFN package on tot and heat with hot air? Other?

I've see a video where a person was mixing solder paste with flux to make it more liquid and ease application (with a toothpick). Can it make sense?

for the CM filters at USB, I will keep them. For the moment, I won't use isolators. CM filters will participate to peace of mind, even if not demonstrated useful.

There are still available pins on the stm32H743 package. I'm more worried of my hability to route many pins correctly (ie impleme,nting all good engineering rules).

JM
 
For QFN, how do you proceed with hot air and no stencil? apply a bit of solder paste? Tin the pads with solder wire, put the QFN package on tot and heat with hot air?
Yes, but w/o solder paste!
I put some solder at PCB pads, also at chip pats, a little bit. Add flux to PCB pads.
Then i keep the QFN chip near it's PCB place, or hold it with the pincet pads on top, heat together.
After the solder at the pads melted, I it the chip to it's place and continue heating until it "dance".
It is hardly to describe better to show, but I do not have an equipment to make this movie. But believe me - I have soldered hundreds of QFN chips (and similar) from 8 to 100 pins.

Alex.
 
  • Like
Reactions: JMF11
Not stalled, but verrrrry slowwwww. I'm learning about the constraints for high speed PCB. Good practices for grounding (some videos from Rick Hartley), routing of high speed traces, selecting an OK stack-up, understanding in which situations it is OK or NOT to change layers for traces crossing, trace impedance...

This is part of the journey, but looks important to consider for HS USB qnd 600 MHz clocked MCU.

JMF