January 17, 2024

Техническое задание на часы ИВ17

Общие требования

Техническое задание (ТЗ) на устройство для отображения времени вакуумно-люминесцентными индикаторами (ВЛИ) ИВ17.

Назначение устройства (далее часы): отображение времени в формате ЧЧ:ММ:СС, даты в формате ГГ:ММ:ДД, дня недели в виде текста, где разряды времени и текст отображаются ВЛИ ИВ17, а разделители ВЛИ ИВ1.

Количество индикаторов ив17 – 6шт. Кол-во индикаторов ив – 2шт.

Корпус часов – дерево. Форма – параллелепипед, со скруглёнными углами и фаской на рёбрах. Расположение индикаторов – сверху корпуса. Обработка корпуса – морение и/или маслом для обработки столешниц.

Питание часов: 5в от зарядки телефона. Гнездо питания – USB type B (мама), на задней стенке корпуса.

Подсветка индикаторов RGB светодиодами. Опционально и отключаемо.

Настройка часов – 4 тактовых кнопки на задней стенке корпуса и через консоль устройства (USB CDC).

Крепёж платы к корпусу – латунные стойки длиной 10мм, тип «мама-папа», резьба М3. На плате предусмотреть 6 отверстий (по углам и посередине длины платы).

Требования к плате

Схемотехника защиты: защита от переполюсовки питания(диод), защита от высокого тока (самовосстанавливающийся предохранитель), защита линий USB (стабилитроны).

Разъём питания – от гнезда USB 4х жильный гибкий провод на разъём на плате.

Отсчёт времени: модуль часов реального времени ds3231 с батарейкой типа CR2032. Возможность замены модуля без пайки компонента. Связь с модулем по I2C + прерывание.

Питание DS3231 от 3.3в стабилизатора Bluepill.

Питание индикаторов ВЛИ – 28 вольт, step-up на схеме mc34063.

Цепь накалов ВЛИ: 5в - ld1117 на 3.3в - резистор на 24 ома (типоразмер 2512 - накал первого вли - накал второго вли - земля. ld1117 на 3.3в общий для всех накалов. Резистор на 24 ома на две нити накала ВЛИ. Итого 4 группы цепей накала.

Режим индикации – динамический. Управление на силовых сдвиговых регистрах tpic6b595. Управление регистрами – SPI.

Подсветка индикаторов(только ИВ17): адресные RGB светодиоды ws2812, питание 5в.

Микроконтроллер(чип): модуль Bluepill (stm32f103). Загрузка программ (прошивка) - штатным разъёмом модуля, программатором.

Кнопки – тактовые, угловые. Монтаж на плату. Также преусмотреть разъём для внешних, фунционально-декоративных кнопок смонтированных на корпусе.

Светодиод индикации работы прошивки.

Разъём для uart 3х контактный (PLS).

Требование к прошивке часов

Диспетчер задач и диспетчер таймеров на основе RTOS от DiHalt, для псевдопаралельности выполнения процедур прошивки.

Встроенный загрузчик для прошивки по USB. WatchDog (WD) для контроля работы прошивки.

Управление динамической индикацией по SPI.

Индикация секундная морганием разделителей ив1.

Управление RGB подсветкой индикаторов.

Ночной режим. Время включения и выключения часов для продления срока службы индикаторов.

Спецэффекты индикации ИВ17: «плавность», «перебор», «помехи».

Анимации. Требуется дополнительное осмысление и эксперименты на прототипе.

Приём и отображение информации с ПК на ив17. Реализовать через USB CDC(эмуляция comport). Как через консоль так и через протокол.

Реализовать отображение дня недели текстом в виде «бегущей строки».

Управление RGB подсветкой через консоль или протокол.

Связь с DS3231 по i2c раз в минуту. Отсчёт времени по собственному таймеру чипа stm32f103 и сверка с ds3231 для точности соответствия.

Пояснение алгоритма:

·         0)При включении часов читается DS3231.

·         в DS3231взводится будильник на 00 секунд следующей минуты. При 00 секунд DS3231 дёргает INT вывод основного чипа.

·         основной чип сравнивает своё время и время DS3231. При расхождении «равняется» на DS3231. Перейти к шагу 1.

считать секунды основному чипу самостоятельно.

Настройка часов, даты и прочих параметров через:

·         А) 4 кнопки. Меню обработка нажатий кнопок и отображение на ВЛИ.

·         Б) Терминал/консоль. эмуляция comport при подключении часов. Команды пользовательские. АА55 протокол (самоделка).

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

·         Время;

·         День недели;

·         Дата;

·         Отображать только время и/или с датой и/или с днём недели.

·         Если предыдущий пункт «вкл», то как часто отображать дату;

·         Если предыдущий пункт «вкл», то как часто отображать день недели;

·         Вкл/выкл ночной режим;

·         Если ночной режим «вкл», то настроить время начала отображения;

·         Если ночной режим «выкл», то настроить время конца отображения;

·         «спецэффекты» 0 –выкл, 1-«помехи», 2-«перебор»,3-плавность, 4-анимация;

·         RGB подсветка индикаторов вкл/выкл/режимы;

Обработка нажатий кнопок

·         1я кнопка – вход в режим настройки. Если ничего не нажато в течении 30 секунд то выход из режима настройки. В режиме настройки - сдвиг курсора вправо;

·         2я кнопка – в режиме настройки декремент значения;

·         3я кнопка – в режиме настройки инкремент значения;

·         4я кнопка – в режиме настройки сохранить в текущее состояние настроек в память и применить их. Если кнопки были нажаты, но при этом в течении минуты с последнего нажатия не была нажата кнопка сохранить, то выход и режима настройки без сохранения значений меню;

·         4я кнопка в режиме отображение времени – выставить текущее состояние секунд в «00»