Моделирование схем преобразователей заключается в том, что в цифро вую машину вводится программа, описывающая работу схемы, и программа, имитирующая сигналы, подаваемые на ее вход. В результате работы этих программ получаются значения выходных величин, соответствующие задан ным входным воздействиям.
Программа, описывающая работу схемы, которую в дальнейшем будем называть моделью схемы, должна учитывать, из каких блоков состоит схема и как эти блоки соединены между собой. Для. построения модели цифроаналогового преобразователя необходимо иметь описания блоков двух ти пов: цифровых и аналоговых. Аналоговые блоки преобразователей описы ваются, как правило, аналитическими зависимостями, которые могут быть представлены в программе в виде арифметических выражений. Цифровые блоки преобразователей' представляют собой логические схемы, реализую щие системы переключательных функций.
Особенность переключательных функций, входящих в такие системы, заключается в том, что они обычно принимают значения, равные единице на некотором множестве соседних наборов входного кода. Задание таких
функций целесообразно выполнять путем указания первой Xj и последней
Xj граничной точки множества соседних наборов, для которых переключа тельная функция фу (х) = 1. Необходимо отметить, что такой способ задания
является универсальным, поскольку всякая переключательная функция мо жет быть определена совокупностью множеств наборов аргументов, для ко торых она обращается в единицу.
Описанный способ задания системы переключательных функций может быть реализован в машине следующим образом. Запишем все граничные точки функций системы в массив bn [1 : о], верхняя граница которого v
определяется при вводе данных в машину. Каждой переключательной функ ции отведем в этом массиве определенную область, а в первой ячейке каждой области запишем число множеств значений кода V / , на которых функция
обращается в единицу. При этом граничные точки этих множеств располо жим в массиве последовательно, начиная со второй ячейки области. Тогда
начало области aу с индексом у, соответствующей функции фу (х), может быть -определено путем суммирования размеров областей с индексами i < /':
Определение значений функций, перечисленных в массиве Ьп, для заданного набора кода х выполняется с помощью условного оператора, который проверяет условия х' < х и х < х " и присваивает функции значение, равное
единице, если оба условия выполняются хотя бы для одного множества, задающего рассматриваемую функцию.
Для описания связей между блоками модели предусмотрен массив Ik
[1 : Ы), размеры которого могут изменяться в зависимости от сложности схемы. При описании преобразователя для выхода каждого блока в этом массиве отводится один элемент, которому присваивается значение соответст вующей ему выходной переменной при каждом изменении входных сигналов. Принятый способ организации связи между блоками в программе модели рования, позволяет легко изменять связи между блоками путем изменения индексов элементов массива Ik, а также позволяет использовать модели ти
повых блоков (например, линейных преобразователей кода в напряжение, операционных усилителей и т. п,), хранящихся в библиотеке стандартных процедур. В последнем случае за выходами типовых блоков закрепляются определенные элементы массива Ik. Заметим, что значения входных перемен ных также сохраняются в массиве Ik.
Описанная модель цифро-аналогового ФП позволяет проверять правиль ность работы подобных устройств путем вычисления значений выходных ве личин для различных значений входных переменных и оценивать точность