Разработка программного обеспечения
Разработка программного обеспечения включает в себя разработку подпрограммы пуска ЭД, подпрограммы обслуживания прерывания и распределение памяти.
6.1 Разработка подпрограммы пуска ЭД
Блок-схема подпрограммы пуска ЭД, реализующая алгоритм, представлен на рис. 5.
В начале подпрограммы необходимо разрешить микропроцессору обслуживание прерывания и установить указатель стека на выбранный адрес ОЗУ.
При программировании операции ввода состояния триггера ГТ необходимо предварительно установить соответствие между состоянием триггера (лог. 1 или 0) и состоянием электропривода ("готов или не готов").
В блоке 3 производится анализ состояния того разряда ШД , к которому подключен триггер ГT.
В регистр ЦАП выводится цифровой эквивалент управляющего напряжения. Поэтому перед программированием этой операции необходимо вычислить по заданному Uупр его цифровой аналог (см. ниже ) .
Задержка времени для разгона ЭД может быть реализована в виде подпрограммы или без нее. Предварительно необходимо по заданному времени задержки произвести соответствующие вычисления (см. ниже).
В блоках 6 и 7 производится ввод цифрового эквивалента напряжения тахогенератора и его сравнение с цифровым эквивалентом управляющего напряжения. При несоответствии производится вывод
в RG ЦАП кода 00 ( блок 8 ), а в триггер СБ - сигнала "Сбой". Вывод в триггер необходимо организовать таким образом; чтобы разряд ШД, к которому подключен триггер, при вводе принял состояние, при котором светодиод должен излучать. Передача лог. 1 или 0 по этому разряду определяется схемой подключения светодиода к триггеру.
6.2 Разработка подпрограммы обслуживания прерывания
Подпрограмма начинает работу при поступлении сигнала "Авария" на вход микропроцессора " Запрос прерывания " (ЗПР). В состав подпрограммы входят три блока, выполняющиеся последовательно друг за другом.
Первый блок осуществляет запрет прерывания и запись в стек содержимого регистров МП.
Второй блок обнуляет регистр ЦАП и выдает сигнал "Сбой".
Третий блок осуществляет вызов из стека содержимого регистров МП, разрешение прерывания и переход на конец подпрограммы пуска.
6.3 Расчет цифрового эквивалента
Расчет сводится к преобразованию заданного управляющего напряжения из десятичной формы в шестнадцатеричную. Причем старший разряд кодирует направление вращения:
0 - прямое вращение, 1 - обратное.
Задано Uупр = -1,28 В. Так как в ЦАП цифровой код преобразуется в аналоговую величину с определенной дискретностью ( 0.05 В ), то первоначально вычисляется количество дискрет для представления аналоговой величины заданного уровня. Для уровня -1,28 В количество дискрет составляет 2610, а двоичный эквивалент 110012 . С учетом направления вращения получим 1110012, в шестнадцатеричной форме 1916.
6.4 Разработка подпрограммы задержки
Подпрограмма задержки реализуется путем организации циклического процесса из N циклов. Если известно время выполнения i-той команды t i, в цикле и количество таких команд K в цикле, то время задержки составит: