Генератор тактовых импульсов "Электроника МК-85"

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

Клапауций wrote:а, как в AVR SPI программно сделать то, что делает пин SS?
ок. как всегда, если желаешь хорошо спрятать - положи на самом видном месте:

Code: Select all

SPCR |=  (1<<SPE); //  включить SPI
SPCR &= ~(1<<SPE); // выключить SPI
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

Я посмотрел сигналы SHIFT, AD, SYNC логическим анализатором и вот что заметил:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
2. спад сигнала SYNC наступает позже чем SHIFT
3. лишние импульсы SYNC
8a.png
7a.png
You do not have the required permissions to view the files attached to this post.
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

Я попробовал построить внешний дисплей для МК-85 с применением USI. Вроде получилось, устройство работает надёжно даже в турбо режиме и при пониженной до 6 МГц тактовой частоте ATtiny.
IMG_1178.JPG
schemat.png
You do not have the required permissions to view the files attached to this post.
Last edited by piotr433 on 05 Sep 2018 22:30, edited 2 times in total.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

piotr433 wrote:Я попробовал построить внешний дисплей для МК-85 с применением USI. Вроде получилось, устройство работает надёжно даже в турбо режиме и при пониженной до 6 МГц тактовой частоте ATtiny.
спасибо.
а, мне захотелось того же но не на USI, которого я не нашёл на старших AVR, а на SPI, который есть практически во всех.

*важная заметка о растактовке сигналов SHIFT, AD, SYNC будет в посте ниже.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

piotr433 wrote:Я посмотрел сигналы SHIFT, AD, SYNC логическим анализатором и вот что заметил:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
2. спад сигнала SYNC наступает позже чем SHIFT
3. лишние импульсы SYNC
всё похоже, но за малыми, но существенными отличиями для:

Code: Select all

ЭЛЕКТРОНИКА МК-85
ЗАВ.№ 048817
ДАТА ВЫПУСКА IV 1992 г.
СВОБОДНАЯ РОЗНИЧНАЯ ЦЕНА
СДЕЛАНО В СССР
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами:
1. первая версия(программная) контроллера дисплея программно считала количество импульсов SHIFT(тогда и обратил на это внимание, но т.к. описанию протокола оно не противоречит, поэтому принял как должное).
2. вторая версия(регистры сдвига) складывала 16-ть бит в регистры сдвига - если бы было не 16-ть, а меньше или больше, то байты "дата", "адрес" не оказывались бы каждый в своём аппаратном регистре.
3. третья версия(SPI) делает прерывание каждые 8-мь бит, выщёлкивая байт в регистр SPDR - возможно и существует способ передать по SPI меньше 8-ми бит, но никак не по событию прерывания.
2. спад сигнала SYNC наступает позже чем SHIFT
ок. это не критично - для меня важен переход сигнала SYNC с "0" в "1", когда переданы два байта.
*хотя, как бы так и должно быть - переход SYNC с "0" в "1", так же, происходит после спада сигнала SHIFT.
3. лишние импульсы SYNC
так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами
Это интересное наблюдение. В статьи "Электроника МК-85": подковать калькулятор упоминается о существовании разных вариантов процессора КА1013ВМ1. Возможно для микросхемы 1013ВГ2 точное количество битов данных не критично и она принимает только первые 5 битов, остальные игнорирует.
ka-1013-vm1.jpg
Но всё-таки, логический анализатор надо иметь. Восьмиканальные клоны Saelae с частотой дискретизации до 24 МГц стоят на eBay 6-7 долларов.
так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.
Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.

Ещё выдержка из технического описания КА1013ВМ1:
022.png
You do not have the required permissions to view the files attached to this post.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

piotr433 wrote:Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.
верно.
и, наверняка они сопровождаются параллельным потоком данных по шинам "адрес", "данные" микросхемы RAM.
piotr433 wrote:Ещё выдержка из
верно - но нигде же не указано, что рисунок - это график с разрывами или нам предоставлен непрерывный временной промежуток.
в различных в текстовых описаниях НИГДЕ не указано, что передаётся именно 5-ть бит, но ВЕЗДЕ указано, что нужно оперировать 5-ю младшими битами байта(ой! а, откуда же байт, если всего 5-ть бит?)
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

Piotr, я более чем уверен, что вы снимали логи с МК-85 с красной платой - т.е. это одна из первых ревизий сабжа.
я угадал?
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

может так будет понятно, чем я сейчас занят - цитата из кода: настройки SPI, обработчики прерываний.
оно работает, но где-то я промахиваюсь аппаратно - качестве буфера между процессором МК-85 и ATmega16 используется sn74hc244.

Code: Select all

//настройки SPI
SPCR = 0;
SPCR |=  (1<<CPHA); // SPI mode 1
SPCR |=  (1<<DORD); // младший бит первым
SPCR |=  (1<<SPIE); // включить прерывание SPI
SPCR |=  (1<<SPE);  // включить SPI

// обработчики прерываний.

ISR(SPI_STC_vect) { // прерывание SPI - получено 8-мь бит(1 байт).
if (mode_byte == 0) {// первый байт - в переменную "address"
address = ~SPDR - 0x80;
mode_byte = 1;
}
else                {// второй байт - в переменную "data"
data = ~SPDR;
SPCR &= ~(1<<SPE); // выключить SPI
mode_byte = 0;
}
}

ISR(INT1_vect) {// прерывание SYNC - SYNC изменился с "0" в "1".
SPCR |=  (1<<SPE); //  включить SPI
if (address <= 0x68 /*0xE8 - 0x80*/) {LCD_MK85[address] = data; print_screen = 1;} // сложить всё бобро в массив и распечатать массив в экран.
}
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

del
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

верно.
и, наверняка они сопровождаются параллельным потоком данных по шинам "адрес", "данные" микросхемы RAM
Я лишь теперь понял, что сигналы SYNC для дисплея и W/R для ОЗУ - одно и тоже :oops:
Спасибо!
Piotr, я более чем уверен, что вы снимали логи с МК-85 с красной платой - т.е. это одна из первых ревизий сабжа.
я угадал?
Нет, плата зелёная, дата выпуска III 1991, процессор обозначен Т36ВМ1-2, 9005, ОП-опытный. Но у меня есть ещё другие, я их тоже проверю.
цитата из кода: настройки SPI, обработчики прерываний
Замечаний к коду у меня нет, может это действительно аппаратная проблема.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

piotr433 wrote:Нет, плата зелёная, дата выпуска III 1991, процессор обозначен Т36ВМ1-2, 9005, ОП-опытный. Но у меня есть ещё другие, я их тоже проверю.
ок. спасибо.
иначе бы получал от народа, кто захотел бы повторить, что у них не работает, т.к. до 8-ми бит недощёлкивает - теперь буду знать.

внешний вид процессора на моём МК-85 - всё то же, только дата выпуска 9204
You do not have the required permissions to view the files attached to this post.
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

Микропроцессор Т36ВМ1-2 датирован 9105 ведёт себя так же. Более поздних у меня нет :(
9105.png
You do not have the required permissions to view the files attached to this post.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 08:48

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by Клапауций »

piotr433 wrote:Микропроцессор Т36ВМ1-2 датирован 9105 ведёт себя так же. Более поздних у меня нет :(
ок. спасибо.
зато, он есть у меня.
если кто не верит, что на процессоре Т36ВМ1-2 даты выпуска 9204 всегда передаётся 8-бит, то выше я приводил методы проверки.
viewtopic.php?f=95&t=18901&p=146822#p146723
User avatar
piotr433
Novelist
Posts: 49
Joined: 14 Aug 2018 14:30
Location: Szczecin, Польша

Re: Генератор тактовых импульсов "Электроника МК-85"

Post by piotr433 »

если кто не верит, что на процессоре Т36ВМ1-2 даты выпуска 9204 всегда передаётся 8-бит, то выше я приводил методы проверки.
Я не спорю, мне просто любопытно.

Мне заинтересовало, как микросхема Т36ВГ1 обрабатывает нештатное количество битов. Результаты проверки:
1. используются 8 последних битов адреса, все предыдущие игнорируются
2. используются 5 начальных битов данных, все следующие игнорируются

Так что вполне допустимо наличие 8 битов данных.
vg1.png
You do not have the required permissions to view the files attached to this post.