Sminder
Oct 16 2007, 05:31
Здравствуйте. Потребовалось подключить к микроконтроллеру графический индикатор WG12232. Шина данных висит на PORTE, управление - PORTC. Индикатор присоединен к микроконтроллеру параллельным шлейфом длиной 15 см. Суть проблемы в следующем: невозможно адресовать 0 и 2 страницы памяти (в основном справа - там ни разу не удалось достучаться до этих страниц, но иногда и слева). Глюк появляется и исчезает самопроизвольно, даже с одним и тем же куском кода. Соединение проверено многократно, сигналы контролировались осциллографом и вроде как адекватные, при возникновении глюка не удается добиться нормальной работы даже в статическом режиме (т.е. с ручным выставлением уровней сигналов на линиях - в этом случае задержки выше всяких допустимых норм). При адресации 0-ой и 2-ой страниц вывод происходит в 1-ую и 3-ю страницы соответственно, при этом вывод в 1-ую и 3-ю же страницы происходит нормально. Может кто-нибудь сталкивался с такой проблемой, в чем она может заключаться? Или это брак индикатора?
А вы не заметили, что у них питающие напряжения разные?
Поэтому логические нива у них тоже разходятся.
Лучше пользуйте какой-нибудь TIC, например
TIC-105. У него напряжение питания 2.5 - 5.5V.
Немножко поясню:
У меня то же самое случилось, только с индикатором YMS 12864-01. Убил два дня искать ошибки в коде, менял метод адресования и все остальное, но проблем оставался. Меня в заблуждении ввело то, что первая страница работала вполне нормально вплоть до того как процессор попытается вывести что-то во второй странице. Поставил TIC-105 и все стало нормально работать. Вот поэтому решил, что все-таки проблема была разница в напряжении питания.
Sminder
Oct 17 2007, 06:40
Насчет разницы в питающем напряжении я, конечно же, знаю, однако по стандарту ТТЛ уровня 3,3 В вроде как должно хватать. Убивает и то, что все-таки многие команды исполняются, и данные тоже заносятся, но не всегда

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

, и раз уж мне подсунули такую связку, то мое дело добиться работы, изменить ничего нельзя. Попробую сегодня настроить порты на открытый сток и подтянуть линии к +5 В.
Цитата(Sminder @ Oct 17 2007, 10:40)

...Попробую сегодня настроить порты на открытый сток и подтянуть линии к +5 В.
Должно получится. Дайте знать потом, удалось ли Вам достичь максимальную скорость обмена с индикатором.
Sminder
Oct 17 2007, 14:05
Жуть какая-то... Запаял резисторы, ничего не помогло. Я так подозреваю, что дело не в уровнях. Может я что не так делаю в драйвере? Что интересно, с левой половиной индикатора глюк происходит очень редко, зато на правой практически постоянно. Задержки вроде нормальные... Может такое быть из-за высокой крутизны фронтов?
У ЖКИ уровни сигналов не ТТЛ, а КМОП, т.е. 0.7 * Vdd = 3.5В минимум. Поставьте какой-нибудь буфер с ТТЛ-входами, например 74HC244, 74HC245 и будем Вам счастье. Я сам работал с этим индикатором, но на PIC18F4620 и при питании от 5В. Никаких проблем не было!
Какие резисторы поставили? Выше килоом, кажется, будет многовато...
Sminder
Oct 18 2007, 07:23
Цитата(FDA @ Oct 18 2007, 08:53)

Поставьте какой-нибудь буфер с ТТЛ-входами, например 74HC244, 74HC245 и будем Вам счастье
По моему скромному мнению, выходы с открытым коллектором с подтянутыми до +5 В резисторами и выполняют роль такого буфера.
Цитата(evc @ Oct 18 2007, 09:53)

Какие резисторы поставили? Выше килоом, кажется, будет многовато...
Ставил 10 кОм. Контроллер индикатора вполне вероятно выполнен по технологии КМОП, на мой взгляд, должно хватить.
Sminder
Oct 18 2007, 14:01
Всем кто откликнулся большое спасибо. Проблема разрешилась самым неожиданным образом. Раньше питание на схему с индикатором подавалось путем включения блока питания. Случайно обнаружилось, что если включить блок питания заранее, а затем подсоединить контакт провода питания, то индикатор ведет себя совершенно адекватно!!!
Похоже, дело было в цепи сброса индикатора. Данный индикатор не имеет внешнего сигнала сброса, поэтому оставалось надеяться на внутреннюю схему. Команда сброса никаких действий кроме инициализации регистров не несет. Может быть это конечно глюк в индикаторе....
Здравствуйте! Тоже мучаю этот индикатор с STM32. Ваще не дышит. Скиньте, плз, хоть как нибудь работающий код на С для любого МК на почту titov@k66.ru, а то я может быть не так последовательности задаю... ;-((
Здравствуйте! Тоже мучаю этот индикатор с STM32. Ваще не дышит. Скиньте, плз, хоть как нибудь работающий код на С для любого МК на почту titov@k66.ru, а то я может быть не так последовательности задаю... ;-((
Здравствуйте! Тоже мучаю этот индикатор с STM32. Ваще не дышит. Скиньте, плз, хоть как нибудь работающий код на С для любого МК на почту titov@k66.ru, а то я может быть не так последовательности задаю... ;-((
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.