Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики
Организация вычислительного процесса: модели и методы.
Отчёт
«Цифровой диктофон»
Выполнил: ., группа 5113
Санкт-Петербург
2014
Оглавление
Постановка задачи 3
Назначение 3
Предъявляемые требования 3
Выбор формата звуковых данных 4
Выбор микроконтроллера 5
Выбор памяти 7
Аналого-цифровое преобразование. 8
Выбор микрофона 9
Цифро-аналоговое преобразование 9
Энергопотребление и выбор элемента питания 10
Элементы управления и обратная связь с пользователем 10
Программное обеспечение 11
Оборудование разрабатываемой системы 11
Сравнение с существующим решением (Edic-mini Защита 14h) 12
Требования к документации 13
Технико-экономические показатели 13
Требования к маркировке, упаковке, транспортированию и хранению 13
Стадии и этапы разработки 13
Порядок контроля и приёмки 14
Постановка задачи
Необходимо разработать систему звукозаписи. Система предназначена для скрытой звукозаписи, а также для записи чрезвычайных событий и возможности использования сделанных записей в суде в качестве доказательства.
Назначение
• Полноценное информирование пользователя о текущем состоянии системы;
• Предоставление возможности настройки качества записываемых аудиоданных;
• Обеспечение высокого качества записываемых аудиоданных;
• Обеспечение длительной звукозаписи;
• Предоставление возможности вести скрытую запись.
Предъявляемые требования
• Основное питание — две батарейки или аккумуляторы типа AAA
• Температурный диапазон работы и хранения: -20 °С/ 50 °С
• Чувствительность встроенного микрофона — 12-15 метров
• Относительная влажность: 10-90%.
• Время работы от элемента питания 1000 мАч — не менее 40 часов
• Время записи во встроенную память — не менее 40 часов
• Срок хранения записей во встроенной памяти — до 10 лет
• Соотношение сигнал/шум не менее 70 Дб
• Спектр сигнала 20 Гц – 12 кГц
• Вес: до 100 г
• Размеры: не более 100 x 40 x 30 мм
• Возможность обмена данными с ПК
• Минимальная стоимость
Выбор формата звуковых данных
Необходим аудиоформат, обеспечивающий хорошее качество звука и достаточную степень сжатия. До недавнего времени в цифровых диктофонах в основном использовались форматы:
• ARM. Обеспечивает плохое качество записи, но высокую степень сжатия
• WAV PCM. Средняя степень сжатия, среднее и низкое качество записи
• WAV ADPCM. Модифицированный PCM. Дает выигрыш в объёме данных, но заметно ухудшает качество.
Поскольку качество этих форматов невысоко, нужно рассмотреть другие форматы, использующие сжатие с потерями, из них наиболее распространённые:
Название формата Квантование, бит Частота дискретизации, кГц Число каналов Величина потока данных с диска, кбит/с Степень сжатия
MP3
16-24 до 48 2 до 320 ~11:1 с потерями
AAC
16-24 до 96 до 48 до 512 с потерями
AAC+ (SBR)
16-24 до 48 2 до 320 с потерями
Ogg Vorbis
до 32 до 192 до 255 до 500 с потерями
WMA
до 24 до 96 до 8 до 768 2:1, есть версия без потерь
Поскольку объективно сравнить качество получаемых в результате такого сжатия аудиоданных довольно трудно, а их вычислительная сложность сравнима (в основе каждого из них лежит модифицированное дискретное косинус-преобразование), стоит выбрать наиболее распространённый формат из представленных — mp3.
Теперь необходимо выбрать битрейт для формата. Приемлемое качество аудио начинается в районе 192 кбит/сек. Отсюда секунда записи занимает в памяти 24 Кбайт. Целевая длительность записи — 40 часов или 144000 сек. Таким образом(144000 сек * 24 Кбайт/(1024*1024)), 40 часов звучания занимают примерно 3,3 Гб памяти. Можно заключить, что требуемая ёмкость памяти — 4 Гб, что обеспечивает длительность записи в районе 48 часов.
Выбор микроконтроллера
Микроконтроллер должен справляться с декодированием mp3, при этом должно оставаться время на работу с памятью, кнопками и светодиодами.
Минимальный размер буфера для работы с mp3 — 4,5 КБ (по размеру фрейма, описывающего очередной звуковой сигнал), памяти RAM – 24 КБ (для свободного кодера Helix, ввиду необходимости выполнения быстрого преобразований Фурье, и модифицированного дискретно-косинусного преобразования, сортировки фрагментов аудио и кодирования по Хаффману; для других кодеров предполагается сравнимая необходимая ёмкость памяти).
Одним из вариантов является микроконтроллер STM32F105. В него встроена поддержка интерфейсов I2C, SPI (для работы с памятью) и USB (для передачи файлов на ПК). Микроконтроллер имеет шестнадцатибитный АЦП. Размер памяти программ — 256KБ, размер памяти RAM – 64 КБ, размер встроенной флэш-памяти — 256 КБ. Тактовая частота — 72 МГц. Этих параметров должно хватать для кодирования mp3. Практически различными разработчиками была протестирована способность обрабатывать формат mp3 этим микроконтроллером. В зависимости от используемых кодеков, битрейта и способов оптимизации исполняемого кода загрузка контроллера составляет 30-60%.
Технические характеристики:
Flash память в Кб 256
SRAM в Кб 64
Ethernet Нет
Таймеры Общего назн-я 4
Основные 2
Интерфейсы SPI 3
I2C 2
USART 5
USB Да
CAN 2
GPIOs 51
12-битный АЦП
Число каналов 2
16
12-битный ЦАП
Число каналов 2
2
Такт частота ЦПУ 72 МГц
Рабочее напряжение 2 - 3.6 В
Рабочие температуры -40°C / 85°C
Дополнительным доводом в пользу этого контроллера служит идущий в комплекте Spirit Audio Engine – аудиодвижок, бесплатно предоставляемый для использования с STM32F, с документацией и примерами. Движок содержит встроенный mp3 кодер. Всё это значительно упрощает работу с программным обеспечением для диктофона.
Хотя mp3 является проприетарным форматом, кодеры можно найти в свободном доступе, чтобы ещё более удешевить разработку.
Выбор памяти
Исходя из требований компактности и требуемой ёмкости можно рассмотреть два варианта устройства памяти:
• SDHC flash
• Semiconductor flash
В первом случае отпадает необходимость в использовании и поддержке USB (большинство ПК имеют адаптеры для работы с картами памяти SDHC и microSDHC). В пользу этого варианта говорят низкая цена, приемлемая скорость работы, наличие в свободном доступе необходимых драйверов.
Альтернативой является использование flash-памяти. Этот вариант несколько дороже. За сумму в пределах 1000 руб можно приобрести SDHC-карту класса 7-11 со скоростью записи/чтения не менее 13/15 Мбит, объёмом в 16-32 Гб c поддержкой интерфейса SPI или NAND FLASH с поддержкой интерфейса I2C, объёмом 4-8 Гб.
В данном случае выбран вариант с памятью типа SDHC. В зависимости от модели карты памяти скорость записи микроконтроллером STM32F105 находится в диапазоне 150-300 кБ/сек, в то время как минимально необходимая составляет 40кБ/сек.
Возможных вариантов памяти огромное количество, исходя из требований минимальной цены был выбран самый дешёвый вариант: Transcend TS4GSDHC10
Технические характеристики:
Тип Secure Digital HC
Объем памяти 4 Гб
Класс скорости Class 10
Аналого-цифровое преобразование.
АЦП является одним из ключевых компонентов диктофона. Вариантов реализации этого преобразования два:
• АЦП как отдельный аппаратный блок.
Обеспечивает более высокое качество звука, но усложняет схему, и, соответственно, уменьшает её надёжность; увеличивается цена как непосредственно компонентов схемы так и стоимость отладки схемы.
• Использование встроенного в микроконтроллер АЦП.
В прошлом качество обеспечиваемого звука было не слишком высоким, однако
используемый микроконтроллер справляется с задачей преобразования на приемлемом уровне.
Ради обеспечения лучшего качества записи был выбран первый вариант.
Рассмотрим в качестве примера отдельного аппаратного АЦП AD7903 фирмы Analog Devices. Его разрешение составляет, 16 бит без пропуска кодов, малая рассеиваемая мощность (7-12 мВт), и что важно, благодаря использованию встроенных фильтров соотношение сигнал-шум составляет 93.5 дБ, что позволит обходится без программно реализованных фильтров.
Проведём расчёт, с целью выяснить, справится ли выбранный микроконтроллер с потоком данных от АЦП. Пусть частота дискретизации — 44100 Гц. Тогда объём поступающей в микроконтроллер информации — 44100 Гц * 16 бит/1024 = 689 кб. Микроконтроллер не справится с таким количеством данных. От использования отдельного АЦП приходится отказаться.
Т.к. будет использоваться встроенный АЦП, то скорее всего фильтрация окажется необходимой; возможно применение следующих фильтров:
• Рекурсивный фильтр первого порядка.
• Медианный фильтр.
Рекурсивный фильтр вычислительно довольно сложен, поэтому ресурсов для его реализации может не хватить; медианный фильтр проще, но наиболее приспособлен для подавления импульсных помех. Решение касательно используемого типа фильтрации должно приниматься на стадии отладки и тестирования системы.
Выбор микрофона
Исходя из обозначенных выше требований к качеству сигнала и компактности был выбран микрофон ESO Secure M-01
Технические характеристики:
Чувствительность 38дБ
Отношение сигнал / шум более 65 Дб
Рабочий диапазон частот 100 Гц ... 20 КГц
Выходное напряжение 1 В
Напряжение питания 4 ... 16В
Ток потребления 2 мА
Диапазон рабочих температур -40О С ... +50О С
Габаритные размеры Ø 3 мм
Цифро-аналоговое преобразование
Зачастую диктофоны имеют функцию проигрывания записанного через встроенный динамик. В разрабатываемой системе эта функция была намеренно удалена для исключения случайных нажатий или включения в результате сбоев, потенциально препятствующих ведению скрытой аудиозаписи.
Энергопотребление и выбор элемента питания
Токи потребления компонентов:
Микроконтроллер: 14,4 мА/ч (в активном режиме)
Микрофон: 2 мА/ч
Карта памяти: 18 мА/ч
Исходя из минимального времени записи в 40 часов, рассчитываем необходимую ёмкость элемента питания: 40 ч*(14,4+2+18)мА/ч = 1456 мА
Исходя из выбранных компонентов необходимо выбрать элемент питания с напряжением питания не ниже 4В, габариты не более 100x50x40 мм, вес меньше 50 г. , ёмкость не менее 1456 мА. Всем этим требованиям удовлетворяет элемент питания типа 2CR5.
Технические характеристики:
Напряжение 6 В
Размер 34x45x17 мм
Вес 42 г
Ёмкость 1500 мА
Элементы управления и обратная связь с пользователем
Пользователь управляет диктофоном через три кнопки:
• СТАРТ — начало записи
• СТОП — остановка записи
• ОЧИСТКА — очищение памяти при необходимости вести запись.
В качестве обратной связи для пользователя выступают три светодиода, отображающий состояние системы.
• ВКЛ — светодиод, сигнализирующий о том, что диктофон включен;
• ЗАПИСЬ — светодиод, сигнализирующий о том, что идёт запись;
• ПАМЯТЬ — светодиод, сигнализирующий о том, что внутренняя память диктофона заполнена;
• РАЗРЯДКА — светодиод, сигнализирующий о том, что заряд аккумуляторной батареи на исходе.
Программное обеспечение
Для упрощения и удешевления разработки предполагается использование операционной системы реального времени. Эта система должна быть бесплатной, иметь хорошую документацию и необходимый инструментарий для осуществления записи в выбранном режиме; желательна «ориентированность» на работу с контроллером ARM Cortex-M. Например:
Embcernel (лицензия GNU LGPL, открытый исходный код)
CoOS (лицензия BSD, открытый исходный код)
FreeRTOS(лицензия GNU GPL, открытый исходный код)
Программно должно осуществляться решение следующих задач:
• Обеспечение целостности данных (наличие меток начала и времени записи, добавление цифровой подписи, наличие пароля).
• Сжатие файлов с сохранением качества сигнала с использованием кодеков mp3.
Оборудование разрабатываемой системы
Тип Наименование Цена
Отладочная плата Olimex STM32-P103
1840 руб
Микроконтроллер STM32F105R8 300 руб
Память Hynix H27U4G8F2DTR-BC 530 руб
Микрофон ESO Secure M-01 780 руб
Итого: 3450 руб
Сравнение с существующим решением (Edic-mini Защита 14h)
Основные характеристики
Объем встроенной памяти 4 Гб 4 Гб
Звук моно моно
Запись
Диапазон частот записи 200 — 10000 Гц 100 - 10000 Гц
Режим закольцованной записи нет есть
Максимальное время записи 40 ч 14 ч
Подключение
Подключение к компьютеру нет есть
Интерфейсы USB 1.1
Вход микрофонный нет есть
Отображение информации
Индикатор заряда батареи есть есть
Индикатор оставшегося времени записи есть есть
Питание
Время работы 40 ч 40 ч / 360 д (в режиме ожидания)
Тип элементов питания AA ААА
Количество элементов питания 1 1
Особенности
Функции индексирование каждой записи, защита паролем часы, индексирование каждой записи, защита паролем
Комплектация SDHC-карта с адаптером кабель для подключения к компьютеру
Конструкция
Размеры (ШхВхТ) 50х70х40 мм 13х85х13 мм
Вес 50 г (с батареей) 14 г (без батареи)
Цена 4500 руб 6800 руб
Требования к документации
Необходимо разработать следующую документацию:
• Техническое задание
• Архитектура (текстовое и схемное описание устройства системы).
• Структура системы (Перечень узлов системы и принципы их взаимодействия).
• Руководство пользователя.
• Инструкция по установке.
• Рекламная брошюра.
Технико-экономические показатели
Ориентировочная экономическая эффективность – средняя, в связи с высокими затратами на разработку и использование системы.
Предполагаемая годовая потребность: не рассчитывается.
Экономические преимущества разработки – не рассчитывается.
Требования к маркировке, упаковке, транспортированию и хранению
Изделие СЗ маркируется логотипом фирмы производителя. Упаковка изделия должна предотвращать ненамеренные повреждения и нести краткую информацию об изделию.
Транспортировка системы также как и хранение может производиться любыми средствами при условии наличия смягчающей упаковки.
Стадии и этапы разработки
1. Обоснование необходимости создания системы.
2. Написание технического задания.
3. Ознакомление и освоение языка программирования и среды разработки.
4. Выработка примерной архитектуры и структуры системы.
5. Разработка системы и её частей, а также программного обеспечения.
6. Тестирование системы. Проверка работоспособности.
7. Отладка системы.
8. Ввод системы в эксплуатацию
9. Составление отчетной документации, в т.ч. руководства пользователя.
Порядок контроля и приёмки
Тестирование системы будет проводиться на 5–7 этапах работ по созданию системы.
Цифровой диктофон
Курсовая работа по предмету «Программирование»