Перейти к содержанию
    

LPC1788, рябь на экране, очень странный случай

16 minutes ago, ViKo said:

А регенерация в SDRAM когда-то же выполняется?

Так этим же занимается EMC. Как я понимаю, наша программа абсолютно не должна заботиться о регенерации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

EMC - это что? В datasheet надо бы заглянуть. А, контроллер памяти. 

Регенерация требует времени, независимо от того, кто ей управляет.

Изменено пользователем ViKo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

присоединюсь, как бы да регенерация требует время, но , если вставить  задержки , между отдельными записями в память , эффект должен пропадать , но .... картинка никак не меняется. 

 

Изменено пользователем gms

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и еще момент, на плате два модуля SDRAM по 256 Мбит 16 бит шина , как писал @haker_fox , в icf память полностью распределена между  { block VRAMBLOCK1, block MEASBLOCK, block RAMDISK , block HEAP  } . Если все размеры блоков уменьшить и вписать в первые 32 мб по адресам , то как бы рябь уходит. Как так то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, ViKo сказал:

EMC - это что? В datasheet надо бы заглянуть. А, контроллер памяти. 

Регенерация требует времени, независимо от того, кто ей управляет.

Если SDRAM читается для вывода всего её содержимого на экран, то это и есть регенерация. Можно даже штатную в EMC отключить.  :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, jcxz сказал:

всего её

А если не всего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, gms сказал:

присоединюсь, как бы да регенерация требует время, но , если вставить  задержки , между отдельными записями в память , эффект должен пропадать , но .... картинка никак не меняется. 

У автора содержимое SDRAM выводится на экран. Периодически. А содержимое SDRAM регенерируется при любом чтении. Зачем ещё какие-то дополнительные задержки??  :unknw:

4 минуты назад, ViKo сказал:

А если не всего?

А рябь в каком содержимом? Разве не экранном? Да и для регенерации достаточно прочитать только строки (или столбцы - запамятовал), а не все ячейки. А значит видеобуфер можно так расположить, чтобы чтение видеоконтроллером выполняло регенерацию всего.

Регенерация может разве что мешать и приводит к такой ряби. Так что в качестве поиска причины ряби, можно как раз попробовать полностью отключить регенерацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз. А если выводится не вся память? Соответственно, и читается не вся. То есть, регенерацию отключить нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, ViKo сказал:

Еще раз. А если выводится не вся память? Соответственно, и читается не вся. То есть, регенерацию отключить нельзя.

Ещё раз:

10 минут назад, jcxz сказал:

Да и для регенерации достаточно прочитать только строки (или столбцы - запамятовал), а не все ячейки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, gms said:

. Если все размеры блоков уменьшить и вписать в первые 32 мб по адресам , то как бы рябь уходит. Как так то?

Если учесть важный момент что все начинает работать после пропайки, то вероятно, непропай в старших битах адреса. Как кстати подключена SDRAM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jcxz сказал:

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

Можно. Но это не значит, что так есть сейчас. Размышляя логически, несложно прийти к выводу, что регенерация в данное время включена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/9/2019 at 3:41 PM, haker_fox said:

От коллеги появились сведения, что при некоторой комбинации расположения регионов памяти (видеобуффера, кучу) в SDRAM, прибо виснет. Т.е, похоже, что данные в памяти действительно портятся. Но это пока догадки.

При наличии таких сведений - бросить все и тестировать-тестировать-тестировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, что если разместить блок с видеопамятью в конец, последние 3мб из 64, то есть проблемы с зависанием. 

2 часа назад, aaarrr сказал:

При наличии таких сведений - бросить все и тестировать-тестировать-тестировать.

Тестируем, но пока единственное, что помогло сдвиг памяти в младшие 32 мб. И ещё замена проца лечит проблему на 100%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, gms said:

Тестируем, но пока единственное, что помогло сдвиг памяти в младшие 32 мб. И ещё замена проца лечит проблему на 100%

Для тестов лучше отдельный проект завести, экран можно оставить как дополнительную нагрузку на контроллер памяти. По опыту, лучше всего тестировать быстрой (не rand()) псевдослучайной последовательностью по всему объему. И не менее 8-10 часов, желательно при повышенной температуре.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, gms сказал:

Интересно, что если разместить блок с видеопамятью в конец, последние 3мб из 64, то есть проблемы с зависанием.

Если у вас кто-то кого-то портит, то разместите её "в конец", сформируйте там статическую картинку (чтобы проц туда не обращался для рисования), закройте этот регион через MPU и ловите левые обращения в этот регион.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...