Jump to content

    

Recommended Posts

Сразу скажу, что я не электронщик, а программист, поэтому буду рад любым советам опытных людей. Нужна плата с FPGA (готовый devkit с FPGA), с помощью которой можно было решить следующую задачу:

Есть девайс с LPC2478 и SDRAM M12L2561616A на борту.

Задача: подменить SDRAM своим девайсом, который сможет не только эмулировать эту самую SDRAM, но и

1) логгировать обращения к памяти. Чтобы можно было своим кодом отправлять эти логи в комп по USB (программирование задачи со стороны PC - не проблема)

2) во время чтения из SDRAM использовать программно свои правила и блоки памяти, чтобы LPC2478 ничего не подозревая писал в SDRAM одно, а читал то, что я хочу ему скормить.

Насколько я понимаю, нужна плата с как минимум 40-50 IO портами, чтобы эмулировать SDRAM на частоте 100-200MHz. Может есть что-то готовое от Xilinx для решения этой задачи?

Share this post


Link to post
Share on other sites

Шансов у Вас мало, если только Вам не нужно отдавать умеренное количество констант из памяти. Причины следующие: SDRAM имеет достаточно большую емкость, эмулировать на внутренней памяти FPGA ее не получится - столько памяти внутри не бывает. Если использовать связку SDRAM-FPGA, то FPGA должна будет транслировать сигналы с почти нулевой задержкой, а если Вам нужно анализировать адреса, то с большой вероятностью, у Вас это не получится, не говоря уже о задержке на такт при границе адреса не совпадающей с границей раздела страниц. И второе. Я так понимаю, Вы хотите припаять эту конструкцию вместо SDRAM на основную плату - на скорости 200 МГц конструкция с кучей соплей работать не будет. Может быть, на 100 и получится, но не выше. Может быть, получится включить разрешение записи через ключик быстрый и управлять им. Соответственно, при включенном ключе пишете в память ответы, затем выключаете и имеете режим Read only.

Share this post


Link to post
Share on other sites
35 minutes ago, Alex11 said:

Шансов у Вас мало, ...

Спасибо большое. Эта схема - лишь предположение, так как я не знаю как иначе решить эту задачу. Я думал о другом варианте:

- припаять параллельно еще одну такую же M12L2561616A и когда идет запись в нее, то соответственно должно дублироваться во вторую SDRAM. А далее как Вы сказали, управляя ключами разрешения записи и выбора микросхемы прочитать содержимое с помощью другого микроконтроллера.

Задачу можно разделить на отдельные этапы - чтение образа памяти (после определенной функции на устройстве) и соответственно подмену памяти с помощью второй SDRAM

Схему я сам не соберу, поэтому хотел организовать все это на какой-нибудь готовой плате со связкой ARM-FPGA

Может есть какие-то другие варианты решения задачи? сканировать логическим анализатором для чтения тоже не вариант. Логгировать адресную шину + данные + контрольные пины = слишком дорого и вообще не уверен, реально ли.

 

Share this post


Link to post
Share on other sites

+1 ко мнению @Alex11 тайминг у SDRAM жесткий, длительность RAS/CAS и CAS Latency порядка 1-3-х тактов памяти, если память работает на частоте выше 50-80МГц, то  гиблое дело подменить данные своими, если транслировать их через ПЛИС.

Причем сделать зеркало, без проблем. Подцепить монитор портов, контроллер интерфейса и запись в свою SDR/DDR SDRAM. А вот подменить чтение и уложиться в стандартные времянки, вот с этим будет сложно. Собрать шинный коммутатор на две разных памяти, к одной из которых доступ зашарен на плис, можно подумать, но там нужно будет подстраиваться по работу процессора и писать модифицированный контекст в окнах.

Share this post


Link to post
Share on other sites
22 hours ago, planetzeus said:

чтобы эмулировать SDRAM на частоте 100-200MHz

Зачем так много? У LPC2478 контроллер SDRAM работает на частоте ядра, т.е. не больше 72МГц.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.