Open Source Scan Convertor або OSSC - це найбільш складний проект, який мені доводилося робити. Три здоровенні мікросхеми, купа дрібних деталей розміром менше міліметра. Частину з них, правда, паяв не я (дякую, Костя 🙂). Це ще й один з найдовших проектів, бо плата для нього в мене з'явилася десь в 2021-му. OSSC - це перетворювач сигналів, який дозволяє підключити старі комп'ютери та консолі до сучасних моніторів через HDMI, і результат виходить значно якісніший, ніж китайські адаптери по 10 баксів. Тут є і екранне меню і сканлайни, які імітують зображення на CRT-моніторах, і профілі під різні компи та консолі. Зі мною поділилися платою та частиною компонентів (дякую, Женя 🙂), то ж дуже хотілося його зібрати. Плату я допаяв у 2023-му, прошив FPGA, попропаював недопаяні доріжки, запустив і нарешті отримав на моніторі стандартну градієнтну заставку. При увімкнені тієї ж Sega, на LCD екрані з'являлися параметри сигналу (частоти та роздільна здатність), але на моніторі був чорний екран. Я перевірив тоді всю плату, продзвонив купу доріжок, але так і не знайшов проблему. Розчарувавшись, закинув плату в коробку та купив на Алі вже зібраний OSSC з корпусом та пультом за 160 баксів. До речі, собівартість його, навіть при роздрібній закупівлі компонентів, біля 65$.
І от на минулих вихідних мені трапилась ця коробка і я вирішив спробувати ще раз. З підказками та консультаціями (дякую тобі, Женя, ще раз 😊), я розібрався, з чого складається схема. Це 3-канальний 10-бітний ЦАП, який оцифровує RGB сингали, програмована матриця FPGA Altera Cyclone IV, яка це все обробляє, та мікросхема формування сигналів HDMI. Пів дня тикання осцилографом показали, що сигнали вертикальної та горизонтальної синхронізації, що виходять з ЦАП, за рівнем в 10 разів менші, ніж мають бути. Це були 2 прямі доріжки від ЦАП до FPGA, ніяких проміжних компонентів. Перша версія була, що це проблема живлення. ЦАП живиться від 5 різних джерел напруги, але ні. Все виявилося банальніше. Два входи Altera, на які приходять ці сигнали, просто пробиті на землю і висаджують рівень.
Добре, що проект повністю відкритий, то ж Олег запропонував перекинути ці два сигнали на інші входи FPGA, перезібрати прошивку, та перерозвести доріжки на платі. Ще декілька годин колупання з Quartus IDE, прошивкою, перерізанням та перепаюванням доріжок і, нарешті, воно запрацювало. Допаяю роз'єми, надрукую корпус і буде в мене другий OSSC :)
p.s. На одному зі скрінів як раз Quartus Pin Planner в якому я перекинув сигнали HSYNC та VSYNC з 90 та 91 ніг на 126 та 127 відповідно.
І от на минулих вихідних мені трапилась ця коробка і я вирішив спробувати ще раз. З підказками та консультаціями (дякую тобі, Женя, ще раз 😊), я розібрався, з чого складається схема. Це 3-канальний 10-бітний ЦАП, який оцифровує RGB сингали, програмована матриця FPGA Altera Cyclone IV, яка це все обробляє, та мікросхема формування сигналів HDMI. Пів дня тикання осцилографом показали, що сигнали вертикальної та горизонтальної синхронізації, що виходять з ЦАП, за рівнем в 10 разів менші, ніж мають бути. Це були 2 прямі доріжки від ЦАП до FPGA, ніяких проміжних компонентів. Перша версія була, що це проблема живлення. ЦАП живиться від 5 різних джерел напруги, але ні. Все виявилося банальніше. Два входи Altera, на які приходять ці сигнали, просто пробиті на землю і висаджують рівень.
Добре, що проект повністю відкритий, то ж Олег запропонував перекинути ці два сигнали на інші входи FPGA, перезібрати прошивку, та перерозвести доріжки на платі. Ще декілька годин колупання з Quartus IDE, прошивкою, перерізанням та перепаюванням доріжок і, нарешті, воно запрацювало. Допаяю роз'єми, надрукую корпус і буде в мене другий OSSC :)
p.s. На одному зі скрінів як раз Quartus Pin Planner в якому я перекинув сигнали HSYNC та VSYNC з 90 та 91 ніг на 126 та 127 відповідно.