(http://www.diyaudio.ru/forum/index.php?action=dlattach;topic=4246.0;attach=28332;image) | (Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) |
lgedmitry ...
(Извините, но у Вас нет доступа в Галерею)Цитировать (выделенное)Серёг....в двух словах опиши внедрённые задумки....чем отличается от ранее опубликованных? (понималка пока слабая по цапам)
das,Сергей, в общем так:
а) взял схему что ты мне давал
б) заменил плиску обычными микрухами (ибо с плисками не дружу) Вышло 4 штуки 74AHC164 (можно, пожалуй, и 74HC164) и пара инверторов. Взял свободные от быстродействующего преобразователя уровней с высокой нагрузочной способностью 74LVT240.
в) заменил переключатель входов на простом тумблере переключателем на логических элементах (ну не люблю я полезные сигналы таскать к тумблеру и обратно. имхо вредно это) применил тут 74ALS00. Тут выбор обусловлен тем, что эта серия умеет адекватно воспринимать логические сигналы с микрух, запитанных от 3.3В, когда сама питается от 5В.
нужно это в последнем элементике, который усиливает ток DIR9001 для подачи на светодиод. Если это дело на транзисторе выполнить, то можно и 74HC00 влепить преспокойненько.
г) частоту тактового генератора реклока задрал в 2 раза по сравнению со статьёй-прообразом (где-то вычитал, что так кошернее). При наличии отсутствия кварцевых генераторов на 45.1584МГц (изображён на схеме в виде прямоугольничка без роду-племени и номеров выводов) можно вернуться к прообразу и поставить на 22.5792МГц. При этом, если он окажется ещё и на 3.3В, то отпадёт необходимость в применении 74LVT240. На вдвое низкой частоте и триггер реклока можно поставить 74ALS574, а не 74LVT574.
Вообще же, можно поставить генератор на любую частоту до 50МГц. SRC4192 справится. Вродь нигде не нашёл, что от некратного ресемплинга она сильно звук портит (хотя может плохо искал)
д) свободные элементы 74LVT240 я пустил на буферы. Это на случай, если каждую полусхему собирать на отдельной плате и провода длинные между ними тянуть. но этого скорей всего не будет, и сигналы можно брать напрямую
е) переврал с включением AD1865. Чайку попью - исправлю))))
(Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) |
НАШЕЛссылка не работает (
Курсовая работа, сдвиговыйе регистры
(Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) | (http://im0-tub-ru.yandex.net/i?id=6d4886ccaffe14968975a91c2d7ea1b2&n=24) (https://yadi.sk/d/KPj3NSp_gy7Kk) |
Поэтому закину их в угол по ближе к БОЛЕРО.А реклок делать будешь? Вообще генераторы поближе к нему надо.
Эти три детали надо крутить по очереди словно код сейфа подбираешь.Дело хозяйское, но я бы предусмотрел места, почитай Алексея AlexD тут он редко появляется, больше на Горе, у него в статье есть описание как на коленке подстроить. И когда пробовал делать ЦАП на АД1862 дошел, что обязательно нужна развязка между ЦФ и реклоком 74АБТ574. Сейчас близиться к завершению ЦАП на АД1865. По поводу питания генераторов почитай DAC_Lynx_D60, только если будешь повторять, то повторять в точности. Я сделал без буфера на выходе, вроде как не обязательная деталь, а оказалось огреб по полной проблем.
Говорят выхлоп ЦАПы можно на резистор нагрузитьУ ПСМ можно грузить, у них ток вытекающий, вот у АД ток втекающий, или с питания через резистор, или на опере.
И когда пробовал делать ЦАП на АД1862 дошел, что обязательно нужна развязка между ЦФ и реклоком 74АБТ574.Простите, личным опытом дошел? Или прочитал в трудах чьих то?? Дело в том что сам Дмитрий Анодронников писал - что отказался от развязки между ЦФ и ЦАП. Что в последних трудах использует только буфера. Сам лично слышал как цап АД1853 намного прозрачней стал петь когда убрал причесывалку 74_574. Хотя адешка - это дельтасигма. А тут Р2Р матрица. Кто его знает :d_know:
n Input data format
• 2s complement, MSB first
- LR alternating, 16/18/20/24-bit serial, trailing
data
- LR alternating, 24-bit serial, leading data
- LR simultaneous, 24-bit serial, leading data
Вчера запускал плату, на выхлопе получил странную кракозябу.типичная крякозябра когда вместо знакового числа подают беззнаковое, или наоборот.
(Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) |
Простите, личным опытом дошел? Или прочитал в трудах чьих то?? Дело в том что сам Дмитрий Анодронников писал - что отказался от развязки между ЦФ и ЦАП.У Дмитрия защита от помех организована за счет правильной топологии, 4-х слойной платы и много чего еще скорее всего, о чем он и не пишет. Изначально проект был ТАС1020-ДФ1706-74НС574-АД1862-выхлоп. Был звук, но с ужасным скрежетом. Перепахал все питание, как то писал уже про нехорошие АДП3303 в питании генераторов, стало чуть лучше, пробовал заменить ТАС на Фламенко, без результата, игрался с форматами, убирал реклок и еще много чего. В итоге победил шумы только АДУМкой после ЦФ. В результате нечеловеческих опытов 1862 сдохли :facepalm:, благо были приобретены на Ебае за вразумительные деньги и проект переделался на АД1865. Как то так.
полностью раскрывающая секреты потока данных.какого потока? обычно в даташитах на цап все есть. даже для вшивенькой cs4334 все описано
(Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) |
Что значит: непрерывный поток данных?Доброго дня!
Может в этом кроется вся проблема с запуском ЦАП
5 lowА вот этой строчки не хватало. Поёт :) Вроде и хороше поёт, и бас сочен и напористый.
module DigitalFilter
(
input wire LR, BCLK, MCLK, DATA,
output reg LR_out, BCLK_out, DATA_R, DATA_L
);
reg[0:31] buffer_data_L, buffer_data_R;
reg[0:6] buffer_data_count;
reg[0:23] data_out_L, data_out_R;
always @(posedge BCLK) // по восходящему фронту записываем 1:0 в буфер данных
begin
if(LR)
begin
buffer_data_L[buffer_data_count] = DATA;
end
if(!LR)
begin
buffer_data_R[buffer_data_count] = DATA;
end
buffer_data_count = (buffer_data_count == 32)? 1 : buffer_data_count + 1;
end
always @(posedge LR) // по восходящему фронту L/R сбрасываем данные буфера приемника в буфер отправителя.
begin
data_out_L = buffer_data_L[8:31];
data_out_R = buffer_data_R[8:31];
end
//Вычисление тактовых сигналов ЦФ, и отправка данных в ЦАП. Формат: LR=44.1, BCLK=24*LR
reg BCLK_buf = 1'b1;
reg[0:4] MCLK_tic; //16
always @(posedge MCLK) // преобразуем частоту BCLK_out (mclk/16 = bclk)
begin
if(MCLK_tic == 7)
begin
MCLK_tic = 0;
BCLK_buf = ~BCLK_buf;
BCLK_out = ~BCLK_out;
end
else
MCLK_tic = MCLK_tic + 1;
end
reg[0:5] BCLK_tic; //24
always @(negedge BCLK_buf) // синтезируем LR_out
begin
BCLK_tic = (BCLK_tic == 23) ? 0 : BCLK_tic + 1;
if(BCLK_tic <= 12)
LR_out = 0;
else
LR_out = 1;
//if((BCLK_tic == 0)||(BCLK_tic >= 21)) // по идее 1 бит и более 21 бит BCLK_out = 0; но почему то все время BCLK_out держит в нуле.
//BCLK_out = 0;
//else // отправка данных в ЦАП
begin
//BCLK_out = BCLK_buf;
DATA_R = data_out_R[BCLK_tic - 1];
DATA_L = data_out_L[BCLK_tic - 1];
end
end
endmodule