-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.0 rc2 design review #4
Comments
@gkasprow I've completed my review. Looks great! Thanks. My comments are below... Looking forward to getting these made.
|
OK, that's why I added RC termination so it works only for fast edges and do not consume energy in steady state
I did it in such way to not break the Kasli when inserted by chance. But in some circumstances it may trigger latchup, so let's not tempt the user.
sure
I did detailed one
true, fixed
It is roughly 1mA, but let's add one.
LTC and other LDOs do not like big low ESR capacitors. So we will use tantalium 10uF ones close to the DAC. Such ones are shown in DAC datasheet.
OK, added
we do not use it. I routed it to digital IO connector because they are also digital pins
fixed
done
true, fixed
not valid anymore, removed
fixed
done |
Makes sense. However, 10nF is quite a large capacitance. It gives a 300kHz pole with 50R, which is a much lower frequency pole than we require to filter our fast rising edges. I'd either DNP the resistor or use a smaller capacitor.
Thanks! Particularly with PoE devices, it's really useful to have power budgets to allow one to ensure that one won't overload a switch with multiple devices drawing power.
That sounds good.
These curves look like there is quite a lot of ringing in the step response. Would it be better to decrease the OpAmp feedback bandwidth a bit to improve the stability?
Remind me, what is this simulation? Is this all 4 data converters (2xDAC and 2XADC) drawing 550uA at 10kHz 100kHz and 1MHz? If so, that looks great since the pk-pk ripple is only 20uV, which is much less than 1LSB (65uV). |
Anyway, I'm really happy with the design now and don't have any further feedback on the schematic. Let's leave a few days for any other interested parties to comment on the schematic before closing this and beginning the layout. |
well, the layout is nearly done :) |
Nice! :)
Okay, good. 200uA makes sense, since this is about the size of the change in the reference current (550uA is the peak reference current, but it should not change by 100%). And, in any case, the 20uV pk-pk from you simulation is comfortably below a LSB, so there doesn't seem to be any issue here. What frequencies did you include in your simulation? |
2MHz, 200k, 20k, 2k, 200Hz, |
Okay, good, that's very thorough. I'm amazed the pk-pk noise is so low with so many converters drawing current at that many frequencies. The LT3042 is a magic chip! No further comments/questions from me on the schematic then. Just one thing about the layout (reiterating something I've said before): let's try to route the converter references from the LT3042 using short thick traces in a star topology (separate reference trace for each converter rather than a single trace) to avoid cross-talk due to common-impedance couplings on the terence line. |
Actually, one final comment :) The LT3042 data sheet has this comment about the output capacitor:
I suspect that putting 10uF tantalum capacitors near the data converters will not be sufficient to ensure stability. Probably best would be to have an additional 4.7uF ceramic capacitor right by the LDO. But, again, we'd need to double check this in the simulation. Also, FWIW, if I understand the spice schematic you posted correctly, you didn't include capacitor ESR/ESL or trace impedance. That's fine, but does mean that the over all reference transients could be a little larger than simulated. I don't think this will be a problem in practice. |
FWIW, I think this is not true. AFAICT the reference current does change by 100% as one sweeps the data converter codes through their full range. However, from the simulations, it's clear that the RMS noise will still be well below 1LSB, even if you simulated with 550uA. |
LT3042 is so magic only when properly loaded, if you run it without load, performance would be poor :) |
I included capacitors ESR. I assumed 1Ohm for 10u tantalium caps and 10mOhm for ceramic ones. |
Good catch. I hadn't appreciated that.
Okay, good. I guess the 100nF capacitors have low enough ESR to ensure stability. However, I'd still be inclined to put some capacitance right by the LT3042 to aid with stability (e.g. you model doesn't include trace ESL/ESR which can degrade stability). |
the photo you posted shows 10u with 10mOhm ESR... |
it was for ceramic ones. But for tantalium in A case I use 1Ohm. |
Ok, sounds good then. Maybe add 1uF ceramic right at the LT3042 output if only to make me happy? |
at the moment we have 10u ceramic at the output of LT3042 + 10uF tantalium and 100nF ceramic at every ADC and DAC. I changed the one at the LT3042 output to 1uF ceramic one. |
Aah, ok! I hand't realised that you had the 10u ceramic at the output of the LT3042. In that case what you had was already fine. Sorry for the confusion!
AFAICT 10uF is ok but probably a little bigger than optimal. 4.7uF would be optimal (according to the data sheet) if you didn't have the DAC/ADC capacitors. With them, we can use a little less. 1uF-4.7uF is fine, pick whichever you think is best. |
cool, thanks Greg! So long as you're happy with the layout it's fine by me. I would only have the usual questions like:
|
These are not traces, but graphical rules that separate traces from each other. |
From a quick look:
|
Nice. Thanks Greg. |
@jordens I connected CPLD clock to programmable RCC clock source that drives all SPI peripherals. So this can be used for all SPI related activities. |
We discussed this before, but decided against it as it adds a fair bit of complexity/cost (bi-dir LVDS drivers etc) and the use case seemed a bit marginal (is anyone really going to write a Stabilizer driver for Urukul and include it in the firmware?). However, if you really feel that this is an important feature then I don't object to including it. One option might be to replace the CPLD with a cheap FPGA that supports LVDS signals, and then route all EEM signals via the FPGA for direction control etc. |
For rare use cases one can use Humpback + Urukul + Stabilizer. If we use FPGA right now, one would need to support HDL code for every Stabilizer version. I hope we won' have to use CPLD and it will be removed or DNP in next revision. |
v1.0rc1 |
@gkasprow 5mm would be perfect. |
@gkasprow it would be useful if the P12V0A and N12V0A rails are brought out to the "ADC and DAC header" (instead of P/N13V0S). This means that a minimal piggyback board with a couple of op-amps on would not need to have any additional regulators on. |
|
@gkasprow according to ST's RM0433 section 59.4.1 the JTCK line has an internal ~40k pull-down that will fight with the 10k pull-up. If we are going to have a resistor it should be a pull-down. |
switched input buffers to 5V-tolerant SN74LVC1G125DCKT |
🎆 |
@gkasprow could you make the following two changes:
|
This still seems wrong on v1.0 Production. Also, I don't see the bidirectional buffers required for CPCIS & downstream EEM support. Is that still planned? |
We finally decided not to implement downstream buffers due to limited use cases. But if you insist, I can add them. |
@cjbe DI0 and DI1 are connected to ADC trigger lines. |
That's fine I just didn't see a consensus against it in the above thread so I wanted to check. As @jordens mentioned, the killer app here is being able to do drive an Urukul and do phase/frequency servoing. However if an RF mezzanine for Stabilizer is thought to be a better way of doing it (as @hartytp suggests) then I'd be ok with leaving them off. I just don't want to be in a situation where one has to resort to adding a Kasli or Humpback just for want of a few LVDS buffers. |
would assembly option be fine for you or you prefer a firmware-configurable direction control? |
I could simply put additional buffers with reversed direction on the other side of PCB nad keep them DNP |
If that's easy for you to do, it sounds like a reasonable plan. These are easily hand-solderable SOIC-8 packages by the look of it. |
Looks good. Won't the receivers need some DNPed pads for 100Ohm termination though? |
true, just added them:) |
@gkasprow This way the piggyback board has access to the noisy but higher current P/N13VS from J13, the lower current nice supply P/N12VA from J4, and P12V0 and P3V3 from J3. |
This is fine. If we need more IO, we could remove the connection to the ADC trigger lines, as PA3 / PA8 give us the timer inputs - we can use this to timestamp the edges and trigger the ADC at a fixed time off-set from this. |
I’m afraid it already was sent for production…
|
No problem - this is a minor user-friendliness improvement we can add to the next revision |
https://github.com/sinara-hw/Stabilizer/releases/tag/v0.9rc2
The text was updated successfully, but these errors were encountered: