nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Jun 2017 23:48



Reply to topic  [ 9 posts ] 
i8255 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Заинтересовала меня тут одна ситуация с нашим популярнейшим 55-м портом (КР580ВВ55А aka i8255).

Так, судя по известной по всем мануалам таблице, Регистр Управляющего Слова читать нельзя.
Attachment:
i8255.gif
i8255.gif [ 9.23 KiB | Viewed 150 times ]


Вопрос у меня возник, а что же всё-таки прочитается, если его прочитать?

Вопрос не праздный, в частности, такая ситуация может возникнуть, если в компьютере порты
включены, как ячейки памяти, и мы делаем дамп памяти по этим адресам...
Что считается из Регистра Управляющего Слова i8255?

Жалко, я свой "Специалист_МХ" обратно запрятал... :-? Но может быть кто-либо из своего опыта
знает ответ?

_________________
iLavr


10 Jun 2017 19:33
Profile
Senior

Joined: 18 Nov 2013 18:15
Posts: 162
Location: все оттуда ;)
Reply with quote
Ссылка из педивикии на intel у меня не открывается :( http://download.intel.com/design/archives/periphrl/docs/23125604.pdf

А вот альтернативные http://www.sharpmz.org/download/82c55a.pdf и [url]http://www.datasheet.hk/view_online.php?id=1135008&file=0005\8255a_38897.pdf[/url] гласят, что читается Control word !

Плата с 55 портом в наличии есть. А материнки с ISA, что бы поэкспериментировать увы ....


10 Jun 2017 23:26
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Ситуация такова, что даташиты хоть от Intel, хоть сторонние её не проясняют, иначе бы я и не спрашивал.

Из оригинального даташита на i8255A: Datasheet.hk_8255a_38897.pdf
Attachment:
i8255A.gif
i8255A.gif [ 9.31 KiB | Viewed 133 times ]

Видим, что операция чтения из Регистра Управляющего Слова трактуется как Illegal Condition.

Но реально, оттуда что-то читается, ситуация возникла в реальных условиях на макете -
что-то из Регистра Управляющего Слова читается, и, похоже, не то, что я предполагаю.

Я через пару дней, возможно, увижу этот байт, сейчас на макете некуда пока его вывести,
чтобы увидеть... Но, видимо, это значение меня озадачит, поэтому решил посоветоваться... :wink:


Ну а с 82С55 - ситуация как с таймерами ВИ53\54: у ВИ53 регистр настройки также не читается,
а у ВИ54 - регистр настройки прочитать можно.
Attachment:
82C55.gif
82C55.gif [ 22.81 KiB | Viewed 133 times ]

Отсюда один вывод, который мне ничего не проясняет: 82С55 - это модернизированный i8255A.

Но меня интересует, что же читается вот в тот самый момент, который трактуют как Illegal Condition.
И ситуация ещё интересней, Регистр Управляющего Слова у меня читается сразу после сброса
и процессора и порта, когда в него ещё ничего и не успели записать... :roll:

_________________
iLavr


11 Jun 2017 07:05
Profile
God
User avatar

Joined: 13 Nov 2010 07:06
Posts: 1228
Reply with quote
Могу на "Орионе" в М256 почитать РУС какого-нибудь ВВ55-го. Надо?


11 Jun 2017 09:05
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
VituZz wrote:
Могу на "Орионе" в М256 почитать РУС какого-нибудь ВВ55-го. Надо?

Неудобно было просить, но это было бы просто великолепно, чтобы потом можно было сравнить:
что прочиталось из РУС у тебя на "Орионе", что прочитается у меня на моём макете.

И если не затруднит PVV - тоже попрошу прочитать РУС КР580ВВ55А на его "Специалисте".


P.S. К сожалению состояние подготовки к ремонту в доме вынуждает всё заворачивать в целофан
и прятать. Иначе бы я и на своем "Специалисте" РУС порта ВВ55 прочитал...

_________________
iLavr


11 Jun 2017 09:13
Profile
God
User avatar

Joined: 13 Nov 2010 07:06
Posts: 1228
Reply with quote
Не стал разбираться, что там к чему, просто посчитывал и позаписывал по адресу F603h, где, если мне память не изменяет, находится РУС третьего ВВ55 в "Орионе". Ну, как бы это сказать, что-то читается... :-) После включения там 40h, если же попробовать писать туда разные значения, то считывается в основном 20h, но может быть и 80h, и A0h. Считывается не то, что пишется, и зависит, видимо, от того, что записал туда ранее. Если что-то конкретное надо посмотреть-позаписывать, то я могу, мне это не тяжко... :-)

Использовал EDMEM, не M256. Им оказалось удобнее и сильно быстрее. Может, что не так делал?


11 Jun 2017 10:04
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
VituZz wrote:
После включения там 40h, если же попробовать писать туда разные значения, то считывается в основном 20h, но может быть и 80h, и A0h. Считывается не то, что пишется, и зависит, видимо, от того, что записал туда ранее.

Я что-то такое подозревал... что считывается, возможно, разный код.

У меня ситуация вот какая: в процессе отладки микропроцессор "наезжает" на область портов,
поскольку они включены, как ячейки памяти, и исполняет считанные из портов байты как код.
Вместо всей остальной памяти процессор исполняет NOP из резисторов на ШД.

Известно, что при подаче сигнала начального сброса RESET регистр управляющего слова ВВ55
устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0
на ввод информации.
Поэтому, из портов А, В, С микропроцессор читает то, что я ему резисторами снаружи подставил. :wink:
А вот что он выполняет, читая РУС, я могу сейчас только догадываться - но по осциллограммам
вижу, что точно не NOP и не одно и то же...

_________________
iLavr


11 Jun 2017 10:38
Profile
Senior

Joined: 12 Feb 2016 16:39
Posts: 146
Reply with quote
Я выполнил такую команду:
DF800,F8FF
и получил вывод вида:
00 FB 00 FB 00 FB 00 FB 00 FF 00 FF 00 FF...
если нажимать кнопки на клавиатуре во время вывода, то значение FF меняется и повторяется четное число раз. Такое впечатление, что из адреса управляющего слова считывается предыдущее значение регистра, настроенного на ввод... мс КР580ВВ55 91го года выпуска...


12 Jun 2017 14:28
Profile
Doomed

Joined: 10 Mar 2012 19:21
Posts: 473
Location: РФ
Reply with quote
Хм .. Однако интересно всё сие ..
А у моей самоделки не получится прочитать по адресу У(правляющего)С(лова) .
У меня дешифратор для RD&{A0,A1==1,1} отдельный регистр ввода выбирает.
( потому как нечего пропадать даже одному адресу адресного пространства )


14 Jun 2017 09:21
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: No registered users and 2 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.