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

 
 
 
Reply to this topicStart new topic
> LPC + SDRAM, Есть ли 8-битный режим
scifi
сообщение Sep 24 2015, 07:23
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Хочу подключить SDRAM к LPC4370. Хочется использовать более мелкий корпус (BGA100), и там выведено только 8 линий данных (D0..D7). А в мануале всюду говорится о 32-разрядном и 16-разрядном режиме (chip select width). И только в таблице возможных конфигураций есть строчки типа 2Mx8, 16Mx8 и т.д. Причём эти строчки есть как в таблице про 16-разрядную шину данных, так и про 32-разрядную.
Вот как это понимать? Дурдом какой-то.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 12:13
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Полноценно работать с 8-битной скорее не получится. Для SDRAM нужен пин EMC_A14, которого в BGA100 нет. В BGA100 шина для статики сделана. Доступные режимы EMC SDRAM только 16 и 32 бита. Но можно ли работать в "неполноценном" режиме с каждым вторым мусорным байтом - это может быть. (с EMC_A14 это не связано)

Цитата(scifi @ Sep 24 2015, 11:23) *
Причём эти строчки есть как в таблице про 16-разрядную шину данных, так и про 32-разрядную.
Вот как это понимать? Дурдом какой-то.

Для 16-битного режима: на A0-A7 весится первая 8-битная SDRAM, на A8-A15 вторая. Для 32-битного четыре микросхемы SDRAM.

Сообщение отредактировал GetSmart - Sep 24 2015, 12:21


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 24 2015, 12:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(GetSmart @ Sep 24 2015, 15:13) *
Для SDRAM нужен пин EMC_A14, которого в BGA100 нет.

Это я заметил. Не получится использовать банки 3 и 4. Либо забью на них (памяти и так хватит), либо подцеплю к GPIO и буду колхозить переключение "страниц" в софте.

Цитата(GetSmart @ Sep 24 2015, 15:13) *
В BGA100 шина для статики сделана.

При этом зачем-то вывели RAS, CAS, DYCS. Вот не верится, что у них там в NXP совсем крыша съехала.

Цитата(GetSmart @ Sep 24 2015, 15:13) *
Но можно ли работать в "неполноценном" режиме с каждым вторым мусорным байтом - это может быть.

На это и рассчитываю. Если не получится цивилизованным способом, буду городить огород.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 12:22
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(scifi @ Sep 24 2015, 16:21) *
При этом зачем-то вывели RAS, CAS, DYCS. Вот не верится, что у них там в NXP совсем крыша съехала.

Пины многофункциональные.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
prottoss
сообщение Sep 24 2015, 12:34
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(scifi @ Sep 24 2015, 18:21) *
На это и рассчитываю. Если не получится цивилизованным способом, буду городить огород.

bb-offtopic.gif
Блин-зачем??? Нельзя все сделать без огорода? Или у нас это в крови?


--------------------
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 24 2015, 12:41
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(GetSmart @ Sep 24 2015, 15:22) *
Пины многофункциональные.

Вообще-то да, справедливо.

Но всё равно не оставляю надежду. Читаю на сайте ARM документацию на контроллер памяти PL-176 (внутри LPC4370 вроде бы сидит PL-172, но в этой часто должно быть похоже):
Цитата
Bit[15:14]
External bus width (chip select width) which can be 16-bit (00), 32-bit (01), or 64-bit (10).
...
Bits [8:7]
Device width, which can be 8-bit (00), 16-bit (01), or 32-bit (10).

Пытаюсь понять, как может быть одновременно "external bus width 16-bit" и "device width 8-bit".
Загадка природы.

Цитата(prottoss @ Sep 24 2015, 15:34) *
Блин-зачем??? Нельзя все сделать без огорода? Или у нас это в крови?

Не нервничайте, уважаемый. И пекитесь о своей крови, у меня в этом плане проблем нет.
Хочется использовать BGA100, потому что BGA256 сильно больше. В условиях моих конструктивных ограничений это важно.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 13:05
Сообщение #7


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(prottoss @ Sep 24 2015, 16:34) *
Или у нас это в крови?

Никаких тормозов может и не быть. Просто софт писать соответственно. Только стандартные memcpy и прочие будут медленнее работать, если скомпилятся в байтовом режиме.

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

Сообщение отредактировал GetSmart - Sep 24 2015, 14:03


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 24 2015, 13:27
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(GetSmart @ Sep 24 2015, 16:05) *
Никаких тормозов может и не быть.

А почему вас это волнует? В смысле тормоза. Я-то никуда не тороплюсь, мне просто много памяти надо.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 14:01
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Разве меня это волнует?
Шёл мимо. Смотрю, человек беспокоится. Решил успокоить.

Собственно, для процессора это будет обычный 16-битный режим SDRAM. А то, что вторые 8 бит данных снаружи процессора никуда не подключены, он даже не узнает. Нужно только не забыть EMC_DQMOUT0 подключить, чтобы нечётные байты не затирали чётные. Но такой режим лично я не тестировал. Теоретически должно работать. Т.к. невыведенные наружу управляющие сигналы EMC не должны что-то менять во внутренней логике EMC. Например, для работы 16-битного режима SDRAM в корпусах процессора, в которых не выведены на пины часть сигналов EMC_CLKх, их всё-равно нужно программно настраивать. Или настраивать два пина в режимах CLK01 и CLK23.

Сообщение отредактировал GetSmart - Sep 24 2015, 17:27


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 17:30
Сообщение #10


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Оказывается есть грабля. У BGA100 не выведены DQMOUT. Поэтому с байтовым доступом к области памяти SDRAM надо быть очень осторожным. Не пользоваться memcpy и другим непрозрачным функционалом. И невыровненную 16 и 32-битную запись в SDRAM вообще избегать. Только выровненную 16 и 32-битную можно.

Цитата(scifi @ Sep 24 2015, 16:41) *
внутри LPC4370 вроде бы сидит PL-172, но в этой часто должно быть похоже

В последнем юзер мануале на LPC43xx v1.9 есть упоминание только о 16 и 32-битных режимах.

Сообщение отредактировал GetSmart - Sep 24 2015, 17:44


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 24 2015, 19:01
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Видимо, не буду заморачиваться с BGA100. Не стоит оно того.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Sep 24 2015, 20:01
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



напишите в поддержку, она вменяемая, отвечает в течении пары недель, и нам заодно расскажите, как они там себе это все видели.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 24 2015, 21:44
Сообщение #13


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(scifi @ Sep 24 2015, 23:01) *
Видимо, не буду заморачиваться с BGA100. Не стоит оно того.

Если скорость не важна, и данных много не большого размера, то легко написать пару своих функций по копированию из SDRAM во внутреннюю RAM, которой там много. И обратно. И уже из внутренней RAM полноценно работать с чистыми данными, размером например до 64 КБ.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 14th July 2025 - 08:54
Рейтинг@Mail.ru


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