nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 04:17



Reply to topic  [ 83 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Подключение I8259 к МП Z80. 
Author Message
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Добрый день. Помогите, плиз, разобраться с подключением контроллера прерываний к Z80.
Контроллер предполагается I8259, и суть вот в чем:
для того, что бы выдать процессору байт, содержащий часть адреса прерывающего устройства, контроллер должен получить от процессора ответ, в виде подтверждения прерывания. У интеловских 8080, 8086, етс, этот выход аппаратно присутствует. У Z80, при наличии самого режима прерываний, совместимого с интеловским, аппаратный выход подтверждения прерывания отсутствует. Ну и собственно, вопрос - как заставить контроллер выдать на шину адрес, в нужный момент, если он не в курсе, что процессор отреагировал на его запрос?


27 Feb 2013 12:30
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
не взлетит.


27 Feb 2013 16:44
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Post 
А собрать вместе M1 и IORQ ?


27 Feb 2013 18:20
Profile
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Post 
Нашел в мануале "...Если запрос (прерывания) воспринимается, то ЦП вырабатывает специальный цикл
M1, в котором активизируется сигнал /IORQ (вместо /MREQ). Низкий уровень сигнала /IORQ
указывает устройству, запросившему прерывание, что оно может подать на шину данных 8
разрядный вектор прерывания. В этот цикл автоматически включаются два такта ожидания Tw*
(это позволяет сравнительно легко реализовать схему приоритетных прерываний), которые дают
необходимое время для определения запросившего устройства и стабилизации вектора
прерывания на шине данных.... "
Как бы, вопрос с сигналом подтверждения прерывания решился. Лог. умножение сигналов М1 и IORQ дадут требуемый сигнал для контроллера.


28 Feb 2013 00:03
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
MC68k wrote:
не взлетит.

Взлетит, если:
1. Восстановить сигнал INTA (как уже сказано, это M1 И IORQ)
2. Использовать только режим IM 0.


28 Feb 2013 00:51
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
ВН59 выдаёт три байта команды CALL ADDR, по байту на каждый из трёх подряд сигналов процессора /INTA. А 8-разрядный вектор прерывания он не может... Или я что-то неправильно понимаю?


28 Feb 2013 09:48
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Вообще то CALL 00000000 00nnn000 bin
получится похоже на RST 11nnn111 bin
Если я правильно понимаю, о чём Вы тут беседуете...


28 Feb 2013 13:38
Profile
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Post 
На сколько я понял из описания системы прерываний, Z80, в режиме IM0, способен отличить RST от CALL. Это наводит на мысль о стопроцентной эмуляции ответа ВМ80.


28 Feb 2013 13:44
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
HardWareMan wrote:
MC68k wrote:
не взлетит.

Взлетит, если:
1. Восстановить сигнал INTA (как уже сказано, это M1 И IORQ)
2. Использовать только режим IM 0.

это частный случай.

ТС, нужно именно ВН59 задействовать или сделать обработку прерываний, поступающих от разных источников?


28 Feb 2013 19:41
Profile
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Post 
Quote:
ТС, нужно именно ВН59 задействовать или сделать обработку прерываний, поступающих от разных источников?

Нужно через ВН59 сделать обработку прерываний от нескольких источников, с возможностью выставлять для них приоритеты программным способом (при инициализации ВН59 ).
Можно наверное было бы использовать режим IM2, но цель - реализация полноценной восьмибитной ISA шины, соответственно стандарту PC/XT.


01 Mar 2013 00:51
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
сколько тактов самый короткий сигнал прерывания?

а зачем Z80? сдается мне постановка задачи не совсем верная.


01 Mar 2013 01:11
Profile
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Post 
MC68k wrote:
сколько тактов самый короткий сигнал прерывания?

а зачем Z80? сдается мне постановка задачи не совсем верная.


Длительность самого короткого сигнала INT составляет 2 такта Z80.

Сам Z80 выбран как легко доставаемый и способный работать на частоте до20 мГц. (Z84C0020)

Смысл организации ISA совместимой шины - любое внешнее устройство системы (видеоконтроллер, rs-232, часы реального времени, клавиатура, etc... ) должно работать асинхронно процессору и общаться с ним через систему прерываний.


01 Mar 2013 04:05
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
Mario wrote:
MC68k wrote:
сколько тактов самый короткий сигнал прерывания?

а зачем Z80? сдается мне постановка задачи не совсем верная.


Длительность самого короткого сигнала INT составляет 2 такта Z80.

я имел ввиду от устройств.
Quote:
Сам Z80 выбран как легко доставаемый и способный работать на частоте до20 мГц. (Z84C0020)
ok
Quote:
Смысл организации ISA совместимой шины - любое внешнее устройство системы (видеоконтроллер, rs-232, часы реального времени, клавиатура, etc... ) должно работать асинхронно процессору и общаться с ним через систему прерываний.
очень сомнительный выигрыш от этой затеи с ВН59. а что это будет? подобие пека или очередной ультра спектрум? какая операционная система планируется?


01 Mar 2013 04:27
Profile
Writer

Joined: 27 Feb 2013 12:13
Posts: 24
Location: 217.118.81.24
Reply with quote
Post 
MC68k wrote:
я имел ввиду от устройств.

Не меньше 100 наносекунд.
Quote:
очень сомнительный выигрыш от этой затеи с ВН59. а что это будет? подобие пека или очередной ультра спектрум? какая операционная система планируется?

Думаю, это повысит производительность системы.
Система прерываний позволит устройствам самим "решать", когда процессору на них отвлекаться. Процессор, по моему мнению, не должен заниматься опросом внешних устройств или торчать в бесконечном цикле, ожидая "нажатия на клавишу".
Предполагаю использование операционной системы cp/m, ну и железо максимально заточить под ее нужды и возможности.
По скольку cp/m есть нормальная однозадачная RTOS, система аппаратных прерываний, вероятно, должна быть ей как родная.


01 Mar 2013 04:57
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
а я не говорил, что прерывания это плохо. я о том, что ВН59 и Z80 это несколько противоестественно и без костылей тут не обойдется.

Quote:
cp/m
там экран текстовый 80*25, а я в эти игры не играю.


01 Mar 2013 06:04
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 83 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 9 guests


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

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