Боковые коннектора IDC не сильно близко к краям ? Не будет ли в люминиевом корпусе цепляться за конструктивы ? И нормально ли сядут платы сверху - чтобы не цеплять нигде?
Вид для печати
Боковые коннектора IDC не сильно близко к краям ? Не будет ли в люминиевом корпусе цепляться за конструктивы ? И нормально ли сядут платы сверху - чтобы не цеплять нигде?
Готова вторая версия платы, с учётом ошибок и недоработок.
Основное:
- Исправлена распиновка интерфейсных чипов;
- Добавлена пользовательская кнопка у FPGA;
- Добавлены 3 светодиода на FPGA;
- Увеличен типоразмер компонентов - 99% пассивки 0805, вместо 0402, намного легче паять :)
Фото
andreil, вот год, вы потратили на модернизацию схемы ОРИОН. И так не доперли как там все работает. Теперь выкатили/майнер (там мощи на 1К ОРИОН-ов) эмульгатор (мулятор – более нежно). И чего?
Уж простите за уважительный тон. Раньше я выражался не только ВЫ. Подгорало от …
Но тем неимение подгороть у меня меньше не стало, гипер активный после 15лет, к товарищам которые несут пургу.
Как то так.
Ну а в чем подвох то ? тема этого топика какая ? перечитайте пожалуйста.
Да забанили меня нафиг от сладкий речей этого таварища.
Товарищь склонен все кидать в печку, как любой новоиспеченный мозг подвержен интернетам. А что такое синхронная схема, думаю даже на своем майнере не понял
1. Думал вообще всё на "лице" разместить, что бы в корпусе меньше пилить, но не поместилось;
2. USB может в любой момент понадобиться, потому он на лицевой стороне 100%, как и uSD;
3. VGA - да, логичнее не задней панели, но "так вышло" -_-;
4. Кнопка уже на БП только если. Для сброса всей схемы есть кнопка на лицевой панели - по факту сброс СТМки, которая на FPGA пошлёт сигнал сброса.
- - - Добавлено - - -
Непосредственно к Ориону эта плата имеет уже не такое прямое отношение. Это только одно из возможных использований, не более того.
И да - это уже на публику не пойдёт, так что "всё моё, ничего не слышу".
- - - Добавлено - - -
Уж поверьте, по этой части там всё более чем в порядке, хотя на данный момент логика работает только частично - только для теста хардвари после пайки.
Участков без клока мало - самым большим является формирователь видео, где синхронность уже лишняя.
PS: Всё, ухожу в закат, может через полгода и вернусь, как перееду ;)
А так хорошо начинал, а по факту даже РК-86 не смог ….
- - - Добавлено - - -
Вот же блин жизнь. Нежданчик вылупился и ушел в закат, а я тут с банном и бананом остался :D
Я про формирование из уже готовых пикселей:
Здесь - 99% асинхронности. Это тот участок, который в оригинале был реализован на КП12/КП11 и мелкой логике.Код:ps <= ps1 when (video_mode(3) = '1') else ps2;
-- video modes manage
vm14 <= video_mode(1) or video_mode(4);
vm12 <= not (video_mode(1) and video_mode(2) and (not video_mode(4)));
vm_ps <= vm12 or (not vblank_n);
vm_st <= vm14 or (not vblank_n);
vm_pr <= not ((not vblank_n) or (vm14 and vm12));
sel16 <= (not vblank_n) or (not video_mode(4));
-- video data switchers
RR <= (video_mode(0) and pxls(0)) when ((vm_st='0') and (pxls(1)='0'))
else (not pxls(0)) when ((vm_st='0') and (pxls(1)='1'))
else ps(6) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(2) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(2) when ((vm_pr='0') and ((sel16='0')))
else '0';
GG <= (video_mode(0) or pxls(0)) when ((vm_st='0') and (pxls(1)='0'))
else '0' when ((vm_st='0') and (pxls(1)='1'))
else ps(5) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(1) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(0) when ((vm_pr='0') and ((sel16='0')))
else '0';
BB <= (video_mode(0) and (not pxls(0))) when ((vm_st='0') and (pxls(1)='0'))
else pxls(0) when ((vm_st='0') and (pxls(1)='1'))
else ps(4) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(0) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(3) when ((vm_pr='0') and ((sel16='0')))
else '0';
II <= '0' when ((vm_st='0') and (pxls(1)='0'))
else '0' when ((vm_st='0') and (pxls(1)='1'))
else ps(7) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(3) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(1) when ((vm_pr='0') and ((sel16='0')))
else '0';
Решил всё-таки вернуться к железу, благо время появилось, спустя столько-то времени.
Поднял платку 18-ого года, нарастил "мясо" для тестов - на платке с STM32 выполнил генератор сигналов для системной шины с терминальным интерфейсом.
Пока что смог проверить только формирование видеосигнала - некоторые режимы некорректно работают, надо смотреть прошивку PLD'шки, формирующую выходной сигнал.
Результат на экране, 4-х битный режим.
Вид стенда.
Взглянув на твою фотку, категорически рекомендую обратить внимание на "подводный камешек".
По логике - надо пин BUSY завести на GAL'ку и в зависимости от её состояния разрешать защёлкивание видеоданных. Ну и сам процесс делать дважды, для перестраховки. По схеме - это ИР'ки, которые стоят между памятью и сдвиговыми регистрами видео.
ATF22V10C-15PC
Блин, andreil, что же ты "на ровном месте" проблему-то создал?
При чём здесь разрешение защёлкивания видеоданных??? :v2_dizzy_facepalm: У тебя на правом порту сидит видеоконтроллер, он только читает данные, и достоверные данные ему доступны всегда! Здесь все чики-пуки.
А вот на левом порту у тебя сидит процик, и он не только читает, но и пишет данные в видеопамять. И вот здесь при записи в те же адреса, где в данный момент идёт сканирование видеоконтроллером, возможны артефакты на экране из-за асинхронизма одновременного доступа к памяти двух потребителей. Арбитр просто блокирует запись, а когда коллизия по адресам устраняется, то происходит не совсем корректная запись по не совсем корректным адресам. AlexBel натурально это обнаружил в своём проекте. И я тоже в своём. У тебя же просто еще нет записи... Будь уверен - будет абсолютно так же. Если же не веришь - ты сначала запусти ориончик с тестом памяти, а потом и последуй совету:
Обходится этот "подводный камешек" элементарно - на вход Master/Slave подать постоянный нолик, а на вход левого Busy подать постоянную единичку.
Ты, наверное, сговорился с MM - ничего не видите ни в даташитах, ни в аппликухах... ;)
А вот это уже я лопухнулся... На фотке же видно, что 15 нс.
Просто вполне доступны и 7 нс чипы, и в видяхе они особенно были бы уместны.
Да пребудет с тобой Сила! ;)
Да, сам туплю порой. Тяжело вспоминать, что там и как устроено было :)
Я пока вместо процессора использую костыль для записи в видеопамять - на фото стенда это всё есть. Пока что хотя бы проверить логику работы именно видео, потому что могут быть разбежки по таймингам на пиксель-другой.