nedoPC.org

Community for electronics hobbyists, established in 2002
Last visit was: 20 Sep 2024 16:58
It is currently 20 Sep 2024 16:58



 [ 13 posts ] 
К580ВК38 и Proteus - нужна помощь 
Author Message
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Собрал тут платку такую небольшую на ВМ80 и К580ВК38:

Attachment:
photo_2023-02-21_12-53-47.jpg


Хотел отлаживать в Протеусе, но столкнулся с не пониманием, как правильно сэмулировать К580ВК38, потому что мне нужны сигналы /IOWR /IORD, /MEMW, /MEMR. В качестве IO у меня 8255, в качестве памяти - ROM и RAM.
Использую x80.dll r13 и 8255.dll откуда-то с этого форума.
Сделал как-то так:

Attachment:
vk.PNG


И оно даже как-то вроде бы и работает, но если поднять частоту 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.

_________________
https://t.me/tronix_blog


21 Feb 2023 04:35
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
...как правильно сэмулировать К580ВК38, потому что мне нужны сигналы /IOWR /IORD, /MEMW, /MEMR.

Да вроде как вот так:

Image

Подробности мы обсуждали здесь:
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
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Вроде как-то так и сделано.
Темы видел.
Библиотеки из той темы.

Но, повторюсь с проблемой - оно "вроде как то работает", но - много сообщений о коллизиях на шине данных и внутренней и внешней, из-за чего в лог постоянно сыплют ошибками, из-за чего и так не быстрая симуляция начинает тормозить лютейше, а при определенных условиях и вовсе отваливаться.

Таких проблем нет на мемори-маппед устройствах ввода вывода, как например это сделано в Специалисте или Радио-86РК, проекты которых в Proteus тут есть на форуме. Но у меня порты IO используют IN и OUT инструкции, а значит хочется как-то по человечески получить сигналы /IOWR и /IORD с модели процессора 8080. И по человечески пока не получается.

_________________
https://t.me/tronix_blog


21 Feb 2023 09:51
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
Таких проблем нет на мемори-маппед устройствах ввода вывода, как например это сделано в Специалисте или Радио-86РК, проекты которых в Proteus тут есть на форуме. Но у меня порты IO используют IN и OUT инструкции, а значит хочется как-то по человечески получить сигналы /IOWR и /IORD с модели процессора 8080. И по человечески пока не получается.

А если проверить так: этот вариант ВК38 оставь как есть, но обратись к УВВ сигналами обращения к памяти?
Всё продолжится?
Как-то локализовать проблему надо: что вызывает конфликт, схема-то по сути лишь коммутатор сигналов
DBIN и /WR.

Я, к сожалению, ни разу не делал обращение к УВВ по IN и OUT с этой моделью по чисто историческим причинам. :-?


P.S. Обрати внимание вот на что: как-то так вышло, что изначально модель разработали как корпус
К580ВМ80, но с системой команд z80, и насколько я знаю, сигнал С1 для модели чисто фиктивный,
а все кишки модели привязаны к С2. Может STATUS неправильно фиксируется?

_________________
iLavr


21 Feb 2023 12:54
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Lavr wrote:
Я, к сожалению, ни разу не делал обращение к УВВ по IN и OUT с этой моделью по чисто историческим причинам. :-?

Под руками был совсем недавний проект, я в нём использовал сигнал /INTA через STATUS 580BM80.
У меня всё работало...

Быстро переделал проект под 580ВК38(28) - тоже всё работает, никаких конфликтов нет.
Attachment:
Tst580ВК38.PNG

Выкладываю тебе проект с исходником и .dll процессора, которую я использую.
Attachment:
TestBK38.zip

Если не будет глюков, то работает он так: включаешь - моргают индикаторы, нажимаешь -->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
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Вообщем, пока спал подумал примерно то же самое - что надо просто выкинуть LS245.
Проснулся и увидел что у меня во-первых RAM подключена была к D, а не к DB. А во-вторых выкинул LS245 и подключил все RAM,ROM и PPI к D. Стало покомфортнее. Продолжаю вести наблюдение.

_________________
https://t.me/tronix_blog


22 Feb 2023 00:30
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
Проснулся и увидел что у меня во-первых RAM подключена была к D, а не к DB.

Я про тебя только недавно, примерно месяц назад, вспоминал вот именно в этом плане... :lol:
Что есть у нас такой Tronix, который любит всех озадачить каким-то хитрозадуманным вопросом. :roll:
Все недели три так гадают "по фотокарточке", выдвигают разные космологические теории... :-?
А в итоге Tronix пишет:"Да я просто забыл тут припаять вывод. Всем - спасибо, все - свободны!" :ebiggrin:


P.S. Если у тебя Proteus версии 7.7 и старше, и ты уверен, что всё делаешь правильно, то сообщения
о конфликтах в лог можно просто отключить. Где отключить, вроде как в хелп написано.

_________________
iLavr


22 Feb 2023 05:42
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:
Attachment:
8080.PNG


Блок-заменитель ВК38 выглядел в конечном счете так:
Attachment:
vk38.PNG


RAM-ROM:
Attachment:
ram_rom.PNG


Все библиотеки (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.

_________________
https://t.me/tronix_blog


27 Feb 2023 23:27
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
Так вот вопрос: Кто-то пробовал использовать x80.dll с частотой симуляции > 1.5 MHz? У вас все работает?.

Я чаще всего на 2 МГц и работаю, если только не надо что-то притормозить и посмотреть медленно.
Процессор и x80.dll не глючили никогда. Глючит чаще всего что-то постороннее.

P.S. Вот проект, где процессор и x80.dll - на 2.5 МГц, и всё работает, не глючит и не падает:
http://www.nedopc.org/forum/viewtopic.php?p=168068#p168068

P.P.S. И для тебя я выше проект выкладывал на 2.5 МГц. Что, глючит и падает? :roll:

_________________
iLavr


27 Feb 2023 23:43
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Lavr wrote:
Я чаще всего на 2 МГц и работаю, если только не надо что-то притормозить и посмотреть медленно.
Процессор и x80.dll не глючили никогда. Глючит чаще всего что-то постороннее.


Ну хрен его знает тогда, я уже исключал 8255 из симуляции, всякие расширители i2c портов, и схема практически соответствовала вышеприведенным картинкам - то есть просто 8080 проц, схемка эмуляции ВК38 и RAM и ROM. - не повлияло на общее поведение и точно так же падала на частоте >1.5 MHz . Посторонним здесь, получается, оставалась только x80.dll.

Ну да и ладно, хоть и через костыли, тормоза и падения, но все-таки лучше, чем постоянно на программаторе перепрошивать EEPROM'ку. Так что спасибо авторам и за то, что есть.

Attachment:
photo_2023-02-23_15-07-07.jpg


You do not have the required permissions to view the files attached to this post.

_________________
https://t.me/tronix_blog


27 Feb 2023 23:54
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
Посторонним здесь, получается, оставалась только x80.dll.

Видимо, ты не умеешь её готовить. гыгыгы :ebiggrin:

_________________
iLavr


27 Feb 2023 23:58
Doomed

Joined: 18 Nov 2013 02:38
Posts: 662
Location: Москва
Lavr wrote:
Tronix wrote:
Посторонним здесь, получается, оставалась только x80.dll.

Видимо, ты не умеешь её готовить. гыгыгы :ebiggrin:


Скорее всего так. Ну да и ладно, проехали.

_________________
https://t.me/tronix_blog


28 Feb 2023 00:01
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Tronix wrote:
Lavr wrote:
Tronix wrote:
Посторонним здесь, получается, оставалась только x80.dll.
Видимо, ты не умеешь её готовить. гыгыгы :ebiggrin:
Скорее всего так. Ну да и ладно, проехали.

Да я просто на твои картинки смотрю - криво всё... но я помню, что ты начинал с 8086 и 580ВМ80 - тебе чЮжд... :lol:

_________________
iLavr


28 Feb 2023 00:07
 [ 13 posts ] 

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

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.