DpInRock 0 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Процессор AT91SAM9G45. Видеопамять с 70000000, DDr2x16. 24 битный цвет. 1. Делаем черный экран записью нулей. 2. Пишем, рисуем, что хотим делаем - но не белым цветом. 3. Стоит хоть одну точку сделать белой - весь экран становится белым. (Хотя видеопамять как таковая содержит верные данные). 4. Ставим в ЛЮБОМ месте "НЕ БЕЛУЮ" точку. Изображение восстанавливается. 5. Ставим белую куда-нибудь опять. Весь экран белый. Перестройка DMA LCD, целиком самого LCD ничего не дает - экран остается белым (в смысле, при отклюении и перенастройке он становится черным, но после окончания инициалзации - белый). Примечание 1 Программа, которая всем этим управляет находится в той же самой памяти. Примечание 2. "НЕ БЕЛАЯ" точка, которая восстанавливает изображение ДОЛЖНА СОДЕРЖАТЬ В КАЖДОМ БАЙТЕ ЦВЕТА не менее двух единичных битов. К примеру, точка цветом 88 88 88 не восстанавливает изображение, а точка 33 33 33 - восстанавливает. (33 00 33 - не восстанавливает, 53 35 75 - восстанавливает). ------------------- Этот глюк не определяется в обычных условиях, когда на экране многоцветие и мельтешение. А вот попробовал сменить фон калибровки экрана на черный, на котором рисовал чисто белый крестик - и получил этот эффект. Ума не хватает помыслить что это. К сожалению плата в единственном экземпляре. --- Белая точка ничему не вредит, если на экране полноцветная картинка реальная. Но если 90% экрана одного цвета, причем простого цвета - черный, чисто синий например, то белая точка работает.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Что говорит эррата про lcd ? (это еще надо очень творчески домыслить) Наоборот эффект есть, т.е. белый экран и черная точка ? Скопом есть возможность глянуть, там действительно начинает идти белый цвет на весь экран ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Общем, в копилку мирового опыта. Описанный эффект существует, повторяется строго. Чтобы специально такое сделать, надо долго потрудиться. Причина в самом LCD. Вернее, в шлейфе. Стоит его немного изогнуть - нормальное изображение появляется без всякого программного вмешательства. Но как трабл со шлейфом может давать четкий триггерный эффект, абсолютно четкий и абсолютно триггерный - пока не представляю. Рад этому несказанно, ибо уже привинтил к PutPixel фичу, которая ставит серую точку в конец видеопамяти. В общем, пока все равно чудо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DAV 0 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Вы случайно не используети коды, которые нужны для синхронизации. В цифровом ТВ нельзя давать код в 8 старших разрядах 00 или FF. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Не. Это обычный TFT, 24 битный интерфейс. Уже железно дело в шлейфе. Поставил новый экран - все работает нормально. Но по характеру неисправности - не в жисть не подумал бы на шлейф. И щас не думаю. Пойти в церву, воды купить и попрыскать вокруг. Других мыслей пока нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DAV 0 24 октября, 2011 Опубликовано 24 октября, 2011 · Жалоба Попробуйте фазу клока подвигать относительно данных - часто помогает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 25 октября, 2011 Опубликовано 25 октября, 2011 (изменено) · Жалоба В общем, вдруг интересно. Не в шлейфе дело. Когда программируешь - часто включаешь выключаешь, а когда просто ничего не делаешь - то не выключаешь. И вот тогда LCD начинает нагреваться. И действительно, в зависимости от картинки - начинает глючить. Уменьшение тактовой частоты убирает глюк. Который вновь возникает от дальнейшего прогрева. Кто греется, LCD или проц пока сказать трудно. Проц пока недоступен для охлаждения. --- Скорее всего LCD виноват. Если просто подуть на него слегка глюк прекращается сразу. Что удивительно, этот же LCD уже использовал в серии. Все нормально было. Но управлялся он LPC2478. Изменено 25 октября, 2011 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryM 0 25 октября, 2011 Опубликовано 25 октября, 2011 · Жалоба Ох, а не может там быть что уровни не согласованы?? TTL <-> LVTTL, может защитные диоды подрабатывают вот он и греется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 25 октября, 2011 Опубликовано 25 октября, 2011 · Жалоба Теперь выяснил все бесповоротно и окончательно (надеюсь на это сильно, но тестирование занимает долгое время, надо ждать пока нагреется) Снижение тактовой частоты к хорошему не приводит. Просто глючить начинает позже. А вот существенное увеличение Vertical Porch (c 5 линий до 127 - как переднего так и заднего) - решило проблему. Полагаю, что 128 линий до и после хватает, чтобы LCD транзисторы чуток перекурили от дерганий туда-сюда. Т.е. реально хватило и 10 линий порча, но я взял чксло линий при котором видно дрожание и поделил на 2. Типа с запасом. Вот пока так. Почему я сразу не поставил 127 линий - не помню. Обычно я ставлю большие порчи, чтобы не так сильно загружать память прямым доступом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться