Skip to content

Прошивка для плат СУЭ-П1 на базе ATmega128rfa1.

License

Notifications You must be signed in to change notification settings

bvchirkov/EsHard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EsHard

Прошивка для плат СУЭ-П1 на базе ATmega128rfa1.

Коммуникация и переферия

На физическом уровне устройства соединены по интерфесу RS485. С помощью преобразователя RS485 to TTL осуществляется подключение к интерфесу UART. Скорость UART выставлена на уровне 9600.

Между собой устройства соединяются кабелем Ethernet:

кор.      - земля МК
кор.-бел. - питание МК (+3.3В)
син.      - не используется (подключен к земле с одной стороны)
син.-бел. - сигнальная земля
зел.      - земля силовая
зел.-бел. - питание силовое (+12В)
орн.      - сигнальный B-
орн.-бел. - сигнальный A+

В зависимости от типа устройства, к ним может быть подключен внешний прибор (стрелка, кнопка, светофор). Для стрелки и светофора в разрыв подключена земля. Подключение кнопки отличается.

От устройства до внешнего прибора идет 4-х жильный кабель:

** для стрелки и светофора
кр.  - питание (+12В)
* для стрелки
син. - управляющий центральным сегментом 
бел. - управляющий левым сегментом
зел. - управляющий правым сегментом
* для светофора
син. - управляющий красным сегментом [квадрат]
бел. - управляющий зеленым сегментом [крест]
зел. - не задействован
** для кнопки
кр.  - не задйствован (потому что ей не требуется 12В)
син. - земля
бел. - питание светодиода (+3.3В)
зел. - питание кнопки (+3.3В)

Компиляция

make all ST=ARW SA=3

ST - тип устройства

Возможнные варианты:

  1. ARW (0x01) - световой указатель направления (стрелка)
  2. BTN (0x02) - ручной пожарный извещатель (кнопка)
  3. LHT (0x03) - световой сигнализатор разрешения использования проема (светофор)

SA - адрес устройства

Минимальное значение для адреса - 1, максимальное 127.

Прошивка

Программатор usbasp

make flush

Протокол обращения

Каждое устройство на линии ждет/отправляет 3 байта - пакет.

Входящий пакет [от центрального узла (ПК)]

1-й байт - адрес устройства (1 - 127 - индивидуальный, 128 - ширововещательный).

2-й байт - тип команды (SET (0x01) - отправка команды, STATUS (0x00) - запрос состояния устройства).

3-й байт - данные команды:

  • CMD_OFF (0x00) - отключить устройство
  • CMD_LEFT (0x01) - включить стрелку влево
  • CMD_RIGHT (0x02) - включить стрелку вправо
  • CMD_STOP (0x01) - включить светофор в режиме стоп (запрет движения через проем)
  • CMD_GO (0x02) - включить светофор в режиме идти (разрешение движения через проем)

В качестве широковещательной команды может быть только CMD_OFF (0x00)

Пример пакета для включения стрелки с адресом 1 вправо:

0x01 0x01 0x02

Исходящий пакет

Первые два байта возвращаются в том же виде, что и пришли. Полезная нагрузка в третьем байте. Он выполняет роль шины данных:

7 бит - устанавливается, если команда получена верно.

6 бит - для стрелки и светофора бит блокировки. Блокировка используется, чтобы избавиться от выбора режима на каждом тике.

5 бит - для стрелки и светофора бит состояния - вкл/выкл во время мигания.

4 бит - устанавливается, если нажата кнопка.

3 бит - устанавливается, если произведена запись пришедшей команды в энергонезависимую память.

2 бит - не задйествован

1 и 0 бит - команда

Пример исходящего пакета, который сообщает, что устройство с адресом 1 исполняет команду 0x02, записало эту информацию в энергонезависимую память и сейчас включено:

00000001 00000001 11101010

About

Прошивка для плат СУЭ-П1 на базе ATmega128rfa1.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published