Мегаобучалка Главная | О нас | Обратная связь


Разработка блок-схем процедур модуля PWM



2020-02-04 180 Обсуждений (0)
Разработка блок-схем процедур модуля PWM 0.00 из 5.00 0 оценок




Для написания программы будет использоваться язык программирования высокого уровня C++. Написание кода будет осуществляться в среде разработки CodeWarrior. Также будет использован инструмент Processor Expert, предназначенный для ускорения процесса настройки регистров DSP-контроллера. Интерфейс среды разработки CodeWarrior представлен на рисунке 4.5.

POWER_MODE - переменная, предназначенная для отображения состояния, в котором находится модуль стабилизации в данный момент. В таблице 4.3 приведены в соответствии состояния системы и значения переменной POWER_MODE, которые она принимает в данном состоянии.

 

Таблица 4.3 - Состояния переменной POWER_MODE

Значение POWER_MODE Состояние
0 WAIT - режим простоя
1 MODE - выход на режим
2 STABILIZATION - режим стабилизации
3 CURRENT_OREVFLOW - превышено максимальное значение тока
4 FAULT – сигнал ошибки от драйвера
5 TEMPERATURE – превышена температура
6 CURRENT_BOORDER – вычисление нуля тока на АЦП

 

BORDER_I – переменная, предназначенная для счетчика интегратора.

BORDER – переменная, предназначенная для вычисления полочки тока.

Iop – ток задатчика (опора).

Iz – ток задатчика.

Step – шаг для вывода на режим.

CURRENT_FROM_ADC – переменная, предназначенная для считывания в нее значения с АЦП.

k,b(COUNT_TEMPRET_TABLE) – константы для вычисления температуры (взяты из технической документации на датчик температуры).

SPI_MODE – переменная, предназначенная для идентификации команды, поступившей системе по параллельному порту.

В таблице 4.4 приведены в соответствии команды системе, поступающие по параллельному интерфейсу, и значения переменной SPI_MODE, которые она принимает при поступлении этой команды.

 

Таблица 4.4 - Команды переменной SPI_MODE

Значение SPI_MODE Команда
0 Режим ожидания параллельного интерфейса
1 Режим приема пакета данных

 

DATA_TO_SEND – массив данных отправляемых по параллельному интерфейсу на управляющий контроллер.

Значения которые может отправлять массив DATA_TO_SEND:

– начало пакета DATA_TO_SEND [0];

– текущее значение тока DATA_TO_SEND [1];

– текущая температура DATA_TO_SEND [2];

– код ошибки DATA_TO_SEND [3];

– конец пакета DATA_TO_SEND [4];

В таблице 4.5 приведены в соответствии команды системе, поступающие по параллельному интерфейсу, и значения переменной DATA_TO_SEND, которые она отправляет.

 

Таблица 4.5 - Коды переменной DATA_TO_SEND

Код ошибки Ошибка
0 NO_ERROR – нет ошибки
1 DRIVER – сработала защита драйвера
2 TEMP_OVER – сработала защита по температуре
3 CUR_OVER – сработала защита по току

 

CounRX – счетчик принятых байт.

PACET – массив для хранения принятых байт.

В таблице 4.6 приведены в соответствии команды системе, поступающие по параллельному интерфейсу, и значения переменной PACET.

 

Таблица 4.6 - Команды переменной PACET

Значение PACET Команда
PACET [0] Код начала пакета
PACET [1] Команда преобразователю
PACET [2] Значение тока задатчика

 

Описание основных процедур:

SS1_RecvChar() – процедура чтения данных из буфера приемника SPI.

SS1_ClearRxBuf() – процедура очистки буфера приемника SPI.

SS1_SendBlck() – процедура посылки данных в буфер приемника SPI.

TI1_OnInterrupt() – процедура вызываемая при возникновении прерывания по таймеру-счетчику.

TI1_Disable() – процедура запрещения работы таймера-счетчика.

TI1_Enable() – процедура разрешения работы таймера-счетчика.

AD1_GetValue16() – процедура считывания данных с АЦП.

AD1_Mesure() – процедура инициализации АЦП.

AD1_GetChanOfSet() – процедура установки нулевого уровня АЦП.

AD1_OnHighLimit() – процедура срабатывающая при достижении верхнего порога АЦП.

AD1_OnLowLimit() – процедура срабатывающая при достижении нижнего порога АЦП.

AD1_SetLowChanLimit() – процедура установки нижнего уровня срабатывания АЦП.

AD1_SetHighChanlimit() – процедура установки верхнего уровня срабатывания АЦП.

Математические процедуры:

- процедура вычитания SUB();

- процедура умножения L_MULT_TS();

- процедура сложения L_ADD().

Разработка диаграммы состояний блока связи с панелью индикации

 

Модуль SPI необходим для обмена информацией между панелью индикации и программной системой. Диаграмма состояний модуля SPI представлена на рисунке 4.6.

Состояние «ожидание пакета/передача данных». Модуль переходит в это состояние после подачи питания. В этом состояний модуль SPI ожидает начало передачи данных, при поступлении тактового сигнала отправляет байт данных. Возможен переход в состояние «прием/передача пакета» при возникновении события «такт работы (получение стартового символа пакета)». Также возможно событие такт работы.

Состояние «прием/передача пакета». В этом состоянии принимается символ данных по каждому тактовому сигналу, при этом отправляет байт данных. Модуль находится в этом состоянии, пока не возникнет событие «такт работы (получение последнего символа пакета)». В этом состояний также возможно событие «такт работы», при котором он остается в том же состояний.


 



2020-02-04 180 Обсуждений (0)
Разработка блок-схем процедур модуля PWM 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка блок-схем процедур модуля PWM

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (180)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)