Просмотр полной версии : Как дешифровать шину данных?
Скажем хочу повесить устройство, которое будет читать число с шины данных, когда на шине данных выбираются адреса с
$4040 по $4092.
Кроме альтеры есть какие-то еще варианты?
Дешифрация нужна максимально строгая.
Например $4000 - $4015 мне понятно, парочка элементов И, и инвертор.
Пзу на 64 килобайта- адресами подключить к адресам z80, данные будут сигналами выборки таким образом можно независимо дешифрировать 8 адресов. Прошивка для ПЗУ будет очень простой.
Оригинально! )
Случайно не такую же роль играет РФ в некоторых спектрумах?
CodeMaster
14.04.2016, 11:26
когда на шине данных выбираются адреса
Эээ... на ШД - данные, на ША - адреса
которое будет читать число с шины данных
выбираются адреса с $4040 по $4092
Все числа на ШД в этом диапазоне ША или нужны конкретные числа?
Пзу на 64 килобайта- адресами подключить к адресам z80, данные будут сигналами выборки таким образом можно независимо дешифрировать 8 адресов.
Зачем их независимо дешифровать? Ему нужен диапазон, объём можно и меньше.
Случайно не такую же роль играет РФ
Обычно РТ4/РТ5, но для них нужен свой программатор.
Зачем их независимо дешифровать? Ему нужен диапазон, объём можно и меньше.
Для большей универсальности- поменял несколько байтов в ПЗУ, и можно другой диапазон дешифрировать, тем более ПЗУ 64кб сейчас найти совсем не проблема.
Все числа на ШД в этом диапазоне ША или нужны конкретные числа?
В диапазоне.
CodeMaster
14.04.2016, 15:48
тем более ПЗУ 64кб сейчас найти совсем не проблема.
Тут вообще нивопрос, его может быть проще всего сейчас найти.
В диапазоне.
А что за устройство их будет читать по сигналу дешифратора о попадании в диапазон?
ram_scan
14.04.2016, 16:34
Скажем хочу повесить устройство, которое будет читать число с шины данных, когда на шине данных выбираются адреса с
$4040 по $4092.
Кроме альтеры есть какие-то еще варианты?
Дешифрация нужна максимально строгая.
Например $4000 - $4015 мне понятно, парочка элементов И, и инвертор.
556РТ4. У ней 8 адресных ног, и два /CS. Так что вполне можно выкрутиться. Дешифрация будет строже некуда. PAL16V8 или GAL16L8 тоже подойдет. 1556ХЛ8. Но имхо РТ4 самое простое.
А что за устройство их будет читать по сигналу дешифратора о попадании в диапазон?
stm32f103 планирую подцепить.
ram_scan
14.04.2016, 17:32
stm32f103 планирую подцепить.
Зачем вам аппаратный дешифратор ? Прицепите на /MREQ прерывание и программно адрес обслуживайте. С производительностью этого камня ничего от такого решения не потеряете.
CodeMaster
14.04.2016, 18:26
Зачем вам аппаратный дешифратор?
Вот на этот вопрос я newart'а и выводил ;-)
s_kosorev
14.04.2016, 18:32
arm тугие на прерывания, если взять к примеру Z80 то arm очень сомнительно что успеет реагировать, если частота больше 1мгц у z80
ram_scan
15.04.2016, 20:29
У этого СТМ-а тактовая 75 МГц и шпилит он инструкцию за такт (даташит я по диагонали правда прочел). А у Z80 в самом лучшем случае на 700 КГц /M1 шевелится.
Программный дешифратор на прерываниях можно сгородить даже на 20-мегагерцовой пичке 16 серии или восьмибитной атмеге. Только на полезные движняки там времени почти не остается.
s_kosorev
15.04.2016, 20:36
шпилит он инструкцию за такт (даташит я по диагонали правда прочел).
доступ к памяти минимум 2 такта, но это не важно, там овер 20 тактов вход/выход в прерывание + еще куча моментов которые по такту два добавляют
- - - Добавлено - - -
там другой есть момент, развитая система событий, их можно приспособить к задаче, если укладывается, ну или задачу переиначить что бы вкладывалось
- - - Добавлено - - -
чистые arm7 были хороши с ихними FIQ
STM32 - очень плохой выбор относительно быстрого (да и не быстрого) ногодрыга. С его префечами, очередями, кешами и тд. В кратце - хрен его знает, за сколько исполняется одна инструкция. Один раз может за столько, а другой раз, в зависимости от перегруженности очереди - за столько. Отсюда все проблемы. Может будет успевать дешифровать 100500 раз, а на 100501 - не успеет, потому что будет чистить кеш или еще что-то.
STM32 прекрасен, если использовать все поддерживаемые аппаратно им фичи (UART, USB, SPI, I2C, etc..), но вызывает дикую боль и костыли, если нужно дергать ногами за определенное время. Простой пример - протокол 1-wire на STM32. Костыли через хардварный UART и пару транзисторов, как наименьшее зло. Без транзисторов - боль и унижение, почти не возможно. А казалось бы, да?
Плюс, частота 72 МГц - очень медленно. Ну, по крайней мере для ISA8 и x86. Не успеет он ну никак, при простейшей математике. Что с Z80 не знаю, но то же вряд-ли. Либо успеет, но будет заниматься _ТОЛЬКО_ дешифрацией, и больше ничем. Моргнуть светодиодом - уже не получится.
Нужен либо ARM с дофига мегагерцами, например какой-нибудь тупой старый ARM7 типа NXP LPC2368, либо восьмибитка с такой-же скоростью, силабсы вроде на 51 ядре что-то многомегагерцовое клепают.
Но всю жизнь все для дешифрации используют обычную логику + РЕ3/РТ4/РТ5, в запущенных случаях ПЗУ типа 2716/2732, в самых запущенных - ПЛИС типа EPM3032 и тд. Но никогда микроконтроллеры.
И да, STM32 - худший выбор для сабжа.
- - - Добавлено - - -
А вообще, у меня была идея для универсального дешифратора взять память статику килобайта на 2, типа 6116 и тд. При старте агрегата (компа) микроконтроллер любой, тот же STM32 сразу его ресетит и вешает (удерживает ALE в случае с x86 ил HOLD или как там в спектрумах). Проц висит. В это время микроконтроллер заливает в SRAM нужный конфиг для дешифрации адресов. После этого отпускает ногу проца, которую держал, проц стартует и в SRAM'е уже нужный образ для дешифрации и она (SRAM'а) дешифрует как надо.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot