Arduino и дисплеи от сотиков мобильных телефонов

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Проще воспользоваться Ардуино ProMini на 3.3в. Если в наличии только ардуино Nano, можно подать от внешнего БП 3.3в на вывод 5в ардуины - должна стартануть (mini USB естественно должен быть отключен). Или колхозить резистивные делители на все сигнальные контакты.

MAkSQWI
Offline
Зарегистрирован: 12.12.2017

Огромное спасибо. Теперь понял, что надо делать. Как сделаю, отпишу результат.

dekus
Offline
Зарегистрирован: 22.03.2016

Привет. Если кто знает, подскажите, пожалуйста, дисплей от 3х дюймов, но чтобы IPS матрица была. Спасибо.

Валерон
Offline
Зарегистрирован: 25.11.2018

Здравствуйте. Есть дисплей от LG GS290. Скачал мануал на него. Из мануала выяснил, установлен камень  uPD161710  (http://read.pudn.com/downloads198/ebook/932790/D161710.pdf). Вот распиновка:

Сделал переходник и подключил к меги 2560. Уровни согласовал. С ардуиной раньше не работал, решил начать вместе с дисплеем. Хочу запустить дисп, сделать кое-какие наработки, а потом сделать проект на другом мк.

Читалки 5.2 и 5.3 у меня не компилируются (ругается на одну функцию). Другая читалка выдает что-то, не знаю пока. ID не читает по адресу 0x0060, выдает ноли. При попытке записать что-нибудь в регистры или ничего не пишит или пишит какую-то хрень( например хочу записать 0xFFFF читает 0x0300, пишу 0xAAAA читает 0x0200 и т.д.)

Шину данных (D0-D7) менял местами, читает другие значения. Шину управления тоже менял, выдает 0x0000 или 0xFFFF во всех регистрах.

Вопрос:

- можно ли запустить этого пациента

- после жесткого резета должен ли появиться какой-нибудь шум на экране без инита

- почему в одни регистры идет запись, а в другие не пишет

Прошу помогите как говорится чем могите.

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, питание и уровни на дисплее сделал 2.8в? И без инита дисплей не включится. 

Валерон
Offline
Зарегистрирован: 25.11.2018

Уровни на шине управления через резистивные делители, уровни на шине данных через преобразователь TXS0108. При питании через USB уровни шины управления - 2,7В. Уровни на шине данных всегда 2.9В (запитано через LDO).

Трахаюсь с этим диспом вторую неделю и один и тот же результат!!!!!

alex_kotl
Offline
Зарегистрирован: 21.03.2018

На 136 стр. D161710.pdf расписана инициализация дисплея для 16-битного подключения

Валерон
Offline
Зарегистрирован: 25.11.2018

Согласно мануалу на сотик у него 8 битный режим.

Инит я конечно видел и по нему делал. Дело в том, что инита не будет, т.к. в регистры, которые нужно записать данные у меня ни чего не пишет. 

На радиокоте один чел не смог его запустить в 8 битном режиме, про 16 битный ничего не написал. Вот я думаю может его не суждено запустить?

Еще грешу на TXS0108. По отзывам она какая-то капризная. Теперь ломаю голову чем ее заменить, чтоб обмен шел в обе стороны. Хочется ID сначала прочитать!

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, pin19 и pin11 дисплея куда подключены?

Валерон
Offline
Зарегистрирован: 25.11.2018

pin19 подключен согласно мануала к 2.9 В

pin11 подключал и к питанию и к земле, значение регистров менялось (например один регистр выдавал 0x0100 при подключение к пит. и 0x0101 при подключении к земле). Какая закономерность я пока не въезжаю.

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, по мануалу на сотик у него 8-битный параллельный интерфейс. Но по этой 8-битной шине идет обмен 16, 18 или 24-битными данными в зависимости от Mode of Transferring (стр.34  D161710.pdf), и мы не знаем, какой режим использовался в сотике. Остается разобраться с компилированием читалки  v5.3 и пытаться прочитать содержимое регистров.

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl спасибо, ты меня вывел из ступора. У меня заклинило, что должно быть 2 трансфера по 8 бит. Моя читалка читает только 16 бит. 

Читалки 5,2 и 5,3 ругаются на эту функцию - :no matching function for call to 'Adafruit_TFTLCD::begin(uint16_t&, uint8_t&)'. Если ее закоментировать, то значение регистров не выводиться. Не можешь подсказать как это исправить. Я в программитровании не очень. только азы знаю.

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, вот рабочая читалка v5.3, на моей ардуино 1.8.5 компилируется и под МЕГУ 2560 и под минипро 328 без критичных ошибок (пара мессагов выскакивает все же). https://yadi.sk/d/o-BNJD5rBFy1vg

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl спасибо за читалку, все нормально скомпилировалась. Мне кажется, что пины у меня не так подключены. Пины подключены  так: 

//-- Arduino UNO or Mega 2560 Plugged as shield
#define LCD_RST 41//4
#define LCD_CS 40//A3
#define LCD_RS 38//A2
#define LCD_WR 39//A1
#define LCD_RD 45//A0
 
#define LCD_D0 22//8
#define LCD_D1 23//9
#define LCD_D2 24//2
#define LCD_D3 25//3
#define LCD_D4 26//4
#define LCD_D5 27//
#define LCD_D6 28//6
#define LCD_D7 29//7
 
Где нужно их поменять, а то шлейфы перепаивать лень.
alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, для твоей распиновки читалка v5.2 https://yadi.sk/d/lwIyuyf0farfWA

Sparker
Offline
Зарегистрирован: 03.01.2018

 Вечер добрый. Помогите пож. Угостили горсточкой дисплеев ,обшарил где мог- распиновку не нашел. Фото дисплея есть,  а распиновок нету! Есть марка ALT - 020 ESLN -J2 ver B 40 pin. Первые 9 пинов -не задействованы.. Может у кого есть оаспиновка ? Очень буду благодарен.

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl  еще раз спасибо за читалку 5.2. Мой дисп ожил!!!! Тесты проходят, экран моргает только белым цветом, дальше буду разбираться. В логе от читалке как узнать ID? Что-то я не могу въехать почему в регистрах повторяются значения (01 01 01 01 и т.д.) Что это значит?

Sparker ищи схему от девайса где он был установлен. Первое что мне попалось это регистратор 

Parkcity DVR-HD510

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, лог читалки выложи тут под спойлер, посмотрим вместе. Например http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=40#comment-405891

Валерон
Offline
Зарегистрирован: 25.11.2018

 

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Такой контроллер мне не встречался. Можно попробовать библиотеку UTFT перебором всех инитов.

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl ты значение ID увидил или нет?

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Что-то похожее на ID контроллера я не увидел. При перезагрузке ардуины значения регистров меняются? В регистре 03 цифры всегда одинаковые? При изменении 0/1 на 11 пине дисплея что меняется в логе?

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Может что другие гуру подскажут, если не в отпуске))

Валерон
Offline
Зарегистрирован: 25.11.2018

В регистре 03 значения всегда меняются.

На пине 11 при + такой лог

При пине 11 - GND

такой лог

 

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Валерон, еще раз хотел уточнить, на какие пины ардуины мега у тебя физически подключены сигналы CD/RS, WR, CS, RST, RD дисплея

Валерон
Offline
Зарегистрирован: 25.11.2018
#define LCD_RST 41
#define LCD_CS 40
#define LCD_RS 38
#define LCD_WR 39
#define LCD_RD 45
Еще раз посмотрел мануал на сотик,  обмен данными указан 16 бит (8+8), т.е. по 8 бит за 2 трансфера.
alex_kotl
Offline
Зарегистрирован: 21.03.2018

Попробуй скетч https://yadi.sk/d/4v9k-QdXnzX9_g

скопируй в старую папку с перезаписью

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl с этим скетчем 3 регистр свои значения уже не меняет, но экран также заливается белым цветом.

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Скинь лог

Валерон
Offline
Зарегистрирован: 25.11.2018

 

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Запусти читалку https://yadi.sk/d/H1Osb_OZP7xIvg и скинь лог.

Валерон
Offline
Зарегистрирован: 25.11.2018

Я эту читалку уже запускал вроде. С ней глухо.

 

alex_kotl
Offline
Зарегистрирован: 21.03.2018

У меня идеи закончились, может что подскажут более опытные завсегдатаи форума, информации для них вполне достаточно.

Валерон
Offline
Зарегистрирован: 25.11.2018

alex_kotl пишет:

У меня идеи закончились, может что подскажут более опытные завсегдатаи форума, информации для них вполне достаточно.

Спасибо тебе и на этом. 

Дальше буду сам его долбить. Я так подумал может там другой чип стоит. Думаю его разобрать и посмотреть, но боюсь что обратно не собиру. Мне кажется у это чипа при чтении данных другой алгоритм. Если во всех читалках дергуют RD при RW=1, то у него нужно дергать RW  при RD =0 (стр. 39).

alex_kotl
Offline
Зарегистрирован: 21.03.2018

Как вариант может быть чип, описаный в начале форума в посте #3, с 16-битной адресацией регистров

Валерон
Offline
Зарегистрирован: 25.11.2018
Уважаемые, не найдется ли у кого-нибудь даташит на чип D54E4PA7551 драйвера TFT дисплея. В инете что-то не могу найти.
 
ZEL
Offline
Зарегистрирован: 03.12.2018

Здравствуйте господа Ардуинщики, всем два раза КУ!

У меня возникло затруднение, и  надеюсь с вашей помощю я с ним справлюсь.

Сам я в электронике немного разбираюсь. Имеется образование - инженер-автоматик с разными железками опыт имеется. С программированием чуть по хуже, но я усвоил все материалы по ардуино и еще немного учил С++ самостоятельно. Так что не надо со мной совсем как с обезьяной =)) 

<>

Имеется:

1) Ардуино Уно

2) Дисплей MG12032 - 01 rev.D http://www.bonafide.com.hk/catalog/MG12032-01.pdf на микросхеме SED1520

3) Библиотека openGLCD

4) Огромное желание все это подключить чтоб работало

Порылся я в библиотеке нашел в ManualConfig_sed1520_Panel.h такую распиновку 

01#define glcdPinData0    8
02#define glcdPinData1    9
03#define glcdPinData2   10
04#define glcdPinData3   11
05#define glcdPinData4    4
06#define glcdPinData5    5
07#define glcdPinData6    6
08#define glcdPinData7    7
09 
10#define glcdPinRW      A2
11#define glcdPinDI      A3    // Ao glcd pin
12 
13/*
14 * modules may use
15 * - 0 chip selects and 1 enable
16 * - 2 enables and no chip selects
17 *
18 */
19 
20#define NBR_CHIP_SELECT_PINS 2 // fill in with how many chip selects
21 
22#if  NBR_CHIP_SELECT_PINS == 0
23// no chipselects so use dual enables
24#define glcdPinE1      A0
25#define glcdPinE2      A1

подключил залил тестовый скеч GLCDdemo не работает, подсветка есть, регулировка контраста ничего не дает, изображения нет. пробовал менять NBR_CHIP_SELECT_PINS на 0 но тоже ничего. С библиотеками я не работал =(

Вопросы:

1) Куда подключать пины 1и2 RST и RC ? для чего они?

2) что изменить в библиотеке или скейче чтобы она корректно работала с этими микрухами в этом дисплее?

Если не туда запостил сильно не пинайте.

slider
Offline
Зарегистрирован: 17.06.2014

alex_kotl пишет:

Может что другие гуру подскажут, если не в отпуске))

Хорошо бы :)))

Валерон, да забросте этот дисп , нафиг всякие LG , SAMSUNG (если не подделка китайская), PHILIPS, .... 
они придуывают свои какие-то контроллеры , на них ни даташитов , ни инитов не выкладывают.  
    Народ осиливал только имея на руках сам тлф, и сканером (логическим анализатором) общение тлф с дисплеем , чтобы при  включении тлф.  выловить инициализацию.
Все это очень время затратно. 

 Читалка норм отвечает (по разным регистрам разное , и 00 ). можно было подумать что он как из 3го поста , если бы не последовательная смена байтов

011 03 = 2A 2E 2A 2C 3D 1C 3C 04

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

// вы вроде бы нашли даташит , поищите по нему  initializ  , там табличка , написано какие значения регистрам задать . А вообще логический анализатор в этом рулит, надо рабочий тлф и дисплей чтоб работал на нем. 
  Еще раз замечу , как-то исследовал здесь диспы от SonyEricsson CK15i , запустил , но проработали они не долго , скончались, им не понравилось питание 3.0-3.3в , надо не более 2.8в (у дисплеев 2 питания : одно питание процессора - оно низковольтно 1.8-2.8 край 3.3в , а другая для питания выходной шины (преобразователи уровней) 2.8-3.3в). Питание процессора этих диспов оказалось очень критичным к перенапряжению.  Диспы хорошо отвечают читалке , как живые , но ничего уже не кажут , умерли на кристалле внутренние питающие преобразователи для питания матрицы.   

http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=5#comment-258859

Валерон
Offline
Зарегистрирован: 25.11.2018

Slider,  спасибо за совет - дело говоришь!

Самое прикольно, что в мануале на сотик конкретно контроллер указан и даташит на него нашел. Есть вариант в инете, что может другой контролер стоять, на который я даташит не нашел. Есть может и третий вариант, о котором ты говоришь, что поставили свой и молчат.

Вот я и купился, что если есть даташит на контроллер, то щас я его заюзаю. Еще ардуино подогнали за спасибо, НО ЗВЕЗДЫ НЕ СОШЛИСЬ!!!

Заброшу я его!!! Жаба давит, что лежат сотики рабочие samsung, htc и диспы на них целые..........и ни х.....я не сделать.

Валерон
Offline
Зарегистрирован: 25.11.2018

slider пишет:

// вы вроде бы нашли даташит , поищите по нему  initializ

  

Я делал по даташиту, но глухо. Я думаю надо ID точно прочитать, чтоб знать какой контроллер точно.

slider
Offline
Зарегистрирован: 17.06.2014

если искать по даташиту μPD161710  слово  code
то 
R96    D15 to D0     DCODn     This is the register for reading device code only. When this register is read, it reads [1710].

должно читаться 1710  он и понятно μPD161710

а в логах там пусто , м.б. там другой контроллер . 
если предположить перепутанность линий , 96 это 1001 0110  , наоборот будет 0110 1001  = 0x69
так вот в 69 у вас ответ 07   00000111  , перевернем -> 1110 0000 = E0   - что не совпадает с 1710  .

slider
Offline
Зарегистрирован: 17.06.2014

на многих брендовых тлф такое бывает, при производстве, заканчивается партия диспов , ставят другие с другим контроллером меняя прошивку под них. 

А потом на форумах народ отгадывает что такая та ревизия диспов нифига уже не подходит на тлф, либо прошивать тлф старой/новой прошивкой, либо покупать дисп другой ревизии.

с тлф на операционках там проще , в них предусматривают наличие инитов под разные контроллеры.

 у вас же что-то считалось, посмострите по даташиту, в регистрах что там должно лежать по умолчанию, если похожесть , то возможно у вас немного другой контроллер применен из этой же серии.

////

а , млин поторопился....

в даташите на стр.143-145
10. COMMAND COMMAND List 

INDEX               DATA
10進 16進         [15] [14] [13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3] [2] [1] [0]

096 0060 DCOD[15] DCOD[14] DCOD[13] DCOD[12] DCOD[11] DCOD[10] DCOD[9] DCOD[8] DCOD[7] DCOD[6] DCOD[5] DCOD[4] DCOD[3] DCOD[2] DCOD[1] DCOD[0]

т.е. R96 - это в десятичной системе , в шестнадцатеричной регистр 0x60

 

 

Валерон
Offline
Зарегистрирован: 25.11.2018

slider пишет:

если предположить перепутанность линий , 96 это 1001 0110  , наоборот будет 0110 1001  = 0x69
так вот в 69 у вас ответ 07   00000111  , перевернем -> 1110 0000 = E0   - что не совпадает с 1710  .

Регистр 69 это в десятичной, он же в HEX 0x0060. Но это сути не меняет.

В даташите про умолчании нет ничего вроде, или я не могу найти.

Валерон
Offline
Зарегистрирован: 25.11.2018

Slider, если читалка читает то, что у меня в логах, то формат обмена по шине правильный?

slider
Offline
Зарегистрирован: 17.06.2014

на 99% - да . (1% помнится в начале темы попадались диспы с ID в нулевом адресе, там какие-то танцы с бубном были , сейчас такие не попадались ) Можете от туда читалки позапускать. Это и странно что последовательно байт повторяется , а не должна. 
Да , по 0x60 одни нули , ничего полезного.  Тогда бы было в логе 0x60 17 17 17 17 ....   или  10 10 10 10 .....

по 03 = 2A 2E 2A 2C 3D 1C 3C 04  м.б. так ресет контроллера срабатывает , вот и получается разная последовательность.

/// преобразователям уровней на платах с али как-то не сильно доверяю , подводили уже при прошивке блютуза 4.0 CC2541 под HM10 , как и провода недообжатые. 
http://forum.easyelectronics.ru/viewtopic.php?f=14&t=18606&sid=d84131f07534c497a73717ee7d495f0a&start=50 

2. подключил модуль согласно выше схемы CCloader , DebugData DebugClock Reset через резисторы 1ком , и чтоб уровни были около 3в , применил вместо стабилитронов 3.0в - белые светодиоды на минус. (возможно и делители напр. пойдут , типа 1к+1к не больше ком иначе завалы могут быть , но со светодиодами наглядней ) . С преобразователями уровней на транзисторах или микросхеме проверено - не работает ! , только на резисторах !

Валерон
Offline
Зарегистрирован: 25.11.2018

Slider, может 1% мой случай? Мне кажется что у меня формат другой, чем в читалках.

Если во всех читалках при чтении регистров дергуют RD при RW=1, то здесь нужно дергать RW  при RD =0 (стр. 39 и стр. 32). Если не трудно посмотри в даташите. Прав я или нет?

Плата у меня своя, преобразователи уровней на шине управления на резистивных делителях, а преобразователь шины данных на TXS0108, вот на нее и грешу. Буду делать на резистивных делителях. Только не уверен, что уровень 2.9В хватит меги.

croc19
Offline
Зарегистрирован: 17.02.2017

Думаю это косяк даташита. Нет у контроллера два WR.  Верхний это RD.

Слайдер, а читалка при чтении регистров передергивает CS ? Может для этого дисплея это критично.

Валерон, пиши свой скетч опроса регистров.

Валерон
Offline
Зарегистрирован: 25.11.2018

croc19 пишет:

Валерон, пиши свой скетч опроса регистров.

Посмотри посты 2080 и 2082

Валерон
Offline
Зарегистрирован: 25.11.2018

croc19 пишет:

Валерон, пиши свой скетч опроса регистров.

Посмотри посты 2080 и 2082

slider
Offline
Зарегистрирован: 17.06.2014

пока времени нет, гляньте сами. Говорю, начало темы посмотрите , мож и дальше что , уже забылось.
вот здесь на второй странице с картинками приводил , и как в случаях когда надо дергать по иному , для тех диспов у которых ответ только из 2х байтов состоит:
http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=1#comment-168290 там нужна мега , или по принципу переделайте для любой читалки .
  Вроде бы, если не ошибаюсь, при чтении дергается RD , а при записи RW .