реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Atmega64 и LCD, графический, на контроллере t6963
AndyBig
сообщение Jun 16 2005, 20:32
Сообщение #1


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Приветствую всех!

Ситуация:
Имею Мегу64, работающую на кварце 14 мГц и ЖКИ 240х128 с контроллером t6963.
Инициализирую ЖКИ, очищаю всю его память, вывожу текст - все нормально. Но при попытках залить или очистить небольшой прямоугольник (24х24) в графической области памяти очень часто наблюдаются артефакты - то одна строка в прямоугольнике не зальется (или не очистится), то часть строки, то пара строк...
Заливку и очистку произвожу так: по координатам x и y вычисляю смещение в памяти первой строки прямоугольника, устанавливаю в ЖКИ указатель памяти на этот адрес и пишу данные с автоинкрементом указателя до конца строки, потом вычисляю адрес следующей строки, устанавливаю на него указатель и т.д.

Кто-нибудь сталкивался с таким?
Кстати, очищаю весь экран я таким же способом - все нормально, экран корректно очищается и в текстовой и в графической областях.
Go to the top of the page
 
+Quote Post
yung
сообщение Jun 17 2005, 05:58
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 25-03-05
Из: Рязань
Пользователь №: 3 669



Решение "в лоб" - читать область после записи строки и делать верификацию. При необходимости повторить запись.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 17 2005, 07:00
Сообщение #3


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Да, я об этом думал, но это большая потеря времени... Разобраться бы в причинах такого поведения. Вообще, похоже, что неверно отрабатывается установка указателя адреса памяти в LCD, но вот из-за чего?... Пробовал ставить задержки, так что время сигналов, подаваемых на LCD превысило раз в 5 минимально рекомендуемые, не помогло.
Go to the top of the page
 
+Quote Post
indela
сообщение Jun 20 2005, 09:44
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 50
Регистрация: 13-03-05
Из: Минск
Пользователь №: 3 309



а с электрической частью (фронтами) там все нормально?
см. файл может поможет..
Прикрепленные файлы
Прикрепленный файл  display.pdf ( 31.79 килобайт ) Кол-во скачиваний: 159
 
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jun 20 2005, 12:18
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(AndyBig @ Jun 16 2005, 23:32)
.. очень часто наблюдаются артефакты...
*


Скорее всего все-таки слишком быстро работает процессор.
Я бы изучил осциллограммы работы с дисплеем.
и поставил задержки побольше - не в 5, а в 10 раз.
Хотя конечно, возможна хитрая программная ошибка.

Можно попробовать сменить алгоритм - рисовать по точкам.
smile.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 20 2005, 13:24
Сообщение #6


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Поигрался я с задержками - артефакты пропадают при удержании данных на шине контроллера в течении ~1000 циклов, то есть больше 60 usec. Эт слишком много sad.gif.
Может быть неверно само подключение ЖКИ? Я подключил его напрямую на выводы контроллера, без подтягивающих или ограничительных резюков...
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 20 2005, 13:26
Сообщение #7


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Был бы осциллограф... sad.gif
а рисовать по точкам - это, конечно, интересно, и мне придется к этому придти (рисовать битмапы по произвольным координатам по другому не получится ), но хотелось бы ликвидировать глюк сейчас, когда алгоритм рисования предельно прост, что бы не ковырять его в дальнейшем smile.gif
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 21 2005, 07:02
Сообщение #8


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Товарищи, ну неужели никто не подключал графические контроллера к AVR-контроллерам? Может быть кто поделится точно работающей схемой подключения?
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jun 24 2005, 10:27
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(AndyBig @ Jun 20 2005, 16:24)
Я подключил его напрямую на выводы контроллера, без подтягивающих или ограничительных резюков...


Пардон - был занят, не читал конфу 4 дня.
Конечно. я ставлю подтяжки - 4K7. На все выводы.
Кроме подсветки. biggrin.gif
Плоский кабель очень короткий.
Производство серийное.
Если не жалко и процессор позволяет - можно поставить и 1K0.
Но все-таки тут нужно искать компромисс.
Удачи ! Попробуй - а вдруг получится.
smile.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 24 2005, 10:34
Сообщение #10


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Спасибо за совет!
Я пробовал подтяжки 10К, они немного помогают, но не ликвидируют проблему до конца.
Попытаюсь поставить поменьше, 3-5К.
И еще: именно подтяжку к питанию? Не pull-down на землю?
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jun 25 2005, 11:31
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(AndyBig @ Jun 24 2005, 13:34)
И еще: именно подтяжку к питанию? Не pull-down на землю?
*


Теоретически это все равно - по переменному току
+5 и GND эквипотенциальны.
Но традиционно на землю ключи сильнее.
Поэтому используется как правило подтяжка к +5.
Однако, в тех случаях, когда до старта программы
после вкл. питания необходим конкретный уровень, то
к нему и следует "привязывать".

В моем конкретном случае я все нагрузил к +5.

Да, чуть не забыл:
Процессор ,я полагаю,наверняка "сильнее", чем дисплей.
Значит минимум резистора шины данных определяется дисплеем.
(если нужно читать дисплей).
У меня в девайсе слабенький процессор - AT89C55-24 мгц.
Короткая команда - 0.5 mks, поэтому никаких дополнительных
задержек нет (если мне не изменяет память).

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

Иногда "все правильно", но плохо работает из-за отсутствия
некоторой задержки при переходе от режима чтения к режиму
записи и наоборот. <_<


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jun 25 2005, 12:38
Сообщение #12


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Цитата
минимум резистора шины данных определяется дисплеем.
(если нужно читать дисплей).

Читать, конечно, будет нужно, но уж пару миллиампер дисплей, думаю, выдержит smile.gif. Но по спецификации, конечно, уточню.

Цитата
У меня в девайсе слабенький процессор - AT89C55-24 мгц.
Короткая команда - 0.5 mks, поэтому никаких дополнительных
задержек нет (если мне не изменяет память).

Да, максимальная задержка по спецификации ЖКИ-контроллера - 0,12 mks...
Осциллограф - вещь необходимая, согласен, но пока не обзавелся им. Дешевый покупать не хочется, потому как все равно он будет бесполезен во многих случаях, а на хороший пока не накопил smile.gif

Спасибо за советы! Как что-то получится - обязательно отпишусь в чем была трабла.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 18:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016