Как-то мы чуток в сторону ушли, имхоПредлагаю вынести обсуждение девборд в отдельную ветку
По поводу Xilinx, мое мнение - можно и ее, но:
1) с этими камнями нет опыта,
2) ISE вроде как только под Windows есть - что есть плохо.
3) Получится в итоге ZX-GO+![]()
Автор ZX-GO+, кстати, жаловался, что прослойка в виде дешевого МК (там atmega какая-то простенькая, кажется) сильно вносит дискомфорт при трансляции 40-кнопочной клавиатуры внутрь FPGA. Может просто накосячили ?
Я хочу продолжить традицию и делать на Altera, все-таки, примерно так вижу будущую железку, назовем ее Karabas Next ?:
1) Altera Cyclone IV EP4CE10 / EP4CE15 / EP4CE22
2) SDRAM 16x8
3) W25Q64
3) HDMI (или microHDMI), смотря что поместится в стардартную дырку видео-выхода резинки
4) microSD - непонятно пока, в какое место ее физически присобачить
5) 3.5mm TapeIn/Out
6) 3.5mm Stereo Out
7) ZX BUS
8) USB: FE1.1 или FE1.1S в качестве usb-хаба, MAX3421E в качестве аппаратного SPI usb-host контроллера,
9) Atmega328 или что-то, чего хватит в качестве контроллера клавиатуры, прокси USB HID репортов от USB-клавы/мыши/геймпадов внутрь FPGA. Также можно заюзать для бут-лоадера (наработки в проекте SPI-VGA для Reverse-U16)
10) FTDI чип для USB-to-Serial, для программирования атмеги из Arduino IDE по USB
11) USB-B или micro-USB в качестве разъема питания (он же - для программирования атмеги)
12) * RTC DS1338 + батарейка - под вопросом, нужно ли оно кому-нибудь
13) * ESP8266 модуль (ESP12, наверное. или ESP02, хз) - тоже под вопросом
Github: https://github.com/andykarpov/
Господа, мы ж не коммерческий массовый продукт тут делаем
Нужно сделать поправку на то, что это в первую очередь - хобби-разработка, поэтому 90% всех требований из плана vlad'а можно запросто выкосить
Первое, с чего хочу начать - это прототипирование.
В качестве базовой платформы для тестовой площадки вполне сгодится Reverse-U16 или DivGMX, благо и то и другое есть под рукой
Осталось дождаться от китайцев MAX3421E и FE1.1, затраты на подготовку к тестовому запуску с моей стороны - около $5.
Получится связка из SPI USB-host + Arduino + Reverse-U16 с задизейбленным VNC2 и Ethernet контроллером
Если все получится на прототипе - будем двигаться дальше, и разработка сведется к грамотному проектированию схемы, платы и заказу первой пробной партии плат, потом сборка опытного образца![]()
Тут затраты уже будут чуть весомее, но все равно для хобби-проекта - не космические. Так и с Карабасом было, собственно.
Github: https://github.com/andykarpov/
Последний раз редактировалось Геккон; 09.01.2018 в 19:49.
Ну, как-то так получается:
Бюджет: $100, это та сумма, которую не жалко спустить на закупку компонентов и выпуск опытного образца.
Затраты времени на саму разработку не считаю, ибо сабж некоммерческий, делаю для своего удовольствия
Концепция устройства: Девборда на FPGA, спроектированная под корпус "резинки", со всеми вышеозвученными плюшками, повторяющая функциональность DivGMX в master-режиме, с заменой неудобного VNC2 в пользу связки из специализированного чипа с распространенным микроконтроллером (в идеале - atmega328, но ног не хватит, поэтому следующий кандидат - atmega2560), под который есть куча готовых библиотек и IDE под все платформы. Считаю, что именно этот момент снизит порог вхождения в проект и даст возможность подключиться к разработке сторонним девелоперам, если возникнет желание.
ЦА: ретро-маньяки и просто интересующиеся товарищи с zx-pk.ru
Примерный план разработки:
1) Наваять протокол обмена по SPI между контроллером и FPGA, сделать трансляцию 40-кнопочной клавиатуры и USB HID репортов по SPI
(если сильно упростить - получится около 5-6 байт в пачке: 1 байт - состояние внутренней клавиатуры, 1 байт - внешней, 1 байт - джой1, 1 байт - джой2, N байт - мышь)
2) Предусмотреть сигналы AVR_BUSY, FPGA_READY (как в Aeon-Lite), дабы исключить пограничные ситуации
3) Допилить SPI-VGA проект, который будет прошиваться в SPI Flash в качестве бут-лоадера, который позволит:
3.1) Выбрать конфигурацию для загрузки с SD-карты из списка (битстрим - в FPGA через дрыганье JTAG пинами, образы ROM - в SDRAM по SPI)
3.2) Сделать настройку RTC
3.3) Сделать Upgrade прошивки SPI Flash с SD-карты
4) Спроектировать получившуюся схему и плату
5) Переписать существующие конфигурации под DivGMX на новый протокол обмена с USB HID, выкосить loader'ы из них в пользу одного глобального loader'а
- - - Добавлено - - -
На ali, естественно
Там разброс цен в зависимости от количества и продавца, но вцелом - можно найти вменяемые:
EP4CE22E22C8N - стоит в районе $13-$15
EP4CE15E22C8N - около $10
EP4CE10E22C8N - около $8
Github: https://github.com/andykarpov/
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сколько еще нужно входов/выходов? Есть еще ATmega32u4 с 26 I/O (правда это всего на 3 больше чем у atmega328), но он еще со встроенным USB. Кроме того, так как ATmega32U4 обрабатывает USB напрямую, доступны коды библиотек, которые позволяют эмулировать клавиатуру или мышь от компьютера и многое другое с помощью протокола USB-HID.
FTDI чип для USB-to-Serial тогда уже будет не нужен... напоминаю ATmega32u4 это Arduino Leonardo
Последний раз редактировалось Геккон; 09.01.2018 в 21:01.
Пока насчитал
1) 8 - KBA
2) 5 - KBD
3) 4 - JTAG
4) 2 - SERIAL + 1 RESET
5) AVR_BUSY
6) FPGA_READY
7) 3 - SPI (MOSI, MISO, SCLK)
8) SD_CS, VGA_CS, SDRAM_CS, ...
9) USB_CS + USB_INT + USB_GPX
Итого, пока получается 8+5+4+2+1+1+3+3+3=30, это при условии одного SPI на все. Хотя при наличии свободных пинов можно сделать несколько SPI под каждое устройство.... То есть ни atmega328, ни 32u4 тут ну никак не вписываются
Atmega32u4 не умеет быть usb host'ом, только девайсом.
Хотя умельцы и на Atmega8 умудрились реализовать low-speed usb host для usb hid, вроде как
- - - Добавлено - - -
А идея мне нравитсяВместо BGA поставить православный TQFP
Схемы нет, платы чистой нет, чтобы отреверсить.
Да и потом проблемы с копирайтами могут вылезти...![]()
Github: https://github.com/andykarpov/
Если пины остануться, то можно статику повесить, и General Sound запилить. Ну это я уж размечтался.
4, 5, 6 и 7 - ISE не поддерживает System Verilog от слова "совсем"
фтопку!
Чем не устраивает ReVerSe или DivGMX ?
- - - Добавлено - - -
Стоит заметить, что ПЛИС Альтеры всегда были доступны на территории бывшего СССР, чего нельзя сказать о ксаях.
Так исторически сложилось.
С учётом вышенаписанного, скорее нет, чем да...
По параметрам только последняя ближе всего к "поделкам" Влада.
За исключением Host USB.
Есть золотое правило: сам предложил - сам сделал.
- - - Добавлено - - -
Атмега умеет USB-HOST? )))
Может хватит уже?
Для приверженцев Ардуиньи есть stm32duino
...для остальных есть нормальные IDE. )))
А пинЫ?
Что мешает поставить готовый Core (с SDRAM сразу), коих на Али вагон с тележкой.
Для начала паять ничего не надо.
МК
Либо либо
Вот это КАТЕГОРИЧЕСКИ не рекомендую - память разведена отвратно.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)