| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
LCD WO12864A1 с контроллером ST7565
18.07.2012, 22:40
|
|
|
Временная регистрация
Регистрация: 18.07.2012
Сообщений: 73
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
LCD WO12864A1 с контроллером ST7565
Впервые столкнулся с повестью под названием "Хождение по мукам"...
Потребовалось использовать указанные ЖК модули в изделиях. Модули по технологии COG, документация, хоть и скупая, но есть. Сначала ничто не предвещало таких проблем. Напряжение питания матрицы формируется с помощью бустера на внешних конденсаторах. Кто знаком с этим модулем или другими модулями с использованием этого контроллера-тот знает. Так вот проблема -ЖКИ не работает, но не работает наполовину. При инициализации изображения нет, но если поводить пальцем в районе конденсаторов бустера - изображение появляется. То заливает все поле черным, то появляется то изображение, которое я вывожу на дисплей. Но изображение не устойчивое, стоит отпустить палец, оно тускнеет и пропадает. Впрочем и если палец держать- все равно пропадает, только чуть позже. Причем нет никакой системы, необязательно прикосновение приводит к появлению изображения. Кажется, что прикосновение привносит емкость, но внешние конденсаторы от 0,1 мкф до 4,7мкФ, керамика. Врядли емкость пальца в данном случае существенна, разве что дополнительное сопротивление.
Емкость конденсаторов на ножках V0-V4, CAP1, CAP2 и CAP3 менялись неоднократно в указанных пределах в разных комбинациях - безрезультатно. Наличие непропая, обрава, КЗ исключено - в течение 3 дней все несолько раз просматривалось, прверялось и перепроверялось. Конденсаторы SMD, длина проводников до разъема не более 10 мм, длина самого шлейфа дисплея около 15мм. Нашел в инете интересную таблицу напряжений на ножках рабочего дисплея:
Pin Description Voltage against VSS
V0 9,7V
V1 8,6V
V2 7,5V
V3 2,2V
V4 1,1V
VSS 0V
CAP2N 1,7V
CAP2P 7,9V
CAP1P 4,8V
CAP1N 1,7V
CAP3P 4,8V
Vout 12,3V
VSS 0V
VDD 3,4V
Питание у меня 3.0В, напряжение на ножках CAP2N, CAP2P, CAP1P и CAP1N примерно аналогичное, +- 0,2 В , а вот на CAP3P вместо 4,8В целых 11В. Это когда изображения нет. И на ножках V0-V4 ниже на 2-2,5 В. Но когда появляется изображение от прикосновения, успеваю замерить, что на CAP3P напряжение падает до нормы, и на ножках V0-V4 поднимается до нормы. В чем же дело? Имеется 2 платы: одна по ЛУТ, вторая на "зеленке" и 3 одинаковых индикатора. Разводка на платах немного отличается друг от друга. Но в любой комбинации результат одинаковый. Может кто-то уже сталкивался с такой проблемой или натолкнет на мысль? думаю, дело не в программе, приводить код не буду. Если нужны ссылки на документы или схему- выложу. Заранее всем спасибо.
|
|
|
|
Сказали "Спасибо" TAutomatic
|
|
|
18.07.2012, 23:07
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,479
Сказал спасибо: 3,193
Сказали Спасибо 2,982 раз(а) в 682 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Вроде у этих дисплеев регулировка контрастности программная.
Наверное пропустили при инициализации команду установки контрастности. Или даже не пропустили - подали команду вывести контраст в ноль и теперь пытаетесь сделать невидимое видимым.
|
|
|
|
18.07.2012, 23:20
|
|
|
Временная регистрация
Регистрация: 18.07.2012
Сообщений: 73
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Сообщение от lsa
|
Вроде у этих дисплеев регулировка контрастности программная.
Наверное пропустили при инициализации команду установки контрастности. Или даже не пропустили - подали команду вывести контраст в ноль и теперь пытаетесь сделать невидимое видимым.
|
Ну не совсем так, вернее даже наоборот. Как раз именно регулировка программная, чем они и хороши. Как раз я устанавливаю среднюю контрасность при инициализации. В том, что определенные данные записаны в ОЗу дисплея и команды выполнены я могу убедиться: во-первых по командам управления бустера я тестером вижу как увеличивается напряжение, во-вторых, я же написал, изображение же просматривается. Значит и контрасность установлена на соответствующем уровне. Так я интерпретирую увиденное, можно как-то по- другому?
|
|
|
|
Сказали "Спасибо" TAutomatic
|
|
|
18.07.2012, 23:39
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Сообщение от lsa
|
|
Вроде у этих дисплеев регулировка контрастности программная.
|
Сообщение от TAutomatic
|
|
Ну не совсем так, вернее даже наоборот. Как раз именно регулировка программная, чем они и хороши.
|
Здесь вы абсолютно не правы...
У них регулировка именно программная...
Сообщение от TAutomatic
|
|
Как раз я устанавливаю среднюю контрасность при инициализации.
|
А кто вам сказал, что среднее значение контрастности является оптимальным???
С чего такая уверенность в её линейности... и чётких границах диапазона видимости изображения???
Играйтесь значением... других вариантов нет...
Последний раз редактировалось st__1; 18.07.2012 в 23:41.
|
|
|
|
19.07.2012, 00:09
|
|
|
Временная регистрация
Регистрация: 18.07.2012
Сообщений: 73
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Сообщение от st__1
|
Здесь вы абсолютно не правы...
У них регулировка именно программная...

А кто вам сказал, что среднее значение контрастности является оптимальным???
С чего такая уверенность в её линейности... и чётких границах диапазона видимости изображения???
Играйтесь значением... других вариантов нет...
|
Вы поймите, речь не идет об оптимальности. На первом этапе, когда нужно хотя бы что-то "зажечь", что бы хоть как-то увидеть изображение, речь не идет об оптимальности. И при чем тут линейность? Изображение есть, я же написал. Да и менял значение контрастности, меняет контрастность, не в этом дело. Вопрос, почему пропадает изображение. А решение в нормализации в работе цепей питания, я так думаю. Но что не так и как это устранить.
|
|
|
|
Сказали "Спасибо" TAutomatic
|
|
|
19.07.2012, 00:49
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
"Чудес не бывает!"(С)
Если с монтажом все нормально... то остаётся только инициализация и правильная установка контрастности...
Сообщение от TAutomatic
|
|
Да и менял значение контрастности, меняет контрастность, не в этом дело.
|
А в чём???
Если нет изображения, как вы определяете, что контрастность меняется???
Сообщение от TAutomatic
|
|
успеваю замерить, что на CAP3P напряжение падает до нормы, и на ножках V0-V4 поднимается до нормы. В чем же дело?
|
Первый признак неправильной инициализации или установки контрастности... и то, что все ваши дисплеи ведут себя одинаково, подтверждает это...
|
|
|
|
19.07.2012, 08:35
|
|
|
Временная регистрация
Регистрация: 18.07.2012
Сообщений: 73
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Сообщение от st__1
|
"Чудес не бывает!"(С)
Если с монтажом все нормально... то остаётся только инициализация и правильная установка контрастности...
А в чём???
Если нет изображения, как вы определяете, что контрастность меняется???
Первый признак неправильной инициализации или установки контрастности... и то, что все ваши дисплеи ведут себя одинаково, подтверждает это...
|
Вы правы, чудес не бывает. Вот именно это я и назвал "Хождение по мукам".
Изображение бывает, я же написал. В том то и дело. Управление конроллером этого дисплея - дело не хитрое. Есть у меня знакогенератор. Я записываю информацию в дисплей, начинаю водить пальцем в районе бустерных конденсаторов... Опа иногда, появляется то, что я записал. Значит:
процедуры записи данных работают правильно - изображение иногда видно
команды выполняются правильно, они отличаются от процедур записи данных наличием только одного доп. сигнала. Да и реакция на некоторые команды дисплеем видна.
Процедура инициализации практически одинакова во многих источниках в инете и мною повторена во всех вариантах.
Мне хотелось бы совета от тех, кто имел дело именно с таким контроллером. Поскольку я не сам не новичек в работе с ЖКИ, использовал и контроллер KS0108 и TC6369. Таких проблем не было
|
|
|
|
Сказали "Спасибо" TAutomatic
|
|
|
19.07.2012, 08:48
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,479
Сказал спасибо: 3,193
Сказали Спасибо 2,982 раз(а) в 682 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
У меня такого дисплея нет, проверить не смогу, но выложите сюда код начальной инициализации, может кто увидит и укажет конкретно на ошибку в настройке.
Или уже был совет как решить проблему контрастности:
Сообщение от st__1
|
|
Играйтесь значением... других вариантов нет...
|
Последний раз редактировалось lsa; 19.07.2012 в 08:59.
|
|
|
|
19.07.2012, 09:13
|
|
|
Временная регистрация
Регистрация: 18.07.2012
Сообщений: 73
Сказал спасибо: 4
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Вот код.
|
Код:
|
#define SET_BIAS 0xA2
#define BIAS_1_9 0x00
#define BIAS_1_7 0x01
#define ADC 0xA0
#define ADC_NORMAL 0x00
#define ADC_REVERSE 0x01
#define COMMON_OUTPUT_MODE 0xC0
#define NORMAL_DIR 0x00
#define REVERSE_DIR 0x08
#define INTERNAL_RES_RATIO 0x20
#define RES_RATIO_0 0x00
#define RES_RATIO_1 0x01
#define RES_RATIO_2 0x02
#define RES_RATIO_3 0x03
#define RES_RATIO_4 0x04
#define RES_RATIO_5 0x05
#define RES_RATIO_6 0x06
#define RES_RATIO_7 0x07
#define VOLUME_MODE_SET 0x81
#define BOOSTER_RATIO 0xF8
#define RATIO_2x3x4x 0x00
#define RATIO_5x 0x01
#define RATIO_6x 0x03
#define POWER_CONTROL 0x28
#define CONTROL_OFF 0x00
#define BOOSTER_ON 0x04
#define VR_ON 0x02
#define VF_ON 0x01
#define DISPLAY_START_LINE_SET 0x40
#define DISPLAY_PAGE_ADD_SET 0xB0
#define DISPLAY_COLUMN_ADD_HI_SET 0x10
#define DISPLAY_COLUMN_ADD_LO_SET 0x00
#define DISP_NORMAL 0xA6
#define DISP_ON 0xAF
#define DISP_ALL_POINTS 0xA4
#define ALL_POINTS_OFF 0x00
#define ALL_POINTS_ON 0x01
void __attribute__((section("ST7565"))) LcdInit(void)
{
LCD_RST(0); //аппаратный сброс
delayms(10);
LCD_RST(1);
delayms(10);
SendCommand(SET_BIAS | BIAS_1_9);
SendCommand(ADC | ADC_NORMAL);
SendCommand(COMMON_OUTPUT_MODE | NORMAL_DIR);
SendCommand(INTERNAL_RES_RATIO | RES_RATIO_1);//resistor ratio
System.Block.LcdContrastLevel = 0x30;
SendCommand(VOLUME_MODE_SET); SendCommand(System.Block.LcdContrastLevel);
SendCommand(BOOSTER_RATIO); SendCommand(RATIO_2x3x4x);
SendCommand(POWER_CONTROL | BOOSTER_ON | VR_ON | VF_ON);
SendCommand(DISPLAY_START_LINE_SET);
SendCommand(DISPLAY_PAGE_ADD_SET);
SendCommand(DISPLAY_COLUMN_ADD_HI_SET);
SendCommand(DISPLAY_COLUMN_ADD_LO_SET);
SendCommand(DISP_NORMAL );
SendCommand(DISP_ON);
SendData(DISP_ALL_POINTS | ALL_POINTS_OFF);
} |
Я по-прежнему уверен, что в нем ошибки нет. Как можно увидеть, строка в установкой контростности присутствует. И значения менялись во всем доступном диапазоне. Мне кажется, проблема в аппаратной части, но что именно не так...
|
|
|
|
Сказали "Спасибо" TAutomatic
|
|
|
19.07.2012, 12:06
|
|
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: LCD WO12864A1 с контроллером ST7565
Рисуйте полную схему подключения...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:53.
|
|