AJAX Lab


Перейти к содержанию

orion nt

Документы > Описания

Контроллер имеет два интерфейса для общения с внешним оборудованием: RS232 и RS485.
RS232 - интерфейс общего пользования. Пакет, принятый по радиоканалу, передается через последовательный интерфейс процессора AT89C51 на схему или, расположенную в ПЛИС и далее на процессор ADUC812 и драйвер интерфейса RS232. Возвращается пакет обратно тем же путем. Аналогично, команды подаваемые по интерфейсу RS232 одновременно попадают на оба процессора. Таким образом, подключив компьютер на этот интерфейс можно подсмотреть весь процесс обмена.
RS485 - интерфейс вторичный и пока работает только на датчик динамографа. Поток команд на него может подаваться только с процессора ADUC812.
Скорость передачи по RS232 – 19200 б/с, по RS485 – 9600 б/с.
В уже поставленном варианте процессор контроллера ADUC812 не имеет своего адреса и адресуется через адрес модема. Но эта ситуация себя изжила. Для наращивания количества обрабатываемых датчиков, предполагается объединять контроллеры по шине RS485 и по вторичному радиоканалу. Отсюда следует, что на одном радиомодеме будет сидеть несколько контроллеров без радиомодема и поэтому для каждого контроллера вводится свой дополнительный адрес от 00 до 16. Адрес контроллера, расположенного на плате по умолчанию нулевой. Адрес программируется во FLASH памяти контроллера и смены ПЗУ не требует и может быть перепрограммирован в любое время с компьютера специальной командой.

Контроллер построен по классической Гарвардской архитектуре, т.е. имеет разделенные потоки команд и данных. Команды хранятся в ПЗУ, данные в ОЗУ. В адресном пространстве ОЗУ располагаются периферийные устройства, а именно:
Часы реального времени (RTC) с энергонезависимой памятью объемом 4 кБайт;
Аппаратные счетчики ТИИ – 7 4-х разрядных и 1 16-ти разрядный;
Регистр ТС – 8 разрядов;
Регистр ТУ – 8 разрядов;
Регистр управления последовательного интерфейса;
Регистр управления DS1720 (термодатчик);
Регистр светодиодов.

Память расположена с адреса 0х0000 по 0х7FFF, периферия с адреса 0x8000.
RTC вырабатывают необходимые интервалы времени для работы процессора: прерывания INT1 c периодом 1 сек – опрос счетчиков и ТУ, прерывания INT0 c периодом 32 мсек для опроса ТИТ.

рис.1
Счетчики работают следующим образом. Входной сигнал, пройдя через опторазвязку, попадает на соответствующий вход ПЛИС, Далее через схему подавления дребезга на счетный вход счетчика. Один раз в секунду состояние аппаратного счетчика считывается процессором, он обнуляется, а содержимое его прибавляется к 4-х байтному программному счетчику. Схема подавления дребезга показана на рис.1. Диаграммы показывающие, работу схемы приведены на рис.2. На вход TS поступает входной сигнал с дребезгом (заштрихованный прямоугольник), который стробируется перепадом из 0 в 1 по входу CLK, сигнал на выходе гарантированно появится при поступлении второго фронта CLK, если во время дребезга вход TS совпал по уровню с предыдущим состоянием.

Отсюда можно вывести ограничения, накладываемые этой схемой на входной сигнал:

1.td << tc ;
2.tc >> ts;
где:
tc - период сигнала стробирования входа ТС, может быть запрограммирована от 3 мсек до 23 мсек (по умолчанию 23 мсек);
ts - период следования сигнала ТС;
td - длительность дребезга.
Еще одно ограничение накладывает размер аппаратного счетчика – 4 разряда, при частоте съема 1 сек определяют, что максимальная частота следования импульсов ТС не более 16 Гц. Таким образом суммируем ограничения: частота на входе менее 16 Гц, длительность импульса должна быть больше периода tc , длительность дребезга менее tc . При нарушении этих условий, импульсы могут “проглатываться”.

Рассмотрим работы схемы оптоизолятора. Она имеет в своем составе токоограничивающий резистор R145, фильтрующий конденсатор, два стабилитрона и оптопару DA6. Стабилитроны нужны для гашения излишков напряжения и создания пороговой характеристики переключения. Опотопара работает с любой полярностью сигнала, поэтому применены два стабилитрона и схема может работать с различным общим проводом, как «плюс», так и «минус». Входное напряжение зажигает фотодиод оптопары, что приводит к открытию транзистора и зажиганию светодиода индикации, одновременно сигнал с коллектора транзистора поступает на дальнейшую обработку, которая была описана выше. Стабилитроны имеют напряжение пробоя 3,3В. Можно рассчитать входное напряжение, при котором происходит открытие оптопары, оно равно:
2*Uст + Uf + R*9мА = 6,6 + 1,5 + 4,2 = 12,3В.
Где
Uст – напряжение пробоя стабилитрона;
Uf – падение напряжения фотодиода;
R*9мА – падение напряжения на резисторе, при токе открытия фотодиода 9 мА.


АЦП, с помощью которого происходит оцифровка сигнала ТИТов, расположен на кристалле процессора ADUC812, имеет разрядность 12 бит и восьмиканальный вход. Кроме этого в схему входит преобразователь тока в напряжение (прецизионный резистор) и нормирующий усилитель, который приводит входной сигнал в диапазон напряжений работы АЦП. Данные схемы тривиальны и подробного рассмотрения не требуют. Входы ТИТ рассчитаны на работу с датчиком 0-20 мА и имеют входной импеданс 250 Ом.
ТУ реализованы программным способом, диапазон времени составляет от 1 до 256 секунд, кроме 3 и 4 ТУ, у которых имеется аппаратный сброс при превышении времени срабатывания более 15 секунд. Физически они реализованы в виде выходов “открытый коллектор”. Транзисторная сборка рассчитана на управление нагрузкой с напряжением до 30В и током до 0,5А. 3 и 4 ТУ заходят на отдельную плату “Condition”, где расположена схема управления нагрузкой ~220В. Таким образом, с помощью этих ТУ можно управлять нагрузкой переменного тока. Кроме того, эта схема имеет синхронизацию с нулем фазы, что сводит помехи при включении нагрузки к минимуму.

Модем
Рассмотрим сначала схему кодирования информации для передачи по эфиру. На вход радиостанции должен передаваться сигнал переменного тока, поэтому чистая последовательность «0» и «1» не подходит для подачи на вход радиостанции. В нашем модеме принято часьлтное кодирование, т.е. длительности «0» и «1» отличаются. Кроме того для обозначения начала и конца информационной посылки. Сказанное иллюстрируется рисунком.

Теперь рассмотрим схему приемного тракта. Сигнал с радиостанции попадает на усилитель с регулируемым коэффициентом усиления, для предварительного усиления. Далее следует полосовой фильтр с полосой 200 Гц – 10 кГц, который устраняет нежелательные помехи и окончательно усиливает сигнал для обработки его компаратором. Компаратор с гистерезисом порядка 200 мВ, вырезает из сигнала его центральную, наиболее информативную и не подверженную помехам часть, как показано на рис.5 штриховой линией. Поскольку сигнал с компаратора двухполярный, подавать его на цифровую схему непосредственно нельзя, далее сигнал поступает на схему преобразования уровня.

Дальше уже цифровой сигнал проходит обработку в ПЛИС. Теперь рассмотрим структуру пакета информации, передаваемого по радиоканалу. Кроме непосредственно информации в пакете существуют различные служебные поля, которые показаны на рис.6.

Адресный пакет,№ пакета и пакет данных разделяются символов пробела.
Пакет нулей необходим по нескольким причинам: во-первых, его длительность превышает время, необходимое радиостанции для разогрева и неискаженной передачи, а во-вторых, после приема более 32 двух нулей подряд ПЛИС выдает сигнал обнаружения несущей.
Рассмотрим более подробно структуру адресного пакета. Любой адрес состоит из двух символов.

№ байта

Назначение

Примечание

1

Адрес модема устройства назначения

Могут быть любые ASCII символы

2

Адрес модема устройства источника

Могут быть любые ASCII символы

3

Адрес модема ретранслятора

Могут быть любые ASCII символы. После ретрансляции пакета 8 бит адреса получает состояние «1».

...

Адрес модема ретранслятора

 

N

Адрес модема ретранслятора

 

Число ретрансляторов не должно превышать восьми, это ограничение заложено в программе модема. Признак ретрансляции (8 бит) необходим для соблюдения порядка цепочки ретрансляторов. Если два ретранслятора приняли пакет, то ретранслировать будет тот, который следует за адресом с установленным восьмым битом.
Номер пакета имеет 4-х байтовое значение уникальное для каждого цикла опроса объекта. В нем кодируется текущее время отсылки пакета.. Младший байт номера пакета отведен для адреса объекта, если к одному модему подключено несколько контроллеров. Они могут иметь номера от 0 до 15. Нулевой номер по умолчанию присвоен контроллеру, который расположен на одной плате с модемом. Номер пакета имеет признак, отличающий его от данных: первый символ это знак «!». Вышесказанное иллюстрируется таблицей.

Признак пакета

Номер пакета

Адрес контроллера

!

1 байт

2 байт

3 байт

4 байт

 

год

мес

день

час

мин

сек

 

Кодировка показана ниже:
code unsigned char TIME_COD[63] = {'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0};
Команды.
Команды контроллера. Все командв должны заканчиваться символом <Enter>. Текст непосредственно команды выделен жирным шрифтом.
1. Чтение идентификационного номера.
Запрос - #id
Ответ – возвращается 6 байтное число, уникальное для каждой платы в формате HEX.
Примечание: эта функция может быть использована для отслеживания перемещения КП и обновления версий.
2. Чтение версии прошивки.
Запрос - #cver
Ответ – возвращается текстовая строка, обозначающая тип версии прошивки
Примечание: эта функция может быть использована для отслеживания обновления версий.
3. Запись во FLASH.
Запрос - #wrflash nnaaaadd..dd
Где:
nn – количество записываемых байт;
aaaa - начальный адрес записи;
dd..dd – записываемые данные;
Ответ – Adres = 0xaaaa Data = 0xdd..dd
Примечание: Пример команды для разрешения работы с дигамографом:
#wrflash 01001011 – это значит в ячейку с адресом 0010 пишется число 11.
В ячейке 12 хранится адрес контроллера.

Далее идут команды, обрабатываемые только в составе полного пакета адреса и данных

4. Обнуление счетчиков.
Запрос - rnn
Где:
nn – номер счетчика;
Ответ – ок
5. Чтение счетчиков.
Запрос - cnn
Где:
nn – номер счетчика;
Ответ – dddddddd - значение параметра в HEX.
6. Чтение ТС.
Запрос - bnn
Где:
nn – номер ТС;
Ответ – d - значение параметра в HEX.
7. Чтение ТИТ.
Запрос - ann
Где:
nn – номер ТИТ;
Ответ – dddd - значение параметра в HEX.
4. Установка ТУ.
Запрос - tnncc
Где:
nn – номер ТУ;
сс – время включения ТУ в секундах в HEX
Ответ – ОК.

Каждая из команд может комбинироваться с любой другой в один пакет, ответы разделяются запятыми.
Команды могут содержать наборы MODBUS RTU. Для этого перед командой MODBUS ставится символ $, и команда из бинарного кода переводится в ASCII.
Для того, чтобы модем передал команду в эфир, посылается следующая строка:

send пробел вышерассмотренный пакет Enter

О компании | Продукция | Документы | Контакты | Поддержка | Карта сайта


Назад к содержанию | Назад к главному меню