Министерство образования и науки РФ
Московский Государственный Институт Электроники и Математики
(Технический университет)

Курсовая работа

Тема работы:

Разработка устройства удаленного управления DVR-сервером

Студент группы С-45

Преподаватель

Москва, 2008 г.

Содержание

Содержание. 2

Техническое задание. 2

Назначение устройства и его описание. 3

Описание модуля клавиатуры.. 6

Описание блока индикации. 7

Описание алгоритма работы устройства. 8

Приложение 1: список команд устройства. 10

Техническое задание

Назначение устройства: быстрое удаленное управление 5 каналами записи видео на DVR-сервере.

Требования к устройству:

·  Индикация состояния каждого канала

·  Индикация группировки каналов

·  Управление каждым каналом отдельно и возможность их группировки

·  Встроенная индикация системного времени

·  Возможность подключения внешнего индикатора времени

·  Возможность подключения к TALLY-терминалу

·  Возможность подключения индикатора «ON AIR»

·  Связь с сервером по интерфейсу RS-232

·  Максимально быстрая реакция на действия оператора по управлению каналами, задержка от нажатия кнопки до реакции сервера не более 20 мс

·  Возможность легкого наращивания количества кнопок и ламп индикации

Назначение устройства и его описание

При реализации проекта видеостудии появилась необходимость в эффективном управлении видеокамерами, подключенными к DVR серверу. Сервер удален от оператора на большое расстояние, поэтому управление им возможно только двумя способами:

НЕ нашли? Не то? Что вы ищете?

1.  по локальной сети

2.  с помощью отдельно подключаемого устройства.

Первый вариант включает в себя минимум затрат на дополнительное оборудование, но не удовлетворяет временным требованиям, озвученным в техническом задании, поэтому был принят во внимание второй вариант.

Было рассмотрено множество вариантов серийно выпускаемых изделий данного назначения. Но ни одно из них не удовлетворило требуемому соотношению цена/функциональность. Было решено осуществить разработку устройства своими силами. Таким образом, была решена проблема недостаточного/избыточного набора функций и высокой цены.

Рис.1 Лицевая и задняя стороны устройства

На рис.1 приведен вид лицевой и задней сторон. Устройство выполнено в отдельном корпусе высотой в 1U с возможностью монтажа на серверную стойку 19'' . На лицевой части расположены: блок индикации, блок клавиатуры, часовой индикатор и выключатель питания. Все необходимые входы/выходы расположены на задней стороне устройства.

На лицевой стороне расположено два ряда по пять кнопок в каждом. Все кнопки с подсветкой. Первый ряд позволяет управлять состоянием каждого канала отдельно и одновременно отображает состояние каналов. Второй ряд кнопок реализует возможность группировки каналов для последующего одновременного запуска с помощью кнопки «G», расположенной правее.

На семисегментном индикаторе с правой стороны панели отображается системное время сервера, для удобства оператора. Предусмотрено подключение внешних часов-индикатора и лампы «ON AIR». Лампа «ON AIR» загорается в том случае, когда хотя бы один из каналов в данный момент активен.

Рис. 2 Блок-схема устройства

На рис.2 приведена блок-схема устройства. В качестве управляющего микроконтроллера был выбран 8-разрядный RISC микроконтроллер PIC18F4520 от производителя Microchip. Микроконтроллер имеет 16 кб Flash-памяти программ и 1.5 кб памяти данных, 256 байт EEPROM и максимальную производительность 10 MIPS. Также он имеет встроенный модуль UART, который позволяет без дополнительных модулей связать микроконтроллер и DVR сервер по интерфейсу RS-232 со скоростью до 115200 бод.

Принципиальная схема приведена на рис.3. К микроконтроллеру подключен кварцевый резонатор на 40 МГц, при этом производительность микроконтроллера составляет 10 MIPS. Питание для микроконтроллера и периферии подается с внешнего источника 5 вольт. Как видно из схемы, у микроконтроллера остались свободные выводы, что позволит в будущем легко добавлять новые функции к устройству.

Рис. 3 Принципиальная схема устройства

Общая задержка от нажатия кнопки оператором до получения ответа от сервера на скорости 115200 бод – 2-6 мс, что является хорошим показателем при максимально допустимом значении 20 мс. При этом временные затраты на передачу информации по интерфейсу RS-232 составляют до 1 мс, а остальное время составляет задержка опроса клавиатуры. В текущей реализации устройства клавиатура опрашивается до 200 раз в секунду, при необходимости это значение можно увеличить.

Сигнал от устройства до сервера был пущен по витой паре на расстояние 17 м, при этом скорость составила 115200 бод. Данной скорости достаточно для быстрого функционирования устройства.

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

Описание модуля клавиатуры

Клавиатура организована с помощью двух параллельных регистров сдвига 74HC165N, включенных каскадом. Данный способ организации клавиатуры требует от управляющего микроконтроллера всего 3 вывода, что в итоге упрощает разводку платы и позволяет применить более дешевый управляющий микроконтроллер с меньшим количеством выводов. Еще одним достоинством данного способа является легкое наращивание количества регистров, требующее минимальных доработок как в программной части, так и в аппаратной, при этом количество выводов микроконтроллера, необходимых для управления клавиатурой, не изменится. Также в данной схеме клавиатуры применяется аппаратная защита от дребезга кнопок, что упрощает алгоритм опроса клавиатуры и в некоторой степени увеличивает ее быстродействие. Возможно подключение до 16 кнопок.

Регистры работают следующим образом:

При установке на входе S/L регистра лог. 0, происходит считывание состояний входов регистра во внутреннюю память. Далее на входе PLD устанавливается лог. 1 и на вход регистра CLK подается тактовый сигнал. При изменении уровня на входе CLK с лог. 0 на лог. 1 происходит сдвиг считанного значения на 1 разряд и вывод старшего бита на вывод регистра QH, значение которого затем считывается микроконтроллером.

Описание блока индикации

Организация блока индикации выполнена с помощью двух последовательных регистров сдвига 74HC164N*, которые включены каскадом. Достоинства данного способа аналогичны описанным в предыдущей главе. Всего можно подключить до 16 светодиодов.

Работа с регистрами выглядит так:

На вход CLK регистра подаются тактовые импульсы. При изменении уровня на входе CLK с лог. 0 на лог. 1 происходит сдвиг текущих состояний выводов регистра на 1 разряд в сторону старшего вывода, при этом значение входа A появляется на выводе QA регистра. Таким образом, в регистры последовательно загружаются состояния ламп индикации.

*При работе устройства было замечено слабое свечение светодиодов блока индикации, это было вызвано особенностями работы регистров типа 74HC164N. В последующих версиях устройства эти регистры были заменены на 74HC4094N, у которых эта особенность полностью отсутствовала.

Описание алгоритма работы устройства

Алгоритм работы устройства можно разделить на две части: работа в основном цикле и в прерывании.

Ниже приведена блок-схема алгоритма работы основного цикла:

Далее приведена блок-схема алгоритма работы в прерывании:

Приложение 1: список команд устройства

Название команды

Напр.

Имя

Размер

Команда

Данные

1

Проверка связи

<> 

PT_ECHOй

2

0x20

2

Ресет

PT_RESET

2

0x21

3

Нажата кнопка

PT_BTPR

3

0x22

BUTn

4

Включить св/д

PT_LON

3

0x23

LEDn

5

Выключить св/д

PT_LOFF

3

0x24

LEDn

6

Вкл/Выкл св/д

PT_LONOFF

3

0x25

LEDn

7

Задать состояние всех св/д

PT_LALL

~127

0x26

LED1

LED2

LED3

LEDn

8

Задать сост. неск. кнопок

PT_BTALL

~127

0x27

BUT1

BUT2

BUT3

BUTn

9

0x28

10

0x29

11

0x2A

12

0x2B

13

0x2C

14

0x2E

15

0x2F

16

0x30

17

Установить частоту опроса клавиатуры

PT_KEYRC

0x31

valH

valL

18

Установить частоту обновления светодиодов

PT_LEDRC

0x32

valH

valL

19

0x33