В даташите ничего не нашёл. Ewgeny7 делал ОРИОН-2010 на первом Циклоне. На его плате я только увидел переходные отверстия, никакого вывода теплоотвода я не заметил.
Вид для печати
В даташите ничего не нашёл. Ewgeny7 делал ОРИОН-2010 на первом Циклоне. На его плате я только увидел переходные отверстия, никакого вывода теплоотвода я не заметил.
Циклоны в корпусе EQFP = Enhanced thin quad flat pack имеют снизу площадку, которую обычно все припаивают, циклоны в корпусе TQFP = thin quad flat pack к сожалению, лишены такой особенности. Поэтому в даташите на первый циклон Вы таких особенностей не нашли. А что, попадаются первые циклоны с площадкой снизу? Возможно Ewgeny7, как Вы пишете, сможет точнее ответить на Ваш вопрос.
Сложно что либо посоветовать, при таком (исчерпывающем) кол-ве данных о сборке...
Сборка и наладка платы обсуждалась здесь.
Я имею u10 и на нём установлена конфигурация Специалиста/Специалиста_МХ. Вполне рабочая. При попытке сделать программное переключение латиницы на кириллицу в драйвере клавиатуры появились некоторые бяки. В ближайшее время вернусь к отладке и "допилю" клон. Из остатков нереализованного - эмуляция К580ВИ53.
Появились затыки. Звука в RAMFOSе нет. Значит таймер не работает.
Клавиши управления:
Pause-Стандарт/МХ
Scroll Lock-вкл. теста
Home-выкл. теста
Page Up-скорость нормальная
Page Down-скорость удвоенная.
Изменил назначения клавиш. Теперь Esc - это Esc (АР2), сброс перекачивал на клавишу Delete над курсорными. Включение/выключение тестов теперь повешано на одну клавишу - Scroll Lock. Здесь ссылки.
Почти готово. Жду рекомендаций по улучшению звука. http://zx.pk.ru/showpost.php?p=446319&postcount=322
Забыл написать, что звук я вывел через 128 пин, это по схеме u10 - GPIO2. VS1053 у меня не запаян. Светодиоды красный (обращение к SD) и зелёный (наличие SD карты) подпаяны катодами к пинам 126 и 121 соответственно (GPIO4 и GPIO7).
Спасибо vlad'у за предоставленные две версии сырков 8253/8254, но они не подошли по причине недоописания их авторами. В первой версии - неверный синтаксис, во второй - недоделанные обращения к процедуре обращения к счётчикам. Сейчас, как я ранее писал я юзаю версию от svofski от ПК Вектор. Есть ещё одна от b2m, которую он применил в версии ПК Башкирия. Эти обе версии сырков однофайловые. Версию от b2m я попробую ещё раз завтра.
В любом случае я рад помощи, лишь бы версии кем то ранее были опробованы, чтоб на них Quartus не матерился.
Согласно прилагаемой схемы и базовой строки в файле spets_fpga.vhd:
возможно стоит заменить на:Код:snd <= not (portr (0)) when (portr (7) = '0' and (clock'event and clock = '0')); -- вывод звука в режиме "Стандарт"
snd_mx <= not snd or (not (t_out (0) or t_out (2))); -- вывод звука в режиме МХ
sound <= '0' when ((snd = '0' and mode = '0') or (snd_mx = '1' and mode = '1')) else '1'; -- вывод звука
Возможности пока проверить на U10 нет, на выходных попробую пересобрать проект для U8.Код:sound <= not ((portr(0) and t_out(2)) or t_out(0)) or portr(7);
Может быть, попробую.
Ждёмс.
Осталось ведь немного. В остальном всё работает, кроме эмуляции 8253. Звук к схеме я подключал к пищалке от материнок через электролит. И он (звук) достаточно громкий в режиме "Стандарт" (mode=0). В режиме "МХ" (mode=1) звук выводится только в тесте_МХ (тест RAM-диска), но там, судя по дизассемблированому исходнику, звук выведен через вывод 12 (PC5) ВВ55 клавиатуры,т.е. через стандартный вывод звука, а не через ВИ53.
А теперь откликнитесь, кто использует VS1053 на u10. Зачем мне её запаивать? Зачем реализовывать? u10 - прекрасная DevBoard для экспериментов, но есть несколько микросхем на ней, которые мне самому лично не нужны.
---------- Post added at 13:39 ---------- Previous post was at 12:57 ----------
По данной строке звук изчез полностью, даже в режиме "Стандарт". В "МХ" идёт треск и комп зависает. Возращаю данную строку:
Она кстати было очень трудно найдена когда-то Ewgeny'ием и работает. Перехожу на файл от b2m.
Всё! Свершилось - звук в режиме "МХ" появился - проект теперь под beta версией. Я организовал процесс с клоком 16 МГц:
Использовал ссырки таймера от svofski для ПК "Вектор".Цитата:
process(clock,mode,portr,t_out)
begin
if (clock'event and clock = '0') then
if (mode = '0' and portr (7) = '0') then
snd <= not portr (0); -- вывод звука в режиме "Стандарт"
elsif (mode = '1') then
snd <= not portr (0) or (not (t_out (0) or t_out (2)));-- вывод звука в режиме "МХ"
end if;
end if;
end process;
Решил переписать ROM-диск пользователя. Удалю тесты, которые уже и так присутствуют в прошивке и работают при включении клавиши "Тест". Как только перепишу прошивку представлю всем готовые ссырки.
Огромное спасибо Ewgeny7, HardWareMan, svofski и всем кто оказал помощь при написании проекта!
Конфигурации Speccy теперь на платах u9 и u8 одинаковы. Доработаны UART, GS (CPU @ 84MHz).
u9-Speccy v0.05 Rev.20111220
u8-Speccy v0.05 Rev.20111220
А тест конкретно под U8EP3C существует?
Кто нибудь уже собирал U8EP3C ???
Нет. Тестирую конфигурацией u8-Speccy, для теста пока достаточно.
Да. В основном U8EP3C Edition V1.1 (EP3C10E144C8N + SRAM 512KB CY7C1049DV33-10 + SDRAM 32MB MT48LC32M8A2-75). Есть еще U8EP3C Edition V1.2 (EP3C10E144C7N + SRAM 1024KB CY7C1059DV33-10 + SDRAM 64MB MT48LC64M8A2-7E), но плохая доступность компонентов. И возможные варианты на основе этих двух ревизий.
Если появились вопросы по сборке платы, задаем в соседней теме, по конфигурациям или исходникам теста здесь...
Версии 1.1 и 1.2 отличаются только компонентами, я так понимаю? Платы идентичны?
Какие есть ПРОВЕРЕННЫЕ конфигурации и ром´ы под них? Уменя запустился тольк один. Не могу добиться звука :( У меня первая версия, запаяны все микросхемы...
Карточки тоже не все принимает :(
Плата одна, отличие только в установленных компонентах.
Внимательно проверьте на правильность установки звуковой обвески (ключ на vs1053 - справа, напряжение на IC11 1.8V, Q1 12.288MHz, C46 и C45 22pF, R3 1MOм, R5 10К). Проверьте на КЗ выводы от VS1053.
Новую прошивку и rom можно взять здесь. На отформатированную в FAT карточку первым копируем файл negluck_19.rom, потом fatall.$C и все остальное. Работа с SD через Fatall. Разъем выхода звука (X6) находится слева от разъема JTAG (X5), см. мануал. Возможно, что на бумажной версии мануала плохо различимы номиналы элементов, воспользуйтесь электронной версией.
Обвеска соответствует, генерация есть (осциллограф имею), напряжение присутствует и соответствует, к.з. не обнаружено, обрывов тоже вроде нет. Собирал по электронной схеме...
Запуск U8 состоялся успешно :v2_dizzy_roll:. Огромное спасибо VLAD, за оказанную помощь.
На u10 готов Специалист/Специалист_МХ - http://zx.pk.ru/showpost.php?p=456447&postcount=327.
Видео работы ПК (36,3 МБ).
http://upload.wikimedia.org/wikipedi...nstruction.pngВектор-06Ц на ReVerSE
Пробная, пока неполная портация «Вектор-06Ц» на Reverse для плат U8EP3C и U9EP3C. За основу взят открытый проект по воссозданию «Вектор-06Ц» на основе ПЛИС от svofski.
Для юзания таймера просмотрел всю эту тему и искал исходники для работы с таймером. Нашёл только программу инициализации таймера на ассемблере. Сырками таймера никто не поделится?
Да как с ним общаться. Хочу в Специалисте_МХ вот на этом экране вводить текущую дату, не знаю как это сделать. То есть автоматически вводить дату в формате: число[две цифры],месяц[две цифры],год[две цифры].
http://zx.pk.ru/attachment.php?attac...1&d=1327856090
Потому что I2C это не для восьмибиток на 8080/z80, а для контроллеров c аппаратным I2C (где просто ножки соединить - и вуаля). Для 8080/z80 I2C - еще более "костыльное подключение", чем SD подключить или даже Ethernet-чип. Я об этом говорил еще когда первый вариант на u10 готовился. Автор правда упорствует создавая трудности на ровном месте, видимо имеет запас таких чипов (ничем другим я такого упорства объяснить не могу - полно RTC чипов в 8-ноговом корпусе без этого дурацкого I2C, с более простым хост-ПО).
Нет тут никаких проблем, т.к. все уже давно подключено и работает. Почему у Вас с IIC трудности на ровном месте и "костыльное подключение" :v2_conf2:
Получилось разобраться в исходниках?
Вы не против, переноса конфигурации на платы u8/u9?
A: адрес, два состояния - 0: чтение/запись данных или запись адреса устройства; 1: запись команды/чтение статуса.Код:Address 0 -> DATA (write/read) or SLAVE ADDRESS (write)
Address 1 -> Command/Status Register (write/read)
Data Buffer (write/read):
bit 7-0 = Stores I2C read/write data
or
bit 7-1 = Holds the first seven address bits of the I2C slave device
bit 0 = I2C 1:read/0:write bit
Command/Status Register (write):
bit 7-2 = Reserved
bit 1-0 = 00: IDLE; 01: START; 10: nSTART; 11: STOP
Command/Status Register (read):
bit 7-2 = Reserved
bit 1 = ERROR (I2C transaction error)
bit 0 = BUSY (I2C bus busy)
CLK: частота 400KHz
RESET: сброс, активный '1', т.к. нет _n т.е. RESET_n
Просьба опубликовать исходники спека для u9 и TODO list к нему.
>1. Двухканальный контроллер SDRAM
Сама природа SDRAM рассчитана на блочный (страничный) и оптимальный режим работы - связка SDRAM <=> cache. Остались еще нерешенные вопросы как подружить ее с Z80.
>1.1 Вынести всё ОЗУ/ПЗУ спектрума и NeoGS в SDRAM
Получится ограничение на доступ в 142нс, а это уже мало для GS. Опять вернулись к cache.
>2. Вынести видеоОЗУ и память скандаблера а SRAM
Если городить проф. скандаблер, то без видео буфера не обойтись, а это 800х600 = 480000 байт.
>3. Написать загрузчик SMM (находиться в внутренней памяти FPGA)
Начало есть, сейчас работаю над ядром периферийного MPU.
>4. Написать прошивку SMM (загрузка образов ПЗУ, начальная инициализация, сохранение/загрузка настроек и т.д.)
Тоже ляжет на плечи периферийного MPU.
>5. Реализовать маппер ZXM-Phoenix и пентагон 1024
>6. Реализовать видео режимы MultiColor, 16c
>7. Реализовать палитру по стандарту SamCope, ATM и RGB 3:3:3
>8. Реализовать блокировку xxFD портов для команд OUT (#FD),A
Зависит от архитектуры, т.е. надстройки над п.1..п.2...
>9. Реализовать эмулятор BetaDisc2DiskImage
Тоже ляжет на плечи периферийного MPU.
В общем, если есть желание помочь отладить MPU, могу выслать его исходники.
Тут я могу ошибаться, но прикидывал я след. образом: цикл рандомного доступа 7Т (100МГц, СL=2), получается 70нс ~ 14,2МГц. Самый короткий цикл доступа Z80 к памяти занимает 2T (при выборке опкода), т.е. получается 7МГц. Таким образом запустив два Z80 на 14МГц, удастся обоим выдавать данные без торможения. В NeoGS сетка частот Z80 следующая: 10МГц, 12МГц, 20МГц, 24МГц. Думал перевести установки 10 и 12 на 14МГц, а 20 и 24 на 28МГц. Соответственно при частоте CPU больше 14МГц генерировать /wait.
Я об этом даже не задумывался, меня вполне устраивает удвоенная строчка, и 50Гц кадровая. К тому же у нас спектрум, а значит более 4х бит на точку хранить нет необходимости, т.к. задумывается ещё и палитра.
1. Загрузчик SMM, на мой взгляд нужен для того чтобы свести к минимуму необходимость перепрошивки FPGA. Собственно режим SMM относиться к CPU спектрума, вход в этот режим при след. событиях: PowerOn/HW Reset (JP1), NMI. Z80 мне тут удобнее в плане программирования чем потенциальный RISC в качестве MPU.
Тут логика следующая, маппер феникса дает Scorpion-1024 + Kay-1024, маппер пентагона дает Pentagon-1024, с учетом блокировки OUT (#FD),A друг другу они мешать не должны, т.е. для смены "архитектуры" будет достаточно изменять только тайминги развертки. Собственно палитры и видеорежимы на форуме уже обсуждались и их. вкл/выкл уже на плечах программиста.
Я пока думаю сделать аппаратно образ дорожки, а по командам позиционирования подгружать нужные данные с карточки, уже с помощью MPU
В общем-то это мое видение развития конфигурации спектрума, прошу принимать как личное ИМХО :)
---------- Post added at 16:21 ---------- Previous post was at 16:16 ----------
Кстати, Вы не прорабатывали возможность добавления контекстов к T80? Допусти если у нас будет один экземпляр T80 работающий на 100МГц и в зависимости от нужд CPU/NeoGS/MPU в соответствующий момент времени переключать контекст процессора...
---------- Post added at 16:29 ---------- Previous post was at 16:21 ----------
Желание есть, но думаю что всё же имеет смысл завести SVN или GIT для проекта, так проще синхронизировать исходники и может ещё кто подключится к проекту...
Транслировал исходники NextZ80 (Verilog) на VHDL, после отладки сегодня удалось запустить тест. Порадовала его производительность. Думаю, что это ядро больше подходит для этого :).
С MPU для себя решил, будет оптимизированный NextZ80 + программный FDD.
Копаться в коде Т80 уже не вижу смысла... т.к. можно обойтись парочкой NextZ80 :), ядро меньше.