Это возможно, но это не сработает.
Во-первых, существует проблема объединения двух выходов, причем один масштабируется точно на 1/256 другого. (Независимо от того, ослабляете ли вы одну на 1/256, усиливаете другую на 256 или как-то иначе, например, * 16 и / 16, значения не имеет).
Большая проблема, однако, заключается в том, что 8-битный ЦАП, вероятно, будет точнее, чем 8 бит: он может иметь спецификацию "DNL" 1/4 LSB и спецификацию "INL" 1 / 2LSB. Это спецификации «Дифференциальная» и «Интегральная» нелинейность, и они являются мерой того, насколько велик каждый шаг между смежными кодами. (DNL обеспечивает гарантию между любыми двумя смежными кодами, INL между любыми двумя кодами во всем диапазоне ЦАП).
В идеале каждый шаг должен быть точно 1/256 от значения полной шкалы; но спецификация DNL 1 / 4LSB указывает, что соседние шаги могут отличаться от этого идеала на 25% - это обычно приемлемое поведение в ЦАП.
Проблема в том, что ошибка 0,25 LSB в вашем ЦАП MSB вносит ошибку 64 LSB (1/4 от всего диапазона) в вашем ЦАП LSB!
Другими словами, ваш 16-битный ЦАП имеет линейность и искажение 10-битного ЦАП, что для большинства приложений 16-битного ЦАП неприемлемо.
Теперь, если вы можете найти 8-битный ЦАП, который гарантирует 16-битную точность (INL и DNL лучше, чем 1/256 LSB), тогда продолжайте: однако они не экономичны, поэтому единственный способ получить один - это начать с 16-битным ЦАП!
В другом ответе предлагается «программная компенсация» ... отображение точных ошибок в вашем ЦАП MSB и их компенсация путем добавления обратной ошибки к ЦАП LSB: это долго задумывалось звукорежиссерами в те дни, когда 16-разрядные ЦАП были дорогими. ..
Короче говоря, его можно заставить работать до некоторой степени, но если 8-разрядный ЦАП дрейфует с температурой или возрастом (вероятно, он не был разработан, чтобы быть сверхстабильным), компенсация больше не является достаточно точной, чтобы стоить сложность и стоимость.