Просмотр полной версии : ReVerSE-U16
Кому надо - сделал корпус под ReVerSE-U16
https://sun9-8.userapi.com/nTlAygUxTUWN5_W7cH_s_qii6ARGDJXY_s-MHg/KfMf5gReoO0.jpg
https://sun9-10.userapi.com/aZhTmNhmoaUVPny2027lfr2RWIk8Up9FSuaumw/gIGqhg-p5x0.jpg
https://sun9-57.userapi.com/t1Dd-it2057NghYcZXk6GjD5y9zw77jNp5v5iA/BhSj0mnQIUw.jpg
https://sun9-76.userapi.com/AvZM3cy0nh7C8YYoYX5Zu4_nkNF_2RiubvN8gw/mlBuQQR6UVk.jpg
https://sun9-62.userapi.com/I6XTElPE5XvFf_ZoHOUrFnstODDbBJ_XvPqqTg/KKjD4m_jMW0.jpg
https://sun9-70.userapi.com/IiEl_zBIPvWFCeYA2kpbDmO9NBO5HAJCv4GaCA/74bPe1gIGag.jpg
https://sun9-56.userapi.com/Dh1-arKV6T1FQh0yoXKIesvm43cLwDFV0kWn1Q/Na5cnawaon8.jpg
https://sun9-47.userapi.com/GhcQBHJrSVrtjsvPVqpn2UT6Y3lWcCKLb5icrg/7_dvhhxmlHA.jpg
https://sun9-42.userapi.com/J07WHZbmrsWES2hzD6NEj60pD0tOVvwPg9mOmw/FufgRwXBEmU.jpg
https://sun9-1.userapi.com/5eQYKO9byK-qNZpyWhJfr03XxqbUcQ_fP6iKjw/qGO9QX_jpME.jpg
Скачать STL и Solidworks файлы (https://mega.nz/file/wbhkkS5S#tbelwxTkQR8K3uYM0lJ6AVAe_XSPSkxEQneByzAL5 dk)
Смотрел тут схему сабжа, возник вопрос - по схеме выводы ПЛИС, например, 34 и 38, подключены к питанию +1.2В, а по даташиту на EP4CE6 - это I/O. Это к вопросу о заменяемости чипов. Или, может, у меня старая схема?
andykarpov
02.11.2020, 11:44
Смотрел тут схему сабжа, возник вопрос - по схеме выводы ПЛИС, например, 34 и 38, подключены к питанию +1.2В, а по даташиту на EP4CE6 - это I/O. Это к вопросу о заменяемости чипов. Или, может, у меня старая схема?
Дык, сабж изначально под EP4CE22. У толстых альтер меньше свободных I/O, но вниз масштабируется норм :)
Я пробовал Reverse-U16 с EP4CE6 - работает норм :) только не все помещается в 6к LE :)))
Проблемы могут начаться на EP4CE6, если случайно задействовать ноги, притянутые на питание, или включить опцию "Притянуть неиспользуемые ноги к земле" - навскидку не помню, есть ли такая. А так они в Z-состоянии, даже не сгорят. Но потенциальную опасность стоит учитывать.
andykarpov
02.11.2020, 13:36
Проблемы могут начаться на EP4CE6, если случайно задействовать ноги, притянутые на питание, или включить опцию "Притянуть неиспользуемые ноги к земле" - навскидку не помню, есть ли такая. А так они в Z-состоянии, даже не сгорят. Но потенциальную опасность стоит учитывать.
годное замечание.
Я пробовал Reverse-U16 с EP4CE6 - работает норм только не все помещается в 6к LE ))
О, а что пошло? а то у меня как раз реверс на СЕ6
andykarpov
02.11.2020, 23:30
О, а что пошло? а то у меня как раз реверс на СЕ6
Пошел даже tsconf, но с выпиленным звуком из hdmi, выпиленным saa и вторым AY турбосаунда, и кажется что-то еще.
В общем в самой минимальной комплектации :)
cтоит ли ожидать адаптацию корки минимига?
Ребят, а поддержку клавы и мыши через один свисток (2 в 1 комплект беспроводной) возможно? Кто нибудь задавался этим вопросом?
finevlad
24.02.2021, 17:26
Так беспроводные свистки для системы выглядят как один или два обычных HID устройства. Так что по схеме надо глядеть на свое устройство и его добавлять.
да, но когда вставляешь свисток с клавой и мышкой (2 в 1) то работает только клава
Trpaslik
09.06.2021, 12:07
Знающие люди, подскажите куда копать:
на когда-то отлично работавшей ReVerSE-U16 (ещё rev A) после долгого лежания на полке перестала работать ts-conf - при включении сразу показывает мусор в спектрумовском формате (с атрибутами 8х8) и тишина. Попробовал другие конфигурации (speccy, zx128k) - работают, а ts-conf - ни в какую. Есть у неё какие-то принципиальные отличия, которые бы навели на причину?
Плату пропаял ещё раз на всякий случай, ничего не поменялось.
предположу, что для запуска TS-conf требуются некоторые файлы на sd-карте. Зависит от версии загрузчика.
Вынуть SD-карту, если загрузчик отрабатывает а дальше мусор, значит дело в карте. Если не работает загрузчик, смотреть какая прошивка ts-confы зашивается, там у Влада все 100500 раз менялось.
там у Влада все 100500 раз менялось.
я бы сказал 100500 миллионаф раз.
Так то вариантов первоначальной загрузки как бы два - или с SPI-flash или с sd-card. Причем с sd-флешки поинтереснее вариант, но их то жи был не один, и fat16 и fat32
кстатеда, 3-4 демки проверить на реверси сможешь??
CodeMaster
14.10.2021, 17:29
Порт (https://yadi.sk/d/FruJmlwxfb5ti) speccy на de1. Респект MVV и andykarpov
update 05.04.2015: Обновил архив. Теперь fatallу есть куда копировать файлы. Спасибо zebestу за багрепорт
ivagor , сохранился ли архив? Насколько он большой, может прям в тему приаттачить?
Выложил на яндекс.диск и восстановил в том посте (https://zx-pk.ru/threads/23528-reverse-u16.html?p=792737&viewfull=1#post792737) ссылку на архив с sofом от 05.04.2015. С исходниками непонятно, есть два разных архива от этого числа и с этим sofом не совпадают, надо разбираться.
- - - Добавлено - - -
Убрал отдельный sof, выложил исходники. Почему у меня оказалось два архива за то число я так и не понял, выложил более поздний откорректированный вариант.
CodeMaster
14.10.2021, 22:27
ivagor, исходники конечно правильно, но можно для нубов и .sof и .pof сразу приложить?
sof в архиве с исходниками есть, pof я не делал.
CodeMaster
15.10.2021, 13:09
sof в архиве с исходниками есть
Sorry, за косоглазие.
valerium
23.03.2022, 10:42
Нашел в теме неоднократно звучавший вопрос, но так и не нашел ответа.
Где (в каких корках) поддерживается вот такой переходник vga ?
https://github.com/mvvproject/ReVerSE-U16/tree/master/u16_board/modules/vga
Копейкин
23.03.2022, 11:21
В ядре u16_zet (pc xt) я выводил, исправив проект, vga в обход hdmi модуля. Работало.
valerium
23.03.2022, 12:13
Клево, а исправимо только в нем одном или в любом другом можно сделать аналогично ?
Где-нибудь описывалось, что надо исправить ?
Копейкин
23.03.2022, 15:04
Я не нашёл, где описано. Реверс делал только ради зет процессора. Там прямо в файле верхнего уровня соединения межмодульные прописаны.
valerium
24.03.2022, 13:19
Я не нашёл, где описано. Реверс делал только ради зет процессора. Там прямо в файле верхнего уровня соединения межмодульные прописаны.
Посмотрел код проекта tsconf для Реверса. Ничего понятного для себя по части vga не нашел ((
Телек с hdmi использовать не особо хочу, надо что-то покомпактнее.
Но: вывод видео по hdmi, как оказалось, отлично работает на "народном контроллере" с rtd2660, но теперь осталось придумать, как с hdmi получить звук ("народный" на типовых платах этого не предусматривает). Или по spdif забирать с реалтека, или какие-то аудиоцапы подключать напрямую к ПЛИС, организовывая вывод на них. Надо поизучать, как сделан вывод звука в более ранних Реверсах...
Или здесь такую задачу уже решали ?
Upd: Вопрос снят, разобрался с delta-sigma dac на линиях DN/DP (uBUS)
valerium,
Здравтвуйте!
подскажите подробнее как подключить DAC к выводам uBUS ReVerSe U16?
valerium
25.03.2022, 12:35
Примерно вот так
https://github.com/mvvproject/ReVerSE-U16/tree/master/u16_board/modules/audio
Только я не выяснил, везде ли оно поддержано, мне пока только тсконфа была интересна.
Сам DAC реализован внутри ПЛИС, снаружи на упомянутом шнурке только выходная rc-цепочка.
Пс. Ещё не подключал, но в исходнике прошивки адекватную поддержку увидел, на днях попробую.
Upd: Проверил в tsconf, все давно изобретено и прекрасно работает. Всем авторам спасибо !
Всем привет. Я, случайно, начал собирать reverse u16 на базе EP4CE22E22. Установил сам суслон, SDRAM, HDMI, генератор, конфигурашку, мелочёвку запаял, которая не относится к сетевому контроллеру. В общем, минимум для запуска. VNC2 не запаял - у меня он в корпусе QFN48, нужно делать платку-переходник и проводочками цеплять. Плата подаёт признаки жизни:
u16_test:
https://i.ibb.co/zrQ8hBP/u16-test.jpg (https://ibb.co/zrQ8hBP)
u16_hdmi_test:
https://i.ibb.co/k5XGjMb/u16-hdmi-test.jpg (https://ibb.co/k5XGjMb)
Но при запуске других конфигураций либо на экране ничего не видно вообще (хотя синхронизация почти во всех случаях идёт), либо вот так:
u16_zx48k:
https://i.ibb.co/CvLpTbs/u16-zx48k.jpg (https://ibb.co/CvLpTbs)
u16_speccy:
https://i.ibb.co/JRrz7XB/u16-speccy.jpg (https://ibb.co/JRrz7XB)
Пока что не знаю, в чём дело - отсутствии VNC2, неисправности SDRAM или ещё в чём-то. Подскажите, есть способ протестировать SDRAM при неполностью собранной плате и отсутствующим VNC2? Возможно, уже есть готовое средство, чтобы велосипед не изобретать...
насколько я понимайю, VNC2 - влияет на раскладку клавиатуры, вплоть до отсутствия, и при этом родной программатор под нее вовсе не копеешный :(
Под эту плату sdram-test я не портировал, только с ts-conf ой возился.
Но там не должно быть проблем с портированием.
Вспомнил :) Проблемы с портированием теста будут, в плане vga=> hdmi :(
Ну и ладно.
насколько я понимайю, VNC2 - влияет на раскладку клавиатуры, вплоть до отсутствия, и при этом родной программатор под нее вовсе не копеешный :(
Под эту плату sdram-test я не портировал, только с ts-conf ой возился.
Но там не должно быть проблем с портированием.
Вспомнил :) Проблемы с портированием теста будут, в плане vga=> hdmi :(
Ну и ладно.
Честно сказать, я вообще не понял, о чём это сообщение. Портирование какого теста?
https://zx-pk.ru/attachment.php?attachmentid=67305&d=1544609117
Для тестирования SDRAM существует много столетий вот такой тест от DDp. Портируется всюду, где есть VGA+SDRAM. На U16 вга нету, поэтому портировать несколько сложнее. Так понятнее?
Для тестирования SDRAM существует много столетий вот такой тест от DDp. Портируется всюду, где есть VGA+SDRAM. На U16 вга нету, поэтому портировать несколько сложнее. Так понятнее?
О да, безусловно!
Совсем для понятности, о чем речь (https://zx-pk.ru/threads/12425-speccy2010-sborka-naladka-testing.html?p=650090&viewfull=1#post650090)
Можешь посмотреть, как работает на DE1
Или может быть кто-то что-то лучшее предложил??
Да уже, в общем-то, сделал всё. Но, спасибо, попробую и этот...
В проекте u16_speccy был, судя по логу и закомментированным строчкам в топ-модуле, General Sound. Почему он был удалён?
Получил, наконец-то, микруху VNC2, успешно прошил вот таким адаптером:
https://i.ibb.co/9cfgC0P/999.jpg
Пост с этим текстом я не нашёл, но нашёл ответ на него (https://zx-pk.ru/threads/23528-reverse-u16.html?p=871160&viewfull=1#post871160)
Автору - большое спасибо, при программировании VNC2 я пользовался этой информацией:
Залился VNC2 через USB-Serial. Если кому надо, делал так:
Софт - FT_Prog http://www.ftdichip.com/Support/FT_Prog_v2.8.2.0.zip
USB-Serial - китайский Unibox для мобильников (номера пинов ниже для него, типовая распиновка USB-Serial-TTL коробок с RJ45 разъёмом).
Паяем 5 проводов:
unibox --- VNC2 на плате
8 (GND) - GND
2 (TxD) - 24
3 (RxD) - 23
4 (RTS) - 26
5 (CTS) - 25
Замыкаем на JTAG разъёме:
7-10 (USB_PROG#-GND)
8-4 (USB_RESET#-3V3)
Подключаем унибокс в комп, запитываем плату, запускаем FT_Prog, идём на вкладку Flash ROM, выставляем: Chip - VNC2, Programming Interface - UART, COM Port, Device - COMx (ваш порт, на котором унибокс), Baud Rate - 115200, Eval Board - снято, открываем файл прошивки (софт очень хочет расширение .rom), жмём Program.
Должно показать Checking connected device, потом Setting baudrate, потом, если всё сделали правильно, будет Flashing device - и дальше ждать пока не скажет "готово"
Уточнение: сначала затупил, флешанул .bin, переименовав его в .rom - не заработало, так делать не надо, флешируйте честный .rom
Оригинальный программатор для VNC2 стОит как чугунный мост + крыло от Боинга. Из г.и.п. тожи можно программатор на UART сделать, но то такое..
Причем автор сделал конфы так, что каждый раз при смене проекта надо программить и VNC2, ну так емуу захотелось, видимо, зачем искать легких путей.
Мне U16 достался без этого хитрого программера с конфой под tsconf, ну и прошивкой клавы под него же. С другими прошивками конф клава естессно не работала.
Ну что же, имы не исщём легких путей... Пришлось переделывать интересующие меня конфы под конфигурацию клавы от tsconf-ы... Не мытьем - так катаньем.
Может, кому информация пригодится...
Так вот почему у меня не запустилась нормально прошивка NES на DivGMX. Это же родственный проект. Наверное потому, что у меня тоже в VNC2 прошивка для TSConf. Если сравнить прошивку для VNC2 U16 NES, то немного отличается. Наверное, у меня выход один - перепрошивать VNC...
Установил микросхему часов. Часы работают, но я заметил, что на экране начались какие-то подёргивания с периодом примерно в 1 секунду. Особенно это заметно при вертикальном скроллинге, выглядит так, словно скроллируемое изображение раз в секунду заедает. Возможно, это было и раньше, но я ни разу не замечал, а после установки часов сразу, что называется, бросилось в глаза. Конфигурация tsconf. Часовая батарейка не установлена. Электрически отключать часы не пробовал.
Кто-нибудь такой эффект замечал? Если да, то удалось его исправить?
andykarpov
22.10.2023, 15:45
от часов точно не зависит.
могу с уверенностью сказать, что на 99% проблема - из-за z80.
проявляется не только в корке tsconf, еще и в speccy.
надо менять проц на более прямой вариант.
от часов точно не зависит.
могу с уверенностью сказать, что на 99% проблема - из-за z80.
проявляется не только в корке tsconf, еще и в speccy.
надо менять проц на более прямой вариант.
Заменил процессор на Т80, подёргивание не устранилось.
Сделал пару видео, проблема хорошо видна на скроллинге:
https://disk.yandex.ru/i/NNwZic92SiSHXQ
https://disk.yandex.ru/i/XEPzFi5D9ymovQ
------------------
Кто пробовал u16_msx? Не работают некоторые кнопки на клавиатуре (CTRL, например) и прошивки VNC2 под эту конфигурацию нет, во всяком случае, я не нашёл.
Не особо надеюсь что ответит АВТОР данного девайса, но может кто-то из опыта подскажет какие корки (из доступных в гитхабе для ReVerSE-U16 ) поддеживают подключение через HDMI а какие через переходник ТОЛЬКО на VGA.
Вопрос возник потому , что я взял за основу этот проект для своего "монстра" на CYCLONE10LP. Хочу запустить хотя-бы корки для ZX и РК86. Тесты работают прекрасно (HDMI). Единственный вопрос как менять(расчитывать) частоту на выходе HDMI_CLK(P\N). Из исходников в таблице
-- ModeLine " 640x 480@60Hz" 25.20 640 656 752 800 480 490 492 525 -HSync -VSync
-- ModeLine " 720x 480@60Hz" 27.00 720 736 798 858 480 489 495 525 -HSync -VSync
-- Modeline " 800x 600@60Hz" 40.00 800 840 968 1056 600 601 605 628 +HSync +VSync
-- ModeLine "1024x 768@60Hz" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync -VSync
-- ModeLine "1280x 720@60Hz" 74.25 1280 1390 1430 1650 720 725 730 750 +HSync +VSync
-- ModeLine "1280x 768@60Hz" 80.14 1280 1344 1480 1680 768 769 772 795 +HSync +VSync
-- ModeLine "1280x 800@60Hz" 83.46 1280 1344 1480 1680 800 801 804 828 +HSync +VSync
-- ModeLine "1280x 960@60Hz" 108.00 1280 1376 1488 1800 960 961 964 1000 +HSync +VSync
-- ModeLine "1280x1024@60Hz" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +HSync +VSync
-- ModeLine "1360x 768@60Hz" 85.50 1360 1424 1536 1792 768 771 778 795 -HSync -VSync
-- ModeLine "1920x1080@25Hz" 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync
-- ModeLine "1920x1080@30Hz" 89.01 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync
брал данные - разрешение меняется правильно но частора разверки не соответсвует - вместо 60Гц имею 52Гц
Внутренний голос подсказывает что первая колонка как раз и есть частота для PLL для соответсвующего разрешения)
Заранее спасибо ответившему!
andykarpov
07.12.2024, 23:13
первая колонка - частота в МГц для пиксельклока.
hdmi_clk_p/_n - это по-идее должна быть x5 частота от этого пиксельклока со сдвигом по фазе на 180 градусов.
- - - Добавлено - - -
а вот в корках zx и рк86, скорее всего, не получится просто взять и сделать другое разрешение. потому что частота пиксельклока там == частоте дизайна. для спектрума это 28 МГц соотв, для РК не уверен, что там.
- - - Добавлено - - -
имхо, только если сделать захват всего кадра куда-нибудь в двухпортовую память (фреймбуфер), можно отвязать пикскельклок от частоты дизайна. но, имхо, дороговастенькое решение получается, и ее, скорее всего, не хватит.
первая колонка - частота в МГц для пиксельклока.
где-то так и подумал)
hdmi_clk_p/_n - это по-идее должна быть x5 частота от этого пиксельклока со сдвигом по фазе на 180 градусов.
где-то в исходиках это увидел - соотношение "х5"
но взяв исходик теста HDMI (ничего не поменяв) видим:
-- ModeLine "1280x 800@60Hz" 83.46 1280 1344 1480 1680 800 801 804 828 +HSync +VSync
-- c0 - 371.428571 MHz
-- c1 - 74.285714 MHz
т.е. должно быть с1 = 83.46MHz а имеем установки для PLL: -- c1 - 74.285714 MHz
не сходится )))
сходиться если считать не чистоотображаемое изображение а со всеми "сервисными": 1680*828*60 = 83,462,400 (как в таблице)
вопрос: как же все-таки найти данные чтобы получить " c1 - 74.285714 " или это ошибка автора ?
Хотелось бы РАЗОБРАТЬСЯ на будущее как это рассчитать уже для своих поделок в будущем.
РК не уверен, что там.
Корка для РК не Ваша для данного проекта?
- - - Добавлено - - -
имхо, только если сделать захват всего кадра куда-нибудь в двухпортовую память (фреймбуфер)
не не не ))) я еще пока не "дорос" до таких "самостоятельных" шагов в HDL описании))
Я пока на стадии обучения на чужих РАБОЧИХ исходниках!
andykarpov
08.12.2024, 04:16
вопрос: как же все-таки найти данные чтобы получить " c1 - 74.285714 " или это ошибка автора ?
чтобы понять реальные значения, нужно открыть редактирование PLL и там посмотреть реальные значения.
то что написано в комментариях в коде - не всегда есть истина :)
Корка для РК не Ваша для данного проекта?
Возможно. У корки длинный путь. Автор не я, я только портировал ее в свое время на реверс-у16, и, кстати, в этой корке есть фреймбуфер как раз на 2-портовой памяти, поэтому выходное разрешение там стандартное (640x480, кажется) и от пиксельклока не зависит.
чтобы понять реальные значения, нужно открыть редактирование PLL и там посмотреть реальные значения.
да, бывает и редакторе указаны вообще другие частоты, просто чтобы делители/множители нужные получить, а PLL тактируется от другой частоты и частоты совсем другие
- - - Добавлено - - -
Для тестирования SDRAM существует много столетий вот такой тест от DDp.
а где этот тест памяти найти? Никогда не проверял на своей плате, надо бы проверить
уже нашел :)
чтобы понять реальные значения, нужно открыть редактирование PLL и там посмотреть реальные значения.
то что написано в комментариях в коде - не всегда есть истина
да, бывает и редакторе указаны вообще другие частоты, просто чтобы делители/множители нужные получить, а PLL тактируется от другой частоты и частоты совсем другие
принял к сведению!
Пока смог запустить с только из репы автора: тест HDMI "u16_hdmi_test"(очень "хитрозадумано" были обозначены пары линий HDMI - только через сопоставление схемных обозначений выводов и файла проекта удалось понять какая из них какая: HDMI0...7 - ну как гриться - трудности нас только укрепляют )
и второй тест "u16_test". 81649
Вот со ним пришлось устроить мозговой штурм ввиду того что автор в явном виде в исходниках указывал только по одной линий из дифпары HDMI а вторая линия пары нигде с "коде" не назанчалась и не конфигурировалась. Только когда опять заглянул в волшебный файл проекта ".qsf"- только там увидел вручную назначенные недостающие пары линий. Может я что-то недопонимаю или не знаю (что скорее всего), но зачем так сделано - непонятно. Если кто-то знает смысловую составляющую этого - поделитесь!
Теперь задача по замене vnc2 на PicoW (удачно работает связка на моих прежних поделках для подключения USB клавиатуры к ZX).
Ввиду отсутствия клавиатуры , хочу спросить - что делает этот тест кроме заставки которую уже имею ???
И вот еще одна мысль - а смогу ли я использовать корки (естественно адаптированые к моему циклону10 и распиновке и обвязке )в чистом виде (включил и она сразу работает - без хитрых выборов в меню) - что-то наподобии собранного мною Карабаса)))?
К сожалению пришлось отказаться от SDRAM (она сьедала все ноги FPGA) и вместо нее поставил шуструюю 10нс SRAM на 512kB. Этот проект у меня 100% как учебный стенд - когда можно учиться и пробовать на железе (качественном - коим Cyclon10LP и является) - максимум что хочу запустить : ZX, РК86 и попробовать что такое Специалист - чисто компы моего "детства". ZX "не дал " собрать Специалиста по публикациям из Моделиста-конструктора.
просьба проверить прикрепленные тесты
а можно "посмотреть" где-то исходники тестов?
пришлось отказаться от SDRAM (она сьедала все ноги FPGA)
ну и на сколько SRAM меньше съедает ног?))
SRAM в чем то и лучше, но корки то реверса-16 в основном под SDRAM то, не?
ZX, РК86 и попробовать что такое Специалист
хорошо еще пробовать tsconf, но тут увы...
Ну а как стенд учебный - это конечно хорошее занятие.
ну и на сколько SRAM меньше съедает ног?))
как раз на 11 которых хватает подключить 24bit 4''LCD экранчик (для красоты конечно) или может быть когда-то что-то типпа шина на 8 бит а-ля АЦП 100МГц (он уже давно на макетке распаян но изза помех по земле смысла мало в нем СЕЙЧАС) ))) или подобное шустрое - я еще раз повторю - мой "проект на макетке проводами(внимание - работает!))))LOL - главное не смотреть осциллографом что творится на земле)" имеет чисто академический смысл!
Я понимаю что все корки мимо для моего варианта - но я не против))) Если подвернеться камушек подобного типа - сделаю платку и конечно c SDRAM. Но это потом ...когда-нибудь...
но корки то реверса-16 в основном под SDRAM
Ну вроде ZX "u16_zx48k_t80" работает на внутренней памяти то мне хватит и этого. Повожусь с PK86))) . А запуск Специалиста - это финальная точка для данного проекта у меня)
Ну а как стенд учебный - это конечно хорошее занятие.
Однозначно УЧЕБНЫЙ! У меня уже "гора и маленькая тележка" напаяно с CPLD и стареньким Спартаном2 - все не то((( Встроенный лог.анализатор и переконфигурирование на лету без прожига - это наше все! для домашних поделок....
Повожусь с PK86
надо взять исходный проект РК86 от b2m - он как раз со SRAM и попробовать заменить модуль SDRAM и логику работы с памятью. Ну или наеборот - в исходный проект добавить HDMI, что наверное проще
надо взять исходный проект РК86 от b2m - он как раз со SRAM и попробовать заменить модуль SDRAM и логику работы с памятью. Ну или наеборот - в исходный проект добавить HDMI, что наверное проще
да - это мой путь по освоению HDL кодирования: взять заведоморабочий проект и модернизировать под свои хотелки и имеющее железо.
Благодаря andykarpov я уже сделал для себя большой шаг в этом направлении. Карабас нано был портирован на Xilinx обвешан моими хотелками снаружи! Там я уперся в то, что CPLD - это не для творчества а для продакшен-а (маленький обьем и постоянная перешивка отбивает все желание "творить").
Надеюсь на успех и в случае Cyclone10LP
работают конфигурации, которые не используют SDRAM: u16_test и u16_zx48k_t80
Выходные потрачены с успехом)) обе "корки" запущены (клаву пока не прикрутил)
Дальше идем за РК86)).... Надо будет подменить SDRAM на SRAM (так должно быть просто чем наоборот)
надо взять исходный проект РК86 от b2m - он как раз со SRAM и попробовать заменить модуль SDRAM и логику работы с памятью. Ну или наеборот - в исходный проект добавить HDMI, что наверное проще
а ссылку не поделитесь именно на это проект?
так это, как ивоо...
https://bashkiria-2m.narod.ru/index/fpga/0-12
внизу страницы два файла. Т.с. с чего все начиналось... 2011 год, мда.. Давно это было.
Вот только как бы все это к Реверсу никаким боком
Вот только как бы все это к Реверсу никаким боком
так у меня дизайн схемы совсем иной чем u16. Я эту плату взял как референс как по-проще распаять на макетке Cyclon10LP. Так что я "отвязан" от всяких тонкостей конкоетной платы в этом топике)
Как говориться что склмптлируешь - то и заливай)
Спасибо за ссылку
надо взять исходный проект РК86 от b2m - он как раз со SRAM и попробовать заменить модуль SDRAM и логику работы с памятью
я пошел по самому простому пути ("ленивому")
взял проект от :
У корки длинный путь. Автор не я, я только портировал ее в свое время на реверс-у16
добавил поддержку SRAM из проекта вместо SDRAM:
исходный проект РК86 от b2m
все завелось с полоборота)))
Спасибо всем ! кто предоставил результаты своего труда (исходники, портирование - все очень важно на стадии освоения нового!)
Автору особое спасибо за проект , который я использовал как образец для своего ! На просторах инета и у производителя все проекты или навороченные или слишком "правильные". А тут как раз все прощено до безобразия и главное все - РАБОТАЕТ!
Теперь можно и плату развести под этот кристалл и под красивый корпус (уже с учетом накопленного опыта и исправленных ошибок).
Специалист на очереди - как бонус))))
Но пока повожусь с LCD24bit.
ну как бы это все хорошо, а с клавой что решил??
Надо или делать простейший вариант PS\2 ну или более интересный и сложный на rpi pico
а с клавой что решил??
Надо или делать простейший вариант PS\2
с клавой вопрос решен давно)) просто сейчас была задача получить стартовую картинку разных компов - т.е. проверить вновь спаянное "железо" и неболее того))) Конечно, отсутсвие клавы немного омрачают первые минуты радости при виде стартовой заставки очередной корки но все поэтапно в моем случае (нехватка времени на дает о себе знать).
PS\2 - это совсем тоска в наше время ))) Только USB и никак иначе.
более интересный и сложный на rpi pico
вот просто ничего сложного в этом варианте я не увидел когда когда-то его прикрутил к Карабасу - взял идею и исходники на VHDL у нашего форумчанина andykarpov , который своей неиспаемой энергией двигает форум вперед своими ДЕЛАМИ, "PS/2 AVR CPLD keyboard adapter (https://github.com/andykarpov/ps2_cpld_kbd)" естественно выкинул к чертям очередной атавизм нашего времени Atmega328 (но в исходниках взял алгоритм что слать и как слать в CPLD) и заменил на PicoW прикрутив ,прекрасно работающий, TinyUSB (https://github.com/hathach/tinyusb). Для ZX корки надо будет только copy-paste из моей реализации проекта карабаса а вот для РК86 и других советских компов придется чуть править VHDL ввиду другой реализации клавиатуры.
Жалко , что до сих пор microPython не поддерживает tinyusb)) Для наших супермедленных железок его хватает выше крыши. И "код" писать одно удовольствие - быстро и просто )))
Кстати в новом проекте Karabas-Go и Karabas-Go Mini от andykarpov ,если я правильно понимаю, заложена та же идея как в этом проекте - с заменой корок "на лету" только без диковинных зверюшек "vnc2" с заменой на PicoW (чудо-контроллер для поделок с бешеной скоростью и уникальными фишками (железные "автоматы" на борту)). Вот жаль, что пока что на базе "сейчас там arduino framework и много *****кода" :
для написания ровной прошивки под RP2040 (сейчас там arduino framework и много *****кода)
Кстати я делал проект (полностью законченный) на
FT812 - использовал ВСЕ его встроенные на борту фишки. Для этого пришлость вести переписку с производителем ))) изза их скудной документации. В итоге дисплей на FT813 (https://brtchip.com/product/me813a-wh50c/) и TM4C1294 прекрасно работают)))
andykarpov
14.12.2024, 17:59
Вот жаль, что пока что на базе "сейчас там arduino framework и много *****кода
Я так понимаю, это цитата из соседней ветки форума :)))
Ну не то чтоб прям жаль, на чистом sdk было бы просто правильнее, за то на arduino framework'е можно реюзнуть миллион готовых либ.
ну и оно хоть и *****код, но работает как-то :)
Ну как бы tinyUSB host реализацию можно ко многим контроллерам подцепить нынче на раз-два, в этом прелесть этой либы.
На гоше, например, там целое ядро rp2040 отдельно трудится для обслуживания usb host'а.
заложена та же идея как в этом проекте - с замой корок "на лету"
ну да, rp2040 читает файл битстрима из файла на sd-карте и конфигурирует fpga (в режиме passive serial). попутно льет ромы и всякие конфиги для osd меню корки в fpga (по spi). имхо, удобно.
как минимум вообще отпадает нужна в каком-либо стороннем программаторе. ни для rp2040, ни для fpga.
Я так понимаю, это цитата из соседней ветки форума ))
Ну не то чтоб прям жаль, на чистом sdk было бы просто правильнее, за то на arduino framework'е можно реюзнуть миллион готовых либ.
ну и оно хоть и *****код, но работает как-то
да - их соседней ))
Я это упомянул не в отрицательном смысле (я сам когда разбираюсь с чем-то новым то ищу пример РАБОТАЮЩИЙ на любом языке и в любом виде - хоть на ассемблере)) - главное понять алгоритм и дальше уже реализуй на чем горазд ). Я просто не люблю (мягко сказано) arduino - но э то чисто личностное и персональное. Как человек , начинавший с ассемблера под Z80 - я ужосом воспринимаю как дико загружают ресурсы любого микроконтролерра подделкой "arduino". Опять - это чисто мое восприятие)))
ну да, rp2040 читает файл битстрима из файла на sd-карте и конфигурирует fpga (в режиме passive serial). попутно льет ромы и всякие конфиги для osd меню корки в fpga (по spi). имхо, удобно
не удобно а так и должно быть (must have!) при такой шикарной возможности от технологии FPGA - смена "прошивки" налету! Я в свое время отмучался с постоянными перешивками в CPLD .... Я тоже такое заложил в своем прежнем проекте на Spartan2 и в этом проекте - только пока занимался железом(пайка миллиона проводком под микроскопом) - на софт не было времени и возможности. С вашей помощью (выдерну алгоритм cчитывания файл битстрима из файла на sd-карте или в моем случае "SST26VF064B Serial Quad I/O (SQI) Flash" ) доведу идею до логического конца)
Кстати , ввиду того что я использую только модули на PicoW то было бы классно ввести беспроводную реализацию общения host компа и платы с FPGA & PicoW - простой пример марсоход с прошивкой FPGA (https://marsohod.org/11-blog/364-rpi-m2rpi-programmer) по WiFi помощью RPiZeroW и сервера на OpenOCD.
Все-таки подключил SD-RAM вместо SRAM и теперь пытаюсь запустить более серьезный вариант Spectrum-a - "ZX-128". Ведет он как-то странно в моем варианте - после загрзки конфигурации по JTag имею тест "цветные полосы", по нажатию NMI кнопки стартует DivMMC, все 4 системных файла грузи и висит. Читал втеме по DivMMC, что должна выйти в 48 бейсик .... Я никогда не имел дела с DivMMC - как должно все работать не имею понятия.
В моем вараинте модуль "vnc2" отсутствует физически и оригинальный "код" клавиатуры заменен на адаптированный от andykarpov на PicoW. На клавиши не реагирует - только на сброс - заново считывает файлы с карты и все . Как говориться, что я делаю не так)))?
И еще вопрос - почему в HDMI сигнал "HDMI_D1N : out std_logic := '0';" прибит гвоздями к земле и тупо висит в "0" все время. Мой рабочий монитор показывает картинку с таким "дефектом" а вот другой моник (старый) наотрез не хочет показывать картинку .... В чем смысл "неиспользования" сигнала в дифпаре ?
Может кто-то разобрался с протоколом между "vnc2" и FPGA - как это чип шлет код с USB клавиатуры - я бы адаптировал свой код для PicoW под этот алгоритм. Если кто-то поделиться инфой - буду очень признателен!
по нажатию NMI кнопки стартует DivMMC, все 4 системных файла грузи и висит.
эти четыре файла должны грузится по сбросу\reset (ну или Не грузится) ДО загрузки BASIC.
а по NMI это уже выходим в оболочку EsxDos/
с клавой и VNC2 разбирался, давно, только помню, что много матерился
у автора три варианта прошивок под разные проекты нашел. Т.к. у мня не было программера под это чудо - я пошел от противного, и переделал другие проекты, которые меня интересовали. под ту прошивку, которая работала. как то так.
тест "цветные полосы"
думаю надо с клавы начинать, а потом уже за DivMMC
эти четыре файла должны грузится по сбросу\reset
ДО загрузки BASIC
у меня сразу "по включению"(в ковычках потому, что в конфигурационной памяти пусто и по включению FPGA чист ) цветные полосы. До того как я закоментил родной модуль клавы и не вставил мой - была заставка Бейсика 128. Как только я убрал родной "обработчик" "vnc2" - вижу только полосы после загрузки конфигурации по JTag.
Я так думаю, что дело в моем модуле клавиатуры - он как-бы рабочий (еще не потратил время на вникание как работает USB c нажатым Shift - опка только "мелкие" буквы и остальные символы и стрелки )
а по NMI это уже выходим в оболочку EsxDos/
судя по всему - не выходит ((
я пошел от противного, и переделал другие проекты, которые меня интересовали
вот я хочу позаимствовать протокол общения "чуда" и портировать его на PicoW. Исходники как бы есть но вникать в ассемблер неизвестного "камушка" - то еще занятие ((( Нельзя обьять необятное )))
- - - Добавлено - - -
думаю надо с клавы начинать, а потом уже за DivMMC
там только доделать надо "высокие" буковки и служебные клавиши (пока они не работают - не стал вникать год назад изза спешки)
Поскольку все как-то нестабильно ( иногда читает каталог на SD-Card в результате манипуляций физических кнопок RESET & NMI ; иногда наотрез не хочет загружать 4 файла DivMMC ) посетила одна "интерсная" мысль - а могут быть все эти "странности" изза того что все входные сигналы от SD-CARD и SPI интерфейс от PicoW (USB keyboard) сидят на выводах "CLK"?
Хотелось бы узнать мнение людей с реальным опытом по этому поводу: можно ли использовать CLK выводы (их там 16 штук - это жесть какая-то при таком мизерном количестве ног у TQFP144) как обычные входы. Для SPI надо все подтянуть в питанию резисторами (или внешними или внутренними pull-up если таковые есть на пинах CLK). SD-CARD подтянута внешними резисторами а вот в клавиатурном SPI их нет (я не установил - все не упомнишь когда проводами все разводишь).
а вот в клавиатурном SPI их нет
Осенило )))!!!
программно сделал в модуле вместо "Z" подтянул к питанию через "1" в : KB(0) <= '1'; и все заработало как должно быть! Уххх)))
Еще бы понять что за трюк с сигналом "HDMI сигнал "HDMI_D1N : out std_logic := '0';"
Под эту плату sdram-test я не портировал, только с ts-conf ой возился.
Для тестирования SDRAM существует много столетий вот такой тест от DDp. Портируется всюду, где есть VGA+SDRAM
Тест SDRAM от lvd переделаный для Speccy2010.
(Версии для DE1(112MHz) и Speccy2010(84MHz) с выводом на VGA)
портировал этот тест под свой девборд на 10LP - картинка есть как на фото (https://zx-pk.ru/attachment.php?attachmentid=67305&d=1544609117)
Совсем для понятности, о чем речь и в Вашем посте (https://zx-pk.ru/threads/23528-reverse-u16.html?p=1171522&viewfull=1#post1171522)
- одно только "не совпадает" - тест НЕ СТАРТУЕТ((( Все время нули на обоих счетчиках ... белые "точки-штучки" бегают в пределах первой цифры (слева которая), на кнопку сброса реагирует (точки перестают бегать и замирают в левом положении) но "не стартует"
Может все-таки Вы его портировали и вникали в суть этого теста - куда копать??
PLL сделал под свой FPGA (84MHz,14MHz,84MHz - зачем 2 раза одна и та же частота??)
А что за файлы speccy2010.rbf в папках. Нигде не нашел куда их "подключать" в проекте (я их не подключил в итоге)
Никогда не проверял на своей плате, надо бы проверить
Случаем не портировали - как у Вас с результатом - работает?
Этот тест много куда портирован, в т.ч. на MiSTer\MiST ( там можно посмотрить исходники крайней версии с авторазгоном и клавиатурой)
А так то я бы сказал, что неверно подключена память SDRAM, там как бы больше нечему не работать, даже клавиатура не нужна, при включении сразу стартует. Может с сигналом RESET что нибудь ??
две частоты по 84 - это скорее всего для тактирования памяти со сдвигом фаз между собой, причем фазу двигают по разномуу в зависимости от частоты...
в т.ч. на MiSTer\MiST ( там можно посмотрить исходники крайней версии с авторазгоном и клавиатурой)..
а ссылочку можно(не сочтитеза труд!)
Ресет - обычная кнопка - когда нажимаю то корочу на землю с подтяжки к питанию через резистор. Реакция есть.
Насчет подключения - оххх большой кусок работы - память под fpga находится. Другой вопрос -может ошибся сслужебными сигналами при назначении пинов и портировании моей схемы. Уменя CS все время на земле перемычкой .
Кстати я портировал ZX128 конфигурацию . Многие игры не хотят стартовать а вот exolon и executor норм работают . Странно .... там SDRAM уже используеться.
-может ошибся сслужебными сигналами при назначении пинов и портировании
я про это и говорю. Ресет не внешний, а внУтренний который, в проекте. Как вариант.
https://github.com/MiSTer-devel/MemTest_MiSTer
за семь лет немного поменялся тест, но в основном внешне и управление, сам модуль тестирования я думаю прежний. Можно первые версии посмотреть в git-e
я про это и говорю. Ресет не внешний, а внУтренний который, в проекте. Как вариант.
https://github.com/MiSTer-devel/MemTest_MiSTer
за семь лет немного поменялся тест, но в основном внешне и управление, сам модуль тестирования я думаю прежний. Можно первые версии посмотреть в git-e
Если Вы глубоко вникали в исходники - SDRAM у меня такая же как и в проекте u16.Т.е. в 2 раза больше по обьему ( на 1 больше column) я ничего не меня в настройках из соображения пусть для начала половину протестит а потом поменяю сетинги и всю прогоню.
Внутренний ресет - вопрос интересный - надо в исходниках покопаться .
Спасибо за ссылку . Посмотрю как развился проект теста.
- - - Добавлено - - -
две частоты по 84 - это скорее всего для тактирования памяти со сдвигом фаз между собой, причем фазу двигают по разномуу в зависимости от частоты...
да , Вы указали верно - фазу я не заметил при создании нового PLL для моего циклона.Поправил в соотвествии с оригинальным проектом . Белые точки стали двигатьмя дальше до середины экрана но старта нет все равно. Может быть что я использую только по одному разряду на RGB вместо 7ми как в ортгинальном проекте. Цифры вродеверно рисует . Цвета тоже. Снизу красный , сверху - зеленый ....
- - - Добавлено - - -
старшие линии А12 и А11 все время в "0". На остальных пинах есть сигналы .Частота клока 84МГц.
Вот еще два порта того же теста, работает же..
https://gitlab.com/emax73g/unoxt2-sdram-test-core
Вот еще два порта того же теста, работает же..
https://gitlab.com/emax73g/unoxt2-sdram-test-core
спасибо! буду пробовать вникать на выходных.
Главное - проверил соответсвие соединений от пина памяти к пину циклона.Ошибок не нашел.
Чисто как предположение - может влияет провочный монтаж или отсутвие терминальных резисьоров на линиях памяти. Это моя учебная макетка и я не упрощал монтаж.Итак потратил 3 месяца на пайку проводов)
может влияет провочный монтаж или отсутвие терминальных резисьоров на линиях памяти
тогда бы теест все равно работал, но может быть сыпал ошибками.
Скинь проект в архиве, посмотрю на него в квартусе
Скинь проект в архиве
Может Ваш опытный глаз заметит что-то...
Тааа, я-то как раз ненастоящий сварщик, опытные затихарились что-то..
я так думаю, эта схема должна работать\перебирать цифирьки, даже в отсутствии SDRAM ( ну вдруг непрально подсоединена), с ошибкой конечно, но перебирать.
Если цифры стоят на месте - я бы сказал, что не работает модуль mem_tester, а не работать может елси нет тактовой clk на входе, что маловероятно, и если ресет rst_n все время активен.
Вот и подай туда идиниЦЦу для пробы)
И да, мой 17-й квартус не понимает чипа 10 LP
опытные затихарились что-то..
вот это то и обидно - надеялся на реальную помощь в том , что МНОГИЕ тут уже проходили на этом форуме. Я так понял, что данный тест многие использовали при сборке данного устройства на FPGA (или подобных ему) - могли бы поделиться своими соображениями ))
Как я уже сказал , что этот тест для меня не как просто увидеть картинку на экране а гарантированно проверить память. Если она не работает в таком подключении - я просто вернусь к статите на 512К(все на панельках и заменяться в течении 5 минут) и буду дальше осваивать "железоописание".
У меня в планах развести на плате свой борд с PicoW - там SDRAM будет подключена по всем правилам - с выравниванем длин дорожек и терминальными резисторами. Но это все ПОТОМ)))
Вам, zebest, очень признателен на ответы в этой теме и в других!
схема должна работать\перебирать цифирьки
работает и переберает "что-то" - на всех вывожах , кроме А12 и А11, идет числодробилка - осциллограф и утилита TopJTAG Probe тому подтверждение). Я посмотрел внутренним лог. анализатором внутри FPGA - сигнал START ( start(dram_start) ) стоит как вкопанный - на RESET не реагирует . 32разрядные считчики ошибок и удачных проходов "passcount" и "failcount" в нулях - так как и на экране - чуда не случилось - что вижу на экране то и внутри теста
ну вдруг непрально подсоединена
вчера проверил КАЖДЫЙ вывод SDRAM и соответсвующий вывод FPGA - ошибок в подключении нет.
с ошибкой конечно, но перебирать.
вот тут точно согласен на все 100% - но и ошибок нет (((
что не работает модуль mem_tester
да - я тоже вчера начал его внимательно "изучать" диаграммы сигналов - жалко что памяти лог анализатора не хватает на много(((
елси нет тактовой clk на входе
есть да еще и какой сигнал - все как положено через резистор 33 Ома. 84МГц. Я понижал до 50 но это все не помогло - думал изза монтажа проводами наводки на такой частоте - осциллографом сигналы чистые.
ресет rst_n все время активен
ресет лог анализатор показал, что четко синронно работает внешним. Модуль resetter отрабатывает правильно.
Вот и подай туда идиниЦЦу для пробы
Именно это и планирую сделать - но моя возня с этим тестом была направленна на практическое использование его - удостовериться что моя SDRAM работает и подключенна верно (провода и отсутсвие терм. резисторов не влияет на ее работу) . Очень странно ведет себя комп в конфигурации ZX128, где используеться SDRAM - только пара игр удачно загрузилось и работало - остальные сразу сбразывались в бейсик48.
17-й квартус не понимает чипа 10 LP
я не помню с какой версии он добавился. 18ую ставил из соображений самой последней нормально работающей под Win7 с NIOSII - надеюсь что дойду до него (все-таки программирование в "привычном" понимании для меня ближе - вся проф. деятельность связана с ним. Хотя описание железа тоже завлекает своими возможностями - но это все лирика , не имеющая отношения к тесту)
Я уже начал задумываться , чтобы проверить память с помощью скрипта на Python-e c помощью "JTAG Live Studio" но его медлительность не даст нормально работать памями SDRAM - все-таки есть минмиальная часто регенерации - иначе гарантированная потеря данных ....
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot