- •Содержание
- •1.Принцип работы проектируемого устройства
- •2. Алгоритм работы вычислительного устройства
- •3. Описание принципиальной электрической схемы
- •4. Электрический расчет устройства
- •4.1. Расчет входных усилителей.
- •4.2 Расчет выходного усилителя
- •4.3 Расчет выходного усилителя мощности
- •4.4 Программируемый усилитель
- •4.5 Акустический генератор
- •5. Описание программы
- •6. Исходные коды программ
- •7. Результаты моделирования работы системы
- •8. Выводы
- •9. Список использованной литературы
5. Описание программы
Программа, используемая в данной курсовой для реализации разностного выражения, базируется на операциях с вещественными числами с фиксированной точкой. Такой вид представления вещественного числа намного проще в реализации и не требует большой разрядной сетки. Такой метод естественно уступает представлению числа с плавающей точкой по точности, но превосходит его по простоте реализации.
Вещественное число в программе представлено в виде 4 байтового числа. Для простоты понимания первые 2 байта выделены под вещественную часть, при этом число лежащее в этом слове ограничено – оно не может быть больше 99, то есть мы оставляем на вещественную часть 2 знака после запятой. Как мы убедимся позже, этого нам хватит для тех задач, который мы будем решать. Оставшееся слово мы выделяем под целую часть. Здесь нет каких либо строгих ограничений.
Рассмотрим процедуры работы с вещественными числами. В каждой процедуре происходит сохранение и восстановление регистров в начале и в конце соответственно. В данной программе используется 3 процедуры :
1) сложение 2-х вещественных чисел _ADD4.
Параметры : RW1 - целая часть числа 1, RW0 - вещественная часть числа 1,
RW3 - целая часть числа 2, RW2 - вещественная часть числа 2.
RW5 - целая часть результата, RW4 - вещественная часть результата.
Алгоритм довольно прост. Мы приводим число к 2-х байтовому виду, путём умножения целой части на 100 и сложением с вещественной. Далее складываем оба числа и разделяем обратно на целую и вещественную части.
2) умножение 2-х вещественных чисел _MUL4.
Параметры : RW1 - целая часть числа 1, RW0 - вещественная часть числа 1,
RW3 - целая часть числа 2, RW2 - вещественная часть числа 2.
RW5 - целая часть результата, RW4 - вещественная часть результата.
Умножение происходит в 4 этапа. 1 этап - происходит умножение целых частей, 2 этап – умножение вещественной части 2 числа и целой 1 числа,
3 этап – умножение вещественной части 1 числа и целой части 2 числа,
4 этап – умножение вещественных частей. Далее всё приводится к 4 – х байтовому виду.
3) Округление 4 – х байтового числа Trunc.
Параметры : RW1 - целая часть числа , RW0 - вещественная часть числа.
RW4 – результат округления.
Процедура приводит вещественное число к ближайшему целому. Округляя например 20.1 до 20, а 30.7 до 31.
Рассмотрим процедуры сравнения. Их две.
4) Сравнение 2-х байтовых чисел Compare
Параметры RW0 – 1 число. RW1 – 2 число; R7 – флаг рассогласования.
Процедура сравнивает 2 числа, если разность между ними больше чем 10% то выставляется 1 в R7, иначе 0.
5) Попарное сравнение 3 двухбайтовых чисел.
Параметры RW0 – 1 число. RW1 – 2 число; RW3 – 2 число;
R7 – номер неисправного канала.
Процедура сравнивает 3 канала. Если один из них отличается от 2 других больше чем на 10%, то выставляется номер неисправного канала.
В основной программе происходит настройка портов и АЦП. После этого программа входит в цикл, на каждой итерации которого происходит зачитывание чисел из 3 датчиков из одного АЦП, отключается неисправный канал, если он есть, находиться среднее арифметическое от входного числа, вычисление разностного выражения, реализованного на процедурах, приведённых выше, округление числа, вывод его в ЦАП, сравнение числа на выходе ЦАП с числом поданным на ЦАП, коррекция коэффициента усиления программируемого усилителя, иначе выставление звукового сигнала аварии , задержка. Задержка в основном цикле нужна, так как заявленное время дискретизации =10 мс больше времени, выполняемого цикла. Такое время дискретизации выбрано для надёжной работы процедур сложения и умножения вещественных чисел с фиксированной точкой.
