ReadMe
Обзор декодеров VLSI
Электроника
Программное обеспечение:
ЖКИ
VLSI
Разные мелочи
Модули режимов
Отладочный координатор
Пользовательский интерфейс
Фотографии
 
==> Orfey

Электрическая принципиальная схема

Открыть схему в отдельном окне

Мелкие замечания

Неиспользуемые выводы SD, согласно документации, должны быть подключены к Uп. Но я их никуда не подключал - всё работает. Теоретически, SD карту можно заменить на MMC, но для этого придётся корректировать модуль SD.asm.inc.

На схеме для экономии места не показаны подключения VS1011 к "земле".

Темно-красным цветом показаны соединения с портом C процессора ATmega. Красные точки у выводов 2, 3, 16, 17 VS1011: эти выводы соединяются с "землей" через отдельные резисторы 47 кОм (на схеме не показаны). По документации их номинал должен быть 100 кОм, в реальности падение напряжения на них составляет доли вольта, поэтому, IMHO, без проблем допустимо варьирование номинала в пределах от 1 до 100 кОм. Резистор 15 кОм между входом 15 и питанием удалён (хотя функции входа остались прежними) - так нарисованы схемы в документации VS1011.

RC-цепочки между "землей" и выходами 20 и 24 VS1011 не были предусмотрены на печатной плате. Считайте это ошибкой разводки платы.

Питание и подсветка

Питание ядра плейера снижено до 3.2 в. Можно попробовать опустить его ещё ниже, но есть риск, что не любая SD-карта будет работать с низким напряжением, да и внутренний тактовый генератор ATmega32 неуверенно работает при напряжении ниже 3.0 в (кристаллы без литеры "L" вообще не обязаны работать с напряжениями ниже 4.5 в).

3.2 в поддерживает low-drop стабилизатор LP2951. Он нормально удерживает нагрузку, если напряжение на его входе превышает требуемое выходное хотя бы на 0.2 в. Значение выходного напряжения задаётся резистором, включенным между 1, 2 и 6, 7 выводами LP2951: 115 кОм - 3.0 в, 128 кОм - 3.1 в, 143 кОм - 3.2 в, 159 кОм - 3.3 в, 175 кОм - 3.4 в, 198 кОм - 3.5 в. Верхний порог входного напряжения определяется рассеиваемой мощностью и документацией на LP2951, но он довольно высокий. Во всяком случае, 5-8 вольт - вполне хорошо.

ATmega32

Здесь никаких существенных отличий от первой версии плейера нет, разве что свободных выводов стало поменьше. Обратите внимание только вот на что: так как CPU работает с ещё более низким питанием, у него уже заметно начинает "плыть" частота тактового генератора. Это, в целом, не страшно, но есть один нюанс: тактирование приёмо-передатчика rs232. Поэтому в новом управляющем коде, в модуле самопрограммирования (selfprog.asm.inc), есть команда программирования регистра OSCCAL и пространный комментарий о том, как расчитать значение константы, которая туда записывается, в зависимости от конкретного кристалла.

LCD и клавиатура

Теперь дисплей использует раздельные с mp3-декодером сигналы сброса (LCD - D.2, VS1011 - B.1). Кроме того, сигнал дисплея и клавиатуры !CS выводится на лапку B.2 CPU.

Оба изменения были сделаны для того, чтобы в режиме чтения текстов снизить потребляемый ядром ток. Это происходит так: во первых - линия xRESET декодера падает в "0" (в активном режиме он потребляет около 15 мА, при отключении аналоговой части через регистр громкости - около 7 мА, при xRESET = 0 - неопределенно мало). Во вторых - после вывода очередной страницы текста на экран все биты порта A центрального процессора переводятся в состояние "1", а бит 2 порта B в состояние Z. Резистор 100 кОм подтягивает его к "земле", процессор засыпает в состоянии Power Down (что снижает потребляемый им ток до единиц мкА). Таким образом единственным потребителем остаются LCD и SD-карта, которые берут суммарно около 1 мА. Пробуждение CPU происходит по внешнему прерыванию INT2. Оно вырабатывается при нажатии любой кнопки, т.к. это вызывает коммутацию одного из пинов порта A и пина B.2. После пробуждения процессор выполняет обычную процедуру опроса клавиатуры, выставив на порт A внутренние pullup-резисторы, а пин B.2 переведя в состояние "0".

VLSI-декодер

VS1011 имеет несколько режимов работы цифровых шин, в этой конструкции используется т.н. NEWMODE. В нем входы данных и тактового сигнала объединены, раздельными являются лишь сигналы xCS, которые снимаются с выводов C.6 и C.7 центрального процессора. Такой режим позволил отказаться от внешнего элемента И.

Pulldown-резистор на линии xRESET наконец-то стал 100 кОм :).

Аналоговая часть VS1001 просто срисована с фирменной документации. Резисторы 10 ом должны снижать риск гибели декодера в результате воздействия статического электричества и рекомендуются документацией. На всякий случай в этой версии я также добавил RC-цепочки между выходом декодера и "землёй" - как рекомендовалось в документе "VS10XX AppNote: Connecting analog outputs" - это также должно улучшить иммунитет к статике. На мой слух, заметного ухудшения звука не возникло.

Проблем с программным сбросом, следующим сразу за аппаратным, у нового декодера не обнаружено.

Владимир