8В – опорное напряжение;
12 – разрядность ЦАПа.
Зная напряжение на выходе, можно легко сосчитать код, который нужно подать на преобразователь.
Нужно отметить, что значения получаются дробными и неудобными для вычислений, поэтому сместим запятую результата на 9 позиций влево (в двоичном представлении), умножив результат на 29 .И на ЦАП будем подавать значения,отбросив дробную часть.
Программа расчета выходных значений приведена в приложении Г, там же приведены и dumpы памяти. Т. к. хранимый код восьмиразрядный, то в ПЗУ данных DD4 будем хранить старшие четыре бита, а в DD10 младшие восемь бит.
С учетом расчитанных констант можно отладить програму в Prokus48.exe в пошаговом режиме или посмотреть как она работает в режиме реального времени.
3.3.4. Расчет максимального отклонения от требуемых значений
С учетом того, что частота строго определена, нет смысла в расчете погрешности частоты генерирования сигнала. Поэтому максимальное отклонение будем рассчитывать для выходных значений.
Погрешность в данном случае обусловленна расчетами выходного кода, подаваемого на ЦАП. Рассчитаем абсолютную и относительную ошибки.
Чтобы получить отклонение от заданной величины, вычтем из действительного значения выходной величины значение величины, подаваемой на ЦАП. А для получения относительной ошибки абсолютную ошибку разделим на действительное значение выходной величины.
Таблица с расчетными данными приведена в приложении Д, тамже приведен текст программы расчета погрешностей, написанной на С++.
Самоя большая погрешность равна 0,000884 или 0,0884% и соответствует значению 1,047800861В на выходе.