Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC1778 EMC LQFP144
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
yanvasiij
Доброго времени суток! Подключаю к процу LPC1778 в корпусе LQFP144 SDRAM память K6X1008T2D. Память с шириной адресной шины 17 бит. В корпусе LQFP144 проца LPC1778 наружу торчат адресные ноги EMC A0 - A15 и A24 и A25. В мануале я не нашел никаких альтернативных функций ногам P5[0] EMC_A[24] и P5[1] EMC_A[25], выходит я могу использовать только 16-битные памяти несмотря на то, что адресов у меня выведено на 18 бит. Вопрос зачем тогда в этом корпусе они вообще выведены, если их нельзя использовать в режиме emc?
SII
Эти ноги можно использовать как GPIO или как выходы одного из таймеров, так что они не являются бесполезными. С контроллером памяти их действительно в таком корпусе использовать нельзя -- но сам кристалл-то микроконтроллера одинаков для всех корпусов, меняются именно корпуса.
Golikov A.
чет я не понял
вот смотрю описание
http://www.nxp.com/documents/data_sheet/LPC178X_7X.pdf

P5[0]
I/O P5[0] — General purpose digital input/output pin.
I/O EMC_A[24] — External memory address line 24.
I/O SSP2_MOSI — Master Out Slave In for SSP2.
O T2_MAT2 — Match output for Timer 2, channel 2.

в корпусе 144 это 6 нога. 2 ее назначение - это режим А24 ЕМС, чего не хватает то? Регистра чтобы ее переключить в этот режим?

хотя вот ниже конфигурация ног для ЕМС
LPC1778FBD144 EMC_D[7:0] EMC_A[15:0] и адрес 16 битный... наверное имеется ввиду 2 старших адреса для переключения банков

нога есть, она выведена, функция для нее задана, так чего не работает то?
yanvasiij
SII Golikov A.
Я просто неправильно выразился. Мне не ясно как использовать их в режиме EMC. Про остальные функции то очевидно sm.gif

Мне пришла в голову мысль как использовать эти ноги в режиме emc. Нужно просто линкером разбить внешнюю память на разные удаленные участки памяти: первый будет с 0 до 0xFFFF, втором с 1000000 до 100FFFF, третий с 10000000 до 1000FFFF, четвертый с 11000000 до 1100FFFF. И все ляжет как надо.
skripach
Цитата(yanvasiij @ May 8 2014, 14:35) *
Мне пришла в голову мысль как использовать эти ноги в режиме emc. Нужно просто линкером разбить внешнюю память на разные удаленные участки памяти: первый будет с 0 до 0xFFFF, втором с 1000000 до 100FFFF, третий с 10000000 до 1000FFFF, четвертый с 11000000 до 1100FFFF. И все ляжет как надо.
Возможно даже будет работать sm.gif, а может и нет, в UM в табличке пишут для 144 пин корпуса
Цитата
Pins available
EMC_A[15:0]
EMC_D[7:0]
EMC_OE
EMC_WE
EMC_CS1:0


EMC_CS думаю надо использовать для старших разрядов.
..и память у вас не SDRAM, а SRAM.
Golikov A.
А... как использовать, ну так это очевидно, это для 4 банков памяти.
ставите 4 банка памяти с 16 битной шиной, еще берут дешифратор чтобы эти 2 ноги превратить в 4 чипселекта, и получаете 4 адресных пространства как вы и описали.

Также я видел вариант когда разную периферию вешают в свое адресное пространство, и опять же организую чипселекты дешифрацией этих 2 ног памяти. То есть в младшем пространстве у вас память, и чипселект обращения к ней если ноги 00, а если ноги 01, то это обращение к какому-то внешнему модулю, например ПЛИС, и так далее...

Учитывая что у вас память 18 битно адресная, то у вас просто получится 4 области памяти внутри одной, что в целом немного не удобно, но реализуемо)
yanvasiij
Цитата(skripach @ May 8 2014, 17:59) *
Возможно даже будет работать sm.gif, а может и нет, в UM в табличке пишут для 144 пин корпуса


EMC_CS думаю надо использовать для старших разрядов.
..и память у вас не SDRAM, а SRAM.



Цитата(Golikov A. @ May 8 2014, 18:22) *
А... как использовать, ну так это очевидно, это для 4 банков памяти.
ставите 4 банка памяти с 16 битной шиной, еще берут дешифратор чтобы эти 2 ноги превратить в 4 чипселекта, и получаете 4 адресных пространства как вы и описали.

Также я видел вариант когда разную периферию вешают в свое адресное пространство, и опять же организую чипселекты дешифрацией этих 2 ног памяти. То есть в младшем пространстве у вас память, и чипселект обращения к ней если ноги 00, а если ноги 01, то это обращение к какому-то внешнему модулю, например ПЛИС, и так далее...

Учитывая что у вас память 18 битно адресная, то у вас просто получится 4 области памяти внутри одной, что в целом немного не удобно, но реализуемо)


Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.