Разработка ПО цифрового диктофона на базе STM32

100 000 руб. за проект • безналичный расчёт, электронные деньги
18 марта 2018, 00:01 • 4 отклика • 89 просмотров
ТЗ на разработку ПО цифрового диктофона Состав ПО
  1. ПО Изделия (firmware);
  2. ПО для хост-компьютера.
Требования к режимам работы изделия Разрабатываемой ПО должно обеспечивать работу Изделия в следующих режимах:

  1. автономное питание (рабочий);
  2. автономное питание (stand-by);
  3. автономное питание (разряд аккумулятора);
  4. подключение по USB.
Аппаратно-программная платформа ПО изделия (firmware) Изделие реализовано на контроллере stm32f405 (1M firmware, 192k ОЗУ).
В состав Изделия входит следующая периферия:
  1. микрофонный кодек CS5343 (подключение по протоколу I2S);
  2. USB 2.0 порт в режиме device Full-speed;
  3. SD-card (micro-SD) ёмкостью до 64 гигабайт;
  4. RTC;
  5. 2 кнопки: а) Reset, б) кнопка переключения режимов (ползунковый переключатель) (далее - Кнопка);
  6. 4 светодиода, сгруппированные в две пары;
  7. аккумулятор со схемой управления зарядом.
ПО для хост-компьютера ПО для хост-компьютера должно работать на следующих платформах:
  1. Ubuntu 17.10 x64;
  2. Ubuntu 16.10 for Raspberry PI 3.
Требования к функциональности ПО Изделия (firmware) ПО Изделия должно обеспечивать выполнение следующих функций:
  1. запись звука с микрофонного тракта на SD-карту (режимы "автономное питание (рабочий)", "подключение по USB") при наличии корректной конфигурации;
  2. останов записи и переход в режим "автономное питание (stand-by)" (режим "автономное питание (рабочий)") Кнопкой;
  3. останов записи (режим "подключение по USB") Кнопкой;
  4. переход в режим "автономное питание (рабочий)" (режим "автономное питание (stand-by)") Кнопкой;
  5. постоянное отображение состояния заряда аккумулятора светодиодами (режим "автономное питание (рабочий)");
  6. одноразовое отображение состояния заряда аккумулятора светодиодами (режим "автономное питание (stand-by)") Кнопкой (кратковременное переключение);
  7. заряд аккумулятора (режим "подключение по USB") (возможно, эта функция не связана с ПО);
  8. USB enumeration хост-компьютером, класс - Communication Device (обсуждаемо) (режим "подключение по USB");
  9. постоянное отображение некорректной конфигурации светодиодами (режим "некорректная конфигурация");
  10. одноразовое отображение некорректной конфигурации светодиодами (режим "автономное питание (stand-by)") Кнопкой (кратковременное переключение);
  11. перенос аудиозаписей на хост-компьютер с одновременным удалением их на носителе (SD-card) (режим "подключение по USB");
  12. конфигурация и диагностика Изделия (режим "подключение по USB");
  13. автоматический переход в режим "автономное питание (разряд аккумулятора)" при разряде аккумулятора.
ПО хост-компьютера ПО хост-компьютера должно представлять собой утилиту командной строки, демонстрирующую использование всех функций работы с Изделием.

ПО Изделия (firmware) ПО устройства должно быть реализовано на языке программирования C. Использование ассемблера допускается только для готовых модулей, входящих в среду разработки.
Пожелания к средствам разработки:
  1. Возможность ведения разработки на Ubuntu 17.10 x64;
  2. Использовать в качестве IDE Atollic TrueSTUDIO for STM32 или Eclipse;
  3. Использовать STM32 HAL;
  4. Использовать STM32Cube;
  5. Использовать FreeRTOS.
ПО хост-компьютера ПО для хост-компьютера желательно разработать на C или Python. Другие варианты обсуждаемы.

Требования к передаваемым материалам Все разработанное ПО должно быть передано в исходных текстах.

Требования к документации Список передаваемых документов
  1. Программа и методика испытаний;
  2. Руководство программиста;
  3. Руководство пользователя.
Программа и методика испытаний Программа испытаний должна включать:
  1. Сборку ПО в соответствии с "Руководством программиста" на всех целевых платформах;
  2. Проверку подключения устройства и его функционирования в соответствии с "Руководством пользователя" на всех целевых платформах.
Руководство программиста Руководство программиста должно содержать следующие разделы:
  1. Инструкция по компиляции и сборке ПО на всех целевых платформах;
  2. Руководство по написанию программ для хост-компьютера на всех целевых платформах с использованием разработанно ПО для хост-компьютера в качестве примера.
  3. Протокол взаимодействия Изделия с хост-компьютером.
Требования к приемке Место проведения приемки: офис компании DC-Systems.
Приемка производится на основании "Программы и методики испытаний".
Оборудование для проведения испытаний предоставляет Заказчик.
Исполнитель должен предоставить все необходимые специализированные программные средства для проведения испытаний.

ПРИМЕЧАНИЕ
Разработка по настоящему ТЗ уже ведётся. В связи с этим требуется участие в разработке. Детали работы обсуждаются при согласовании работ. Стоимость работ, так же, уточняется во время согласования объёма работ.