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

STM32H7 работа с SDRAM. Проблема

11 minutes ago, Axel said:

Ну да, непросто. А Вам критично использовать 32 бита? Как вариант: развести 16 бит на частоту выше 150 MHz вполне реально (сам делал, без резисторов). Может в этом случае скорости хватит?

Похоже что критично. соседняя ветка Discovery F429 / uGFX об этом.  Процессорный модуль F439 / 16 битовая SDRAM проще куптить у starterkit.ru. Стоит практически по цене комплектации. Недавно накинули 500 рублей. стоил вообще 2тыр.  http://starterkit.ru/html/index.php?name=shop&op=view&id=120

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


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

5 minutes ago, khach said:

А если посмотреть в сторону тех же модулей от waveshare Core7xxI https://www.waveshare.com/wiki/Core746I - там SDRAM расположена на обратной стороне платы прямо под TQFP корпусом процессора. Неплохая экономия на длине проводников получается.  Дизайн от waveshare до 80 мгц работает устойчиво, наверно можно и до 100 разогнать если чуть вылизать. Может у кого есть возможность сделать рентген такого модуля чтобы восстановить разводку?

*0

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


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

10 minutes ago, khach said:

А если посмотреть в сторону тех же модулей от waveshare Core7xxI https://www.waveshare.com/wiki/Core746I - там SDRAM расположена на обратной стороне платы прямо под TQFP корпусом процессора. Неплохая экономия на длине проводников получается.  Дизайн от waveshare до 80 мгц работает устойчиво, наверно можно и до 100 разогнать если чуть вылизать. Может у кого есть возможность сделать рентген такого модуля чтобы восстановить разводку?

2380 в Чип Дип. Проще купить. Знать бы раньше. Про 80 МГц  - это из их документации или лично проверяли?

УПД. поторопился. тоже 16 бит...

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

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


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

5 hours ago, nanorobot said:

УПД. поторопился. тоже 16 бит...

Про 16 бит это и не скрывалось. Суть предложения в двухэтажном расположении контроллера и памяти.

Еще есть вариант китайских микромодулей Atomic Apollo STM32F767 (существуют варианты этих модулей и с 429 и H743)

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


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

Just now, khach said:

Про 16 бит это и не скрывалось. Суть предложения в двухэтажном расположении контроллера и памяти.

Еще есть вариант китайских микромодулей Atomic Apollo STM32F767 (существуют варианты этих модулей и с 429 и H743)

Я и не утверждаю, что кто то что либо скрывал. Это я повелся на новую плату, ожидая подарка с неба. Не вышло. Подобный дизайн мне приходил в голову, но возникает неясность со слоями. У меня ТOP и MID2 - слои основной разводки. Слой BOTTOM - VDD, MID1 - GND. А здесь с обоих сторон компоненты, надо изобретать другую последовательность. Склоняюсь к следующему: вся разводка  на внутренних слоях. TOP и BOTTOM - GND и VDD и с них же переходы на внутренние слои.

 

Или необходимо, что бы между двумя слоями разводки находился слой полнjстью залитый землей?

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

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


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

1 hour ago, nanorobot said:

Я и не утверждаю, что кто то что либо скрывал. Это я повелся на новую плату, ожидая подарка с неба. Не вышло. Подобный дизайн мне приходил в голову, но возникает неясность со слоями. У меня ТOP и MID2 - слои основной разводки. Слой BOTTOM - VDD, MID1 - GND. А здесь с обоих сторон компоненты, надо изобретать другую последовательность. Склоняюсь к следующему: вся разводка  на внутренних слоях. TOP и BOTTOM - GND и VDD и с них же переходы на внутренние слои.

Абсолютно неправильно! Разводка - на внешних слоях, GND и PWR - внутренние. GND - обязательно сплошной, PWR - сплошной в зоне быстрых проводников. Посмотрите в форуме по ПП - там найдете много чего интересного по этой теме. По поводу расположения чипов на противоположных сторонах - вполне работоспособный вариант. Мои 168 MHz получены именно таким образом.

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


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

Just now, Axel said:

Абсолютно неправильно! Разводка - на внешних слоях, GND и PWR - внутренние. GND - обязательно сплошной, PWR - сплошной в зоне быстрых проводников. Посмотрите в форуме по ПП - там найдете много чего интересного по этой теме. По поводу расположения чипов на противоположных сторонах - вполне работоспособный вариант. Мои 168 MHz получены именно таким образом.

32 бит SDRAM ? Какой процессор? Нет, я не прошу поделиться, просто интересуюсь.  Переходные отверстия используете только сквозные?

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

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


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

1 hour ago, nanorobot said:

32 бит SDRAM ? Какой процессор? Нет, я не прошу поделиться, просто интересуюсь.  Переходные отверстия используете только сквозные?

 

16 бит. Контроллер STM32F437, 144 пина, отверстия только сквозные. Ваши проблемы с 32 битами понятны, но базовые принципы проектирования ПП они не отменяют. И что-то подсказывает, что если Вас устроили-бы 100 MHz с 32 битами, то 168/16 тоже  может проканать...

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


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

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

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


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

Just now, khach said:

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

Линии шины данных в пределах любого из 4 байтов можно менять произвольно. С адресами все сложнее - вероятно не стОит.

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

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


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

19 hours ago, khach said:

А если посмотреть в сторону тех же модулей от waveshare Core7xxI https://www.waveshare.com/wiki/Core746I - там SDRAM расположена на обратной стороне платы прямо под TQFP корпусом процессора. Неплохая экономия на длине проводников получается.  Дизайн от waveshare до 80 мгц работает устойчиво, наверно можно и до 100 разогнать если чуть вылизать. Может у кого есть возможность сделать рентген такого модуля чтобы восстановить разводку?

Спасибо, что подтолкнули в сторону такого дизайна.  Плата развелась практически идеально.  Различие длин проводников не более 400 mil. Ну, несколько(7) треков пришлось перенести на внутренний слой, на котором расположен полигон VDD. Думаю, что это не проблема. Если результат будет успешным, выложу сюда, может кому сгодится. F429 / TQFP176 / 32bit SDRAM

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

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


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

Существует ли прошивка типа memtest для АРМов, которая позволяет проверить правильности работы SDRAM при различных тактовых частотах? Желательно чтобы прога сама изменяла частоту без перекомпиляции и выдавала наибольшие работоспособные значения.

Кстати, столкнулся тут с неприятной проблемой - из за кривой разводки SDRAM защелкивала в регистры левый адрес и честно по нему читала-писала данные. Т.е обычный тест на содержимое проходил на-ура, а при уменьшении тактовой частоты оказывалось что писало в ячейки с неправильным адресом.

 

 

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


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

Just now, khach said:

Существует ли прошивка типа memtest для АРМов, которая позволяет проверить правильности работы SDRAM при различных тактовых частотах? Желательно чтобы прога сама изменяла частоту без перекомпиляции и выдавала наибольшие работоспособные значения.

Кстати, столкнулся тут с неприятной проблемой - из за кривой разводки SDRAM защелкивала в регистры левый адрес и честно по нему читала-писала данные. Т.е обычный тест на содержимое проходил на-ура, а при уменьшении тактовой частоты оказывалось что писало в ячейки с неправильным адресом.

 

 

во времена Спектрумов плотно занимался темой тестирования памяти, даже книжки специальные читал по алгоритмам - тестировали некондиционные 565ру5 -ру7. Тряхну стариной когда дойдет до дела.

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


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

Это слишком далеко в прошлом ( тесты памяти для спектрумов).

У текаса есть нечто подобное тут http://www.ti.com/tool/TIDM-TM4C129XSDRAM

с исходниками ( там есть смена частот но синтезатор конечно совсем другой чем у STM32)

Или вот вариант для f429 https://github.com/knielsen/stm32f4_sram_memtest

Можно взять за основу.
 

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


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

Just now, khach said:

Это слишком далеко в прошлом ( тесты памяти для спектрумов).

У текаса есть нечто подобное тут http://www.ti.com/tool/TIDM-TM4C129XSDRAM

с исходниками ( там есть смена частот но синтезатор конечно совсем другой чем у STM32)

Или вот вариант для f429 https://github.com/knielsen/stm32f4_sram_memtest

Можно взять за основу.
 

Это все понятно.  Ожидал такого ответа. Но общность принципов никуда не делась. алгоритмы распознавания сложных дефектов памяти по прежнему актуальны. Я так думаю (с)

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


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

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

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

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

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

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

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

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

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

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