|
|
  |
stm32f439 и SDRAM, Можно ли извратиться для упрощения разводки? |
|
|
|
Feb 12 2016, 20:16
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Шаманъ @ Feb 12 2016, 22:53)  А мне побайтовая адресация не нужна - я только словами работать с ней буду, получается полная свобода  ? Собирался сигналы DQML/DQMU памяти посадить на землю, ну и FMC в 16битном режиме. Как по мне, это большое неудобство. Цитата(Шаманъ @ Feb 12 2016, 22:53)  Слоев всего два на все  Плохо. Цитата(Шаманъ @ Feb 12 2016, 22:53)  Наверное еще если понадобится можно выбор банков поменять местами (BA0/BA1)?.. Можно, а смысл? Два провода всего.
|
|
|
|
|
Feb 12 2016, 21:18
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(aaarrr @ Feb 12 2016, 22:16)  Можно, а смысл? Два провода всего. Ну если они пересекаются так сказать в ограниченном пространстве, то может и будет смысл. Цитата(skripach @ Feb 12 2016, 22:38)  +1 Только в пределах одного байта, имею печальный опыт  Ну поделитесь, что там произошло? Или Вы с памятью побайтно работали? ЯadiatoR с шиной адреса такое делать явно не стоит - там и burst read/write и прочее может быть неработоспособно...
|
|
|
|
|
Feb 13 2016, 08:20
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
Feb 13 2016, 12:15
|
Знающий
   
Группа: Участник
Сообщений: 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  Старшие адреса по идее можно и перемешать, только биты в регистре режима тоже перемешаются (но это не должно привести к проблемам - просто не следует забывать об этом). Так, или я чего-то не учитываю?
|
|
|
|
|
Feb 13 2016, 12:26
|

Местный
  
Группа: Свой
Сообщений: 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  Старшие адреса по идее можно и перемешать, только биты в регистре режима тоже перемешаются (но это не должно привести к проблемам - просто не следует забывать об этом). Так, или я чего-то не учитываю? Точно в сам бурст не вчитывался, видел только возможность бурст чтения по одной строке (ну или я так понял) - в этом случае при рандом столбце проблем не должно быть...
|
|
|
|
|
Feb 13 2016, 12:36
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(ЯadiatoR @ Feb 13 2016, 14:26)  Компоненты только с одной стороны, плата 2 слоя. Спасибо! Цитата Точно в сам бурст не вчитывался, видел только возможность бурст чтения по одной строке (ну или я так понял) - в этом случае при рандом столбце проблем не должно быть... Все, разобрался - то, что я написал контроллер SDRAM stm32f439 не поддерживает  В мануале написано, что бурст надо запрограммировать в mode register в 000 - т.е. его длина будет 1 и то, о чем я написал не будет происходить  Получается почти полная свобода! Адреса (кроме А10) можно перемешать, данные тоже  Спасибо всем за обсуждение! Пойду рисовать плату...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|