Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR и Siemens M55
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26
МП41
Обычно после инициализации идут процедуры заливки экрана. Заливка чёрным цветом воспринимается как очистка, если нет специальной для этого команды.
LexRoss
Может, кому-то удалось запустить Nokia6100 с контроллером S1D15G10? Поделитесь исходниками.
Free
я запускал дисплей от сименса м55 с жёлтым шлейфом, там S1D15G14 - похоже, да? biggrin.gif
так вот основная грабля была с контрастностью - долго понять не мог работает оно или нет. поэтому в инициализацию надо добавить установку контрастности.
и ещё убрать инициализацию из цикла, иначе ничего вы не увидите даже если она и прокатывает maniac.gif

что то в таком духе:

Код
...
#define OSCON 0xD1
...
CS0
SDA0        
CLK1        
RESET1
delay_ms(10);
RESET0      
delay_ms(10);
RESET1      
CLK1        
SDA1        
CLK1  

//Software Reset
      sendCMD(SWRESET);
delay_ms(10);
//Oscillation ON
      sendCMD(OSCON);
//Sleep Out
      sendCMD(SLEEPOUT);
//Electronic Volume control
      sendCMD(VOLCTR);
...
while (1)
      {
      // Place your code here

      }

это для примера, щас лень писать всё полностью, как надо cranky.gif
З.Ы. тока щас заметил. у мя в шите на S1D15G10 опкоды то другие, можно ваш даташит глянуть?

кстати вот отрывок того что нужно делать в инициализации:
Цитата
12.1.1 When Power is Turned On
Input power (VDDI, VDD).
Be sure to apply POWER-ON RESET (RES = LOW)

<Display Setting>
Display control (DISCTL)
Setting clock dividing ratio and F1/F2 drive selection
Duty setting:
Setting reverse rotation number of line:
Common scan direction (COMSCN)
Setting scan direction:
Temperature Gradient Setting (TMPGRD)
Oscillation ON (OSCON)
Sleep-out (SLIPOUT)

<Power Supply Setting>
Electronic volume control (VOLCTR)
Setting volume value α :
Setting built-in resistance value :
Power control (PWRCTR)
Setting operation of power supply circuit:

<Display Setting 2>
Normal rotation of display (DISNOR)/Inversion of display (DISINV)
Partial-in (PTLIN)/Partial-out (PTLOUT)
Setting fix area:
Area scroll set (ASSET)
Setting area scroll region:
Setting area scroll type:
Scroll start set (SCSTART)
Setting scroll start address:

<Display Setting 3>
Data control (DATCTL)
Setting normal rotation/inversion of page address:
Setting normal rotation/inversion of column address:
Setting direction of address scanner:
Setting RGB arrangement:
Setting gradation:
256-color position set (RGBSET8)
Setting color position at 256-color

<RAM Setting>
Page address set (PASET)
Setting start page address:
Setting end page address:
Column address set (CASET)
Setting start column address:
Setting end column address:

<RAM Write>
Memory write command (RAMWR)
Writing displayed data : Repeat as many as the number needed
and exit by entering other command.
<Waiting (approximately 100ms)>
Wait until the power supply voltage has stabilized.
Enter the power supply control command first, then wait at least
100ms before entering the display ON command when the built-in
power supply circuit operates.
If you do not wait, an unwanted display may appear on the
liquid crystal panel.
Display ON (DISON):
LexRoss
Инициализацию брал отсюда: http://slil.ru/28428932
Даташит:

Поиграл с контрастностью - никаких изменений. Может, там не S1D15G10 ? Как точно определить какой контроллер?
Free
Цитата(LexRoss @ Jan 1 2010, 12:38) *
Инициализацию брал отсюда: http://slil.ru/28428932
Даташит:

Поиграл с контрастностью - никаких изменений. Может, там не S1D15G10 ? Как точно определить какой контроллер?


именно. там Epson S1D15G00 ... если смотреть описание по ссылке rolleyes.gif
я через поисковик искал зацепки, а потом пытался по дш инициализировать, предполагая что там именно такой контроллер. не получалось пробовал последовательность от другого похожего контроллера и тд.
p/s. а прикреплённая пдфка открывается с кракозябрами =\
з.з.ы. ну и ещё у вас часть команд инициализации пропущена. например нету включения внутреннего генератора, не устанавливаете нужные параметры типа всяких коэффициентов деления частоты, и прочего
Цитата(http://slil.ru/28428932)
// Display control
WriteSpiCommand(DISCTL);
WriteSpiData(0x00); // P1: 0x00 = 2 divisions, switching period=8 (default)
WriteSpiData(0x20); // P2: 0x20 = nlines/4 - 1 = 132/4 - 1 = 32)
WriteSpiData(0x00); // P3: 0x00 = no inversely highlighted lines
LexRoss
Все-таки у меня филипс http://www.electricstuff.co.uk/noklcd.html
для PCF8833 инициализация не проходит.
HeOHuKC
Free Можете выложить настройку регистров сименсовского дисплея ? Конкретно интересует настройка регистра Display Control (0xB6) бьюсь третий день с ним, никак не получаеться запустить sad.gif
Free
Цитата(HeOHuKC @ Jan 17 2010, 01:01) *
Free Можете выложить настройку регистров сименсовского дисплея ? Конкретно интересует настройка регистра Display Control (0xB6) бьюсь третий день с ним, никак не получаеться запустить sad.gif


rolleyes.gif
Код
LCD_COM;
    write_SPI(0xB6);    //Display Control -
    LCD_DAT;
    write_SPI(0x57);    //Generator Frequency
    write_SPI(0x80);    //N-line inversion OFF
    write_SPI(0x96);    //2 Div osc on idle, Bias 1/7, place on bottom, 104x82, Display Duty 1/82
    write_SPI(0x00);    //Duty 1/84
    write_SPI(0x00);
    write_SPI(0xFF);    //Duty 1/82
    write_SPI(0x00);


имхо это самая сложная эпопея в нём, но кстати я не уверен что до конца всё правильно, иногда видны полосы, надо ещё играться со значениями maniac.gif
может всю инициализацию дать?
HeOHuKC
Free Что то нехочет работать, показывает белым и всё. Контраст подкрутил, он меняется но толку нет. Видать придется всё переписывать, поделитесь инициализацией ? И еще вопрос - для рисования надо заполнить значения Column adress set (0x2A), Page adress set(0x2B) и дать команду memory wtite(0x2C) ? А то мне кажется, что тут еще чего то не хватает...
-----------------
Вдруг начал показывать unsure.gif не понимаю, что я сделал но все работает. Правда работает не так как надо, по середине на дисплее полоса в которой ничего не отображается. Цвета перепутаны, даешь рисовать зеленым - рисует желтым. Спасибо Вам огромнейшее за пример настройки регистров буду шаманить дальше smile.gif
-----------------
Всё я его окончательно победил smile.gif уже пример инициализации не нужен, кстати дисплей у меня LPH9116-1. Тоже с сименса, такой стоит в сименсе AX75 он оказался точно такойже как и LPH8731-3C и LPH8731-1A. Вот такие вот пироги biggrin.gif
Free еще раз огромное Вам спасибо.
Вот вывел две линии на дисплей smile.gif
МП41
Ребята, а как вы решали вопрос физического подключения экранов? Там, судя по фото, очень мелкие разъёмы.
yarunt
Один хороший друг подогнал два дисплея на Nokia6300(320*240) пины известны а вот инициализации нет. Может кто в курсе какой контроллер стоит в них?
VDLab
Не уверен, но возможно что это что то типа LS022xxxx. Здесь обсуждали нечто подобное, посмотрите, может подойдет. А то у меня руки не до ходят проверить...
HeOHuKC
С дисплеями от нокий 6300 я так и не смог найти какой там контроллер, перерыл пол нета sad.gif По поводу мелких разьёмов для подключения - я снимал с платы телефона разъемы так удобнее всего подключаться, а к сименсовским дисплеям предпочитаю припаиваться напрямую благо контакты большие.
sonycman
А кто нибудь имел дело с AMOLED на контроллере S6E63D6?
Интересно было бы взглянуть на схему подключения и пример процедуры инициализации.
Free
HeOHuKC, если цвета не правильные попробуйте с напряжением bias`a поковыряться - если зелёный стал жёлтым, возможно оно несколько завышено)

а LPH8731-3C с другим контроллером, от него инициализация не подходила поэтому мне и пришлось заняться "шаманством" biggrin.gif
отличительная черта LPH8731-3C от LPH8731-1A - зелёный шлейф.
HeOHuKC
Free я как раз мучаюсь с цветом, как то не догадался с bias поковыряться, у моего дисплея желтый шлейф контактов и зеленый у контроллера. Рядом лежит LPH8731-3C и он точно такой же как и мой LPH9116-1 и работает на всех телефонах и определяется одинаково. Т.е у него такойже контроллер как и LPH9116-1, может были разные версии с различными цветами шлейфов ? Ибо и LPH8731-1A у меня выглядит тоже так же. Мне почему то кажеться что они все одинаковые smile.gif иначе бы телефон не выдавал всем дисплеям один и тот же ID.
Free
HeOHuKC я на каком то форуме ремонтников прочитал что бывает две версии дисплея для 55-го - мол и прошивки разные, иначе синий экран, у моего LPH8731-1A шлейф жёлтый, в инете видал фотки с зелёным шлейфом и даже какую то конструкцию на таком, вот код инициализации с этой штуки не подходил... возможно что бывают с разными шлейфами но одинаковыми контроллерами, в руках держал только жёлтый LHP8731-1A поэтому лучше точно утверждать не буду)
ещё цвет может глючить из за неправильной частоты работы преобразователя (всё тот же регистр 0xB6), я выяснял опытным путём перебирая значения (в дш написано что значения выбираются исходя из схемы включения преобразователя) - ведь кто знает по какой схеме он там подключен laughing.gif. ну и контраст подкрутить можно - тоже увидите разницу biggrin.gif
HeOHuKC
Уже перепробовал все, что можно smile.gif цвет вместо зеленого либо желтый либо фиолетовый cranky.gif дисплей от сименса S65 в плане цветов был намного проще...
МП41
Случайно нашёл у себя LPH9135-1. Экран для самоделок удобный, контакты как у экрана от C65. Задался вопросом возможности работы с ним, начал искать и нашёл страницу с e-bay.
Картинка оттуда:
Нажмите для просмотра прикрепленного файла
Там написано: "То, что на картинке - это мы подключали этот экран к LPT, доступны некоторые исходники, чтобы поиграть с экраном и что в нём контроллер Leadis LDS183 с наличием даташита".
По названию контроллера нашёл описание какого-то похожего экрана с таким же контроллером, а в описании есть и инициализация, и команды. Кто-нибудь пробовал работать с этим LPH9135-1?
Free
HeOHuKC, ещё возможно неправильно кодируете - там цветов 4096 всего и кодировка трёхбайтная, что кстати странно (вроде в 75 серии цветов то побольше...)

у меня вот так вот:
Код
#define BLACK 0x0000
#define WHITE 0x0FFF
#define RED 0x0F00
#define GREEN 0x00F0
#define BLUE 0x000F
#define YELLOW 0x0FF0
#define PINK 0x0F0F
#define MAGENTA 0x0707
#define VIOLET 0x070F
#define ORANGE 0x0F70
#define SKY 0x00FF
#define LBLUE 0x007F
#define BROWN 0x0730
#define GREY 0x0777


ну и посылать данные сразу надо на две точки:
Код
write_SPI((unsigned char)(color>>4));
write_SPI((unsigned char)(color<<4)+(unsigned char)(color2>>8));
write_SPI((unsigned char)(color2));

color - цвет первой точки, color2 - цвет второй
HeOHuKC
А как черный может быть 0x0000 этож белый blink.gif У меня включена инверсия, дисп белым светиться после инициализации. Пробовал все параметры перебирать - нифига. Буду думать дальше smile.gif
Free
Цитата(HeOHuKC @ Jan 20 2010, 20:37) *
А как черный может быть 0x0000 этож белый blink.gif У меня включена инверсия, дисп белым светиться после инициализации. Пробовал все параметры перебирать - нифига. Буду думать дальше smile.gif


а у меня если выключена инверсия и нарисовать что то цветом 0x000 будет именно чёрный (хотя с натяжкой его чёрным назвать можно, цветопередача ужасна biggrin.gif )
и соответственно 0xFFF - белый.
точно. если у вас врублена инверсия естественно цвета будут неправильными - и жёлтый точно будет не жёлтым...
HeOHuKC
Вообщем доковырял я эти цвета smile.gif Даже дисп лучше показывать лучше стал smile.gif
Код
lcd_Command(LCD_DISCTL);
lcd_Data(0x57);
lcd_Data(0x80);
lcd_Data(0x86);
lcd_Data(84);
lcd_Data(69);
lcd_Data(82);
lcd_Data(67);

Цвет передаем обычно -
Код
0xFFF0 (0x1_2_3) 1- красный 2 зеленый 3 синий

Инверсия должна быть выключена smile.gif Хоть по ДШ надо передавать на две точки, но у меня пашет все и так.
Free Спасибо за помощь smile.gif
Free
HeOHuKC, у меня получалась пунктирная линия если передавать по другому)
незачто, радует пригодилось кому то biggrin.gif
demadsv
Есть желание подключить к авр-у или арм-у дисплей от SE К790-К800,контроллер вроде известен,хотя не понятно,их там 2 варианта?(K790i - 240х320 - Wilma LCD QVGA by Hitachi driver: R63400A1 or Cyndi - Toshiba JBT6K71),даташит есть на Toshiba JBT6K71,но как по нему сделать инициализацию-непонятно.Может кто помочь?и как определить какой контроллер?

здесь даташитка на тошибовский контроллер
http://slil.ru/28569299
МП41
Не представляю, как физически подключать такой экран с таким мелким разъёмом.
demadsv
та подключить не проблема,проблема запустить
Barmaley13
yarunt, от 6300 я запустил на Меге 128. Сложного ничего нет. Завтра или послезавтра приклею код и фото.
yarunt
Цитата(Barmaley13 @ Feb 2 2010, 12:27) *
yarunt, от 6300 я запустил на Меге 128. Сложного ничего нет. Завтра или послезавтра приклею код и фото.

Ооо,отлично ,буду ждать. Как определили контроллер?
kernel
Доброго времени суток, уважаемые!
Около года назад терзал дисплей от S65 (LS020), все работало хорошо. Отложил тогда проект из-за нехватки времени и вот недавно решил его закончить. Слепил платки, все запаял, в тестовой прошивке сделал только заливку фона дисплея синим цветом. И вместо полностью залитого синего экрана наблюдаю следующую картину:


Причем если присмотреться, на экране видны еще пиксельные помехи другого цвета.
Первое что приходит в голову - слишком длинные провода: от платы с AVRкой до платы с дисплеем и кнопками шлейф около 20 см, далее дорожки ~7 см длиной и потом идут еще провода ~2.5 см. Но год назад со шлейфом (от AVR платы сразу до дисплея) длиной ~15 см все работало отлично. Неужели эти несколько см могли так негативно повлиять? Есть ли смысл укорачивать провода?
Также пробовал снижать частоту SPI - безрезультатно. Данные, посылаемые в другие места по SPI, помехи не создают (что, видимо, говорит о том, что с CS все в порядке).
МП41
Если при снижении скорости разницы нет, то скорее всего не из-за длины проводов.

И вопрос: каждый раз картина одинаковая?
kernel
Цитата(МП41 @ Feb 2 2010, 21:11) *
Если при снижении скорости разницы нет, то скорее всего не из-за длины проводов.

И вопрос: каждый раз картина одинаковая?

Нет, каждый раз "кляксы" в разных местах, но цвет тот же. При заливке, например, зеленым "клякса" красного цвета постоянно.
kernel
<<потерто, оверпостинг сработал>>
yarunt
Цитата(kernel @ Feb 2 2010, 17:22) *
Нет, каждый раз "кляксы" в разных местах, но цвет тот же. При заливке, например, зеленым "клякса" красного цвета постоянно.
Без проекта тут никак не разобраться,сфоткайте кляксу,может шлейф оборван к стекляшке
МП41
А положение поля другого цвета (зелёного на картинке) тоже непостоянно?
kernel
Цитата(yarunt @ Feb 2 2010, 21:31) *
Без проекта тут никак не разобраться,сфоткайте кляксу,может шлейф оборван к стекляшке

Так я же выше две фотки приложил с зеленой "кляксой" smile.gif А проект - те же самые исходники Кранза. Соединение дисплея с ATMEGA16 (F = 16 Mhz):
Цитата
#define LCD_RS PB2
#define LCD_RESET PB0
#define LCD_CS PB1
#define LCD_MOSI PB5
#define LCD_SCK PB7

Цитата(МП41 @ Feb 2 2010, 21:32) *
А положение поля другого цвета (зелёного на картинке) тоже непостоянно?

Положение каждый раз меняется. Поле может делиться, а может и не делиться на несколько частей разных размеров.
МП41
Может в плате есть ошибки, КЗ или обрыв по одной из линий и т.д.
Karavan
Цитата(МП41 @ Feb 2 2010, 17:55) *
Может в плате есть ошибки, КЗ или обрыв по одной из линий и т.д.

У меня была похожая картинка, когда дисплей инициализирован как вертикальный, а данные адресовались горизонтально.
yarunt
Цитата(kernel @ Feb 2 2010, 17:50) *
Так я же выше две фотки приложил с зеленой "кляксой" smile.gif А проект - те же самые исходники Кранза. Соединение дисплея с ATMEGA16 (F = 16 Mhz):


Положение каждый раз меняется. Поле может делиться, а может и не делиться на несколько частей разных размеров.

Как с DDR ,направлением? Ножки переназначены,но не факт что они все на выход.
kernel
Странное дело 07.gif Подключенные Кранзовские библиотеки к проекту (в т.ч. с инициализацией SPI и портов) работали так криво, а немного подправленный пример от того же Кранза заработал! Не думал что софтово можно так плохо сделать дисплею. Извиняюсь, что ввел всех в заблуждение. Огромное спасибо всем за помощь! smile.gif
Нажмите для просмотра прикрепленного файла
kernel
Эммм... баг все же оказался аппаратный, а именно проблема возникает из-за подсветки wacko.gif Если подсветку включать после того, как все нарисовано - все смотрится нормально. Если же включить подсветку, а потом рисовать - появляются вот такие помехи. Подсветка у меня - драйвер tps61041 (подключен по распространенной схеме, с которой ни у кого проблем не бывает). Сейчас у меня в городе уже 2 с лишним часа ночи, поэтому откладываю все это дело на завтра smile.gif
Завтра хочу попробовать следующее:
  • Проверить провод, припаянный к подсветке на дисплей (находится рядом с GND, не создает ли он какие-либо помехи?)
  • Подсветку подключить прямые 12 В, игнорируя драйвер подсветки
  • PORTB.3 у Меги (им включается подсветка), может быть происходят какие-нибудь броски от драйвера? Планирую вместо этого порта попробовать включить драйвер от питания.

Сейчас я ухожу в "спящий режим", завтра постараюсь написать, чем закончилась вся эта история rolleyes.gif До завтра!
МП41
Возможно неправильно разведена земля, из-за чего преобразователь вносит помехи.
kernel
Проблему с подсветкой LS020 решил добавлением дополнительного конденсатора (0.1uF) на выход драйвера tps61041 smile.gif
kernel
Цитата(Barmaley13 @ Feb 2 2010, 16:27) *
yarunt, от 6300 я запустил на Меге 128. Сложного ничего нет. Завтра или послезавтра приклею код и фото.

Тоже было бы интересно посмотреть (думаю, в скором будущем в ARM применить). Вы, Barmaley13, еще не передумали приклеивать код и фото? rolleyes.gif
011119xx
Мы уже заждались Barmaley13!
kernel
Цитата(011119xx @ Feb 9 2010, 02:05) *
Мы уже заждались Barmaley13!

"Он улетел, но обещал вернуться...".
На mikrocontroller.net, как я понял, проблему с софтом для nk6300 тоже не могут решить - видимо, все не так просто, как говорил нам Barmaley13...
HeOHuKC
Решил поделиться с общественностью снятые логическим анализатором шины мобилок с удобными для применения дисплеями.
И так, есть полностью снятые инициализации со следующих телефонов:
1) Siemens A75 (дисплей LPH9116-1 или LPH8731-1C(3C))
2) Siemens C65 (не путать с S65,дисплей с оранжевым шлейфом)
3) Sony Ericsson T290 (i2c шина, дисплей там всегда один и тот же)
В дампе шины все предельно понятно, первый блок инициализация а второй передача изображения.
http://depositfiles.com/files/za6e5mdpw
Собственно все в архиве, открывать с помощью http://www.saleae.com/downloads/logic/Logi...etup%20Beta.exe

Распиновки выводов можно определить по схеме телефонов, которых полно в сети.
Прикладываю распиновку дисплея Siemens AX75.


В общем все как всегда - кому это реально надо, разберется и тут, а тот кто хочет все и сразу да на халяву может не париться это будет ему не по зубам.
safronov-63
Привет! помогите мне с димплеем от siemens c75. хочу подключить к компу но незнаю как. дайте схемку плизззз, очень буду рад.

вот дисплей http://s46.radikal.ru/i113/1003/8f/819c44b16fb1.jpg
http://s50.radikal.ru/i129/1003/d1/7d73fe2a8d45.jpg
МП41
Схему придумать несложно, а вот управлять не зная как это делать не получится. ПО C75 покуда информации нету.
VDLab
Цитата(kernel @ Feb 6 2010, 08:18) *
Тоже было бы интересно посмотреть (думаю, в скором будущем в ARM применить). Вы, Barmaley13, еще не передумали приклеивать код и фото? rolleyes.gif


Отвечу за него, я уже ранее писал, что этот дисплей очень похож на дисп от нокии 6270/6280, который я успешно запустил. Сейчас, посмотрев мануал на 6300, я практически на 100% уверен, что дисплеи в этих телефонах отличаются только геометрически, а контроллер один и тот же.
В этой теме я уже выкладывал мануал на контроллер, инициализация у него очень простая, так что смысла выкладывать код не вижу.
Впрочем, если очень будет нужно, выложу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.