Для AY/YM есть ли ограничение по частоте выводимого сигнала?
Имеется в виду запись в регистры ЦАП, как часто они способны менять своё значение? Из доки по оным сопрам следует, что они способны менять своё состояние чуть не каждые 1/2 такта CLK.
Вопрос связан с тем, что попытка выводить в эти регистры значения с частотой превышающей 19-20 кГц приводит к возникновению непонятного "хрипа" на выходе ЦАП.
Единственное до чего моих знаний
хватает, это чтобы предположить, что по какой то причине ЦАПы сбиваются - собственно оттуда и этот хрип...
Чтото вроде того, что вывод значений пришёл когда сопр находился в каком то состоянии, что он был неспопобен адекватно принять переданные данные...
Возможно проблема в триггерах регистров R8-RA?
Код с моей точки зрения не важен,
однако раз уж надо то приведу:
Там была такая тема: каждый байт состоял из двух половинок,
младшая половинка есть громкость, старшая есть число повторов (кто не понял, по 4 бита каждая)
LD A,(HL)
AND 15
LD D,A
LD A,(HL)
AND #F0
LABEL1:OUT (C),D
<ВЫРАВНИВАНИЕ ПО ТАКТАМ>
SUB #10
JR NZ LABEL1
INC HL
ну и т.д.
Хе ну вроде ты силён в асме а такое спрашиваешь...
Каждое значение должно выводиться ровно раз в 80 тактов [раз в 80 тактов есть 44кГц] (вот тебе выравнивание по тактам), кроме того есть первый цикл, потерянный, где происходит увеличение указателя = HL, загрузка регистров = = AND #F LD D,A и т.д.
Т.о. я не стал просто расписывтаь эту ерунду, просто записал <выравнивание..> и всё..
Если сильно надо могу ОРИГИНАЛЬНЫЙ текст приложить, это мне кажется не так важно..
Ну хоть один человек меня понял...
Нет дело вовсе не в способе преобразования оцифровки (8 бит в 4 бита), потому что сам оцифровка играется нормально на других девайсах (интереса ради потом запускал на Sound Blaster на PC, так же не поленился написать опять же проигрыватель, которое выдавал это всё на ZX Beeper), нет, везде КРОМЕ AY звук шёл нормально... Один аук хрипел...
Даже таблицу конвертации переписал, ничего не помогло... Где то здесь же в форуме есть линк на спецификацию по ауку, там кстати написано распределение громокостей аука, там кстати же указано что она логарифмическая... Также я забивал более сложные таблицы конвертации (т.е. по умолчанию длина таблицы конвертации была 16 элементов, я её до 32 расширял (бОльший запас точности), ничего не помогало, тогда меня это не больно волновало, сейчаз же вопрос стал ребром...
все настройки я брал из уже готовых продуктов
в том числе (с учётом тем не менее того, что я сам знаю конечно) Instrument и подобные ему программы... Так что нет там генератора, даже если бы он был, почему на более низких частотах вывода хвука его не слышно?
Вложений: 1
осциллограф не осциллограф
однако же всё таки датаграмму работы я сделал
Вот оно в архиве приложено, я специально написал программу, которая бы выводила уровни громкости - от 0 до 15 - пробегая последовательно значения - и формируя на ЦАПе соответствующие уровни. (управляющий регистр номер 7 отключал = #FF; пробовал менять другие регистры, стабильно картина наблюдается одинаковая - из раза в раз)
Записывал на SB Live! 5.1 - может быть этот агрегат сам даёт помехи, но вот факт - после значени "15" переход в значение "0" сопровождается жуткими переколебаниями - причём ещё до старта перехода (джиттер внутри звукахи?). Малые значения тоже сопровождаются переколебаниями (видно опять же таки по графику) - причём сами переколебания значений происходят и в середине уже установленного значения.
В общем разумно я объяснить это не могу (есть только одно чувственное наполнение ситуцации - бред какой то :D), потому что длина переколебаний соответствует частоте около 8 кгц (квантование приведённого сигнала идёт на частоте 48 кгц, занимает же переколебание около 6 замеров). Может быть дело в ёмкостях которые стоят на выходе AY-ка?
Кстати подобными помехами обладал не только выводимый мной сигнал, так же и простые FM-музоны тоже давали помехи (сампл не стал приводить, думаю он просто не нужен), однако они неплохо маскируются на общем фоне (их почти не слышно).
P.S. Понятно что усислитель звукахи, ёмкости звукахи, провод от спекка до звукахи т.д. вносят свою погрешность, но то что и без звукахи хрип был, это факт...
P.P.S. Как то в ревюшках было написано цитата <<цитата:"И звук хороший.." - А что бывает и плохой? Оказывается бывает..>> - речь шла про AY. Может именно это и имелось в виду?
Re: осциллограф не осциллограф
Hемедленно нажми на RESET, Valery Grigoriev!
On Mon, 07 Nov 05 13:36:29 +0300, Valery Grigoriev wrote:
Цитата:
Записывал на SB Live! 5.1 - может быть этот агрегат сам даёт помехи, но вот
факт - после значени "15" переход в значение "0" сопровождается жуткими
переколебаниями - причём ещё до старта перехода (джиттер внутри звукахи?).
Малые значения тоже сопровождаются переколебаниями (видно опять же таки по
графику) - причём сами переколебания значений происходят и в середине уже
установленного значения.
В общем разумно я объяснить это не могу (есть только одно чувственное
наполнение ситуцации - бред какой то :D), потому что длина переколебаний
соответствует частоте около 8 кгц (квантование приведённого сигнала идёт на
частоте 48 кгц, занимает же переколебание около 6 замеров). Может быть дело в
ёмкостях которые стоят на выходе AY-ка?
Дело в индуктивностях проводов. Смотри осциллографом с нормальным
щупом -- такого не должно быть.
В смысле изза сопротивлений
херовый сигнал на выходе? Квак так???
Re: В смысле изза сопротивлений
Hемедленно нажми на RESET, Valery Grigoriev!
On Sat, 12 Nov 05 04:16:04 +0300, Valery Grigoriev wrote:
Цитирую письмо полностью:
Цитата:
Hello, lvd
херовый сигнал на выходе? Квак так???
... GriV aka Valery Grigoriev
Я нихрена не понял.
Re: Для AY/YM есть ли ограничение по частоте выводимого сигнала?
Hемедленно нажми на RESET, Valery Grigoriev!
On Fri, 11 Nov 05 21:18:21 +0300, Valery Grigoriev wrote:
Цитата:
вариант, что помехи наводит отражённая волна). 21 мкс отнесённая к скорости
прохождения волны по кабелю (=скорость света в вакууме ;)) - будет около 6,5 км
туда сюда волна должна пробежать, т.о. кабель должен иметь длину 3,25 км.
Кажется кабель у меня чуток короче ;)))))
1. Меньше скорости света.
2. С длиной кабеля оно не связано.
С длиной кабеля и с скоростью
прохождения сигнала, которая принимается равной скорости света это связано. Стоячая волна повляется (точнее не тухнет а отражается) если выходы провода нескомпенсированы активным сопротивлением равным волновому сопротивлению провода (а волновое сопротивление связано с индуктивностью и ёмкостью проводов). Именно потому (может кто помнит? ;)) на коксель от компов, волновое сопротивление которого равно 50 ом, на концы вешали заглушки-резюки (тоже по 50 ом;)). Именно поэтому ограничением для 10MBit Ethernet является 2,5 км провода - чтобы надёжно детектировать помехи и отражённые волны.
А смысл такой - квак так может быть чтобы столь короткий провод формировал столь большие помехи - рядом ведь электросварка не идёт, и нет никаких мощных потребителей энергии (читай: наводчиков помех).
Я и прошу потому - если у кого есть возможность - запищите временную диаграмму.