Что можно сделать из дисплея от магнитолы
Подключение панели от магнитолы к ПК
Всем привет. Вопрос простой и сложный одновременно. Есть приятная панелька от магнитолы Sony CDX-GT710. Нашёл мануал по ремонту. Там и схема вся приведена и всё такое. Вопрос наверное только в одном, как управлять изображением на экране? Судя по всему тут обычные RX/TX. Но как организуется передача данных, постранично, или просто непрерывно передаётся? Не до конца понимаю. Может кто имел дело? Да и с кнопками не совсем ясно. Енкодер как и кнопки управляются через всё тот же процессор, что и экран (M30876MJB). Пока читаю всё это. Если кто чем может помочь, заранее спасибо.
У меня не на столько всё амбициозно и я никому не собираюсь ничего доказывать. Получится - хорошо.
Chip, в случае с сегментными экранами я вполне представляю способ применения данного устройства, но в случае с использованием грифического экрана мне не совсем ясно что да как.
ну и что мы там видим?
- 1 провод резистивные кнопки
- 2 провода энкодер
- 5 проводов серийная шина дисплея, похожа на SPI
играй - нехочу
PS 36 страница
Пока ищу переходничёк, желательно с софтом, USB=>I2C. Кто знает готовое и недорогое решение - буду рад.
Chip, DS - это имеется ввиду что? =)
(vS), ага, уже насмотрелся ;-)
Мне что-то подсказывает, чито можно будет использовать уже заложеные в процессор инструкции без его перепрошивки. Ведь он голове отдавал всё, что надо: команды на срабатывание разных кнопочек. Ну а голова ему тоже всё необходимое: название трэков, каталоги. Интересненько.
ЗЫж если подумать, то мультики в се в процессоре прикольно.
Также занят поиском питания 55 вольт для пджига экрана xD
Пока ищу переходничёк, желательно с софтом, USB=>I2C. Кто знает готовое и недорогое решение - буду рад.
Chip, DS - это имеется ввиду что? =)
[B]
Как я "воскрешал" панельку от магнитолы AKAI можно почитать здесь (тыц!). Теперь очередь дошла до следующего пациента: панель от магнитолы Panasonic CQ-C1300, до своей кончины в прошлой жизни выглядела эта панель так:
Панель вместе с магнитолой досталась мне примерно в 2006 году вместе с машиной. Экземпляр был уже изрядно потрепан. Работало только радио, никаких USB-разъемов для флешки, никаких линейных входов, механизм CD-привода восстановлению не подлежал — короче ремонт признан не целесообразным. Куда делся корпус от панели и кнопки я не помню, короче сейчас "пациент" выглядит так:
На обратной стороне имеем привычный для всех разъем и драйвер ЖКИ LC75854:
В интернете был найден сервис-мануал со схемой магнитолы и документация на драйвер. Распиновка разъема панели следующая:
Нам нужны следующие контакты: GND — земля; VDD5V — питание +5 В; LCD.CE, LCD.CLK, LCD.DI — для получения данных от микроконтроллера. Я еще контакт ILL.10V — подключил к +5 В, что бы иметь хоть слабую подсветку (для полной нужно подавать, как не трудно догадаться +10 В).
Если на панели будет использоваться установленный энкодер, то нужно использовать выводы ROTARY1 и ROTARY2, которые напрямую идут к энкодеру, для получения данных с инфракрасного датчика (если будет использоваться пульт Ду) — RMDATA.
С припаиванием проводов к разъему проблем не возникает, отличная латунь. Так же как и в первой части использован микроконтроллер ATMega32 c 16 МГц кварцем. Точно так же для управления драйвером экрана используем ногу микроконтроллера CLK (PB7) которая подключается к ноге LCD.CLK драйвера для тактирования сигнала данных, и ногу MOSI (PB5), которая подключается к ноге LCD.DI драйвера для передачи данных. LCD.CE драйвера может быть подключена к любому свободному порту микроконтроллера, от неё много не требуется, только время от времени менять свое состояние с 0 на 1.
Формат передачи данных следующий:
Всё тот же SPI, но несколько более громоздко, чем это было с панелью от AKAI. Передавать нужно блоками, каждый блок начинается с посылки адреса драйвера, после чего устанавливается логическая единица на ноге CE, передаются данные и CE в конце каждого блока снова устанавливается в ноль.
Следует обратить внимание, что в конце первого блока передаются контрольные биты (я бы назвал их битами конфигурации), которыми задаются режим работы ЖК-драйвера, схема подключения самого экрана к драйверу и схема подключения кнопок, опрашиваемых этим драйвером. Да-да… можно не расходовать ресурсы управляющего микроконтроллера на опрос кнопок.
// Начинаем передачу второго блока
// Устанавливаем низкий логический уровень
LCD_CE = 0;
// Передаем CCB-адрес
spi ( 0x42 );
// Устанавливаем высокий логический уровень
LCD_CE = 1;
// Начинаем передавать данные
spi ( 0xFF ); // Восьмые 8 бит
spi ( 0xFF ); // Девятые 8 бит
spi ( 0xFF ); // Десятые 8 бит
spi ( 0xFF ); // 11-е 8 бит
spi ( 0xFF ); // 12-е 8 бит
// Последние два байта в блоке передача нулей и два последних бита — счетчик
spi ( 0x00 ); // 13-е 8 бит
spi ( 0x80 ); // 14-е 8 бит
// Устанавливаем низкий логический уровень
LCD_CE = 0;
// Всё, передача второго блока данных закончена
// Начинаем передачу четвертого (последнего) блока
// Устанавливаем низкий логический уровень
LCD_CE = 0;
// Передаем CCB-адрес
spi ( 0x42 );
// Устанавливаем высокий логический уровень
LCD_CE = 1;
// Начинаем передавать данные
spi ( 0xFF ); // 22-е 8 бит
spi ( 0xFF ); // 23-е 8 бит
spi ( 0xFF ); // 24-е 8 бит
spi ( 0xFF ); // 25-е 8 бит
spi ( 0xFF ); // 26-е 8 бит
На ЖК-индикаторе получаем следующее:
Хочется отметить, что в отличии от экрана магнитолы AKAI, этот экранчик имеет очень не плохие углы обзора. Я попытался сфотографировать экран под углами, качество отвратное, но всё же видно что:
Не знаю у кого как, но у меня за много лет (и машин) скопилось небольшое количество панелей управления и индикации от старых магнитол. Частично эти магнитолы стали донорами для других электронных устройств, но ЖК экраны так и остались невостребованными. При этом экраны совсем не плохи, они изготавливались для работы в достаточно жестких условиях. Загляните на сайт любого производителя электронных компонентов, там обязательно есть продукция для гражданского применения, промышленного и отдельной категорией для автомобильного транспорта, потому что к этой категории особые требования по условиям эксплуатации – перепады температур, влажность, механические воздействия (тряска, например), импульсные помехи по напряжению и т.д.
Минусов у таких экранов только два: 1) Малая информативность. Как правило, это индикатор на несколько знакомест, не способный для воспроизведения внятного текста. 2) Большое количество ненужных индикаторов, которые только отнимают место у полезной площади экрана и в изделиях самостоятельного изготовления не используются. Но есть задачи, когда текстовая информация и не нужна, зато такие дисплеи неплохо показывают цифровые значения достаточно крупными символами. А индикаторы можно и не использовать. Поэтому я подумал, почему бы не «оживить» эти индикаторы для возможного повторного использования. Вот мои «пациенты»:
Две панельки от Kenwood, одна Panasonic и самая маленькая от Akai.
ЧАСТЬ 1. AKAI DDV-805
Начну с панельки от Akai. Это собственно даже не панелька, это часть панельки, которая устанавливалась в торец выдвигающегося монитора магнитолы по длинной стороне. То есть, коuда семи дюймовый монитор «прятался» в корпусе магнитолы, этот экран становилось видно, он включался и что-то такое показывал. Начал я с него не случайно, очень уж мне понравились его миниатюрные размеры. Размер платы всего 165 х 16 мм. На плате имеются 4 кнопки. Управляется ЖК-дисплей специальным драйвером типа LC75823.
Первым делом нашел схему от этой магнитолы AKAI и документацию на драйвер. Как видно из схемы, драйвер управляет только экраном (в остальных «подопытных» панельках он еще и кнопки опрашивает), а кнопки разведены на одну шину так любимыми китайцами резистивными делителями. Красным я показал изменения, которые внес в схему опороса кнопок, у кнопок проставлены расчётные значения напряжения которые будут на входе АЦП управляющего микроконтроллера.
Перво-наперво избавился от разъема под гибкий шлейф, сдул его феном. Подпаиваться проводами к площадкам разъема с шагом в 0,5 мм весьма затруднительно. Хорошо, что производитель предусмотрел контрольные площадки на плате, вот к ним я и припаял провода. Аккуратно разложил их и намертво зафиксировал прямо на плате суперклеем. На концы проводов приклеил бумажные маркеры, это исключит путаницу в проводах.
По факту (схеме) если временно отбросить кнопки и подсветку, то нам нужны всего лишь 5 проводов, из них 2 – это питание и земля, 3 – для передачи данных.
По документации на ЖК-драйвер для передачи данных используется Serial Data с поддержкой CCB и в примечаниях указано, что CCB – это торговая марка, принадлежащая SANYO, что это оригинальный формат обмена данными и принадлежит он только SANYO. Чисто из уважения к SANYO сделаю вид, что напуган и растерян, однако посмотрим на формат передачи данных из технической документации на драйвер:
Оказывается это обычный последовательный протокол SPI, единственное отличие, применительно к драйверу LC75823 от SANYO, это передача CCB-адреса на шину, причем еще до установки высокого логического уровня на CE (он же CS, он же SS). SPI протокол имеется на борту огромного количества микроконтроллеров, поэтому даже не придется писать программный «ногодрыг», а тупо воспользуемся аппаратным. В качестве управляющего устройства взял имеющуюся у меня для экспериментов платку с контроллером ATMega32с кварцем на 16 МГц на борту.
Для управления драйвером экрана используется нога микроконтроллера CLK (PB7) которая подключается к ноге CL драйвера для тактирования, и ногу MOSI (PB5), которая подключается к ноге DI драйвера для передачи данных. Нога CE драйвера может быть подключена к любому свободному порту микроконтроллера, от неё много не требуется, только время от времени менять свое состояние с 0 на 1.
Судя по рисунку последовательность передачи данных следующая: нужно передать байт CCB-адреса, который имеет фиксированное значение 41h, далее установить на ноге CE высокий логический уровень и передать драйверу 156 бит информации о состоянии сегментов на экране. Если бит равен 0, то сегмент не показывается, если бит равен 1, то сегмент виден. В конце передачи передаются 4 контрольных бита и на ноге CE устанавливается низкий логический уровень. Всё… вроде ничего сложного.
SPI на микроконтроллере настроил на 125 кГц (для экспериментов и не нужно быстрее) с посылкой бит от старшего к младшему, как и настаивает производитель ЖК-драйвера. Посылаю адрес, посылаю 156 единичек, что бы засветить все сегменты индикатора и еще четыре нуля в качестве контрольных битов. И ничего, пусто на экране.
С первого раза не удалось — давайте разбираться. А разбираться собственно и не в чем, ошибка может быть только в одном месте, а именно в значениях последних контрольных четырех битах (даже в трех, четвертый бит любой, он не используется): DR, SC и BU.
По документации если DR = 1, то драйвер работает в режиме 1/2-bias, если DR = 0, то в режиме 1/3-bias. Если не вдаваться в теорию (её можно почитать в интернете), то ЖК-индикаторы укрупнено бывают двух конструкций: симплексные или мультиплексные (еще называют их статические и мультиплексированные). Симплексные (статические) отличаются тем, что на каждый показываемый сегмент у индикатора имеется отдельный управляющий электрод. У мультиплексных индикаторов к одному управляющему электроду подключается сразу несколько сегментов. По аналогии можно вспомнить статический и динамический режим показа для светодиодных индикаторов. мультиплексирование позволяет уменьшить количество выводов у драйвера, упростить его схему и уменьшить стоимость, но в мультиплексном режиме сегменты ЖКИ не горят, а мерцают, только очень быстро (так же как и в случае динамической индикации у светодиодов). Так вот, 1/2 говорит нам, что ЖК управляется по двум уровням напряжения (если считать 0 тоже уровнем, то по трем уровням), а 1/3 — по трем уровням (четырем). Соответственно, отправив этот бит выше равным 0, я задал режим работы драйвера 1/2-bias. Попробуем послать 1 и сменить режим.
SC — бит для меня непонятный. Если SC = 0, то сегменты включены, если SC = 1, то сегменты выключены. Я бы еще понял, если этот бит можно было послать драйверу без пересылки остальных данных. Типа сначала передал изображение, сформировал видеобуфер — если угодно, а потом в нужный момент подал команду показать сегменты. Но нет, пересылка всех данных обязательна.
BU — переключение между нормальным и энергосберегающим режимом. Как-то тоже не актуально. Оставим 0 — нормальный режим.
Снова посылаю адрес, посылаю 156 единичек, и последние четыре бита 1000 и вот:
Текст программы упрощенно следующий:
Проделав не сложную, но нудную работу что бы понять какой бит каким сегментом управляет, можно уже выводить осмысленную информацию:
Как я и говорил, текст можно выводить, будет понятно, но коряво. С цифрами всё значительно лучше. Второй момент: у этого экземпляра крайне маленькие углы обзора. Ну просто крайне. Буквально градусов 20 вверх и вниз, градусов 15 вправо и влево, далее контрастность такова, что изображение становится не читаемым. В итоге этот ЖКИ можно будет применить, но при условии, что его местоположение будет таково, что взгляд на него будет падать перпендикулярно к плоскости экрана (например в области панели комбинации приборов — экранчик низкий, не помешает), тогда нареканий к изображению нет.
На этом всё. В следующей части попробуем воскресить панель от магнитолы Panasonic.
Наконец-то появилось немного времени позаниматься расчлененкой :) Воспользовавшись этим фактом, я сдернул с шевика 2 din магнитолу и стал примеряться к накладке на панель под монитор от шнг 2019го года.
Вроде похоже на правду. Значит имеет смысл дербанить магнитолу. Внутри как и ожидалось вагон неиспользуемого места.
Монитор подключается двумя шлейфами AWM 20624 80C 60V VW-1 на 30 pin и 50 pin с шагом 0.5 мм. На днях попробую купить их нужной для отделения монитора от тушки длинны. Если найти не удастся — рассматриваю в качестве запасного варианта распайку 80 пинового шлейфа UDMA133.
Дополнительно нужно будет отсоединить и отодвинуть на небольшое расстояние от экрана контроллер, т.к. он не позволит нормально установить экран.
Сам по себе экран отлично встает с небольшими зазорами, которые я планирую компенсировать при проектировании и печати крепежной пластины.
С штатными шлейфами максимальное расстояние от материнской платы до экрана составляет около 100 мм.
Матрица от автомагнитолы Prology DVS-1233, Eclipse E7708avn
Вот родилась идея не знаю пока насколько практичная /> . Был не так давно на Митинском рынке, просто фигел от количества мафонов и панелек к ним, там же набрел на лоток с авто DVD от азиатских друзей, ни те которые с выезжающим экраном а в размер стандартной магнитолы экранчики на них в основном «широкие» дюйма на 3. Долго рассматривал пиксели и нашел пару с вполне приличным разрешением ну для такого размера конечно. Вот тут и посетила меня мысля…: ведь мафоны то тырили, тырят и тырить будут.. а «счастливые» владельцы (гипотетически мы все с вами /> ) обладатели некогда дорогущих магнитол остаются с совершенно бесполезными панельками которые в последствии продаются (там же на Митинском) за символические деньги.
Также путем визуального исследования /> разных образцов прихожу к выводу что (поправьте если не прав): и контроллер и инвертер LCD похож находятся именно в панельках, иначе в саму панельку входило бы значительно большее количество пинов.
А значит (снова предположение) на панель должно идти что то типа RGB.
Вот что то типа этого:
Срочно требуется усилитель мозга. АХТУНГ: Оказывается что всего 150 - 200 мл хорошей водки способны сэкономить от 5-ти литров бензина в день .
Тогда надо определится с чем сравнивать.
Могу точно сказать что одну видел 280(или240)*480 широкую.
Вообще говарю был удивлен, долго всматривался, на одной дюйма 2,5-3 было сложно разглядеть пиксы, а на зрение вроде не жалуюсь. Наверно можно сравнить с последними мобилами NOKIA, там как я не пытался подсчитать пиксы на мм через лупу 2* так нече и не вышло
МАКС (5.11.2007, 11:44) писал:
Срочно требуется усилитель мозга. АХТУНГ: Оказывается что всего 150 - 200 мл хорошей водки способны сэкономить от 5-ти литров бензина в день .
Читайте также: