Последний раз редактировалось ivagor; 17.10.2017 в 20:42.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сканировал D36 Вектор06Ц.
На фоне 12МГц, F1 и F2 подключился к подписанным выходам D36.
Второй скрин, дополнительно снимал CAS с D37 и для фона ЧТЗУ, ЗПЗУ с разъёма "ВУ".
Чувствуется, что частота сканирования 24МГц маловата, иногда явно заметно, что между фронтами импульсов должен быть меньший интервал, а сканер делает шаг около 42нс.
svofski (28.10.2023)
KTSerg, спасибо!
Меня немного смущают "полтакты" на картинках (у Syntala тоже). Например на 06c_36_37.png есть RAS чтения видео в 3 такта (12 МГц), а есть 3,5 такта. Наверно это погрешность семплирования или что-то в этом духе.
Последний раз редактировалось ivagor; 19.10.2017 в 20:12. Причина: исправил опечатку
Скорее всего погрешность.
Когда делал второй скан, иногда фронты CAS-ов совпадали, иногда был сдвиг на пол-такта, весь CAS1 из D37 отставал.
У меня тоже есть теперь диаграммы. Я захватываю FPGA с порта ВУ и прямо в SignalTap. Без Векторовского клока, семплирующий клок 25 МГц.
Тестовая программа, которая крутится в Векторе (кваза нет, просто так out $10):
Картинка с моими изящными коментариями:
Скрытый текст
[свернуть]
Картинка хорошо, но гораздо интересней самому загрузить VCD файл и повтыкать: vcd
Проанализировать ее мне помогла моя бесценная утилита для шифрации адреса в RA/CA и поворачивания фарша назад: тут.
В двух словах:
RA = {a9,a10,a11,a12,a13,a1,a2,~a14}
CA = {a3,a4,a5,a6,a7,a8,a16,~a15}
Больше игр нет
Случайно не в Altera DE1? А то есть вопросы по подключению.
Что есть RA и CA ? По данным формулам у меня не получается из 928D -> 34. Инверсий чисто физически вроде не должно получаться - по схеме сигналы мультиплексируются по времени и проходят через одни и теже 155КП2.
Я делаю на Altera DE1 VGA-выход, сигналы с ВУ беру. Читалка из памяти корректно работает, добавил запись с Вектора, небольшие глючки на изображении есть. Думал, что запись гребет, а тут Ваша подсказка в виде небольшого теста. У меня из 928D получается 94, делал таким образом {а6,а5,а4,а3,а2,а1,b7,b6} - по схеме Вектора вроде так должно быть. Биты а-байта захватываю по переднему фронту RAS, для b-байта по заднему фронту RAS, а у Вас по переднему фронту STROB - тут не знаю принципиально или нет, и если принципиально, то как правильно.
Сейчас переделал, чтобы получалось 34 - на экране совсем неправильная картинка. Совсем что-то запутался.
"... жизнь удалась, если найдётся кто-нибудь, кто заберёт с помойки твои книги и инструменты, когда ты умрёшь". (c) marta_ketro
Любой компьютер, в котором стоят резисторы, компьютером может называться с натяжкой. (с) Д. Михайлов
Syntal, Row Address и Column Address, то, что стробируется RAS и CAS.
С тем, как они получаются вроде и ничего сложного, но путаница. Я долго рисовал на столешнице карандашом, потом сдался и написал модельку. У Вектора шина "2" образована из 16 разрядов А[0:15], к которым приделаны еще 8 инверсных ~A[8:15]. Проводки 22,23, которые идут на D14 это инверсные биты ~a14, ~a15.
Фарш невозможно провернуть назад и в обратную сторону та же формула не годится, ее надо обратить. Например, если ra[0]=a9, то теперь a9=ra[0]. Если ra[7]=a22 = ~a14, то обратно a14=~ra[7]. Нам понадобятся оба байта, чтобы получить целиком A. Если при этом ничего не перепутать, где старший бит, где младший, не забыть, что шинные провода нумеруются с 1, а не с нуля, итд, то из 928d получится обратно 1234.
Я не ручаюсь за то, что все 100% правильно, но из моих диаграмм у меня все адреса таким образом сходятся.
- - - Добавлено - - -
Нет, это моя собственная плата с Циклоном 4, которой я скоро похвастаюсь. Буфера 74LVX4245MTC.
Больше игр нет
50 Гц развертка с удвоенным числом строк? Если да, то интересно, как выполняется синхронизация с прерываниями (доп. проводок? или как то по счетчику регенерации, хотя так вроде не получится). Или это не для демок и игрушек? Если это "независимое" отображение, возможно с другой (не 50 Гц) частотой, то вопросы отпадают.
Последний раз редактировалось ivagor; 09.07.2018 в 10:35.
Syntal, записал декодер адреса и выглядит это так:
negedge_ras_n/negedge_cas_n это семплированые фронты RAS/CAS. RAS я причем сделал с задержкой на такт, он у меня иначе слишком рано захватывался.Код:reg [7:0] ra; wire[7:0] ca = VU_SHAP_N; reg [15:0] decoded_a; always @(posedge clk_cpu) begin if (negedge_ras_n) ra <= VU_SHAP_N; if (negedge_cas_n) begin decoded_a = {ca[6], ~ca[7], ~ra[7], ra[4], ra[3], ra[2], ra[1],ra[0], ca[5], ca[4], ca[3], ca[2], ca[1], ca[0], ra[6],ra[5]}; end end
Про VGA с ВУ тоже очень интересно.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)