Предыдущая Следующая

При увеличении количества исполнительных устройств на выходе контроллера необходим дешифратор команд. Контактор S2 требуется для аппаратного ограничения поворота руля передних колес.

Программа приемника

Для чтения принимаемого сигнала (единицы или нуля) необходим специальный алгоритм распознавания —■ как отдельных битов кода, так и всего кода в целом. Алгоритм (рис. 10.10) разбит на три части:

Рис. 10.9. Драйвер LB1642

260

Глава 10

• распознавание бита информации;

• распознавание кода байта информации;

• проверка выходного порта и выдача сигналов управления драйверами.

^ Прием

Радиоуправление моделями автомобилей

261

Первая часть алгоритма основана на выделении приемлемой формы сигнала. Существует несколько методов чтения сигнала реального времени:

• с помощью внешнего прерывания;

• считывание входного бита из порта;

• через таймер с последующим формированием временных импульсов.

Однако эти методы не соответствуют требованиям помехозащищенности. Автор использовал метод сканирования бита сигнала на линии порта с частотой, в шесть раз превышающей частоту сигнала. Для этого была составлена таблица приемлемых форм сигналов (табл. 10.2), при сравнении с которыми выделяется правдивый бит информации.

Таблица 10.2. Таблица приемлемых форм сигналов

Единица

Ноль

Старший полубайт

Младший полубайт

HEX код

Норма

Старший полубайт

Младший полубайт

HEX код

Норма

1

1

1

1

1

1

3

F

Да

0

0

0

0

0

0

0

0

Да

0

1

1

1

1

1

1

F

Да

0

1

0

0

0

0

1

0

Да

0

0

1

1

1

1

0

F

Да

1

0

0

0

0

0

2

0

Да

1

1

1

1

0

0

3

С

Да

1

.1

0

0

0

0 I 3

0

Да

1

1

1

1

1

0

3

Е

Да

0

0

0

0

1

1

0

3

Да

1

1

1

1

0

1

3

D

Нет

0

0

0

0

0

11 0

1

Да

1

1

1

 

1

1

3

В

Нет

0

0

0

0

1

0

2

0

Да

1

0

1

1

1

1

2

F

Нет

0

0

0

1

0

1

0

5

Нет

1

0

1

1

0

1

2

D

Нет

0

1

0

1

0

0

1

4

Нет

1

0

1

0

1

0

2

А

Нет

1

0

1

0

0

0

2

8

Нет

Сигнал, показанный на рис. 10.11, содержит большое количество помех от других источников. Метод распознавания битов основан на преобладании единицы или нуля в сигнале с точностью не менее 60%. Если проанализировать принимаемый сигнал с точки зрения накладываемых помех, то форму сигнала, соответствующего биту единицы (см. рис. 10.11 а) или нуля (см. рис. 10.11 б) можно распознать программно.

После распознавания бита информации программа переходит ко второй части дешифровки принятой команды. Сигнал передается десять раз и имеет длину один байт. С целью распознавания объекта в старшей половине байта передается шестнадцатеричный код сигнала $А, а в младшей половине — код команды (см. табл. 10.1). Если рассмотреть принятый микроконтроллером сигнал в режиме реального времени

262

Глава 10

и проанализировать время, затраченное на дешифровку информации, то получим временную диаграмму, показанную на рис. 10.12.

Ubx3.

10 t mS

Рис. 10.11. Сигнал содержит помехи

По этой диаграмме можно проанализировать алгоритм работы программы. Первые четыре бита информации распознаются как код сигнала, обрабатываются программой в течении 0,168 мс, после чего следует дешифрация кода команды. Дешифрация происходит во время паузы между посылками и длится около 6 мс.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz