Вторник, 26.11.2024, 17:04
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Июнь 2013  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Программирование звуковых модулей Waytronic

Программирование звуковых модулей Waytronic

Наш канал в YouTube


Звуковые модули в настоящее время находят очень широкое применение. Их используют для голосовых меню в различных интеллектуальных системах типа «умного дома», речевых информаторах, автомобильной электронике, игрушках и т.д. 

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

Некоторые вопросы по работе с модулями Waytronic WT588D-U и WT588D были рассмотрены в статье по версии 1.6 устройства управления и контроля. Сейчас мы остановимся на процессе программирования и способах управления данными модулями более подробно.

Отличие WT588D-U от WT588D заключается в наличии USB порта, что позволяет записывать информацию в Flash память WT588D-U непосредственно с компьютера программой WT588D Voice Chip. Для модулей WT588D дополнительно необходим специальный программатор, например такой, как показан на рис. 1 

 

Рис. 1

 

Но как выяснилось, роль программатора вполне может выполнять модуль WT588D-U. Если посмотреть на его принципиальную схему (рис. 2) то видно, что этот модуль имеет идентичную схему с WT588D, но дополнительно используется контролер USB порта WTU-02, связанный с микросхемой flash памяти и выполняющий роль программатора.

 

Рис. 2

 

Поэтому, заказывая модули, имеет смысл вместо фирменного программатора приобрести один экземпляр WT588D-U, и с его помощью затем программировать модули WT588D.

Для переделки WT588D-U в программатор достаточно удалить микросхему Flash-памяти и соединить его выводы 11, 12, 13, 14, 15, 20 соответственно с выводами  5, 6, 7, 8, 9, 14 шестнадцатипиновой цанговой колодки, в которую будут вставляться модули  WT588D (рис. 3).

 

 

Рис. 3

 

Внешнего питания такой программатор не требует, т.к питается от USB. Конечно, с этим программатором не получится проверить работу модуля в «автономном» режиме (что позволяет «фирменный» программатор), но для записи информации в микросхему Flash памяти модуля, его более чем достаточно. Кстати, такой программатор приходится не только для звуковых модулей, но и для программирования отдельных микросхем серии SPI Flash 25хх.

Установим на компьютер программу WT588D Voice Chip 1.0, позволяющую работать с рассматриваемыми модулями.  Распаковываем архив и инсталлируем программу на компьютер. При её запуске появляется окно главного меню (рис. 4)

 

Рис. 4

 

В принципе, здесь все понятно, на рисунке показано назначение всех кнопок и полей. Поэтому перейдем к дальнейшему рассмотрению данной программы. Для этого создадим новый проект. Обращаю ваше внимание на то, что звуковые файлы, используемые для создания проекта, должны быть в формате wav и иметь определенные частоты дискретизации – 6, 8, 10, 12, 14, 16, 18, 20 кГц. С файлами, имеющими другие частоты, программа просто откажется работать. Привести файлы к нужным требованиям можно с помощью любого звукового редактора, например, Easy Audio Cutter.

Предположим, нужные звуковые файлы подготовлены, для примера это будут файлы test_1.wav, test_2.wav, test_3.wav. Запускаем программу. Выбираем в программе «File» - «New project» и сохраняем его под именем TEST с расширением winprog. На диске, где сохраняется проект, появится папка TEST.winprog, внутри которой будет ещё одна папка TEST.winproj.sound (в неё необходимо скопировать test_1.wav, test_2.wav, test_3.wav) и файл TEST.winprog (это файл проекта).

Щелкаем правой кнопкой мышки по левому полю программы и выбрав пункт «Load» последовательно загружаем звуковые файлы test_1.wav, test_2.wav, test_3.wav. Для исключения файла из списка, щелкнув правой кнопкой мышки, выбираем пункт «Delete».

Загруженные файлы можно поместить в различные группы. Всего можно создать 220 групп (0 - 219). В группе может быть как один файл, так и несколько. Файлы, помещенные в одну группу, будут воспроизводится последовательно при выборе этой группы в режиме управления модулем. 

Поместим файлы test_1.wav, test_2.wav и test_3.wav соответственно в группы 1, 2 и 3. Так же файл test_1.wav добавим в группу 0 . Для присвоения файлу определенной группы, необходимо выбрать её номер в выпадающем списке окна Equation № и перетащить мышкой нужные файлы в эту группу.

После выполнения этих операций мы получим следующий вид окна основного меню программы (рис. 5)

 

 

Рис. 5

 

 

Переходим к закладке «Operation» - «Options» (настройка режимов). Щелкнув мышкой по этой кнопке,  вызываем окно с установками способов управления голосовым модулем и выводом звукового сигнала (рис.6).

 

 

 

Рис. 6

 

Разработчику предлагаются различные способы управления модулями серии WT588D. Это может быть одно и трех проводное управление от микроконтроллера, использование матричной клавиатуры или просто отдельных кнопок, параллельный ввод. Выбор способа управления зависит от конкретных требований «озвучиваемого» устройства. Например, я использовал в своих разработках однопроводное управление, т.к. оно требует использование всего одного вывода с микроконтроллера. Протокол управления модулем при этом способе довольно простой – выбор осуществляется передачей модулю номера группы по линии Data. Вначале идет импульс сброса низкого уровня длительностью 5 мс, а нули и единицы кодируются соответственно импульсами низкого уровня длительностью 400 и 200 мкс. Для примера на рисунке 7 приведена передача значения 9Ch (156 группа)

 

Рис. 7

 

Определившись со способом управления (однопроводная шина), необходимо указать выход звукового сигнала Sound Output. При выборе DAC звуковой сигнал с модуля снимается с 8 вывода относительно общего провода, а при PWM – с выходов 9 и 10. Для нашего теста выбираем пункт DAC.

В пункте Busy Mode указывается, какой уровень будет уровень на выводе 21 модуля во время воспроизведения голосового сообщения. Этот вывод можно использовать для передачи информации микроконтроллеру, что модуль занят воспроизведением и не может принимать новые команды управления. Но можно обойтись и без сигнала Busy, просто установив в программе микроконтроллера нужные временные задержки. Длительность такой задержки в каждом случае индивидуальна и должна немного перекрывать длительность воспроизводимого файла. Этот способ подходит в том случае, если существует «дефицит» выводов микроконтроллера. В противном случае, более правильным решением будет задействовать сигнал Busy.

Если сигнал  Busy не используется, то его вывод 21 можно подключить через токоограничивающий резистор к светодиоду, который будет включаться во время воспроизведения звукового файла.

Сделав необходимые настройки в разделе «Options», можно перейти к компилированию проекта. Для начала выберите в верхнем правом окне программы в окне Flash объем микросхемы памяти, установленной в используемом модуле, например, 32 МБ. Затем щелкните по закладке «Operation» - «Compile». Проект будет скомпилирован и в папке TEST.winproj появиться файл TEST.winproj.bin.

Вставляем модуль WT588D в панельку и подключаем наш программатор к  USB порту компьютера. В программе выбираем закладку «Tool» - «Download Data» и в открывшемся окне с именем WTW Writer V1.0 нажимаем кнопку «Connect»(рис. 8)

 

 

Рис. 8

 

После установления соединения программатора с компьютером, выбираем кнопкой «Browse» файл TEST.winproj.bin и нажимаем кнопку «Download SPI Flash». Начнется очистка памяти, а затем запись скомпилированного проекта (бинарного файла) в модуль WT588D, о чем будет свидетельствовать строка загрузки внизу окна. Если запись прошла успешно, выводится информация о занятом объеме в памяти модуля и сообщение «Operation Status : Download OK».

Теперь модуль готов к использованию. Для его тестирования соберите схему, показанную на рис. 9. Выход НЧ можно подключить к входу усилителя или непосредственно к маломощному динамику. Для управления модулем по однопроводной шине используется простейший микроконтроллер 12F629 или 12F675.

 

Рис. 9

 

Загрузите в микроконтроллер прошивку test.hex. После включения питания с интервалом в несколько секунд в динамике должны последовательно воспроизводится файлы  test_1.wav, test_2.wav, test_3.wav («Здравствуйте», «Добро пожаловать», «До свидания») и при воспроизведении каждой из фраз должен включаться светодиод. Если вы слышите эти сообщения, то значит, что сделали все правильно.

 

Если нет желания собирать схему тестирования на микроконтроллере, можно скомпилировать проект под управление от кнопок. Схему включения для этого, а так же других вариантов управления, можно найти в application circuit для модуля WT588D.

 Фото 1, 2, 4 заимствованы с сайта http://voice-chip.ru Там же Вы можете заказать различные голосовые модули.

 

Программа WT588D Voice Chip 1.0 

Тестовый проект  и звуковые файлы

Прошивка микроконтроллера для тестовой схемы

WT588D voice chip /module application circuit

 




Категория: | Просмотров: 19781 | Добавил: Admin | Теги: | Рейтинг: 5.0/5 |
Всего комментариев: 0






T2M © 2024
Сайт управляется системой uCoz