|
nedoPC.orgCommunity for electronics hobbyists, established in 2002 |
|
Last visit was: 20 Sep 2024 16:58
|
It is currently 20 Sep 2024 16:58
|
К580ВК38 и Proteus - нужна помощь
Author |
Message |
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
Собрал тут платку такую небольшую на ВМ80 и К580ВК38: Хотел отлаживать в Протеусе, но столкнулся с не пониманием, как правильно сэмулировать К580ВК38, потому что мне нужны сигналы /IOWR /IORD, /MEMW, /MEMR. В качестве IO у меня 8255, в качестве памяти - ROM и RAM. Использую x80.dll r13 и 8255.dll откуда-то с этого форума. Сделал как-то так: И оно даже как-то вроде бы и работает, но если поднять частоту F1 до 3 МГц, то протеус падает через некоторое время. А если и не падает, то сыплет ошибками о коллизиях на DB и D и люто, бешено тормозит. Проект пока простой - просто четыре строчки на экран выводятся и потом счетчик бесконечно увеличивается. Подскажите пожалуйста, как в Протеусе грамотно реализовать ВК38 или как получить сигналы с 8080 такие как /IOWR /IORD, /MEMW, /MEMR что бы при этом это не так люто тормозило и не сыпало ошибками о коллизиях? Прикладываю проект от Proteus, прошивку и исходники.
You do not have the required permissions to view the files attached to this post.
|
21 Feb 2023 04:35 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да вроде как вот так: Подробности мы обсуждали здесь: http://www.nedopc.org/forum/viewtopic.php?p=97973#p97973И библиотеки бери не какие-то, а последние версии вот здесь: http://www.nedopc.org/forum/viewtopic.php?f=81&t=19632
_________________ iLavr
|
21 Feb 2023 09:38 |
|
|
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
Вроде как-то так и сделано. Темы видел. Библиотеки из той темы.
Но, повторюсь с проблемой - оно "вроде как то работает", но - много сообщений о коллизиях на шине данных и внутренней и внешней, из-за чего в лог постоянно сыплют ошибками, из-за чего и так не быстрая симуляция начинает тормозить лютейше, а при определенных условиях и вовсе отваливаться.
Таких проблем нет на мемори-маппед устройствах ввода вывода, как например это сделано в Специалисте или Радио-86РК, проекты которых в Proteus тут есть на форуме. Но у меня порты IO используют IN и OUT инструкции, а значит хочется как-то по человечески получить сигналы /IOWR и /IORD с модели процессора 8080. И по человечески пока не получается.
|
21 Feb 2023 09:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А если проверить так: этот вариант ВК38 оставь как есть, но обратись к УВВ сигналами обращения к памяти? Всё продолжится? Как-то локализовать проблему надо: что вызывает конфликт, схема-то по сути лишь коммутатор сигналов DBIN и /WR. Я, к сожалению, ни разу не делал обращение к УВВ по IN и OUT с этой моделью по чисто историческим причинам. P.S. Обрати внимание вот на что: как-то так вышло, что изначально модель разработали как корпус К580ВМ80, но с системой команд z80, и насколько я знаю, сигнал С1 для модели чисто фиктивный, а все кишки модели привязаны к С2. Может STATUS неправильно фиксируется?
_________________ iLavr
|
21 Feb 2023 12:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Под руками был совсем недавний проект, я в нём использовал сигнал /INTA через STATUS 580BM80. У меня всё работало... Быстро переделал проект под 580ВК38(28) - тоже всё работает, никаких конфликтов нет. Выкладываю тебе проект с исходником и .dll процессора, которую я использую. Если не будет глюков, то работает он так: включаешь - моргают индикаторы, нажимаешь -->EI, должен загореться индикатор на выводе INTE, после чего нажимаешь INT, индикаторы будут моргать по другому, индикатор на выводе INTE погаснет. Кнопка RETI возвращает всё в начальную позицию. Это был тест RST7 от резисторов на шине. P.S. Но может так случиться, что у тебя глючит 74LS245 ( см.здесь)
You do not have the required permissions to view the files attached to this post.
_________________ iLavr
|
21 Feb 2023 15:23 |
|
|
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
Вообщем, пока спал подумал примерно то же самое - что надо просто выкинуть LS245. Проснулся и увидел что у меня во-первых RAM подключена была к D, а не к DB. А во-вторых выкинул LS245 и подключил все RAM,ROM и PPI к D. Стало покомфортнее. Продолжаю вести наблюдение.
|
22 Feb 2023 00:30 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я про тебя только недавно, примерно месяц назад, вспоминал вот именно в этом плане... Что есть у нас такой Tronix, который любит всех озадачить каким-то хитрозадуманным вопросом. Все недели три так гадают "по фотокарточке", выдвигают разные космологические теории... А в итоге Tronix пишет:" Да я просто забыл тут припаять вывод. Всем - спасибо, все - свободны!" P.S. Если у тебя Proteus версии 7.7 и старше, и ты уверен, что всё делаешь правильно, то сообщения о конфликтах в лог можно просто отключить. Где отключить, вроде как в хелп написано.
_________________ iLavr
|
22 Feb 2023 05:42 |
|
|
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
В общем какими-то танцами с бубном удалось худо-бедно завершить написание прошивки для часиков в протеус, но с бесконечными тормозами, падениями симуляции, и не реальной скоростью с последующим пересчетом коэффециэнтов для реала. Проц в реале у меня работает на 3 МГц (27 МГц кристал на ГФ24, максималка по интеловскому даташиту на него). В протеусе запуск симуляции на такой частоте (3 МГц) - гарантированное падение симуляции на первых миллисекундах. Поэтому подавал на вход 8080 частоту 1.5 Мгц (в два раза ниже реальной) - в таком случае, если со схемы убрать вообще все кнопки-лампочки и прочее не нужно, отключить почти все визуальные инструменты, все резисторы перевести в "DIGITAL", использовать только примитивы типа "NOT", "NAND", а не их аналоги из блоков 74LS00, 74LS04 - то симуляция иногда все-же запускается, хотя и с дичайшими тормозами. Проц, на C1 которого подается меандр 1.5 MHz: Блок-заменитель ВК38 выглядел в конечном счете так: RAM-ROM: Все библиотеки (x80.dll и 8255.dll) из темы "самописные DLL для протеус" последние на данный момент. Так вот вопрос: Кто-то пробовал использовать x80.dll с частотой симуляции > 1.5 MHz? У вас все работает? Просто например если сравнивать с 8048.dll, та нормально молотит на 12 MHz без проблем. По поводу 8255.dll тоже есть различия с реалом. Например если порт A настроен как выход, некоторые его биты установлены в 1, при записи управляющего слова, которое скажем не трогает порт A, а меняет порт C на вход, то латчи в порту A сбрасываются - теряется ранее установленные биты на порту A - это на реале. В симуляции - не теряются.
You do not have the required permissions to view the files attached to this post.
|
27 Feb 2023 23:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я чаще всего на 2 МГц и работаю, если только не надо что-то притормозить и посмотреть медленно. Процессор и x80.dll не глючили никогда. Глючит чаще всего что-то постороннее. P.S. Вот проект, где процессор и x80.dll - на 2.5 МГц, и всё работает, не глючит и не падает:http://www.nedopc.org/forum/viewtopic.php?p=168068#p168068P.P.S. И для тебя я выше проект выкладывал на 2.5 МГц. Что, глючит и падает?
_________________ iLavr
|
27 Feb 2023 23:43 |
|
|
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
Ну хрен его знает тогда, я уже исключал 8255 из симуляции, всякие расширители i2c портов, и схема практически соответствовала вышеприведенным картинкам - то есть просто 8080 проц, схемка эмуляции ВК38 и RAM и ROM. - не повлияло на общее поведение и точно так же падала на частоте >1.5 MHz . Посторонним здесь, получается, оставалась только x80.dll. Ну да и ладно, хоть и через костыли, тормоза и падения, но все-таки лучше, чем постоянно на программаторе перепрошивать EEPROM'ку. Так что спасибо авторам и за то, что есть.
You do not have the required permissions to view the files attached to this post.
|
27 Feb 2023 23:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Видимо, ты не умеешь её готовить. гыгыгы
_________________ iLavr
|
27 Feb 2023 23:58 |
|
|
Tronix
Doomed
Joined: 18 Nov 2013 02:38 Posts: 662 Location: Москва
|
Скорее всего так. Ну да и ладно, проехали.
|
28 Feb 2023 00:01 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да я просто на твои картинки смотрю - криво всё... но я помню, что ты начинал с 8086 и 580ВМ80 - тебе ч Южд...
_________________ iLavr
|
28 Feb 2023 00:07 |
|
Who is online |
Users browsing this forum: Claude AI [Bot] and 1 guest |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|