|
LPC2468 и Static Memory, назначение сигналов управления |
|
|
|
Feb 9 2009, 01:32
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(aaarrr @ Feb 9 2009, 03:53)  Нужны, естественно. Если будет использована 32-х битная память, то они должны быть заведены на соответствующие BLS/DQM. нет там таких линий есть несколько модулей, имеющих 32-битную структуру по данным, но адресуемым либо как 16М, 32М, 64М, при этом могут иметь одно- и двух-банковую систему. Подобных выводов нет в принципе. По двум банкам - есть отдельные /CS0 и /CS1 Классика - A, D, /CS, /WR, /OE В модулях возможна как 16- , так и 8-разрядная память. То есть по записи я могу каждый чип модуля конфигурить отдельно? Где можно посмотреть диаграммы? Или это все аппаратно зависит от какого-то регистра LPC?
|
|
|
|
|
Feb 9 2009, 23:29
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Ну вот такие модули  Для организации 16М и 32М используются 8-битные микросхемы. Есть варианты как с одним банком, так и с двумя (один или два /CS) 64M модули имеют организацию 2 банка по 32М (по 2 16-битных микросхемы) Сигналы записи раздельные (соответственно 4 и 2 /WR для 8-битных и 16-битных микросхем) - я это не использовал раньше, соединял все /WR в один А еще есть 64М модули, в которых мало 2 банка, так еще и микросхемы имеют двухбанковую архитектуру (LO- и HI-space) с отдельными своими /CS_LO и /CS_HI Цитата(aaarrr @ Feb 9 2009, 13:39)  Что же это за модули такие? Тогда сможете работать только с полными 32-х битными словами, так как запись одного байта будет портить 3 соседних. Нет, запись производится сразу 4 байт по одному адресу 32-разрядной шины
|
|
|
|
|
Feb 10 2009, 11:38
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(Methane @ Feb 10 2009, 13:35)  Развести BLS на соответствующие WE соответствующих 8 битных микросхем. Там же должно быть в документации к ним разрисовано, какие сигналы в каком порядке должны сработать, чтобы произошла запись. Возможно, я неточно задал вопрос. Если я буду с этими модулями работать как с РЕАЛЬНОЙ 32-битной шиной, как будут вести себя сигналы управления? /WR работает всегда? /CS[3..0] будут работать для выборки 16М банка (0x8000 0000 - 0x80FF FFFF, 0x8100 0000 - 0x81FF FFFF, 0x8200 0000 - 0x82FF FFFF, 0x8300 0000 - 0x83FF FFFF)?
|
|
|
|
|
Feb 10 2009, 12:00
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(toweroff @ Feb 10 2009, 13:38)  Возможно, я неточно задал вопрос.
Если я буду с этими модулями работать как с РЕАЛЬНОЙ 32-битной шиной, как будут вести себя сигналы управления? /WR работает всегда? /CS[3..0] будут работать для выборки 16М банка (0x8000 0000 - 0x80FF FFFF, 0x8100 0000 - 0x81FF FFFF, 0x8200 0000 - 0x82FF FFFF, 0x8300 0000 - 0x83FF FFFF)? Как сделаете так и будет. Если у вас 4 микросхемы по 8 бит, и вы хотите сделать 32битную шину, то она у вас будет по одному адрессу, CS будет 1 на всех, а BLS будет по одному на микросхему (может нужно будет AND поставить), и будет один банк памяти 0x8000 0000 и дальше. Вы можете сделать 8 битную шину, повесив каждую микросеху на свой CS. Тогда у вас будут 4 адресных пространство на каждую микросхему. WR всегда работает. ВЫ же не сказали что у вас за модуль памяти, и что там стоит.
|
|
|
|
|
Feb 10 2009, 12:25
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(Methane @ Feb 10 2009, 15:00)  Как сделаете так и будет. Если у вас 4 микросхемы по 8 бит, и вы хотите сделать 32битную шину, то она у вас будет по одному адрессу, CS будет 1 на всех, а BLS будет по одному на микросхему (может нужно будет AND поставить), и будет один банк памяти 0x8000 0000 и дальше. Вы можете сделать 8 битную шину, повесив каждую микросеху на свой CS. Тогда у вас будут 4 адресных пространство на каждую микросхему. WR всегда работает.
ВЫ же не сказали что у вас за модуль памяти, и что там стоит. в том-то и дело, что модули могут быть разными и с разной внутренней организацией. В конечном устройстве для управления ими используются разные CPLD в зависимости от типа используемых микросхем. В большинстве случаев формируется 2-банковая система. При этом модуль может иметь организацию 16М (2 банка по 8М), 32М (2 банка по 16М) и 64М (2 банка по 32М), однако может быть и однобанковая архитектура (то есть сигналы /CS0 и /CS1 конвертятся CPLD'шкой в старший адрес и один /CS) Моя задача - обеспечить запись и проверку контрольной суммы модуля. Также на каждом модуле есть (впаяны перемычки) некий ID, по которому можно судить о внутренней организации. Фактически, в CPLD целевого девайса и записана прошивка, которая меняет свои функции (адрес, /CS0, /CS1) в зависимости от модуля и для самого девайса внутренняя организация модуля не важна (он не пишет ничего туда, только читает) Вообще, я тоже могу поставить некую CPLD в свой девайс, однако хочу убедиться, что в данном случае контроллер External Memory LPC не обеспечит мне аналогичный функционал Была мысль использовать ту CPLD, которая стоит в целевом устройстве и воткнуть в свой девайс панельку под нее, но доступ к этой микросхеме в целевом девайсе достаточно затруднен и, в силу 90% кривости рук обслуживающего персонала, очень нежелателен в принципе
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|