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

 
 
> stm32f439 и SDRAM, Можно ли извратиться для упрощения разводки?
Шаманъ
сообщение Feb 12 2016, 19:00
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



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

Народ можно ли пойти на такое извращение в целях упрощения разводки сабжа в двух слоях - линии шины данных памяти подключить к шине данных процессора в произвольном порядке? Вроде граблей не должно быть? Или я что-то не учитываю?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Feb 12 2016, 19:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



В пределах одного байта переставлять данные можно. "В двух слоях" - это два сигнальных слоя, или всего два?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Feb 12 2016, 19:53
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(aaarrr @ Feb 12 2016, 21:24) *
В пределах одного байта переставлять данные можно. "В двух слоях" - это два сигнальных слоя, или всего два?

А мне побайтовая адресация не нужна - я только словами работать с ней буду, получается полная свобода sm.gif? Собирался сигналы DQML/DQMU памяти посадить на землю, ну и FMC в 16битном режиме. Слоев всего два на все rolleyes.gif

Наверное еще если понадобится можно выбор банков поменять местами (BA0/BA1)?..

Сообщение отредактировал Шаманъ - Feb 12 2016, 20:00
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 12 2016, 20:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Шаманъ @ Feb 12 2016, 22:53) *
А мне побайтовая адресация не нужна - я только словами работать с ней буду, получается полная свобода sm.gif ? Собирался сигналы DQML/DQMU памяти посадить на землю, ну и FMC в 16битном режиме.

Как по мне, это большое неудобство.

Цитата(Шаманъ @ Feb 12 2016, 22:53) *
Слоев всего два на все rolleyes.gif

Плохо.

Цитата(Шаманъ @ Feb 12 2016, 22:53) *
Наверное еще если понадобится можно выбор банков поменять местами (BA0/BA1)?..

Можно, а смысл? Два провода всего.
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Feb 13 2016, 08:20
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Цитата(aaarrr @ Feb 12 2016, 23:16) *
Плохо.

Почему плохо? Если хорошо развести - значит и стоить меньше будет и проверять что-либо проще.
У нас 54tsop и 176 pin stm разведены на 2 слоя + дисплей 24 rgb. Разведена хорошо, без особых пересечений

Цитата(Шаманъ @ Feb 13 2016, 00:18) *
ЯadiatoR с шиной адреса такое делать явно не стоит - там и burst read/write и прочее может быть неработоспособно...

Бурст ведь работает на чтение внутри строки - поэтому перемешанные столбцы ему не важны, а если перемешаны строки - все равно ничего не произойдет потому что когда он собирается читать бурст он смотрит в какой строке сейчас находится. Если в той же то читает, а если нет то по общим правилам переход на другую строку

Сообщение отредактировал ЯadiatoR - Feb 13 2016, 08:23
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Feb 13 2016, 12:15
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(ЯadiatoR @ Feb 13 2016, 10:20) *
У нас 54tsop и 176 pin stm разведены на 2 слоя + дисплей 24 rgb. Разведена хорошо, без особых пересечений

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

Цитата
Бурст ведь работает на чтение внутри строки - поэтому перемешанные столбцы ему не важны

Что-то я сомневаюсь - бурст ведь может быть разной длины. Судите сами допустим бурст 8 слов, адреса А0..А2 зададут с какой ячейки начинается бурст. Теперь представим А0 и А1 поменяли местами. Записываем данные 8 слов с ячейки х..х000, а потом читаем ячейку х..х001 и х..х010. Запишутся данные в порядке 0-1-2-3-4-5-6-7, а прочитаются не 1 и 2, а 2 и 1 sm.gif Старшие адреса по идее можно и перемешать, только биты в регистре режима тоже перемешаются (но это не должно привести к проблемам - просто не следует забывать об этом). Так, или я чего-то не учитываю?
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Feb 13 2016, 12:26
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Цитата(Шаманъ @ Feb 13 2016, 15:15) *
Если не секрет память и контроллер на одной стороне платы или память под контроллером?

Компоненты только с одной стороны, плата 2 слоя.

Цитата(Шаманъ @ Feb 13 2016, 15:15) *
Что-то я сомневаюсь - бурст ведь может быть разной длины. Судите сами допустим бурст 8 слов, адреса А0..А2 зададут с какой ячейки начинается бурст. Теперь представим А0 и А1 поменяли местами. Записываем данные 8 слов с ячейки х..х000, а потом читаем ячейку х..х001 и х..х010. Запишутся данные в порядке 0-1-2-3-4-5-6-7, а прочитаются не 1 и 2, а 2 и 1 sm.gif Старшие адреса по идее можно и перемешать, только биты в регистре режима тоже перемешаются (но это не должно привести к проблемам - просто не следует забывать об этом). Так, или я чего-то не учитываю?

Точно в сам бурст не вчитывался, видел только возможность бурст чтения по одной строке (ну или я так понял) - в этом случае при рандом столбце проблем не должно быть...
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Feb 13 2016, 12:36
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(ЯadiatoR @ Feb 13 2016, 14:26) *
Компоненты только с одной стороны, плата 2 слоя.

Спасибо!

Цитата
Точно в сам бурст не вчитывался, видел только возможность бурст чтения по одной строке (ну или я так понял) - в этом случае при рандом столбце проблем не должно быть...

Все, разобрался - то, что я написал контроллер SDRAM stm32f439 не поддерживает sm.gif В мануале написано, что бурст надо запрограммировать в mode register в 000 - т.е. его длина будет 1 и то, о чем я написал не будет происходить sm.gif Получается почти полная свобода! Адреса (кроме А10) можно перемешать, данные тоже sm.gif Спасибо всем за обсуждение! Пойду рисовать плату...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 11:50
Рейтинг@Mail.ru


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