Вход

Просмотр полной версии : Особенности AY



TomCaT
03.10.2010, 10:55
Прочитав даташит (http://www.datasheetcatalog.org/datasheets2/54/545148_1.pdf), все-таки сформулировал для себя несколько вопросов. Не подскажет ли уважаемый All, что известно или где прочитать/узнать:

1) указан рабочий диапазон выходов 1 вольт пик-пик. На графике амплитуд указаны 16 уровней в диапазоне 0 -- 1 вольт, но ведь это же для полуволны. В этом последнем случае полный диапазон был бы 2 вольта пик-пик?

2) Питание "земля -- +5". Этот диапазон внутри диапазона питания, конечно (не инвертировалось же напряжение в то время при той цене, это не дешево) ? А какое напряжение среднего уровня?

3) Несколько раз упомянута квадратная волна. Есть ли возможность на Спектруме с AY отследить момент фронта между полуволнами, если не напрямую, то по какому-нибудь из синхронных событий.

4) Когда происходит изменение характеристик сигнала после записи в регистры - на очередном такте процессора, после 16-тактовой паузы (тогда кстати для огибающей она 256-тактовая до очередного обновления?), на очередном фронте волны или иначе?

Atari
03.10.2010, 11:24
Поиск рулит.
Начиная с 17-го поста http://zx.pk.ru/showthread.php?t=12989&page=2 есть ответы на половину вопросов.

TomCaT
03.10.2010, 12:12
А про вторую половину что-то известно?

Интересно, что поиск "AY волны" юзал, среди найденных тем именно эту почитал, но до сути и точных выводов дойти меня не хватило :) :( .

Еще один вопрос вспомнился.

5) в регистрах амплитуды при выборе режима аппаратного генератора огибающей младшие биты этой огибающей как-то управляют или полностью игнорируются? (вряд ли, конечно, судя по даташиту - эдакий плюс грех не указать в описании)

psb
03.10.2010, 16:11
а что такое "AY волна"?



На графике амплитуд указаны 16 уровней в диапазоне 0 -- 1 вольт, но ведь это же для полуволны.
для какой еще полуволны?? нет ничего такого. AY работает так:
есть генератор меандра, частота которого задается в регистрах 0 и 1 (1 канал рассмотрим). т.е. есть у нас лог. сигнал, который с заданной частотой переключается.

дальше этот сигнал идет на микшер, у которого состояние может быть 0 и 1 (бит 7го регистра). эти два сигнала просто по OR складываются. получается, когда в микшере 0, на выход проходит меандр, а когда 1 - на выходе всегда 1.

далее этот сигнал идет на ЦАП. так же на ЦАП приходит код громкости (рег.8). и здесь происходит умножение: когда с микшера пришел 0, на аналоговом выходе 0В, когда пришла 1, на выходе - некое напряжение, зависящее от громкости (как раз по табличке из даташита).

получается, если не включена огибающая, на выходе меандр 0В-хВ (х зависит от значения громкости). если включена огибающая, то на код громкости ЦАПа как бы подаются последовательно значения 0,1,2,....,15 с частотой заданной в рег. 11-12. сами значения кодируются рег.13 (т.е. может быть нарастающая пила, убывающая и смешанная).

так вот, обычно, когда говорят про звук типа "огибающей", имеется в виду, когда в микшере 1, а на вход ЦАПа приходят последовательные числа. на выходе при этом будет сигнал, похожий на параболу (посмотри вот тут (http://zx.pk.ru/showpost.php?p=320254&postcount=114) - сигнал, снятый осциллографом).



Есть ли возможность на Спектруме с AY отследить момент фронта между полуволнами
можно попробовать, чисто теоретически, но не факт, что это получится. регистры типа 0-1 - 12битные. ты можешь записать туда число 16бит, и оно даже оттуда считается обратно, но через некоторое время оно считается обратно обрезанным до 12 бит. возможно, как раз тогда, когда пройдет период. НО ЭТО НЕ ФАКТ И ТРЕБУЕТ ПРОВЕРКИ!

Когда происходит изменение характеристик сигнала после записи в регистры
на очередном фронте

в регистрах амплитуды при выборе режима аппаратного генератора огибающей младшие биты этой огибающей как-то управляют или полностью игнорируются?
если речь про рег.8-10, то при уст.4 бите, биты 0-3 значения не имеют.

TomCaT
07.10.2010, 20:35
регистры типа 0-1 - 12битные. ты можешь записать туда число 16бит, и оно даже оттуда считается обратно, но через некоторое время оно считается обратно обрезанным до 12 бит. возможно, как раз тогда, когда пройдет период. НО ЭТО НЕ ФАКТ И ТРЕБУЕТ ПРОВЕРКИ!

Интересно, надо попробовать.



Когда происходит изменение характеристик сигнала после записи в регистры
на очередном фронте

так со всеми регистрами, и частотными, и амплитудными? :(
значит, после фронта повлиять на выходы каналов нельзя до следующего фронта... :(

psb
07.10.2010, 22:24
так со всеми регистрами, и частотными, и амплитудными?
только частотными.

TomCaT
08.10.2010, 17:42
Тогда у меня напрашивается идея воспроизведения 4-битного оцифрованного звука, хотя, я уверен, что-то такое кто-то давно уже делал, и столкнувшиеся проблемы не позволили развить идею.

psb
08.10.2010, 18:15
эээээ... а как же все цифровые музоны? они и есть 4 битные. только учитывать нужно нелинейность ЦАПа.

TomCaT
16.10.2010, 09:17
музоны-то понятно, а речь?

psb
16.10.2010, 16:00
загоняешь в редактор цифровой музыки инструмент с речью и играешь - будет говорить. самый тупой способ: берешь 8бит Wav, откусываешь заголовок, потом берешь из каждого сэмпла старшие 4 бит и кидаешь с нужной частотой в рег. громкости. все. хоть и не совсем правильно (из-за нелинейности цапа), но звук будет.

siril
16.10.2010, 16:23
AFAIR цап нелинейный только у YM? у AY линейная шкала.

psb
16.10.2010, 19:45
я тоже так думаю. были планы это проверить на осцилле, но они еще не состоялись, поэтому пока не утверждаю этого, но... верю! :)

m.d.
16.10.2010, 21:44
По даташиту у AY ЦАП тоже нелинейный.

molodcov_alex
16.10.2010, 22:03
http://dlcorp.nedopc.com/viewtopic.php?t=226 (шкала логарифмическая, если вдруг не заметите)

TomCaT
18.10.2010, 17:38
загоняешь в редактор цифровой музыки инструмент с речью и играешь - будет говорить. самый тупой способ: берешь 8бит Wav, откусываешь заголовок, потом берешь из каждого сэмпла старшие 4 бит и кидаешь с нужной частотой в рег. громкости. все. хоть и не совсем правильно (из-за нелинейности цапа), но звук будет.

Только пользуясь регистром громкости? А в регистр частоты что-то нужно подавать? Или ты подразумеваешь, что музыка в это время продолжает играть в этом канале?

Splinter
18.10.2010, 20:42
Знаю, что скажу глупость и не по теме, но тем не менее -

Особенность AY в звууукееее !!! Я даже семплы сделал с AY что бы из юзать в общей массе в пц редакторах (в частности в излюбленном секвенсоре FL) , это же вкуснятина, даже зная технические особенности звуковой волны AY или YM воспроизвести это на синтах FL не удается ! Это показала практика ))))

Особенность не в частотах и тактах. Особенность в звучании. Это доказано !

psb
18.10.2010, 23:39
Только пользуясь регистром громкости?
да. звук микшером ВЫключаешь. следовательно никаких частот нет в этом канале. другие каналы - как хочешь.


п.с. на счет линейности шкалы AY - большие сомнения, как оказалось... возможно, есть ситуация, когда AY и YM будут играть одинаково, но это еще требует проверки.