Author |
Message |
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Рекомендую сразу закладывать VS1053B-L. Тогда точно мечты сбудутся!
|
15 Oct 2007 00:55 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
Ну так какая разница - ножка DREQ есть и там и там. Вопрос остаётся в силе.
|
15 Oct 2007 16:07 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Так ведь есть 4 свободных GPIO. Запрограммировать любую на прерывание - и все. Ведь внутри полноценный DSP.
|
15 Oct 2007 19:45 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
в смысле запрограммировать? разве можно VS'ке указать, чтобы она зануляла GPIO по окончанию передачи блока?
|
15 Oct 2007 20:22 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
А для чего ешё GPIO существуют?
Пользовательский код можно подгружать с внешней EEPROM во внутреннюю RAM и выполнять. Типовой плеер с демо платы так и сделан.
|
16 Oct 2007 01:38 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
вы что-то путаете. GPIO нужны, чтоб режимы работы микросхемы выбирать(дань совместимости с предыдущими версиями). Тем более попробуйте встрять в исходный код мп3-декодера и добавить туда код дергания ножек GPIO по окончанию пересылки блока
|
16 Oct 2007 16:39 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Эти выводы могут работать и как выходы, что и сделано в версии плеера. На них даже SD-карта висит и EEPROM.
|
16 Oct 2007 19:53 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
о каком плеере речь? ссылка? желательно в том месте, где сказано, что GPIO можно программировать
|
16 Oct 2007 21:06 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Простейший плеер: http://www.vlsi.fi/player_vs10xx_proto/player.shtml
Там же и описалово нечеловеческих экспериментов над декодером.
Там кстати, даже 8 GPIO.
|
17 Oct 2007 01:26 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
всёравно мутно это всё - программировать вручную GPIO
ходят слухи, что можно через DREQ сделать прерывание
|
22 Oct 2007 20:42 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Не понял. Это как через DREQ? DREQ - это выход VS-ки и тем более не с открытым коллектором. На кого прерывание нужно подавать, на м/к или VS-ку?
|
23 Oct 2007 10:15 |
|
|
egypt
Junior
Joined: 14 Oct 2007 19:46 Posts: 7 Location: Russia
|
с ножки DREQ сигнал поступает на ножку контроллера
VS'ка посылает сигнал прерывания, а контроллер - принимает
|
23 Oct 2007 22:12 |
|
|
Different
Doomed
Joined: 18 Feb 2007 11:40 Posts: 408
|
Так это стандартный режим работы VS-ки. Посмотрите диаграммы сигналов.
|
24 Oct 2007 12:10 |
|
|
Romanich
Banned
Joined: 12 Oct 2006 16:44 Posts: 608
|
01.09.07 Переделал отладочную плату для OLED дисплея. Поставил разьём OMRON 30pin 04.09.07 IRQ от YMF721 завёл на IRQ0, так как у FIQ не меняется приоритет. 07.09.07 Написаны наброски IMF-декодера. 08.09.07 Заменил LM358 на NE5532. Хрипота в наушниках исчезла. Подобрал оптимальное усиление для YMF721 и VS1003. Задействовал IRQ6 для VS1003 вместо прерывания системного таймера. Проверил совместно с IRQ0 YMF721. 09.09.07 Заставил одновременно работать: IRQ0(OPL), IRQ6(MP3), прерывание системного таймера(каждую 1с) и отрисовку графики в цикле. 14.09.07 Запихал MIDI-декодер в прерывание таймера на IBM PC (усовершенствовал декодер). 15.09.07 Навешал на прерывание таймера MIDI-композицию для YMF721. Сравнивал звучание миди на VS1003 и YMF721 20.09.07 Пришла SRAM 1M x 16 CY7C1061AV33-10ZXI 22.09.07 Сграбил ROM от YMF721 (с помощью MMC, AT91RM9200 и IBM PC). Семплы 8bit и 12bit Signed Сделал и собрал плату с SRAM 1M x 16 CY7C1061AV33-10ZXI 23.09.07 Успешно подключена SRAM 1M x 16 24.09.07 Успешно пройдены тесты SRAM 1M x 16 по всем адресам 26.09.07 Подключил через транзисторный ключ подтягивающий резистор к USB. Ключ управляется сигналом сброса супервизора. Это позволяет избегать в Винде неудачное определение USB (видится после отработки супервизора питания) 04.10.07 Наконец-то откопал причину зависания МикроМашины при многократном включении-выключении мощных потребителей в тройник, от которого берётся питание на МикроМашину(через комп от USB 5V). Ножка ~WAIT у YMF721 залипает навеки в 0. 07.10.07 Устранил три причины "зависния" YMF721: а) Статический разряд через при подсоединении наушников (колонок). Спасает резистор 10 Ом + кондёр 10нФ на землю. б) Кратковременные импульсные помехи(дельта-импульсы) в цепях питания, USB, COM-порта и УНЧ (если включены активные колонки). Ферритовые бусинки поглощают эти выбросы. в) Перекос потенциала земли (напряжение на корпусе компа 110В) с возникновением градиента потенциала и его скачки при многократном подключении-отключении мощных потребителей. Подключение общих выводов USB-шнура, COM-шнура и наушников(колонок) в ОДНОЙ точке. Все методы устранения трёх причин применены, исключение хотя-бы одного из них ведёт к "повисанию" YMF721 или VS1003 15.10.07 Вместо клавиатуры 3x4 решил использовать Joystick от SEGA MD. Разобрался с ним и успешно подключил 16.10.07 Освоил Таймер-Счётчик 0 в режиме генерации сигнала. Повешал опрос джойстика на прерывание по переполнению Таймера-Счётчика 0, так как мультиплексирование на прерывание от PIO завязать нельзя 19.10.07 Разобрался, почему шумел усилитель на NE5532. Резисторы в обратной связи выбраны неверно (очень большие) Кроме этого, усилитель был чувствителен к наводкам. Коэффициент усиления по напряжению определялся некорректно из-за маленького входного сопротивления NE5532 (30 кОм). Уменьшил резисторы на порядок. Оказалось, что усиления по напряжению не нужно - пришлось ослабить сигналы с выходов VS1003 и YAC516. Подобрал суммирующие резисторы и резисторы в обратной связи усилителя. Шумы и отсечка сигнала по входу и выходу исчезли 21.10.07 Попытка расширить динамический диапазон усилителя звука закончилась неудачно. Из-за того, что MPU в YMF721 имеет малый уровень сигнала, требуется большое усиление, которое в свою очередь ведёт к искажениям сигнала VS1003 и OPL. Попытка применить более высокое напряжение питания на усилитель - 5V от USB закончилась провалом - требуется RC-фильтр для фильтрации USB-шных 5V, фильтр вносит падение напряжения - в итоге снова сужение динамического диапазона и возникновение искажений. DC/DC преобразователь на 12V применять нельзя - слишком много шумов вносит в аудиотракт, фильтрование которых внесёт падение напряжения питания - значит возникновению искажений. Изменил схемотехнику усилителя - схему усиления по напряжению с ООС заменил на повторитель (единичное усиление по напряжению). Из-за ограничивающих встречно-параллельных диодов на входе NE5532 сигнал режется на входе (а это снова искажения). Пробовал снова вернуться к LM358 - очень сильно хрипит в наушниках, особенно когда входной сигнал слабый. Вывод: обе микросхемы (LM358 и NE5532) совершенно не годятся для предусилителя звука. Понял, почему подглючивает VS1003 при касании её земли - она не терпит на своей земле импульсных помех. 22.10.07 Купил NJM4580 и дорогостоящий OPA2134. NJM4580 - хрипит, если уровень сигнала на выходе максимален. OPA2134 идеально подошёл - малый уровень собственных шумов, слабо прослушиваются шумы YAC516 в режиме молчания. При любом уровне сигнала с выходов YAC516 искажений нет, ни на входе, ни на выходе. 23.10.07 Заменил мелочь на элементы поверхностного монтажа. Стабилитрон Zener 2.7V с ограничивающим резистором плохо стабилизирует напряжение для VS1003 - оно скачет от 2.3V до 2.9V, что недопустимо для DSP-ядра. Диод SM4007 обеспечил нужное падение напряжения для того, чтобы из 3.3V получить 2.6V-2.7V 27.10.07 Заменил мелочёвку на SMD-компоненты. Пришёл к выводу, что нужно поставить более мощный Voltage Regulator на 3.3V 28.10.07 Переразвёл цепи питания и земли. Обнаружил, что общий и земля USB-шнура замыкаются при подключении к IBM PC, что мной не учитывалось при разводке земли, которую впоследствии скорректировал. 29.10.07 Заменил SPX1117M3L-3.3 (грелся до кипятка) на LM1085IS-3.3 (тёплый). Вход стабилизатора на 1.8V подключил к 3.3V, чтобы меньше грелся. Для лучшего подавления статических разрядов поставил диодные сборки BAV99 (на левый и правый каналы аудиовыхода) дополнительно к RC-цепочкам. 30.10.07 Проанализировал работу Joystick'а в динамике (управление игровым персонажем). Замерил токи потребления. Ядро ARM9 и PLL на 200MHz потребляют 0.1A (ток на входе стабилизатора 1.8V), вся МикроМашина в целом от USB потребляет 0.28A (ток на входе стабилизатора 3.3V) 10.11.07 Успешно запустил WaveTable синтезатор YMF721 17.11.07 Нашёл причину неравномерного воспроизведения MIDI-файлов во времени. В обработчике прерывания нужно отсчитывать дельты, а MIDI-композицию играть в основном цикле или в прерывании с более низким приоритетом, чем прерывание счёта дельты. Шлифовал схему,поставил SMD-шные ферритовые бусинки. Возле разъёмов USB, COM, Audio оставил мощные
|
19 Nov 2007 02:47 |
|
|
Romanich
Banned
Joined: 12 Oct 2006 16:44 Posts: 608
|
Переделанная плата с дисплеем:
Адресное пространство:
Краткая стр. схема(обновлена):
И наконец, подробная:
http://www.nedopc.org/nedopc/upload/Str_new.rar
|
19 Nov 2007 02:54 |
|
|