LCD от сименса с маркировкой LPH9157. Интересное наблюдение!

Как-то давно просматривал веточку на форуме Радиокот. Читал сразу про экранчик от siemens A60 (LPH8731-1C(3C)). Ну, от нечего делать, накрапал для него библиотеку, вдоволь наигрался и забросил. Потом под руку попался экран от siemens C75(вроде) с маркировочкой LPH9157. Написал библиотеку, начал развлекаться и извращаться, перепахал вдоль и в поперек. Работал по началу с ним как с D15G14E, а потом попробовал как ILI9163. И о чудо, команды подошли(как впрочем и писали на форуме). Но дело собственно говоря не в этом.

Если кто работал с этими экранами, знают, что интерфейс общения у него, как считал я, это односторонний SPI, т.е. есть линии _CS, MOSI (+ DC для выбора команда/данные). Однако, в этих телефонах могут стоять разные дисплеи (с другими маркировками). Не знаю что там думают остальные, но телефон как-то распознает какой именно экран в него вставили. Так вот, меня заинтересовало, как он (телефон) это делает. После просмотра очередной пачки даташитов, была замечена одна фенька (из какого даташита это четко видно не помню): есть возможность ЧИТАТЬ!!! данные из этого экрана. Делается это так: в экран подается команда на чтение данных (не важно какая, чтение граф.памяти или ID производителя), после чего линия MISO экрана превращается в линию MOSI, и на ее выдаются запрашиваемые данные. Т.е. этот интерфейс не больше SPI чем I2C. Что-то вроде того. Для работы с ним я использовал софт SPI, вручную переводя линию микроконтроллера с выхода на вход. Можно конечно заюзать и I2C или SPI и диод, но пока нет под рукой ни паяльника, ни диода…
Когда надоест мучить данное чудо, могу накропать статейку по сабжу, а так же выложить свои наработки. Так что если кому интересно, оставляйте комментарии.
Ну вроде как-то так. Может сумбурно, но как мог. Такой информации ранее не встречал, поэтому решил поделиться!
З.Ы. ID у этого экрана (LPH9157) 0x0066B8.
По просьбе трудящихся выложил исходники для lph8731
  • 0
  • 15 марта 2012, 01:03
  • lleeloo
  • 2
Файлы в топике: lph8731.zip, fonts.zip

Комментарии (16)

RSS свернуть / развернуть
Делается это так: в экран подается команда на чтение данных (не важно какая, чтение граф.памяти или ID производителя), после чего линия MISO экрана превращается в линию MOSI, и на ее выдаются запрашиваемые данные.
Это называется 3-wire SPI (SS, SISO, SCK). Похоже у большинства SPI-экранов из сотовых такой интерфейс.
+1
  • avatar
  • Vga
  • 15 марта 2012, 01:20
Из тех что я разбирал вроде только Nokia3310 не имеет возможности чтения. Остальные все (а тем более цветные) двунаправленные.
Хотя меня до сих пор интересует вопрос как же телефон отличает 3310 оригинал от китая. Видать и в нем всеже двунаправленный интерфейс.
0
А он вообще отличает? Вроде говорят он просто адресует дисплей так, что различия китайца и оригинала не сказываются.
0
Думаю, достаточно было соединить MOSI c MISO контроллера резистором и MISO подать на дисплей в качестве линии данных.
0
  • avatar
  • evsi
  • 15 марта 2012, 01:26
LPC, STM32 и STM8 умеют хардверно работать с трехпроводным интерфейсом. достаточно было использовать их :)
0
у меня висит на хардваре, просто чтоп читать из жки mosi должен стать miso. А чегось припаивать у меня нету чем
0
а, хардварно с трехпроводным! понял!
0
Прикольно. А я как-то этот момент пропустил. Надо будет покопаться в доках, как раз под новенький SPI 2.2" TFT будет весьма кстати.
0
В таком случае предупрежу сразу, что stm8 в частности (stm32 скрее всего тоже — бо сильно похожа переферия у них) при использовании режима только приёма начинает гнать шину как угорелый, не дожидаясь никаких дополнительных флагов. и в итоге вроде как возможна потеря данных если не успеите считать регистр данных (на сколько помню нет остановки по переполнению в отличие от того же довольно неудобного i2c). В лпц не интересовался как работает, просто по докам помню.
0
Это понятно, в любом случае он делает это по клоку и если частота стоит правильно, то проблем не будет.
0
В чем практическая польза возможности чтения из дисплея? Что оттуда читать то?
LPH8731 я тоже разбирал, и библиотечку написал. Даже отдельную плату с согласователем уровней сделал)
0
Ну, скажем, имеется у тебя несколько дисплеев от того же С70. Бывают они разных типов… А как контроллеру узнать какой именно? Прочитать ID! Да и содержимое экрана тоже читается на ура. Так же статус, режим, поворот и другое. Хотя я и не утверждаю что это нужно всем. Просто заметил. Может так и делал S65 при определении типа экрана…
0
Или не только C70, а как у Rossum'a универсальная библа на несколько диспов.
0
Очень хорошую тему затронули, спасибо автору. У меня валяеться дисплей от СХ75, написано на нем LPH8924-2. Заюзать не знаю как, что-то инфы по нем немогу найти а выбросить рука пока не поднялась. Может кто-то знает какой там контроллер, хотябы какую нибудь подсказку куда копать. По всей видимости интерфейс у него паралельный так-как по схеме телефона там 8 линий данных, питалово, сигналы записи, сброса и еще что-то.
0
Еще, этот дисплей управляеться микросхемой S1D13732C03, производитель Epson Electronics America. В доках написано, что это микросхема типа ASIC (специализированая интегральная схема графического движка телефона).
0
Если пинаут известен, то можно завести. Даташиты на возможные контроллеры приведу вечером. Но, по-моему, его уже заводили!
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.