Разбираем dx7

Kappitoshka

Имею dx7 с “backup error” для переделки под соседний топик.
Цель этого частично разобраться в схемотехнике dx7, для того чтобы воспользоваться.

😃

Кусочек схемы тренер ученик.
Пытаюсь сообразить как она работает и не получается

4w53 - двух канальный мультиплексор tc4w53fu.
24 и 637 – ?.
Такое ощущение что 24 - это полевик (как биполярник не звонится)

Имею декодированный spi сигнал с индикатора (128x64, 20pin шлейф, spi):
инициализация:
F1 17 93 54 B1 51 E4 50 E9 84 D7 C0 87 5B 08 00
Кто бы подсказал, что за контролер? Или в какую сторону копать?

Aleksey_Gorelikov
Kappitoshka:

Имею декодированный spi сигнал с индикатора (128x64, 20pin шлейф, spi):
инициализация:
F1 17 93 54 B1 51 E4 50 E9 84 D7 C0 87 5B 08 00
Кто бы подсказал, что за контролер? Или в какую сторону копать?

Копать в сторону “бакап эррор.” Т.е. подключение стекляшки срисовать, инициализацию вы уже отснифили, осталось только “бакап эррор” в протоколе разглядеть. 99% работы вы уже сделали. Зарисуйте надпись в тетрадке в клеточку и найдите в потоке данных эти байты.

9 days later
HATUUL

Извените что вмешиваюсь со своими вопросами.
А вы способом с помощью морозилки не пробовали?
У кого-то даже сработало.Точнее заработала.😉

Voldemaar
Kappitoshka:

Имею dx7 с “backup error” для переделки под соседний топик.

Aleksey_Gorelikov:

99% работы вы уже сделали. Зарисуйте надпись в тетрадке в клеточку и найдите в потоке данных эти байты.

Алексей, “соседний топик” это - rcopen.com/forum/f8/topic28745 Берите пример с Хатуула:

HATUUL:

А вы способом с помощью морозилки не пробовали?

… у него, по крайней мере, всегда смешно получается 😁

Aleksey_Gorelikov
Voldemaar:

Алексей, “соседний топик” это - rcopen.com/forum/f8/topic28745

К чему это? Я прекрасно понял о чем речь. Если вы не догнали, что значит зарисовать в тетради в клеточку и найти в потоке байт совпадения - извините. Поясню, к примеру первая буква “B” это 0x7F,0x49,0x49,0x49,0x3E,0x00,… или что-то весьма похожее, для этого в тетрадку и надо нарисовать…

А насчет холодильника - у кого-то из буржуев и тумблером подергать помогало. Но 99,999% либо в ремонт, либо на помойку… Пляски с бубнами, микроволновками и холодильниками не проходят 😦

HATUUL

Только что посмотрел фильм “АВАТАР” хоть и фэнтези ,НО а вдруг бубны и вправду помогают.
Кстати у жирика кажись 8 канальный,при переставки модов с заменой джемперов на каком-то этапе в обязательном порядке вылазиет “бэкап” и там есть инструкция,что делать.Надо покопать,сто процентов видел где-то здесь инфо про это.

Aleksey_Gorelikov

Там надо зайти в скрытое меню и перекалибровать джойстики. Только ДХ7 - не помогает. В скрытом меню все калибруется, вроде как часть памяти перешивается (покрайней мере штатно просит для окончания перешивки выключить питание, после выключения пробегает прогрессбар до конца, проц выключает передатчик). Но бакап ерро не пропадает. Можно после захода в скрытое меню - выйти из него. Тогда аппа работает, до выключения. Можно даже по менюшке моделей полазить, понастраивать… 😃 Толку только 0!

Kappitoshka

На сколько я понимаю то там контрольнай сумма не совпадает - а этому морозилка не поможет (сам когдато платы от винчестеров морозил 😂)

В spi логе есть такие данные дисплея (hex, непосредственно так подряд и идут):

7E 12 12 12 6C 00
7C 22 22 22 7C 00
7C 02 02 02 44 00
7E 10 28 44 02 00
7E 00 00 00 7E 00
7E 12 12 12 0C 00
00 00 00 00 00 00
7E 12 12 12 02 00
7E 12 32 52 0C 00
7E 12 32 52 0C 00
7C 02 02 02 7C 00
7E 12 32 52 0C 00

Их можно на прямую отождествить с “backup error” ?

Переодически еще идут команды типа
59 88

Полный лог прикладываю. Там sdi следует понимать как данные, sdo как сигнал D/C. spi захватывал логическим анализатором (Спасибо Aleksey_Gorelikov) на всякий случай при 24Msps (чтобы clk получался)

Да это лог включения, выключение пока не смотрел. Думал может найду какой же всетаки там контролер.

lcd-spi.zip

Aleksey_Gorelikov

У тебя снифилка глючит!!! Бакап еррор есть, с ошибкой в первых паре битов. Я ж тебе говорил в двоичном формате разрисовать на личте в клетку!!! Я тебе разрисовал, акк у фотика зарядится - сфоткаю выложу.

Добавлю. Поздравляю!!! Инициализация у тебя (почти правильная) есть, вывод байта на дисплей - есть! УРА! Дисплей можно юзать!

Kappitoshka:

7E 12 12 12 6C 00
7C 22 22 22 7C 00
7C 02 02 02 44 00
7E 10 28 44 02 00
7E 00 00 00 7E 00
7E 12 12 12 0C 00
00 00 00 00 00 00
7E 12 12 12 02 00
7E 12 32 52 0C 00
7E 12 32 52 0C 00
7C 02 02 02 7C 00
7E 12 32 52 0C 00

Их можно на прямую отождествить с “backup error” ?

Короче вот: Размалевал наспех, единицы розовым маркером обвел, что неправильно и не хватает - зелененьким.
Похоже нехватает нижней строчки у букв, но это вполне возможно шрифт не 8, а 9 бит высотой. Или графический режим ж…, если как у Фокуса из буффера выводится - возможно просто строки дисплея со строкой вывода не совпали и след. строкой куски от букв дорисовываются (в логе что-то мелькает еще) Или связано со следующим: Первый бит, а метсами и второй - неправильные. Ты по какому фронту клока данные защелкивал??? Короче - посчитай квадратики у букв при ближайшем рассмотрении на дисплее и поколдуй со снифилкой. Может до инвертора клок имеет смысл подсоединять? Или же наоборот, данные после него… Или и то и другое?.. Лог у тебя я не совсем понял, если честно… Но думать уже не могу… Бошка не соображает. Пойду спать.

Можешь зайти в сервисный режим и заснифить менюху от него. Там много чего на дисплее есть, посидев подумав - можно будет вычислить в чем твоя снифилка ошибается. Ну это если ты ее так не раскопаешь.
В сервисное меню вход - счелкать правый верхний тумблер туда-сюда попеременно с правыми кнопками вверх-вниз. Т.е. тумблер в низ, кнопка вниз, тумблер вверх - кнопка вверх. И так раз 5 повторить. Что вверх, что в низ - могу и перепутать, но комбинаций не много - найдешь.

З.З.Ы. Вот и продолжения букв:

524,36ms
SDO: 00 00 80 00 00 80 80 80
SDI: FF FF FF FF FF FF FF FF

524,51ms
SDO: 00 00 80 00 00 00 00 00
SDI: FF FF FF FF FF FF FF FF

524,66ms
SDO: 00 00 00 00 00 00 80 80
SDI: FF FF FF FF FF FF FF FF

524,81ms
SDO: 80 80 80 00 80 00 00 00
SDI: FF FF FF FF FF FF FF FF

524,96ms
SDO: 80 00 80 00 00 00 80 00
SDI: FF FF FF FF FF FF FF FF

525,11ms
SDO: 00 80 80 80 00 00 80 00
SDI: FF FF FF FF FF FF FF FF

Только продолжение не в ту сторону!!! Должно быть по идее не 80, а 01 !!! Т.е. у тебя сдвиг в снифилке не в ту сторону сдвигает! Надо направление сдвига поменять, должно сростись! Дисплей походу с “отражением” работает,… В двоичке буквы зеркальные получатся, но на оригинал похожи будут.

Aleksey_Gorelikov

З.Ы. еще раз… Со сдвигом в другую сторону тоже как-то вроде бы не сростается… Попробуй выпаять кварц из ДХ7 и поставить раза в 2-3 меньше. Проц завестись вроде бы должен, может тогда снифер глючить не будет…

Kappitoshka

Я тоже по ночам ковыряюсь (дорываюсь до железок) 😵

С буквами и клеточками понял, спасибо.

Очень похоже, что гдето снифирилка врет. Хотя, я захватывал по повышению фронта, а может нужно было по понижению (сегодня гляну повнимательней).
Тогда может и в инициализацию закралась неточность - вот ведь, а я лопачу интернет в поисках подходящего контролера.

Зайти в сервисный режим - хорошая идея.

А вообще spi с какой выборкой оптимальней захватывать?
Или найти частоту clk умножить ее скажем на 3-4 (чтобы уж точно попасть) и так и захватывать?

Aleksey_Gorelikov
Kappitoshka:

А вообще spi с какой выборкой оптимальней захватывать?
Или найти частоту clk умножить ее скажем на 3-4 (чтобы уж точно попасть) и так и захватывать?

СПИ - синхронный протокол. Для этого синхронизация и передается. Засчелкивать данные нужно по фронту или спаду синхроницазии. Вобще возможны 4 варианта. Подробнее www.gaw.ru/html.cgi/txt/interface/spi/index.htm

Kappitoshka

Все оказалось достаточно просто: spi декодер захватывал в самом начале лишний фронт 😃.

Обновленный лог я прикладываю.

Разлинеивание в клеточку говорит, что “backup error” записыватся за два захода (первый на половину проверил - все правильно).

Сравнение строки инициализации с контролером SED1565:

E2 = 11100010 Internal reset
2F = 00101111 Power control set (сколькото)
26 = 00100110 Internal resistor ratio (сколькото)
A9 = 10101001
62 = 01100010 Set start line address 100010=0x22
A3 = 10100011 Sets the LCD drive voltage bias ratio
C8 = 11001000 Select COM output scan direction (reverse direction)
A1 = 10100001 ADC select. Sets the display RAM address SEG output correspondence (reverse)
D3 = 11010011
09 = 00001001
AF = 10101111 ON
81 = 10000001 Set the V5 output voltage electronic volume register
0E = 1110 register
B6 = 10110110 Sets the display RAM page address 0110=0x6
10 = 00010000 Column address set upper bit 0000=0x0

ИТОГО: я склоняюсь к тому, что в DX7 стоит lcd с контролером SED1565 (или родственным)

lcd-dx7.zip

Kappitoshka

0xA9 - это скорее всего расширеная команда, тогда 0x62 значение
0xD3 и 0x09 - аналогично

частота clk - приблизительно 430КГц.

Aleksey_Gorelikov

Поздравлямс! Собсвтенно - какой контроллер - тебе особо не важно, если для переделки для “соседней” ветки. Посмотри только как контрастностью управлять еще. С бакапэррором контрастность рулится (возможно в системном меню… А может и так). Все что тебе надо - инициализация и вывод символа - уже есть… Ну и контрастность выставить.

Kappitoshka

Схема отдельной платки питания (там, где выключатель).

Судя по прозвонке и подключению: транзисторы полевые.
Подписи к разъему мои.

Там, к стати, бузер какой?