музыкальный сопроцессор AY8910
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
музыкальный сопроцессор AY8910
Конечно, вряд ли кто с ним работал (такой проц в компьютерах Spectrum на Z80). Но как всё-таки его завести и можно ли с помощью контроллера AVR заставить играть его музыку (из потока например на флешке)?
- Дмитрий М
- Друг Кота
- Сообщения: 6620
- Зарегистрирован: Чт дек 29, 2005 00:18:30
- Откуда: Москва
- Контактная информация:
Не спец я в процессорах, но вроде как на флеше МР3 и тому подобные протоколы используются, а тот музыкальный сопроцессор был чем-то вроде таймера ВИ53, то есть программным делителем частоты. Но специализированным, с улучшенным качеством звука.
Ничто так не укрепляет взаимное доверие, как 100% предоплата! Дмитрий, ex-RK3AOR.
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
не, это полностью специализированный процессор с двумя шинами данных и тремя аналоговыми выходами. даташит зубрить не хочу, он низкого качества (скан) да и сложный. а вот флешку SD/MMC вроде как легко считать. так вот блин найти бы готовую схему на этом процессоре и контроллере, пусть там что угодно в качестве памяти будет
-
SkyFox
Давно это было...
Подкинуть можно и к AVR и к PIC а вот с потоками сложнее
в AY8910 через 2 регистра (управление и данные)доступно еще 16 регистров. в них и записываются коэффициенты деления, громкости каналов... "две шины данных" вроде 14 и 15 регистры(точно не помню
см. начало). В общем если из ММС данные читать не проблема и есть время разбираться с AY - шансы есть.
Подкинуть можно и к AVR и к PIC а вот с потоками сложнее
в AY8910 через 2 регистра (управление и данные)доступно еще 16 регистров. в них и записываются коэффициенты деления, громкости каналов... "две шины данных" вроде 14 и 15 регистры(точно не помню
На эту тему есть вот такой сайт... http://www.ucapps.de/ там какраз и делают это..
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
WildCat писал(а):Даташит на процессор вроде нашел, но никак не могу придумать, как сопрячь его с АВРкой, ищу готовое решение (хотя бы код), ибо писать там много придеца
Наверное, нужен AVR с поддержкой внешнего ОЗУ. Не знаю, есть ли современные такие... Можно, конечно, и с обычными, но мороки будет немало с программой. А вот MCS-51 легко наверняка состыкуется с этим сопроцессором, т.к. поддерживает почти стандартный микропроцессорный интерфейс (шина адреса 16 бит, шина данных 8 бит). Как я понимаю, раз этот сопроцессор с Z80 стыкуется, состыкуется и с MCS-51 без проблем. Дайте мне схему сопроцессора (назначение выводов) - нарисую схему стыковки с MCS-51
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Схема сопряжения вроде бы и так есть, однако даташиты все равно выложил тут:
http://avr.easycoding.org/other/ay8910.rar
http://avr.easycoding.org/other/ay8910_2.rar
каждый примерно 500 кб.
Больше все же интересует прошивка МК, как скормить музыку сопроцессору?
http://avr.easycoding.org/other/ay8910.rar
http://avr.easycoding.org/other/ay8910_2.rar
каждый примерно 500 кб.
Больше все же интересует прошивка МК, как скормить музыку сопроцессору?
- dx40
- Нашел транзистор. Понюхал.
- Сообщения: 182
- Зарегистрирован: Вт июл 11, 2006 12:39:16
- Откуда: Москва
- Контактная информация:
Откуда музыку для этого сопроцессора брать? Самому писать? Если уж заморачиваться, то лучше ставить старый добрый ADLIB (OPL2, OPL3) на нем хоть при определенных извращениях можно обычные мидюки играть.
А вообще муть все это. Муть и старье. Современные микроконтроллеры вполне могут эмулировать такой процессор. Да и просто играть звук с SD карточки и лучше и проще.
А вообще вот
http://elm-chan.org/works/mxb/report_e.html
А вообще муть все это. Муть и старье. Современные микроконтроллеры вполне могут эмулировать такой процессор. Да и просто играть звук с SD карточки и лучше и проще.
А вообще вот
http://elm-chan.org/works/mxb/report_e.html
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Этот проц - еще из компьютеров на Z80 (спектрумы), поэтому музыки для них существует очч много! У меня есть громаднейшие архивы, но слушать их приходится пока только эмулятором.
То, что описано на elm-chan, не что иное, как запись WAV звука. А в этом сопроцессоре используется синтез реального времени.
Кста, а как можно Adlib увязать с чипом? это тоже было бы неплохо - крутить миди на дверном звонке
То, что описано на elm-chan, не что иное, как запись WAV звука. А в этом сопроцессоре используется синтез реального времени.
Кста, а как можно Adlib увязать с чипом? это тоже было бы неплохо - крутить миди на дверном звонке
-
Freiwind
- Прорезались зубы
- Сообщения: 208
- Зарегистрирован: Вт авг 14, 2007 14:46:45
- Откуда: Москва
- Контактная информация:
В 6 номере журнала "Радио" за 1998 год есть схема дверного звонка на AY8910. В качестве МК там Z80 используется.
ftp://ftp.radio.ru/pub/arhiv/1998/06-98/42.pdf
ftp://ftp.radio.ru/pub/arhiv/1998/06-98/43.pdf
Прошивка там же: ftp://ftp.radio.ru/pub/1998/06/melody/melody.zip
ftp://ftp.radio.ru/pub/arhiv/1998/06-98/42.pdf
ftp://ftp.radio.ru/pub/arhiv/1998/06-98/43.pdf
Прошивка там же: ftp://ftp.radio.ru/pub/1998/06/melody/melody.zip
-
Freiwind
- Прорезались зубы
- Сообщения: 208
- Зарегистрирован: Вт авг 14, 2007 14:46:45
- Откуда: Москва
- Контактная информация:
WildCat писал(а):на Z80 не катит, ибо там загрузчик писать сложный и схема сама непростая. Увязать AY с авр-кой думаю дело не такое хитрое.
Я в свое время хотел ее собрать, но так руки и не дошли. Только детали насобирал.
К тому же писал раньше на ассемблере для Z80. Славное было время.
WildCat писал(а):... То, что описано на elm-chan, не что иное, как запись WAV звука. А в этом сопроцессоре используется синтез реального времени.
Нет, это не запись WAV-звука, а самый настоящий синтезатор-семплер (и именно в реальном времени). WAV-файл там используется как образец инструмента (голоса). Можно хоть мяукнуть в микрофон, а затем исполнять музыку этим звуком (лучше, наверное, по весне
Очень интересный проект, вот только никак руки не дойдут интерфейс MIDI к нему прикрутить.
WildCat писал(а):... Но я имею ввиду, что он все равно использует семп, в то время как я хочу полифонический синтез реального времени. Я просто думаю, как можно увязать AY8910+AVR+SDcard. Есть идеи по прошивке?
Ну, так это и есть полифонический синтез в реальном времени! В базовой версии прошивки одновременно звучит 6 голосов. Chan пишет, что если использовать команды аппаратного умножения (используя Мегу, в Tiny их нет), то можно увеличить число одновременно звучащих голосов, или повысить качество звука.
Ну, а что касается упомянутой связки, то проблем здесь нет. Схема будет крайне простая. Нужно повесить сигналы AY на порты AVR, SD(MMC) соединить с SPI. Описания AY есть, SD тоже имеются. Далее, нужно будет только писать программу. В принципе, можно использовать схему подключения и от Спектрума, а AVR взять с возможностью работы с внешней памятью (Мега8515, Мега64, Мега128, Мега162). Тогда взяв исходники муз.редактора Спектрума, провести покомандный (а лучше всего алгоритмический) перевод на ассемблер AVR. Мне доводилось таким образом переводить довольно сложную математику с процессора КР580ИК80А на AT90S8515. Проблем не было, ибо ассемблер AVR очень гибкий и мощный. Кроме того, программа получилась заметно короче и сильно быстрее.
Хех, что-то меня в сторону понесло ...
В общем, можно и попробовать. AY у меня есть, Меги водятся, с MMC дружу...
dx40 писал(а):Если уж заморачиваться, то лучше ставить старый добрый ADLIB (OPL2, OPL3) на нем хоть при определенных извращениях можно обычные мидюки играть.
А как Вам такой такой чип - YMF721+YAC516 ?
Там упомянутый OPL3 и General MIDI - прошитые в сам чип(!) высококачественные сэмплы (стерео/44100/16бит)!
Подключается на ура к AVR'кам и прочим контроллерам, у которых есть интерфейс внешней памяти!
dx40 писал(а):
А вообще муть все это. Муть и старье. Современные микроконтроллеры вполне могут эмулировать такой процессор.
Во-первых, называйте вещи своими именами
Во-вторых, дайте линк, где показано как сэмулировать хотя-бы OPL на техже ПИКах, АВРах...
dx40 писал(а):
Да и просто играть звук с SD карточки и лучше и проще.
угууу!!! а где памяти стока возьмёте, чтоб уместить качественную MP3-тему 5 минут???
Синтезаторная музыка по понятным причинам будет кушать меньше места.
Подробнее тут:
1) http://zx.pk.ru/showthread.php?t=5413
2) http://www.nedopc.org/forum/viewtopic.php?t=8822
3) http://www.nedopc.org/forum/viewtopic.php?t=8459