I should have said it is immune to DA assuming a sufficiently long measurement interval.
The integrator integrates any error between the long term average of the PWM, and the long term average of the input signal. Feedback stops this error growing indefinitely, so if you measure the PWM over a sufficiently long period no error can accumulate. DA can only introduce a temporary error.
Sorry I meant DA :)
Yes, or you can use just one non-inverting schmitt alone. The problem is the logic-type schmitts have supply current variations as the inputs pass through their deadband. This translates to supply voltage ripple synchronous with the circuit operation, which contributes quite a large error (e.g. several hundred ppm). It is surprisingly hard to filter it out too. U1 is a AUP low power type which has minimal current ripple, U2 is a high speed type with low output driver resistance (hence low mismatch between high and low state driver resistance).
There are some CMOS switches with matched channels, e.g ISL43L210 has
2mOhm matching. These would be good to try.But James Arthur posted a bootstrap circuit which eliminates both the supply ripple and the driver resistance mismatch errors.
[...]