PDA

Просмотр полной версии : Простой микроконтроллер на базе микропроцессора Z80



zx_gamer
03.08.2022, 12:11
Хочу собрать простенький микроконтроллер.

Есть несколько вопросов которые хотелось бы спросить:

1. В качестве ОЗУ хочу использовать РУ7. Дешефрировать хочу максимально просто -- инвертер на A15 + логическое "И" на MEMRQ. Нижние 32 кб для ПЗУ, верхние 32 кб для ОЗУ.
Собственно вопрос, а как подключить РУ7? У нее нет 16-битной шины адреса и 8-битной шины данных...

2. Какую частоту лучше использовать? В теории Z84 может до 20 МГц, но кто знает как китайцы делают Z80 :) ?

3. Для простоты хочу использовать 1 порты ввода-вывода (#FF). Т.к. КР580ВВ55А сейчас найти относительно непросто, хочу сделать 8-битный порт с помощью 9И (а точнее 8И + 2И, где 8И это порт #FF, а 2И это IOREQ). Нормальное ли решение?

b2m
03.08.2022, 12:48
Простенький это со статической памятью. РУ7 это-ж динамика, к тому-же с мультиплексированной шиной адреса. Почему именно РУ7? Имеется в наличии?

Shumadan
03.08.2022, 13:15
то же не понял. Простенький микроконтроллер это на статике. Одного корпуса 61256 на 32кб хватит за глаза. И никакого лишнего обвеса

zx_gamer
03.08.2022, 13:27
Имеется в наличии?

Так точно.

- - - Добавлено - - -


Простенький микроконтроллер это на статике. Одного корпуса 61256 на 32кб хватит за глаза. И никакого лишнего обвеса

Что за память такая? Как с ней работать?)

b2m
03.08.2022, 14:17
Что за память такая? Как с ней работать?)
Mario's Small Z80 system (http://www.z80.info/z80_mp.htm)

- - - Добавлено - - -

Если всё-же хочется РУ7, то есть такой проектик с соседнего форума (http://www.nedopc.org/forum/viewtopic.php?f=89). Там РУ5, но можно использовать и РУ7, если пожертвовать четвертью памяти посадив старший разряд адреса РУ7 на ноль. Принципы формирования RAS/CAS там понятны. Дополнительные БИС можно не ставить.

- - - Добавлено - - -


но можно использовать и РУ7
А может и не можно, у Z80 регистр регенерации памяти перебирает только 7 бит...

Serg6845
03.08.2022, 14:39
Так точно.

геморрою с ней... 8 корпусов надо, RAS/CAS формировать, адреса мультиплексировать, с регенерацией возиться...



Что за память такая? Как с ней работать?)

62256-то? точно так же как с ПЗУ, только еще сигнал /WR завести.
и вобще можно взять за основу схему АОН на Z80 - там все это есть, только лишнее убрать.

zx_gamer
04.08.2022, 10:13
Serg6845,
Shumadan, Дык 61256 или 62256 ?

Shumadan
04.08.2022, 12:25
Serg6845,
Shumadan, Дык 61256 или 62256 ?

это одно и тоже. только корпусировка разная- широкий и узкий DIP

Serg6845
04.08.2022, 12:30
это одно и тоже. только корпусировка разная- широкий и узкий DIP

а еще она может называться W24257.

vegapiratradio
06.08.2022, 20:54
а еще она может называться W24257
это тоже она, только на сколько помню - высокоскоростная! и да, ее тоже можно применить.

Kulich
07.08.2022, 00:30
Не совсем понятно что такое микро контроллер в голове топик стартера.
Он хочет собрать недо SBC при этом вполне полноценный терминальный комп без проблем делается корпусах на 8. С Вв55 тоже непонятно её как кой-чего за баней, даже в ЧиД по 150 рублей есть.

CodeMaster
07.08.2022, 13:01
вполне полноценный терминальный комп без проблем делается корпусах на 8
Ты про это (https://pp.userapi.com/c840229/v840229347/226f5/BceY1zpx3pE.jpg) или про это (https://pp.userapi.com/c840229/v840229347/226f5/BceY1zpx3pE.jpg)?

Kulich
07.08.2022, 14:43
Ты про это (https://pp.userapi.com/c840229/v840229347/226f5/BceY1zpx3pE.jpg) или про это (https://pp.userapi.com/c840229/v840229347/226f5/BceY1zpx3pE.jpg)?

Ну их и на Z80 вагон и тележка, я собирал на 8085 Omen Alpha.
Вот 11 корпусов, но это вообще не минимальный )
https://github.com/skiselev/easy_z80/raw/master/images/Easy_Z80-Assembled.jpg

zx_gamer
07.08.2022, 19:29
Это две одинаковые ссылки?

- - - Добавлено - - -

Все-таки хотелось бы на остальные вопросы тоже ответы получить)

А какое еще СОЗУ мне подойдет кроме 61256 ?

Какую микруху посоветуете для "2И" и "8И" ?
(У меня есть "8И-НЕ", и, пропустив ее выход через инвертор, я бы получил "8И", но это как-то "колхозно")

- - - Добавлено - - -

Да и про тактовый генератор вопрос тоже есть: какой проще собрать?

Rio444
07.08.2022, 19:57
У меня есть "8И-НЕ", и, пропустив ее выход через инвертор, я бы получил "8И", но это как-то "колхозно"
Ничего колхозного. 8И внутри так же имеет 8И-НЕ и инвертор.

M80
08.08.2022, 06:17
Допустим, собрал. ПЗУ 32К, RAM 32K, порт ввода, порт вывода. Дальше чего?

reddie
08.08.2022, 08:44
Допустим, собрал. ПЗУ 32К, RAM 32K, порт ввода, порт вывода. Дальше чего?

Дальше ставишь ЦАПы и получаешь GS Micro Edition =)



тактовый генератор вопрос тоже есть: какой проще собрать?
Стандартный на ЛН1 и резюках по Ленинградо-Скорпионоподобной схеме. Проблем с запуском обычно нет.

M80
08.08.2022, 09:24
Дальше ставишь ЦАПы и получаешь GS Micro Edition =)
What is this?) Что то игровое?
А если серьёзно, поставив что то типа 29F можно получить минимальную CP/M машинку с электронным диском. Достаточно 3-х мс логики всего.

zx_gamer
09.08.2022, 10:04
Подскажите как собрать параллельный порт без вв55?

Rio444
09.08.2022, 10:57
Смотря что Вы от него хотите.
В простейшем случае регистр 74ls574 и декодер адреса, хоть на 8И или ХХ И-НЕ с открытым коллектором, хоть на 74ls688 или 74ls138.

rw6hrm
09.08.2022, 15:02
В простейшем случае
В простейшем случае ТМ2, ТМ7, ИР22/23, если на удобоваримый язык перевести ;)
Кстати, так и собираюсь из следующей версии Аюши выкинуть ВВ55...

M80
09.08.2022, 15:07
Это уже огород, а не простейший случай.

Rio444
09.08.2022, 15:44
M80, 2-3 чипа. Куда ещё проще?
Если не нужна адресация, можно и один регистр оставить.

zx_gamer
09.08.2022, 20:34
Ну я хочу использовать параллельный как аналоговый вывод. Если я подключу ЦАП типа "ковокс" к шине данных, а от выхода "8И" пущу сигнал на базу транзистора, который будет закрывать / открывать вывод с ковокса -- это будет нормально работать?

Не нужно ли ставить диоды на шину данных перед выходом на ковокс?

Rio444
09.08.2022, 21:48
Как будет фиксироваться значение, выводимое на ковокс?

zx_gamer
10.08.2022, 07:51
Как будет фиксироваться значение, выводимое на ковокс?

Не знаю. Как это лучше сделать?

Rio444
10.08.2022, 08:03
Не знаю. Как это лучше сделать?
Так с помощью регистра, как выше написали. Буржуйских LS573/574/373/374 или православных ИР22/23.
Их много видов. Отличаются цоколевкой и типом: "latch" (защелка) и "flip-flop", он же "D-триггер".

zx_gamer
10.08.2022, 08:34
Так с помощью регистра, как выше написали. Буржуйских LS573/574/373/374 или православных ИР22/23.
Их много видов. Отличаются цоколевкой и типом: "latch" (защелка) и "flip-flop", он же "D-триггер".

А можете схемку подключения для примера какую-нибудь дать?

Rio444
10.08.2022, 08:58
zx_gamer, там всё очень просто.
У Z80 есть выход /IORQ, сигнализирующий, что идет обращение к порту и выход /WR, означающий запись (в данном случае - в порт).
На шине адреса (младшие 8 бит) должен быть какой-то адрес - номер порта.
Причем не обязательно, чтобы адрес использовался полностью. Достаточно нескольких бит (хотя это сократит количество доступных портов).
Нужна схема дешифрации "хоть на 8И или ХХ И-НЕ с открытым коллектором, хоть на 74ls688 или 74ls138", которая при сочетании нужного адреса и сигналов, что идет запись в порт, выдавала ноль.
В это время на шине данных должны быть какие-то данные, которые и выводятся в порт. К шине данных же подключен и регистр.
При снятии сигналов записи в порт, на выходе "дешифратора" появляется лог. 1 и данные "защелкиваются" в регистре.

M80
10.08.2022, 11:11
Геймер, с вашими знаниями, возьмите Ардуино и не парьте мозг ни себе, ни людям.

reddie
10.08.2022, 11:29
На шине адреса (младшие 8 бит) должен быть какой-то адрес - номер порта
Строго говоря, адрес выставляется на всех 16 разрядах, а какие использовать - решает автор схемы.
Если порт в схеме единственный, можно вообще ША не трогать, а проверять только IORQ+WR

Rio444
10.08.2022, 12:02
Строго говоря, адрес выставляется на всех 16 разрядах, а какие использовать - решает автор схемы.
Спорить не буду, потому как не специалист по Z80, но здесь http://www.z80.info/zip/z80cpu_um.pdf на странице 6 почему-то указано, что адрес порта выставляется именно в младшей половине адресной шины.
Что кажется вполне логичным.

M80
10.08.2022, 12:21
Строго говоря, адрес выставляется на всех 16 разрядах, а какие использовать - решает автор схемы.
Если порт в схеме единственный, можно вообще ША не трогать, а проверять только IORQ+WR
Всё верно. Более того, если порты ввода отсутствуют (и прерывания), можно выходной регистр стробировать одним IORQ.

reddie
10.08.2022, 13:06
указано, что адрес порта выставляется именно в младшей половине адресной шины
Тут ноги растут от двух способов вывода в порты: через OUT (port),A и OUT (C),reg
В первом случае A8-A15 выставляется из аккумулятора, A0-A7 из аргумента port; во втором полный 16-разрядный адрес выставляется из пары BC

Rio444
10.08.2022, 13:09
Тогда наверное самый простой вариант - 74ls138 https://radio-hobby.org/uploads/datasheet/37/sn74/sn74ls138-d.pdf
отечественный К555ИД7 https://www.chipdip.ru/product/k555id7
Входы A0, A1, A2, E3 - на А4, А5, А6, А7 шины адреса Z80,
/E1, /E2 на /IOQR и /WR Z80.
Получим целых 8 доступных портов.
Любой выход на вход Clock регистра.

vegapiratradio
11.08.2022, 00:45
Всё верно. Более того, если порты ввода отсутствуют (и прерывания), можно выходной регистр стробировать одним IORQ.
что собственно я ему и рекомендовал в его прошлой теме по этому же z80...

zx_gamer
17.08.2022, 20:40
zx_gamer, там всё очень просто.
У Z80 есть выход /IORQ, сигнализирующий, что идет обращение к порту и выход /WR, означающий запись (в данном случае - в порт).
На шине адреса (младшие 8 бит) должен быть какой-то адрес - номер порта.
Причем не обязательно, чтобы адрес использовался полностью. Достаточно нескольких бит (хотя это сократит количество доступных портов).
Нужна схема дешифрации "хоть на 8И или ХХ И-НЕ с открытым коллектором, хоть на 74ls688 или 74ls138", которая при сочетании нужного адреса и сигналов, что идет запись в порт, выдавала ноль.
В это время на шине данных должны быть какие-то данные, которые и выводятся в порт. К шине данных же подключен и регистр.
При снятии сигналов записи в порт, на выходе "дешифратора" появляется лог. 1 и данные "защелкиваются" в регистре.

Может ли sn74ls373n (1533ИР22) не успевать "защелкиваться", если CPU работает на частоте 16 МГц ?

Xrust
17.08.2022, 21:31
Навскидку должен успеть. А так нужно смотреть схему и считать.

M80
17.08.2022, 21:45
Навскидку нужен ИР23. А так да, нужно видеть схему.

Rio444
18.08.2022, 01:42
Может ли sn74ls373n (1533ИР22) не успевать "защелкиваться", если CPU работает на частоте 16 МГц ?Может. Но дело не в частоте. По частоте запас есть.
Максимальная частота "защелкиваний" - 33 МГц (минимальный период Клока = 15 + 15 = 30 нс) даташит https://static.chipdip.ru/lib/667/DOC012667731.pdf
Но нужно, чтобы перед защелкиванием данные были выставлены не менее чем за 5 нс и сняты не ранее, чем через 20 нс. Данные защелкиваются опусканием уровня на входе /LE (Latch Enable).
В этом плане действительно удобнее LS374. Во-первых фиксация выходных данных по положительному фронту на входе Clock, во-вторых данные нужно выставить не менее чем за 20 нс до этого фронта и можно снять сразу после него. Время удержания (Th) равно нулю.

zx_gamer
18.08.2022, 07:43
схем такая:
A0, IOREQ -> 2И-НЕ -> CLK sn74ls373n.

Программа пишет в порт #FE (ну или в любой другой четный порт)

- - - Добавлено - - -

Rio444, будет ли программа



.org 0
ld a, 1
out(#FE), a


делать "как положено" на частоте 16 МГц?

Rio444
18.08.2022, 15:52
zx_gamer, вот не могу подсказать. Здесь наверняка ;) есть специалисты по Z80. Должны знать временные диаграммы команды out. В какой последовательности на выходе Z80 появляются данные и сигналы A0, IOREQ.
Или в даташите искать.
Смысл Вы поняли, после снятия IOREQ данные на шине должны быть не менее 20 нс.
И нужно учитывать задержку в 2И-НЕ.

Только Вам нужно не 2И, а 2ИЛИ-НЕ. Иначе будет попытка записи каждый раз, когда ноль будет на IOREQ или A0. А Вам нужно, чтобы оба условия совпадали. То есть ноль и на IOREQ и на A0.

zx_gamer
18.08.2022, 16:43
Товарищи, я вот набросал схему электрическую принципиальную.
Хотелось бы услышать ваше мнение: есть ли тут ошибки? Стоит ли что-то изменить?

https://i120.fastpic.org/big/2022/0818/3b/8f08fc2503010fd0af897f712753d73b.png


https://serfcity.github.io/shema.png
https://serfcity.github.io/shema.png


- - - Добавлено - - -



Только Вам нужно не 2И, а 2ИЛИ-НЕ. Иначе будет попытка записи каждый раз, когда ноль будет на IOREQ или A0. А Вам нужно, чтобы оба условия совпадали. То есть ноль и на IOREQ и на A0.

Вы точно не запутались?)

Rio444
18.08.2022, 17:07
Вы точно не запутались?)
Проверяйте.
Вам это нужно?
https://present5.com/presentation/9cd9ec5982bf15f3dafff228834ddd86/image-55.jpg

zx_gamer
18.08.2022, 17:17
Rio444, так стало быть, если мне нужно "ноль и на IOREQ и на A0", то мне нужно использовать блок логического И, а не ИЛИ ... :)

Rio444
18.08.2022, 17:32
если мне нужно "ноль и на IOREQ и на A0", то мне нужно использовать блок логического И
Вы не замечаете, что у Вас на выходе одно и тоже значение, если ноль хотя бы на одном из входов?
То есть достаточно нуля на IOREQ или на A0, чтобы на выходе была "1".
То есть эта схема срабатывает только если на обоих входах единицы. Только при такой комбинации на выходе ноль.

zx_gamer
18.08.2022, 17:46
Rio444, да, действительно, я немного затупил :)

А это значит, что схема должна выглядеть так:
https://serfcity.github.io/shema1.png

Rio444
18.08.2022, 22:37
Всё же надо бы ls574
Судя по диаграмме из мануала, данные на шине данных долго не держатся.
К тому же /WR и /IOREQ приходят с запозданием
https://i.ibb.co/26X5q7h/Z80.png (https://ibb.co/3stk1yd)

Serg6845
19.08.2022, 08:19
Rio444, да, действительно, я немного затупил :)

А это значит, что схема должна выглядеть так:


по схеме порт работает на вывод, непонятно почему в схему формирования LE заведен сигнал /RD? должен быть /WR.
ну и с точки зрения практической реализации - заменить LS02 на LS32 (ЛЛ1 по нашему) - минус 1 корпус (и заодно задержки сигналов поменьше).
А15 с проца подать на /CE 27512 и через инвертор - на /CS озу.
LS32/A - на входы - /MREQ и /RD, выход - на /OE ОЗУ и ПЗУ
LS32/B - на входы - /MREQ и /WR, выход - на /WE ОЗУ
LS32/C - на входы - /IORQ и /WR, выход - на вход LS32/D
LS32/D - на второй вход - выход LS30 (ЛА2), выход - через инвертор на LE регистра (или если регистр LS374/LS574 - то без инвертора).
вроде все.

zx_gamer
19.08.2022, 08:37
ну и с точки зрения практической реализации - заменить LS02 на LS32 (ЛЛ1 по нашему) - минус 1 корпус (и заодно задержки сигналов поменьше).


Инвертор все равно нужен для генератора Пирса.



А15 с проца подать на /CE 27512 и через инвертор - на /CS озу.


Я слышал, что лучше /CE всегда держать в активном состоянии, чтобы не создавать лишних промедлений во время включения / выключения микросхемы. Оправдано ли?

caro
19.08.2022, 08:45
Кнопка SW1 при нажатии закоротит +5V на землю.
В разрыв между +5V и цепью формирования сигнала /RESET надо вставить резистор на 1 КОм.

zx_gamer
19.08.2022, 08:59
Всё же надо бы ls574


Это К155ИР37? Насколько я понял, он больше не производится.

Serg6845
19.08.2022, 09:09
Инвертор все равно нужен для генератора Пирса.


инвертор - да, но в исходной схеме 6 элементов LS02, это 2 корпуса. а с LS32 остается 4 элемента - это 1 корпус. паять меньше.


Я слышал, что лучше /CE всегда держать в активном состоянии, чтобы не создавать лишних промедлений во время включения / выключения микросхемы. Оправдано ли?

в данном случае - думаю что нет. адреса выставляются раньше, все должно успеть устаканиться.

кстати если речь идет о реальном изделии - надо бы между выходом генератора и 6 ногой Z80 добавить еще один инвертор, а 6 ногу подтянуть к +5В через 510-680 Ом. без этого не все Z80 стабильно работают.

Serg6845
19.08.2022, 09:11
Это К155ИР37? Насколько я понял, он больше не производится.

1533ИР37, он же 74ALS574. нет ИР37 - можно взять ИР23 ([A]LS374) - то же самое, отличается распиновкой.
здесь скорее всего любой 374/574 будет работать - LS, ALS, F, HCT...

zx_gamer
19.08.2022, 09:22
инвертор - да, но в исходной схеме 6 элементов LS02, это 2 корпуса. а с LS32 остается 4 элемента - это 1 корпус. паять меньше.


Так дешифрация поменялась ведь. Теперь используется /CE.
Значит можно просто поставить LS02 и инвертор и будет то же самое.

Serg6845
19.08.2022, 09:27
Так дешифрация поменялась ведь. Теперь используется /CE.
Значит можно просто поставить LS02 и инвертор и будет то же самое.

можно. но инвертор даст дополнительную задержку.

тут скорее вопрос подхода - если собирать из того что есть в наличии - это один вариант. если детали покупать - имеет смысл оптимизировать.

zx_gamer
19.08.2022, 09:53
Serg6845, да мне просто как-то жалко, что из 6 элементов "НЕ" будет использоваться 2...

- - - Добавлено - - -


можно. но инвертор даст дополнительную задержку.


Вот тут (https://zx-pk.ru/threads/34561-prostoj-mikrokontroller-na-baze-mikroprotsessora-z80.html?p=1160060&viewfull=1#post1160060) писали о том, что это одни и то же должно быть...

Serg6845
19.08.2022, 11:01
Serg6845, да мне просто как-то жалко, что из 6 элементов "НЕ" будет использоваться 2...

а потом захочется что-то добавить/поменять, а свободных элементов не хватает...



Вот тут (https://zx-pk.ru/threads/34561-prostoj-mikrokontroller-na-baze-mikroprotsessora-z80.html?p=1160060&viewfull=1#post1160060) писали о том, что это одни и то же должно быть...

с точки зрения логики работы - да, то же самое. по задержкам -
- 74ls32, стр.3 (https://www.ti.com/lit/ds/symlink/sn74ls32.pdf)
- 74ls02, стр.3 (https://www.ti.com/lit/ds/symlink/sn74ls02.pdf)
- 74ls04, стр.6 (https://www.ti.com/lit/ds/symlink/sn74ls04.pdf)

в случае ls02 + ls04 - задержки суммируются.

zx_gamer
19.08.2022, 14:12
Я внес предложенные вами улучшения:

https://serfcity.github.io/shema2.png

- - - Добавлено - - -

Я тут правда забыл подписи у "8И-НЕ" и у регистра исправить, но не суть.

zx_gamer
20.08.2022, 10:39
Serg6845,
caro, что теперь скажете?

Rio444
20.08.2022, 13:28
zx_gamer, подскажите пожалуйста, где Вы взяли схему тактового генератора?
Обычно такая схема используется для элемента "НЕ" на CMOS-логике (например 74HC04). Сомневаюсь, что будет работать на TTL.

zx_gamer
20.08.2022, 16:51
zx_gamer, подскажите пожалуйста, где Вы взяли схему тактового генератора?
Обычно такая схема используется для элемента "НЕ" на CMOS-логике (например 74HC04). Сомневаюсь, что будет работать на TTL.

Это схема генератора Пирса с "лишним" блоком "НЕ", который мне посоветовали для стабильности.
Какой тактовый генератор тогда посоветуете?

- - - Добавлено - - -

Serg6845, Rio444, кстати а ЭКР1533ИР23 будет удерживать значения на выходе до тех пор, пока я их не перезапишу?

Rio444
20.08.2022, 17:53
Какой тактовый генератор тогда посоветуете?
Классический мультивибратор на ТТЛ:
https://i.ibb.co/PYcjhTh/PC-XT.png (https://ibb.co/Jdvt7x7)
Подстроечный конденсатор Вам разумеется не нужен. Резистор на выходе тоже можно исключить.

В самом простом варианте - генератор из схемы "Ленинграда":
https://i.ibb.co/fY8Yqt3/image.png (https://imgbb.com/)
Только обычно чем проще схема, тем больше с ней проблем. Во втором варианте сигнал сильно отличается от меандра. На предельных для Z80 частотах это может быть критично.

zx_gamer
20.08.2022, 19:07
Rio444, вот так правильно?

https://serfcity.github.io/shema3.png

Rio444
20.08.2022, 20:32
Rio444, вот так правильно?Похоже, что да. Может кто-нибудь орлиным глазом ещё что-то заметит.
У Вас осциллограф есть, чтобы посмотреть тактовые импульсы на входе Z80?

vegapiratradio
21.08.2022, 05:54
вот так правильно?
ну почти.
выводы процессора 16, 17, 24, 25 - обязательно подтянуть к +5 через резисторы любого номинала (в пределах разумного).
конденсатор в 10 пик параллельно кнопке - не даст ничего. надо хоть 100 нан поставить.
по подключению памяти все ок.
по подключению порта вывода все ок. только один вопрос : нафига там элемент 8и-не? его входы к каким адресам подключены? если его убрать, то будет возможна запись в порт с любого адреса...

Rio444
21.08.2022, 12:47
конденсатор в 10 пик параллельно кнопке - не даст ничего. надо хоть 100 нан поставить.
Если конденсатор для того, чтобы дать остальным чипам включиться, перед снятием Reset с CPU, а не защита от дребезга (как сначала подумал), то и 100 нФ мало.
Резистор R2 поднять до ~10К, конденсатор C2 в пределах 1..4.7мкФ. Либо пропорционально уменьшаем C2 - увеличиваем R2 (и наоборот).
Параллельно R2 диод 1N4148 (КД522), катодом к +5В.

zx_gamer
24.08.2022, 21:42
ну почти.
выводы процессора 16, 17, 24, 25 - обязательно подтянуть к +5 через резисторы любого номинала (в пределах разумного).
конденсатор в 10 пик параллельно кнопке - не даст ничего. надо хоть 100 нан поставить.


Исправил.

https://serfcity.github.io/shema4.png

- - - Добавлено - - -


нафига там элемент 8и-не? его входы к каким адресам подключены? если его убрать, то будет возможна запись в порт с любого адреса...

Хочу иметь возможность потом напаять столько портов, сколько будет надо.

- - - Добавлено - - -



Параллельно R2 диод 1N4148 (КД522), катодом к +5В.

Зачем? Я неправильно подключить прибор не смогу.

Rio444
24.08.2022, 22:02
Зачем? Я неправильно подключить прибор не смогу.
Чтобы конденсатор C2 через него разряжался.
На вход Reset Z80 разряжаться будет долго. Если он будет всегда заряженным, толку от него не будет.

zx_gamer
24.08.2022, 22:48
Rio444, а кондер здесь вообще сильно нужен?

TomaTLAB
25.08.2022, 00:03
На вход Reset Z80 разряжаться будет долго. Он будет разряжаться через R2, с той же постоянной времени, что и заряжаться.

а кондер здесь вообще сильно нужен? Он нужен для сброса при включении питания. Не помню, что там конкретно у Z80, но обычно нужно какое-то количество стабильных клоков при активном RESET чтобы процессор адекватно сбросился и запустился. За это время должен зажужжать и стабилизироваться тактовый генератор, а кварцы раскачиваются относительно долго.

Rio444
25.08.2022, 00:35
Он будет разряжаться через R2, с той же постоянной времени, что и заряжаться.
ОК, пусть будет так.
Правда уровни лог 1 и лог 0 несколько отличаются, но наверное не критично.
Зарядиться ему нужно до 2 вольт, а разрядиться до 0,8.

zx_gamer
25.08.2022, 20:38
Serg6845, Rio444, кстати а ЭКР1533ИР23 будет удерживать значения на выходе до тех пор, пока я их не перезапишу?


Все-таки этот вопрос меня беспокоит :)

Rio444
25.08.2022, 21:17
zx_gamer, конечно будет. В этом и смысл триггера.
Конкретно D-триггер записывает данные по положительному фронту на входе Clock (т.е. переход из 0 в 1).
Через некоторое время (несколько наносекунд) после положительного фронта на Clock входные данные появляются на выходе триггера и сохраняются там до следующей записи в триггер.