ZiChip–Эмулятор устройств

30 Сентября 2013 К комментариям

Для тестирования программы тюнера и работы устройств при объединении их в сеть была написана программа эмулятор – “ZiChip-Devices”.

image

Основные возможности программы:

  • эмуляция от 0 до 14 устройств (эмулируемое устройство реализует базовую функциональность)
  • журнал входящих и исходящих пакетов сети
  • журнал входящих, исходящих и ретранслируемых пакетов для каждого устройства индивидуально
  • сохранение любого журнала пакетов в файл (в бинарном виде)
  • фильтрация отображаемых пакетов в журнале по отправителю, получателю, номеру точки доступа, направлению передачи и типу пакета
  • запись и чтение содержимого EEPROM любого устройства в файл (в бинарном виде)
  • отображение статуса устройства

Реализованная функциональность устройств (на текущий момент):

  • прием, обработка и отправка пакетов в сеть, согласно установленному протоколу обмена
  • базовая точка доступа “Ноль”, поддерживает: идентификацию устройств, установку адреса, чтение и запись EEPROM, получение времени работы устройства и загрузки микроконтроллера (псевдослучайное число с обновлением один раз в секунду), включение и выключение диспетчера устройств
  • реализованы модули: Аналоговый вход, Цифровой вход, Цифровой выход

В целом интерфейс получился не слишком загруженным, поэтому опишу его кратенько:

Окно программы логически разделено на четыре части:

Сеть (СОМ-порт) – подключение к сети, содержит элемент выбора СОМ-порта и кнопку “Подключиться”. (Обновление списка доступных СОМ-портов в системе происходит по каждый раз при раскрытия списка)

Список устройств в сети – отображает список активных устройств, их порядковый номер, идентификационный номер и адрес. “Включать-выключать” устройство, изменять его ID и адрес можно в любой момент времени. При активировании устройства автоматически добавляется вкладка с соответствующим номером.

Журнал пакетов – отображает входящие и исходящие пакеты для всей сети. Все устройства в сети соединены последовательно, т.е. выход первого соединён со входов второго и т.д. Соответственно “Входящие” пакеты это пакеты которые получает активное устройство с наименьшим номером, а “Исходящие” активное с наибольшим номером.

Настройки – настройки на текущий момент данный элемент не активен.

image

Для каждого активного устройства доступны следующие элементы:

image

Журнал пакетов – индивидуальный журнал устройства, т.е. содержит: входящие (белый фон), исходящие (серый фон) и ретранслируемые (голубой фон) пакеты устройства.

EPROM – просмотр содержимого EEPROM, дополнительно в контекстном меню доступны (правый клик):

  • Сохранить в файл – сохранение данных EEPROM в файл
  • Загрузить из файла – загрузка данных из файла в EEPROM. Тут есть одна особенность. По умолчанию размер EEPROM 256 байт, но если выполнить загрузку файла большего размера, то для данного устройства этот размер будет увеличен. Максимальный размер 8192 байт.
  • Шестнадцатеричная система – отображение данных в шестнадцатеричном формате
  • Отображать нули – для более легкого восприятия по умолчанию, если значение ячейки EEPROM равно нулю, то оно не отображается в окне просмотра. При желании его можно включить.

Модуль Аналоговый вход имитирует работу АЦП. Содержит две точки доступа, для двух каналов АЦП (№1 и №2). Точки доступны только для чтения. Имитация изменения входного напряжения выполняется посредством горизонтальной прокрутки (не уверен в правильности перевода).

image

Модуль Цифровой вход имитирует работу цифровых линий ввода. Содержит одну точку доступа (№10). Точка доступна только для чтения.

image

Модуль Цифровой выход имитирует работу цифровых линий вывода. Содержит одну точку доступа (№11). Точка доступна для записи и чтения.

image

На этом заканчиваю описание.

Видео о работе с программой

Исполняемый файл программы скачать (установка не требуется).

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

Дополнительную информацию смотрите на форуме


Categories: Проекты Tags: ZiChip

comments powered by Disqus