RS232-test

О программе.
Работа с программой.
Настройки.
Статистика.
Тест.

О программе.
Эта программа предназначена для управления УСТРОЙСТВОМ, собранном на микроконтроллере PIC16F84. Связь между компьютером и УСТРОЙСТВОМ осушествляется посредством последовательной асинхронной передачи данных через COM порт. УСТРОЙСТВО имеет три светодиода включать и выключить которые Вы можете нажатием кнопки мыши. При этом программа посылает УСТРОЙСТВУ команду управления. Микроконтроллер обрабатывает принятую команду, включает или выключает требуемый светодиод, посылает компьютеру подтверждение выполненого действия.
Разумеется светодиоды можно заменить чем то другим, например ключем на семисторе, который будит включать и выключать свет в комнате.

Работа с программой.
В поле 'передается' есть три индикатора. Нажимая на кнопки рядом с ними Вы можете включать и выключать их. При этом на УСТРОЙСТВЕ должен соответственно изменить свое состояние соответствующий светодиод. А вслед за этим, с получением подтверждения изменится состояние индикатора в поле 'принимается'. Вы так же можете включить одну из трех мигалок. Это зацикленные последовательности команд. В первых двух команды заданы жестко, а в третьей меняются случайным образом.

Настройки.
Настройки включают в себя:
- Выбор порта.
Можно выбрать COM1, COM2, COM3 или COM4. По умолчанию выбран COM2. Какой порт в данный момент выбран отображается в верхней части окна программы. Если при выборе порта появляется сообщение об ошибке и после этого выбранный Вами порт становится неактивным, возможно он уже занят какой либо программой, например драйвером мыши.

- Выбор режима передачи.
Возможен один из трех режимов:
---- Прямая передача ( используется по умолчанию ). Этот режим наиболее быстрый, но менее надежный. Это связано с тем, что УСТРОЙСТВО не имеет на входе приемного буфера, какой есть у стандартных устройств, работающих по протоколу RS-232 ( например UART16550). Микроконтроллеру требуется определенное время для обработки принятой команды. Это время включает в себя идентификацию команды и выполнение связанной с ней действий. Если до истечения этого времени компьютер передаст УСТРОЙСТВУ новую команду, она будит потеряна.
---- Передача через буфер. В этом случае включается программный передающий буфер, назначение которого заменить отсутствующий приемный буфер УСТОРЙСТВА. Все передаваемые программой данные записываются сначала в программный передающий буфер. А уже от туда через равные интервалы времени передаются УСТРОЙСТВУ. Интервалы между передачей можно изменять, об этом смотрите в разделе 'Настройка буфера'.
---- Передача с подтверждением. В этом случае также используется программный передающий буфер. Однако данные из буфера передаются не по истечении установленного временного интервала, а после получения подтверждения того, что УСТРОЙСТВО приняло и обработало предыдущую команду. Практика показывает, что чаще всего это оптимальный режим работы.

- Настройка буфера.
Настройка заключается в определении минимального временного интервала между передачей данных из программного передающего буфера УСТРОЙСТВУ. Можно выбрать значение от 1 до 1000 мс. Значение по умолчанию - 10 мс. В этом случае УСТРОЙСТВУ передаеться не более одной команды каждые 10 мс. Оптимальное значение задержки определяется эксперементальным путем. Это наименьшее значение, при котором % ошибок ( смотри 'Статистику' ) остается равен нулю. Данная настройка используется только в режиме передачи через буфер. На два других режима она не влияет.

- Очистка буфера.
Эта команда удаляет все данные, находящиеся в программном передающем буфере.

Статистика.
Поле 'Статистика' состоит из двух разделов. В разделе 'Передача' отображается какой режим передачи в этот момент используется; включен или нет передающий буфер; сколько данных находится в буфере; какая последняя команда была передана УСТРОЙСТВУ; сколько всего было передано команд. В разделе 'Прием' можно увидеть какая последняя команда была принята от УСТРОЙСТВА; сколько всего было принято команд; % ошибок - показывает какая часть команд, посланных УСТРОЙСТВУ была не выполнена. Нажав кнопку 'Очистить все' Вы обнуляете всю накопившуюся статистику.

Тест.
Тест дает полное представление о скорости и надежности передачи в разных режимах работы программы. Во время теста УСТРОЙСТВУ передается подряд 100 команд. Сколько из них будут обработаны и сколько на это потребуется времени? Попробуйте различные варианты настроек, запуская при этом каждый раз Тест. И Вы увидите разницу.


8 февраля 2002 года.