Перейти к содержанию
    

в том-то и дело, что модули могут быть разными и с разной внутренней организацией. В конечном устройстве для управления ими используются разные 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% кривости рук обслуживающего персонала, очень нежелателен в принципе

Какой-то "поток разума". Что вы вообще делаете?

 

Поставте контроллер со SDRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какой-то "поток разума". Что вы вообще делаете?

 

Поставте контроллер со SDRAM.

 

а нафига мне SDRAM, если мне нужны совершенно конкретные, готовые модули? :laughing:

 

Решил объединить /CS0 и /CS1 по AND, то же самое /CS2 и /CS3 на каких-нибудь PicoGate, получим два банка по 32М

 

BLSы идут лесом, буду пользовать общий /WR

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел документ lpc24xx_externalmemory.pdf, нормально все расписано, с диаграммами по тактам ожидания.

 

Натолкнулся тут на такую вещь. Отлаживаю в симуляторе Keil 3.4.

 

Делаю указатель на DWORD, указываю ему старт 0х8000 0000. Пр попытке записи в эту область получаю *** error 65: access violation at 0x80000000 : no 'write' permission

Посмотрел настройки банков - все в норме, Write Protect сброшен. Но чую, что не там собака порылась :(

Изменено пользователем toweroff

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...