И снова о цифровом звуке (GS и т.п.)
Moderator: Shaos
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
И снова о цифровом звуке (GS и т.п.)
Немного размышлений на тему устройств воспроизведения цифрового звука на ZX. Компиляция различных обсуждений с разными людьми, и возникших в этом процессе идей.
На текущий момент единственным более-менее стандартным и, так сказать, массово внедрённым устройством воспроизведения оцифровок до сих пор остаётся Covox (правда, вешающийся на разных клонах на разные порты), и, в какой-то мере, Sound Drive. Понятно, что этот агрегат никого не устраивает, т.к. почти не позволяет во время воспроизведения оцифровки делать что-либо ещё. Поэтому народ желает нечто, что может дать такие возможности. Возможности эти обеспечивает два устройства - GS и DMA USC. Так как это достаточно сложные конструкции, на самостоятельную сборку решаются немногие, и народ желает иметь возможность готовое устройство.
Важный момент: народ не желает платить много. Поэтому все варианты решения проблемы должны иметь минимальную цену, т.е. упрощение схемы, уменьшение кол-ва элементов (не только для снижения цены, но и для упрощения сборки - думается, кое-кому паять вручную по 200 микросхем давно надоело;).
DMA USC я не считаю перспективной темой, т.к. его подключение требует конкретного перепахивания компьютера, поэтому говорить о нём я не буду. Да и софта под него толком нет.
GS легко подключается, и имеет софтовую поддержку. Однако, народ (суммируя мнения оного) не очень-то желает получить современный его вариант, т.е. функциональный аналог на каком-либо МК (без возможности выполнения загружаемого кода). Таким образом, единственное направление развития GS - повторение оригинальной конструкции с изменениями в элементной базе. но всё с тем-же Z80 на борту (или придётся делать ещё более сложное устройство, которое сможет эмулировать Z80, а это уже слишком, имхо). Т.к. я фиговый электронщик (а тут ещё и схема в текстовом виде, фиг поймёшь, что там нарисовано), особых идей у меня нет - заменить Z80 в DIP40 на более современное исполнение; поставить одну SRAM 512K вместо четырёх 62256; переделать аналоговую часть. Ещё мне сильно не нравится наличие аж 8 штук ПА1 (ЦАП'ы каналов - выход+громкость, причём недешёвые), однако заменить их особо нечем. В идеале, конечно, засунуть всю логику в ПЛИС (впрочем, проблему ЦАП'ов это только усложняет), но я так смотрю, что на этот подвиг никто не решится.
Ещё есть две идеи, которые имеют один существенный недостаток: полное отсутствие софта под них.
Первая: добавление в схему компьютера возможности выбора частоты прерываний (с флажком в каком-либо порту - кадровое или нет). Это может пригодиться для разных вещей, в том числе и для цифрового звука. Проблему это полностью не решает, т.к. всё равно всё упрётся в процессор, однако совмещать цифровой звук (через Covox/SD; а можно и просто цифровые ударники в AY-музыке) и параллельно выполняющуюся программу будет проще. Как я понимаю, такую возможность достаточно легко добавить в уже существующем ATM2, в этом направлении стоит подумать. Дополнительный недостаток - зависимость этого дополнения от модели клона, и опять требуется ковырять его схему.
Вторая: по отдельности высказывалась AlCo, lvd, и мной; была реализована в Sprinter'е. Простая схема на МК с небольшим ОЗУ. Вешается на какой-либо порт, или (вроде lvd так предлагал) на порт AY-ка. Т.е. во втором случае даже не требуется ковырять схему компьютера. МК читает записываемые в порт данные, буферизирует их в ОЗУ (буфер нужен примерно на 1/10 секунды), и проигрывает с заданной (или фиксированной) скоростью через ЦАП. Опять-же основная нагрузка идёт на процессор, но появляется возможность пихать данные с максимальной скоростью на обычных прерываниях. При наличии у компьютера турбо-режима вполне реально играть цифровую музыку параллельно с не шибко навороченной игрушкой (для 22khz нужно каждое прерывание готовить и засылать ~500 байт, ~10k тактов на прерывание при тупом проигрывании звука из памяти).
Ну а тему MP3, которую мы так любим обсуждать, я поднимать и не собирался:)
На текущий момент единственным более-менее стандартным и, так сказать, массово внедрённым устройством воспроизведения оцифровок до сих пор остаётся Covox (правда, вешающийся на разных клонах на разные порты), и, в какой-то мере, Sound Drive. Понятно, что этот агрегат никого не устраивает, т.к. почти не позволяет во время воспроизведения оцифровки делать что-либо ещё. Поэтому народ желает нечто, что может дать такие возможности. Возможности эти обеспечивает два устройства - GS и DMA USC. Так как это достаточно сложные конструкции, на самостоятельную сборку решаются немногие, и народ желает иметь возможность готовое устройство.
Важный момент: народ не желает платить много. Поэтому все варианты решения проблемы должны иметь минимальную цену, т.е. упрощение схемы, уменьшение кол-ва элементов (не только для снижения цены, но и для упрощения сборки - думается, кое-кому паять вручную по 200 микросхем давно надоело;).
DMA USC я не считаю перспективной темой, т.к. его подключение требует конкретного перепахивания компьютера, поэтому говорить о нём я не буду. Да и софта под него толком нет.
GS легко подключается, и имеет софтовую поддержку. Однако, народ (суммируя мнения оного) не очень-то желает получить современный его вариант, т.е. функциональный аналог на каком-либо МК (без возможности выполнения загружаемого кода). Таким образом, единственное направление развития GS - повторение оригинальной конструкции с изменениями в элементной базе. но всё с тем-же Z80 на борту (или придётся делать ещё более сложное устройство, которое сможет эмулировать Z80, а это уже слишком, имхо). Т.к. я фиговый электронщик (а тут ещё и схема в текстовом виде, фиг поймёшь, что там нарисовано), особых идей у меня нет - заменить Z80 в DIP40 на более современное исполнение; поставить одну SRAM 512K вместо четырёх 62256; переделать аналоговую часть. Ещё мне сильно не нравится наличие аж 8 штук ПА1 (ЦАП'ы каналов - выход+громкость, причём недешёвые), однако заменить их особо нечем. В идеале, конечно, засунуть всю логику в ПЛИС (впрочем, проблему ЦАП'ов это только усложняет), но я так смотрю, что на этот подвиг никто не решится.
Ещё есть две идеи, которые имеют один существенный недостаток: полное отсутствие софта под них.
Первая: добавление в схему компьютера возможности выбора частоты прерываний (с флажком в каком-либо порту - кадровое или нет). Это может пригодиться для разных вещей, в том числе и для цифрового звука. Проблему это полностью не решает, т.к. всё равно всё упрётся в процессор, однако совмещать цифровой звук (через Covox/SD; а можно и просто цифровые ударники в AY-музыке) и параллельно выполняющуюся программу будет проще. Как я понимаю, такую возможность достаточно легко добавить в уже существующем ATM2, в этом направлении стоит подумать. Дополнительный недостаток - зависимость этого дополнения от модели клона, и опять требуется ковырять его схему.
Вторая: по отдельности высказывалась AlCo, lvd, и мной; была реализована в Sprinter'е. Простая схема на МК с небольшим ОЗУ. Вешается на какой-либо порт, или (вроде lvd так предлагал) на порт AY-ка. Т.е. во втором случае даже не требуется ковырять схему компьютера. МК читает записываемые в порт данные, буферизирует их в ОЗУ (буфер нужен примерно на 1/10 секунды), и проигрывает с заданной (или фиксированной) скоростью через ЦАП. Опять-же основная нагрузка идёт на процессор, но появляется возможность пихать данные с максимальной скоростью на обычных прерываниях. При наличии у компьютера турбо-режима вполне реально играть цифровую музыку параллельно с не шибко навороченной игрушкой (для 22khz нужно каждое прерывание готовить и засылать ~500 байт, ~10k тактов на прерывание при тупом проигрывании звука из памяти).
Ну а тему MP3, которую мы так любим обсуждать, я поднимать и не собирался:)
-
- Novelist
- Posts: 25
- Joined: 16 Dec 2004 12:15
- Location: Perm/Russia
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Текущие идеи такие - z80 в плцц на 20мгц (с возможностью 12 - для совместимости), мег памяти на 512 кбайт срамах, флешка, епм3256, I2S цап, пара буферов на шину спектрума.Shiru Otaku wrote:Да, под напором общественного мнения я остыл к идее NedoGS, так как народ хочет нечто близкое к оригиналу. Кстати, вроде ты занимался переработкой схемы, были результаты?jtn wrote:верной дорогой идёте товарищ
В епме в том числе умножитель последовательный с выдачей на I2S.
-
- Novelist
- Posts: 25
- Joined: 16 Dec 2004 12:15
- Location: Perm/Russia
за 1,5 года перебрали кучу вариантов, пока что остановились на том, что написал LVD. но опять таки мне не очень нравится. хочется хотя бы 6 (8 ) каналов. epm256 в tqfp144 - это жуткая вещь (запаять конечно можно), в которой всего лишь будет умножалка громкости да диспетчер портов и памяти.Shiru Otaku wrote:Да, под напором общественного мнения я остыл к идее NedoGS, так как народ хочет нечто близкое к оригиналу. Кстати, вроде ты занимался переработкой схемы, были результаты?jtn wrote:верной дорогой идёте товарищ
designed by Bill Gilbert
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Ну да, зато именно в таком корпусе если чо (если чудо =) можно поменять на 3128. А 3256 в плцц не бываетjtn wrote:за 1,5 года перебрали кучу вариантов, пока что остановились на том, что написал LVD. но опять таки мне не очень нравится. хочется хотя бы 6 (8 ) каналов. epm256 в tqfp144 - это жуткая вещь (запаять конечно можно), в которой всего лишь будет умножалка громкости да диспетчер портов и памяти.

Насчёт 'всего-то' - ну нету других плмок, которые 5в толерант и 3.3в выход. При этом именно epm обладает фишкой, что ячеек относительно мало, зато в каждую можно кучу вводов сделать, от которых она сделает хитрую логическую функцию. В то время как всякие fpga - наоборот, ячейки тысячами и десятками тысяч, а входов в каждую 4-5 штук всего.
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Не, нам хочется нормальный ГС сделать - не на рассыпухе, с мегом памяти, на убыстренном процессоре и с 8 каналами.HardWareMan wrote:Народ, вам хечется сделать нормальный толковый (в идеале 8ми голосый) аппаратный стерео сэмплер?
Ну пока можешь помочь с I2S цапом - надо найти доставаемый/недефицитный в единичных экземплярах/недорогой в РФии, желательно с LSB first вводом.По схемным решениям я бы очень помог.
Вот ПА1 как раз фтопку - один мелкий I2S цап вместо их всех.Немного был опыт с такими девайсами и в свое время прикупил почти мешок ПА1ых (примерно штук так 100+)
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
2CHRV
Рома, ты, если чо, поможешь запаять tqfp144? =))
-
- God
- Posts: 1101
- Joined: 29 Dec 2003 01:00
- Location: Москва
Re: 2CHRV
Я все могу и ЦАПы я вам давал..lvd wrote:Рома, ты, если чо, поможешь запаять tqfp144? =))
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
Я наверно вандал, но если не ошибаюсь, то в cd приводах стоят восьминожки i2c: стерео, 16бит, 44кГц. И, есть у меня подозрение, что они все между собой совместимы...lvd wrote: Ну пока можешь помочь с I2S цапом - надо найти доставаемый/недефицитный в единичных экземплярах/недорогой в РФии, желательно с LSB first вводом.
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Re: 2CHRV
Ога! Токо я до сих пор не пойму одной вещи про tda1543.CHRV wrote:Я все могу и ЦАПы я вам давал..lvd wrote:Рома, ты, если чо, поможешь запаять tqfp144? =))
Вот у других цапов в даташитах ясно сказано - базовая частота должна быть *256 от частоты семплов, и от фронта частоты семплов начинается ввод семпла (каждый бит вводится по фронту базовой частоты). Это например у cs4340, WM8725 и тд, а как у ТДА этой - не понятно! В даташите ни слова. Потому пока я лично тда не рассматриваю, доколе мне не ясен алгоритм ввода в неё данных.
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Не путай i2c и i2s!jdigreze wrote:Я наверно вандал, но если не ошибаюсь, то в cd приводах стоят восьминожки i2c: стерео, 16бит, 44кГц. И, есть у меня подозрение, что они все между собой совместимы...lvd wrote: Ну пока можешь помочь с I2S цапом - надо найти доставаемый/недефицитный в единичных экземплярах/недорогой в РФии, желательно с LSB first вводом.
-
- Maniac
- Posts: 230
- Joined: 01 Mar 2005 21:42
Ну да, вроде того! Но не выдирать же их для 'серийного' девайса из цдромов... =)jdigreze wrote:Я наверно вандал, но если не ошибаюсь, то в cd приводах стоят восьминожки i2c: стерео, 16бит, 44кГц. И, есть у меня подозрение, что они все между собой совместимы...lvd wrote: Ну пока можешь помочь с I2S цапом - надо найти доставаемый/недефицитный в единичных экземплярах/недорогой в РФии, желательно с LSB first вводом.
-
- God
- Posts: 1101
- Joined: 29 Dec 2003 01:00
- Location: Москва
Re: 2CHRV
Ну и зря, она в Спринтере стоит, приходишь ко мне, врубаешь осцилограф и вуаля.lvd wrote:Ога! Токо я до сих пор не пойму одной вещи про tda1543.
Вот у других цапов в даташитах ясно сказано - базовая частота должна быть *256 от частоты семплов, и от фронта частоты семплов начинается ввод семпла (каждый бит вводится по фронту базовой частоты). Это например у cs4340, WM8725 и тд, а как у ТДА этой - не понятно! В даташите ни слова. Потому пока я лично тда не рассматриваю, доколе мне не ясен алгоритм ввода в неё данных.