По причине не указанного в ТЗ требуемого быстродействия, например, заместо ЦАП — два ШИМ микроконтроллера, далее два ФНЧ на двух резисторах и двух конденсаторах, и сложить с весом младшего 1,5 МЗР, т.е. получить 15-разрядный ЦАП, если ШИМ 8-разрядные.
Полученное напряжение преобразовать в ток посредством любого ОУ, биполярного транзистора и вплоть до 5% резистора.
Этот ток подать через резистор-эталон на каскод на втором биполярном транзисторе, цепь базы которого подключить через второй резистор-эталон, менее требовательный.
К этим двум резисторам-эталонам подключить два дифференциальных канала любого буферированного сигма-дельта АЦП (т.е. фирмы AD, потому что АЦП данного типа других фирм требуются внешние буферы и их калибровка).
Опорное напряжение каскода и номиналы резисторов-эталонов должны быть выбраны с учётом заведомого попадания напряжений на них во входной диапазон буферов выбранного АЦП (для изделий фирмы AD это обычно 300 мВ "снизу" и 1100 мВ "сверху").
Алгоритм состоит в установке посредством ЦАП приблизительного тока и его калибровки посредством измерения АЦП разности двух токов.
Итого, озвученное в ТЗ требуемое разрешение получено, неозвученная в ТЗ точность определяется стабильностью двух данных эталонов сопротивления и напряжения (т.е. ИОН АЦП), а данный АЦП как раз и есть та самая "микросхемка SPI/I2C", в которую "загоняется ток", вот только на вышеперечисленную малость опосредованно.
|