nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 19:21



Reply to topic  [ 105 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Генератор тактовых импульсов "Электроника МК-85" 
Author Message
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
Клапауций wrote:
а, как в AVR SPI программно сделать то, что делает пин SS?

ок. как всегда, если желаешь хорошо спрятать - положи на самом видном месте:
Code:
SPCR |=  (1<<SPE); //  включить SPI
SPCR &= ~(1<<SPE); // выключить SPI


29 Aug 2018 21:57
Profile
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Я посмотрел сигналы SHIFT, AD, SYNC логическим анализатором и вот что заметил:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
2. спад сигнала SYNC наступает позже чем SHIFT
3. лишние импульсы SYNC
Attachment:
8a.png
8a.png [ 7.08 KiB | Viewed 7645 times ]

Attachment:
7a.png
7a.png [ 7.67 KiB | Viewed 7645 times ]


30 Aug 2018 05:46
Profile WWW
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Я попробовал построить внешний дисплей для МК-85 с применением USI. Вроде получилось, устройство работает надёжно даже в турбо режиме и при пониженной до 6 МГц тактовой частоте ATtiny.
Attachment:
IMG_1178.JPG
IMG_1178.JPG [ 209.49 KiB | Viewed 7635 times ]

Attachment:
schemat.png
schemat.png [ 2.78 KiB | Viewed 7635 times ]


Attachments:
File comment: обновление 06.08.2018
1. исправлена ошибка версии на языке Си
2. добавлена эквивалентная версия на ассемблере

software.zip [6.81 KiB]
Downloaded 325 times


Last edited by piotr433 on 05 Sep 2018 22:30, edited 2 times in total.

30 Aug 2018 08:30
Profile WWW
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
piotr433 wrote:
Я попробовал построить внешний дисплей для МК-85 с применением USI. Вроде получилось, устройство работает надёжно даже в турбо режиме и при пониженной до 6 МГц тактовой частоте ATtiny.

спасибо.
а, мне захотелось того же но не на USI, которого я не нашёл на старших AVR, а на SPI, который есть практически во всех.

*важная заметка о растактовке сигналов SHIFT, AD, SYNC будет в посте ниже.


30 Aug 2018 15:43
Profile
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
piotr433 wrote:
Я посмотрел сигналы SHIFT, AD, SYNC логическим анализатором и вот что заметил:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
2. спад сигнала SYNC наступает позже чем SHIFT
3. лишние импульсы SYNC


всё похоже, но за малыми, но существенными отличиями для:
Code:
ЭЛЕКТРОНИКА МК-85
ЗАВ.№ 048817
ДАТА ВЫПУСКА IV 1992 г.
СВОБОДНАЯ РОЗНИЧНАЯ ЦЕНА
СДЕЛАНО В СССР


Quote:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT

импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами:
1. первая версия(программная) контроллера дисплея программно считала количество импульсов SHIFT(тогда и обратил на это внимание, но т.к. описанию протокола оно не противоречит, поэтому принял как должное).
2. вторая версия(регистры сдвига) складывала 16-ть бит в регистры сдвига - если бы было не 16-ть, а меньше или больше, то байты "дата", "адрес" не оказывались бы каждый в своём аппаратном регистре.
3. третья версия(SPI) делает прерывание каждые 8-мь бит, выщёлкивая байт в регистр SPDR - возможно и существует способ передать по SPI меньше 8-ми бит, но никак не по событию прерывания.

Quote:
2. спад сигнала SYNC наступает позже чем SHIFT

ок. это не критично - для меня важен переход сигнала SYNC с "0" в "1", когда переданы два байта.
*хотя, как бы так и должно быть - переход SYNC с "0" в "1", так же, происходит после спада сигнала SHIFT.

Quote:
3. лишние импульсы SYNC

так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.


30 Aug 2018 16:24
Profile
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Quote:
импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами

Это интересное наблюдение. В статьи "Электроника МК-85": подковать калькулятор упоминается о существовании разных вариантов процессора КА1013ВМ1. Возможно для микросхемы 1013ВГ2 точное количество битов данных не критично и она принимает только первые 5 битов, остальные игнорирует.
Attachment:
File comment: Один из вариантов реализации "сердца" МК-85 - процессора КА1013ВМ1
ka-1013-vm1.jpg
ka-1013-vm1.jpg [ 33.15 KiB | Viewed 7597 times ]


Но всё-таки, логический анализатор надо иметь. Восьмиканальные клоны Saelae с частотой дискретизации до 24 МГц стоят на eBay 6-7 долларов.

Quote:
так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.

Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.

Ещё выдержка из технического описания КА1013ВМ1:
Attachment:
022.png
022.png [ 10.26 KiB | Viewed 7597 times ]


30 Aug 2018 18:48
Profile WWW
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
piotr433 wrote:
Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.

верно.
и, наверняка они сопровождаются параллельным потоком данных по шинам "адрес", "данные" микросхемы RAM.

piotr433 wrote:
Ещё выдержка из

верно - но нигде же не указано, что рисунок - это график с разрывами или нам предоставлен непрерывный временной промежуток.
в различных в текстовых описаниях НИГДЕ не указано, что передаётся именно 5-ть бит, но ВЕЗДЕ указано, что нужно оперировать 5-ю младшими битами байта(ой! а, откуда же байт, если всего 5-ть бит?)


30 Aug 2018 19:30
Profile
Banned
User avatar

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


30 Aug 2018 19:33
Profile
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
может так будет понятно, чем я сейчас занят - цитата из кода: настройки SPI, обработчики прерываний.
оно работает, но где-то я промахиваюсь аппаратно - качестве буфера между процессором МК-85 и ATmega16 используется sn74hc244.
Code:
//настройки 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;} // сложить всё бобро в массив и распечатать массив в экран.
}


30 Aug 2018 19:44
Profile
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
del


30 Aug 2018 21:36
Profile
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Quote:
верно.
и, наверняка они сопровождаются параллельным потоком данных по шинам "адрес", "данные" микросхемы RAM

Я лишь теперь понял, что сигналы SYNC для дисплея и W/R для ОЗУ - одно и тоже :oops:
Спасибо!
Quote:
Piotr, я более чем уверен, что вы снимали логи с МК-85 с красной платой - т.е. это одна из первых ревизий сабжа.
я угадал?

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

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


30 Aug 2018 23:30
Profile WWW
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
piotr433 wrote:
Нет, плата зелёная, дата выпуска III 1991, процессор обозначен Т36ВМ1-2, 9005, ОП-опытный. Но у меня есть ещё другие, я их тоже проверю.

ок. спасибо.
иначе бы получал от народа, кто захотел бы повторить, что у них не работает, т.к. до 8-ми бит недощёлкивает - теперь буду знать.

внешний вид процессора на моём МК-85 - всё то же, только дата выпуска 9204


Attachments:
t36vm1-2.jpg
t36vm1-2.jpg [ 23.79 KiB | Viewed 7572 times ]
30 Aug 2018 23:42
Profile
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Микропроцессор Т36ВМ1-2 датирован 9105 ведёт себя так же. Более поздних у меня нет :(
Attachment:
9105.png
9105.png [ 1.42 KiB | Viewed 7500 times ]


01 Sep 2018 10:28
Profile WWW
Banned
User avatar

Joined: 29 Jun 2018 08:48
Posts: 413
Reply with quote
piotr433 wrote:
Микропроцессор Т36ВМ1-2 датирован 9105 ведёт себя так же. Более поздних у меня нет :(

ок. спасибо.
зато, он есть у меня.
если кто не верит, что на процессоре Т36ВМ1-2 даты выпуска 9204 всегда передаётся 8-бит, то выше я приводил методы проверки.
viewtopic.php?f=95&t=18901&p=146822#p146723


01 Sep 2018 10:48
Profile
Novelist
User avatar

Joined: 14 Aug 2018 14:30
Posts: 49
Location: Szczecin, Польша
Reply with quote
Quote:
если кто не верит, что на процессоре Т36ВМ1-2 даты выпуска 9204 всегда передаётся 8-бит, то выше я приводил методы проверки.

Я не спорю, мне просто любопытно.

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

Так что вполне допустимо наличие 8 битов данных.
Attachment:
vg1.png
vg1.png [ 903 Bytes | Viewed 7452 times ]


02 Sep 2018 11:56
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 105 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

Who is online

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