Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: To aaarrr ep9315+am29lv256 вопрос
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
KonstantinT
Здравствуйте!

Видел ваше сообщение, что вы скрестили этих зверей. Есть ли какие-нибудь особенности по подключению этой памяти. Из даташита на AM29lv256 при работе в 16 разрядном режиме используется линия а0. Те адресную шину с сирруса надо подключать так (слева - ep9315 справа am29lv256)
а1-а0
а2-а1
........
a24-a23

На какой CS садили?

Насколько я понял надо пересобирать redboot и linux под эту память (в списке поддерживаемых есть) Были ли какие-то баги?

Заранее спасибо за ответ
AlexN
Цитата(KonstantinT @ Dec 6 2007, 14:40) *
Здравствуйте!

Видел ваше сообщение, что вы скрестили этих зверей. Есть ли какие-нибудь особенности по подключению этой памяти. Из даташита на AM29lv256 при работе в 16 разрядном режиме используется линия а0. Те адресную шину с сирруса надо подключать так (слева - ep9315 справа am29lv256)
а1-а0
а2-а1
........
a24-a23

На какой CS садили?

Насколько я понял надо пересобирать redboot и linux под эту память (в списке поддерживаемых есть) Были ли какие-то баги?

Заранее спасибо за ответ


еще не развел, но рисую именно так,
на форуме сирруса было (касательно Spansion - он же AMD):
http://arm.cirrus.com/forum/viewtopic.php?t=3165
/CS6->/CE, /RD->/OE, /WR->/WE
Since you have a 16-bit Flash then you have to start with A1 from the EP93xx to the A0 on the Flash

но aaarrr видимо все же точнее скажет
aaarrr
Цитата(AlexN @ Dec 6 2007, 12:41) *
еще не развел, но рисую именно так,
на форуме сирруса было (касательно Spansion - он же AMD):
http://arm.cirrus.com/forum/viewtopic.php?t=3165
/CS6->/CE, /RD->/OE, /WR->/WE
Since you have a 16-bit Flash then you have to start with A1 from the EP93xx to the A0 on the Flash

Все правильно, но я бы еще рекомендовал добавить возможность подключения /CS0->/CE, чтобы использовать External Boot.
KonstantinT
Цитата(AlexN @ Dec 6 2007, 13:41) *
еще не развел, но рисую именно так,
на форуме сирруса было (касательно Spansion - он же AMD):
http://arm.cirrus.com/forum/viewtopic.php?t=3165
/CS6->/CE, /RD->/OE, /WR->/WE
Since you have a 16-bit Flash then you have to start with A1 from the EP93xx to the A0 on the Flash

но aaarrr видимо все же точнее скажет


В скольких слоях укладываетесь? Ведете две дорожки между выводами? Можно ли переставлять линии адреса и данных у SDRAM и флеша для удобства разводки?

Я пытаюсь в 4 слоях вручную дорожками толщиной в 6 "попугаев"

Цитата(aaarrr @ Dec 6 2007, 17:52) *
Все правильно, но я бы еще рекомендовал добавить возможность подключения /CS0->/CE, чтобы использовать External Boot.


Ок большое спасибо за оперативный ответ
aaarrr
Цитата(KonstantinT @ Dec 6 2007, 17:07) *
В скольких слоях укладываетесь? Ведете две дорожки между выводами?
...
Я пытаюсь в 4 слоях вручную дорожками толщиной в 6 "попугаев"

У меня были такие же нормы - все отлично разводится. Две дорожки между выводами не пролезут,
но это и не нужно.

Цитата(KonstantinT @ Dec 6 2007, 17:07) *
Можно ли переставлять линии адреса и данных у SDRAM и флеша для удобства разводки?

Можно переставлять данные у SDRAM, но только в пределах байта, т.е. чтобы не нарушалась работа DQM. Я так и делал.

Адреса на SDRAM переставлять не советую, иначе придется извращаться с инициализацией. A10 трогать нельзя вообще.
На флеш лучше тоже ничего не менять - намучаетесь с программированием.
lehho
А для K8D6x16U (flash от Sumsung - похожа на Am29LV640D) для 16-ти разрядного режима так же делать надо:

а1-а0
а2-а1
........
a24-a23

?

Или один в один подключить?
aaarrr
Цитата(lehho @ Dec 10 2007, 19:18) *
А для K8D6x16U (flash от Sumsung - похожа на Am29LV640D) для 16-ти разрядного режима так же делать надо:

а1-а0
а2-а1
........
a24-a23

?

Или один в один подключить?

Да, точно так же. Распиновка является JEDEC'овским стандартом, так что от конкретного производителя ничего не зависит.
lehho
Продолжу тему. Подключил flash к EP9301, таким образом:
Нажмите для просмотра прикрепленного файла

AD[22:1] - шина адреса микроконтроллера.

Проблема:

после старта redboot в микроконтроллере появляется сообщение:

the board contains unknown FLASH.

Есть подозрение, что всё-таки FLASH к шине адреса подключена не правильно
При посмотре сторонних схем видно, что цепляют шину адресов к flash по разному:

AD1 -> AD1
AD0 -> GND

или

AD1 -> AD0


Как правильно?
aaarrr
Flash подключена правильно, просто RedBoot не знает её ID.

На схеме смущает только RY/nBY - зачем его вообще куда-то подключать, тем более на nWait процессора?
lehho
Цитата(aaarrr @ Apr 10 2008, 17:31) *
Flash подключена правильно, просто RedBoot не знает её ID.

На схеме смущает только RY/nBY - зачем его вообще куда-то подключать, тем более на nWait процессора?


а что значит ID? Его куда-то прописать надо? Redboot скомпилили под AMD flash 29F640 - она очень близка к используемой samsung овской.
А вы точно ничего не путаете? Нашел инфу о том, что в мире имеются flash 8x, 16x, и 8x/16x selectable.
Макс_Мат
По логике вещей:
(MK) (Flash)
1) для 8x:
a[0]->a[0]
a[1]->a[1]
2) для 16x:
a[0]->NC, a[0]->GND
a[1] -> a[1]
3) для 8x16x select:
nByte->VCC
a[0]->NC, a[0]->GND
a[1] -> a[1]
или
nByte->GND
a[0] -> a[0]
a[1] -> a[1]

Спасибо, что подняли вопрос, думаю, многим будет это интересно
aaarrr
Цитата(lehho @ Apr 10 2008, 19:04) *
а что значит ID? Его куда-то прописать надо? Redboot скомпилили под AMD flash 29F640 - она очень близка к используемой samsung овской.

ID записан в самой микросхеме, он содержит код производителя и код продукта.
В соответствии с ID RedBoot загружает таблицу секторов. Если Вы скомпилировали RedBoot под 29F640, то ничего кроме 29F640 он шить не будет.

Цитата(lehho @ Apr 10 2008, 19:04) *
А вы точно ничего не путаете?

Нет, я ничего не путаю.

Цитата(lehho @ Apr 10 2008, 19:04) *
Нашел инфу о том, что в мире имеются flash 8x, 16x, и 8x/16x selectable.

А Вы документацию на свою память читали? Это 8x/16x selectable, насколько я могу судить по картинке. Кстати, Google и Samsung ничего не знают о K8D6x16U.

Цитата(Макс_Мат @ Apr 10 2008, 19:59) *
По логике вещей...

Следовать нужно не логике вещей, а документации. Не вводите людей в заблуждение.

Вот правильный вариант:

3) для 8x16x select:
nByte->VCC
a[0]->NC, a[-1]/D15->D15
a[1] -> a[0]
или
nByte->GND
a[0] -> a[-1]/D15
a[1] -> a[0]
Макс_Мат
Цитата(aaarrr @ Apr 10 2008, 22:36) *
a[0]->NC, a[-1]/D15->D15


А что вы имеете ввиду под a[-1]?
aaarrr
Цитата(Макс_Мат @ Apr 10 2008, 22:50) *
А что вы имеете ввиду под a[-1]?

Это вывод D15. В 8 бит режиме A[-1], в 16 бит - D15.
Макс_Мат
Цитата(aaarrr @ Apr 10 2008, 23:07) *
Это вывод D15. В 8 бит режиме A[-1], в 16 бит - D15.


т.е. в 8ми битном режиме:
a[0] -> a[-1]
a[1] -> a[0]

правильно?
aaarrr
Ну да. Я же так и написал.
Макc_Мат
сори, не замети л вывод d[15]
AlexN
Цитата(KonstantinT @ Dec 6 2007, 20:07) *
В скольких слоях укладываетесь? Ведете две дорожки между выводами? Можно ли переставлять линии адреса и данных у SDRAM и флеша для удобства разводки?

Я пытаюсь в 4 слоях вручную дорожками толщиной в 6 "попугаев"
Ок большое спасибо за оперативный ответ


разведено, работает.
всего 4 слоя, из них 2 - сигнальные, 2 - питание и земля. Min ширина дорожек 0.13мм, зазор в области прооцессора (EP9315, BGA352 с шагом 1.27мм) - 0.13мм, между КП проходит 2 дорожки. В остальной области зазоры 0.25мм для снижения crostalk. Переходное отверстие -0.25мм сверло, 0.5мм - площадка, но такие переходные - не рекомендую, встретились с проблемой пропадания связей (плохая металлизация), хотя платы прошли электроконтроль. Переразвел на 0.4мм сверло, 0.65мм площадка, но этот вариант еще не делели.
Подключение Flash Spansion/Amd на рисунке.
Redboot конечно же надо компилякать под конкретный тип микросхем, об этом подробно в доке на redboot.
также в доке сказано, что и download tool тоже надо под конкретный тип перекомпилякать, но у нас и так проканало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.