Any tips for getting zero_opamp.sch settling poin...
# analog-design
l
Any tips for getting zero_opamp.sch settling point (ie diffout_n after adjustment) to have much less variance? @Stefan Schippers Screenshot below is with params unchanged. I got it down to 2.5mv stdev by sizing transistors differently, but I really would like to get it even lower, like 1mv or 0.5mv stdev. (I have 100 of these in a line and I want them to all start at the same "zero" value.)
This is the best I could do after adjusting sizes to the best of my ability
l
I'm not sure if this is what you are looking for, but I've recently found this open-source circuit optimizer tool based on differential evolution that may help you achieve "the best" results: https://asco.sourceforge.net/index.html Disclaimer: I haven't had the opportunity yet to test this ASCO tool, but I've already used a closed-source PSO framework that did a very good job.
🙌 1
l
!!! omg
l
Please let me know about the results if you end up using it. Testing it has been on my TODO list for a while now 😅.
r
Does your application require the signal to be continuous? Can it be sampled? A lot more freedom to deal with offset if it can be sampled.
s
@Luke Harold Miles the purpose of the circuit is NOT to have DIFFOUT_N and OUT to a known value during calibration, but to have the OUT signal to either logic 1 or logic 0, correctly detecting 1mV differential input. Such small input signals can be reliably detected only with a self calibration. With zero differential input you ensure the differential and gain stages are at the trip point. This happens when START=0. Then you apply the differential input and set START to 1, this initiates the sensing step. Below image shows 100 runs with device mismatch enabled, plus variations on VCC and temperature as shown in the graphs. At the end of the sensing operations (look at the cursor positions) you have the correct output amplifying the 1mV input differential signal. The value of OUT before sensing is not of any interest. The calibration step is done before any sensing operations. This is necessary for 2 reasons. • the calibration value of the ADJ pin is stored on a capacitor that will eventually discharge over time. • Repeating calibration before any measure will track variations in temperature / vcc / anything else.
l
Yes I'm trying to use it "off-label" -- maybe that is unwise
@Robin Tsang it could be sampled. What does that allow?
r
If you can sample, it allows you to sample the offset and then subtract it back out later.
At the system level, do you need all 100 to sample at the same time?
👌 1
Might be easier/better to make one really good amplifier and multiplex it to all 100, one at a time, than to make a hundred small amplifiers.
🤔 1