CD-Плейер на базе IDE CD-ROMа

  35790931      

за особенностей провайдера используйте возможность



Прошивки контроллера: версия 3.11 (от 23.04.2006), версия 2.14 (от 08.04.2006) и версия 1.0 (от 07.01.2005).
(Из- за особенностей провайдера используйте возможность интернет-бройзера 'сохранить объект как', в конце сохраненного файла удалить HTML-рекламу - получится Intel HEX-файл для программатора).
Для программирования рекомендую программатор AVReAl.

Отличие 3.11 и 2.14 - поддержка CD-Text (название альбома, исполнитель, название дорожки) при его наличии на диске. Нет смысла программировать эту версию, если используемый привод не поддерживает чтение CD-Text.
Отличие 3.11 и 3.10 - попытка устранить зависания при использовании неполностью выдающих CD-Text приводах CD-ROM. Если у вас ранее были проблемы и они прошли - сообщите (а также модель CD-ROM'а).
Отличие 3.10 и 3.00 - показывает CD-Text также в режиме останова при переходе по дорожкам (сделано по просьбе), убрано немного ошибок.
Отличие 2.14 и 2.13 - мелкий недочет, замечен не был :-)
Отличие 2.13 и 2.12 - исправлена ошибка при использовании режима обзора для некоторых приводов (недоработка версии 2.11).
Отличие 2.12 и 2.11 - при ошибке чтения диска не сбрасывался признак проигрывания в случайном порядке.
Отличие 2.11 и 2.0 - на некоторых приводах стал правильно реагировать на кнопку Stop, введена задержка от включения питания до обращения к приводу, исправлена мелкая неприятная ошибка.
Отличие 2.0 и 1.0 - настройка на любые клавиши пульта и программирование функций кнопок для облегчения разводки клавиатуры под переднюю панель. Пульт может быть с любым кодом устройства.
Отличие 1.0 и 0.6 - показывает режим проигрывания в случайном порядке, устранены небольшие ошибки.
Отличие 0.6 и 0.5 - добавлен режим проигрывания в случайном порядке, улучшен переход на 10 секунд назад, правильно отображается номер дорожки на Audio+Data CD.
Старая прошивка контроллера (версия 0.5) и ее исходный текст (версия 0.6 удалена из-за глюков :)
При программировании ATMEGA8515 установить CKSEL=F, CKOPT=1, SUT=3, BRST=1, S8515C=0, для экстремалов - BODEN=0 и не ставить супервизор питания.



Правильно собранная схема в наладке не нуждается и после подачи на Vcc питания 5 вольт должна заработать сразу.
При первом включении запускается режим настройки на клавиатуру и пульт. Необходимо последовательно нажать кнопки, которые будут выполнять функции:
Play, Stop, +10s, -10s, Next, Previous, Pause, Review, Loop, Random, Add list, Del list, Playlist, Autoplay, Autostop.
Для пропуска настройки кнопок и перехода к настройке пульта необходимо нажать кнопку G.
Для настройки пульта необходимо нажать на пульте любую кнопку для настройки кода, затем последовательно нажать кнопки, которые будут выполнять функции:
Play, Stop, +10s, -10s, Next, Previous, Pause.
Для пропуска настройки пульта необходимо нажать кнопку G. Контроллер перезапустится с новыми установками.

В дальнейшем при включении на индикаторе отображается информация о прошивке, через некоторое время она сменяется на сообщение об отсутствии связи с CD-ROMом, отсутствии диска или информацию о диске. Для повторного входа в режим настройки необходимо нажать клавишу G или стереть (записать 0xFF) байт по адресу 0x001 EEPROM данных.
При появлении надписи "CDROM not found" необходимо проверить правильность и надежность соединения выводов контроллера с разъемом CD-ROMа, при плохом контакте впоследствии могут быть случайные сбои в работе (перескакивания на следующую дорожку).

Кнопки для версии 1.0 и более ранних имеют следующее назначение:
1 (Next) - переход на следующую дорожку,
2 (Play) - начать проигрывание дорожки или продолжить после паузы,
3 (+10s) - на 10 секунд вперед,
4 (Del list) - удалить последнюю дорожку из плей-листа,
5 (Previous) - переход на предыдущую дорожку,
6 (Autostart) - включение/выключение автозапуска (автоматическое проигрывание диска при его смене или включении питания),
7 (-10s) - на 10 секунд назад (если текущая позиция менее 10 секунд, то на начало),
8 (Review) - обзор диска или плей-листа (в зависимости от режима),
9 (Pause) - пауза, при повторном нажатии (продолжение проигрывания (некоторые CD-ROMы при длительной паузе переходят в режим остановки)),


A (Loop) - включение/выключение проигрывания диска или плей-листа по кольцу,
B (Add list) - добавить текущую дорожку в плей-лист,
C (Random) - включение/ выключение режима случайного порядка проигрывания,
D (Stop) - остановка проигрывания,
E (Autostop) - включение/выключение режима автоостанова (проигрывание одной дорожки),
F (Playlist) - включение/выключение режима плей-листа,
G - не используется, с версии 2.0 - "сервисное меню" для настройка клавиатуры и пульта (используется только обслуживающим персоналом, желательно установить в труднодоступном месте или внутри корпуса).

Для дистанционного управления используется пульт с кодировкой RC-5 и кодом устройства 5 (видеомагнитофон), для версии 2.0 и выше код может быть любым.
Расположение кнопок пульта для версии 1.0 и более ранних:
код 46 (в филипсовской кодировке для ТВ - прозрачный телетекст на изображении) - переход на следующую дорожку,
код 60 (включение телетекста) - переход на предыдущую дорожку,
код 15 (статус) - пауза,
код 17 (уменьшить громкость) - останов,
код 42 (часы/подстраница телетекста) - проигрывание,
код 45 (останов телетекста) - на 10 секунд вперед,
код 44 (вывод скрытой информации телетекста) - на 10 секунд назад.

На индикаторе в стандартном режиме отображаются:
nn/NN-S-LL-MM:SS
CNF--mm:ss/mm:ss (черточками указаны пустые позиции)

nn - номер проигрываемой дорожки, NN - общее число дорожек (для всяких хитроумных дисков - число аудиодорожек);
S - состояние (воспроизведение - треугольник, останов - квадратик, пауза - две вертикальные полоски, обзор - ">>", случайный порядок - ">?");
LL - количество дорожек в плей-листе (если он пуст - это число отсутствует);
MM:SS - общее время звучания диска;
CNF - настройка автозапуска (треугольник) и автоостанова (треугольник с палочкой), зацикливания (две круглые стрелки);
mm:ss/mm:ss - текущее время звучания дорожки и полное ее время.

В режиме плей-листа информация немного меняется:
nn/NN-S----pp/PP
CNFl-mm:ss/mm:ss

pp - номер дорожки из плей-листа, PP - общее количество дорожек в плей-листе;


l - значок режима 'плей-лист' (буквы 'PL');
остальная информация та же, что и в стандартном режиме.

Программирование плей-листа:
Работа с плей-листом возможна только в стандартном режиме, независимо от состояния (играет, обзор, останов, ...).
Нажатием кнопки "Add list" текущий номер дорожки (nn на индикаторе) добавляется в конец плей-листа, при этом значение LL увеличивается на один. Максимальное количество записей в плей-листе - 99.
Нажатием кнопки "Del list" последняя добавленная дорожка удаляется из плей-листа, при этом значение LL уменьшается на один, при удалении всего плей-листа LL на индикаторе не отображается.
Для переключение на проигрывание плей-листа и обратно нужно нажать кнопку "Playlist", режим плей-листа индицируется буквами 'PL'. При этом переключении режим случайного порядка проигрывания выключается.
При включении режима плей-листа он сохраняется в энергонезависимой памяти до извлечения диска, что позволяет использовать его многократно после выключения питания. Из памяти плей-лист стирается при его редактировании или извлечении диска. На некоторых CD-ROMах возможно стирание его при включении питания (было замечено на LG 52x).

Начиная с версии 3.00, добавлено отображение CD-Text в одном из следующих видов в зависимости от наличия информации:

Альбом-Название альбома
Исполнитель-Название произведения

или
Альбом или Название альбома
Исполнитель-Название произведения

или
Альбом-Название альбома
Исполнитель или Название произведения
(хотя стандарт требует обязательного наличия названия произведения, в структуре CD-Text никто не мешает его отсутствию)
или
Альбом или Название альбома
Исполнитель или Название произведения

или
Исполнитель
Название произведения

или
Название...
...произведения


Текст отображается на ~3 секунды после начала проигрывания дорожки, после этого (или после нажатии кнопок или подачи команд пультом) отображается основная информация. Отображается только та информация, которая помещается на индикаторе (по 16 символов в строке).


Названия, записанные на диске кириллицей в кодировке CP-1251, приводятся в соответствие знакогенератору индикатора SC1602EULT-SH-HB-K, при использовании индикаторов без поддержки кириллицы или с другим знакогенератором, необходимо откорректировать таблицу перекодировки, расположенную с адреса 0x1F80 в файле (с адреса 0xFC0 в контроллере). Таблица соответствует кодам символов 0x80-0xFF, символы с кодом, меньшим 0x20, заменяются на пробелы, остальные символы не перекодируются.
Не все приводы могут читать CD-Text, не все читающие выдают его правильно - NEC CD-3002B обрезает его на некоторых дисках (проверен на компьютере - то же самое).

В дополнение к описанному устройству можно сделать внешний ЦАП для получения более качественного звука и простой пульт на AT Tiny28V.

Перечень приводов, прошедших проверку с этим устройством (для версии 2.12).

Плата в формате smArtWork (11 соединений выполнено проводом МГТФ, рядом - усилитель на TDA1517/TDA1519), ее фотография в собранном виде и фотография действующей модели плейера.

С вопросами обращайтесь к автору.


Содержание раздела