nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 15 Oct 2019 18:01



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 09:48
Posts: 414
Reply with quote
Клапауций wrote:
а, как в AVR SPI программно сделать то, что делает пин SS?

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


29 Aug 2018 22:57
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 40
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 2219 times ]

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


30 Aug 2018 06:46
Profile WWW
Novelist
User avatar

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

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


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

software.zip [6.81 KiB]
Downloaded 68 times


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

30 Aug 2018 09:30
Profile WWW
Banned
User avatar

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

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

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 16:43
Profile
Banned
User avatar

Joined: 29 Jun 2018 09:48
Posts: 414
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.

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 17:24
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 40
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 2171 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 2171 times ]


30 Aug 2018 19:48
Profile WWW
Banned
User avatar

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

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

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

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 20:30
Profile
Banned
User avatar

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 20:33
Profile
Banned
User avatar

Joined: 29 Jun 2018 09:48
Posts: 414
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;} // сложить всё бобро в массив и распечатать массив в экран.
}

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 20:44
Profile
Banned
User avatar

Joined: 29 Jun 2018 09:48
Posts: 414
Reply with quote
del

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


30 Aug 2018 22:36
Profile
Novelist
User avatar

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

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

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

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


31 Aug 2018 00:30
Profile WWW
Banned
User avatar

Joined: 29 Jun 2018 09:48
Posts: 414
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 2146 times ]

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o
31 Aug 2018 00:42
Profile
Novelist
User avatar

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


01 Sep 2018 11:28
Profile WWW
Banned
User avatar

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

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

_________________
https://klapautsiy.github.io/The-displa ... ika-MK-85/ или приобрету ИЖВ1-12/5х7
гугл, печеньки и пин SS \o \o \o


01 Sep 2018 11:48
Profile
Novelist
User avatar

Joined: 14 Aug 2018 15:30
Posts: 40
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 2026 times ]


02 Sep 2018 12: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 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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.