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

LPC2378 - вытащить наружу частоту ( Для FPGA ).

Как народ решает ( или обходит ) такую проблему: Циклон 3 на параллельной шине контроллера LPC2378, внутри Циклона блоки ОЗУ ( которым нужна тактовая частота для записи или чтения ). На выходе LPC набор сигналов для работы со статическим ОЗУ, тактов нет. Как использовать блоки ОЗУ Циклона в качестве внешнего ОЗУ LPC2378 ( на максимальной скорости, допускаемой контроллером )? Поиск пробовал запускать, но неудачно, может, формулировал не так. Пока приходит в голову одно - вывести с помощью таймера некую частоту, привязанную к внутренней CCLK. Похоже, можно выдать CCLK/2. Но как она будет связана с диаграммами работы с ОЗУ, задержки, смещения, их повторяемость для нескольких экземпляров, непонятно. Кстати, NXP вообще этих диаграмм с временами не приводит, очень мне это непривычно. В конце недели будет готовая плата, буду запускать, хочется и в качестве внешнего ОЗУ попробовать. Тогда посмотрю диаграммы живьем, может что прояснится.

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


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

ИМХО, так как Вам нужно сопрячь асинхронную шину процессора с синхронной памятью FPGA, то остается только тактировать последнюю со значительно большей частотой, при этом привязываться к тактовой процессора смысла нет.

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


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

Кстати, NXP вообще этих диаграмм с временами не приводит, очень мне это непривычно.

 

Да потому что они скорее всего кривые и не по спецификации! Посадил как-то Lattice на LPC2468 на асинхронную шину и мучался потом две недели, пока не нашел, что шина работает не корректно, потом подкрутил прошивку и заработало. Где-то на форуме выкладывал осциллограммы. Наверняка и в 78-м может быть что-то подобное.

 

На счет тактовой посмотрите, в MCI модуле вроде была возможность выдачи на ножку частоты.

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


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

Ну, если была-бы возможность вытащить такую частоту, дальше все было-бы просто. Скорость работы с ОЗУ и так определяется диаграммами контроллера, большего не надо. А так действительно возникают две асинхронные системы и для уменьшения запаздывания при обмене в самом деле надо иметь в FPGA частоту намного бОльшую, чем частота обмена контроллера с внешним ОЗУ. Дальше это уже начинает зависить от того, как контроллер дергает управляющие сигналы. Например, OE и CS выбраны постоянно, меняются только адреса ( могу напутать, но вроде при передаче блоков данных такое возможно ). Значит надо четко зафиксировать смену адреса после всех неодновременных изменений битов адреса. И так далее. Ничего смертельного в этом нет, но по сравнению с диаграммой, где все определяется простыми сигналами...

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


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

Неужели у 2378 нет сигнала XCLK на одном из пинов? В LPC2294 был такой и я его как-то раз использовал. Там же и диаграммы были. Сигнал опционально разрешается.

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

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


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

Неужели у 2378 нет сигнала XCLK на одном из пинов? В LPC2294 был такой и я его как-то раз использовал. Там же и диаграммы были. Сигнал опционально разрешается.

 

Все проверил, нету. И по перечню контактов прошелся и по описанию узлов контроллера.

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


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

Все проверил, нету. И по перечню контактов прошелся и по описанию узлов контроллера.

Клоки I2S интерфейса формально могут быть равны тактовой ядра. Вопрос в том, что c фронтами будет....

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


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

Клоки I2S интерфейса формально могут быть равны тактовой ядра. Вопрос в том, что c фронтами будет....

 

То же про MCI: страница 404 юзермануала:

 

Clock Control Register (MCIClock - 0xE008 C004)

 

Bypass Enable bypass of clock divide logic: 0 0 Disable bypass.

1 Enable bypass. MCLK driven to card bus output (MCICLK).

 

Так что вроде можно выдать на MCICLK тактовую процессора

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

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


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

Так что вроде можно выдать на MCICLK тактовую процессора

Она присутствует только во время обмена с карточкой :( и после некоторого таймаута снимается.

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


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

Неужели у 2378 нет сигнала XCLK на одном из пинов? В LPC2294 был такой и я его как-то раз использовал. Там же и диаграммы были. Сигнал опционально разрешается.

 

Я запрограммировал в 2378 ШИМ на выдачу сигнала FCLK/4 - работает! (72МГц - ШИМ=18МГц), по идее должно работать и F/2 (могу проверить). Это удобно для тактовой скоростного сигма-дельта ацп - меняешь частоту - меняется частота дискретизации. А с клоками другой периферии у меня были проблемы!

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


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

Я запрограммировал в 2378 ШИМ на выдачу сигнала FCLK/4 - работает! (72МГц - ШИМ=18МГц), по идее должно работать и F/2 (могу проверить).

Проверять не надо - естественно работает, не проблема. Вопрос в получении fclk/1

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


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

Вопрос в получении fclk/1

Стремное это дело - получать fclk подобными способами. А если фаза вдруг изменится в новой партии? Никто же не гарантирует.

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


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

А у вашей FPGA ФАПЧ'а случаем нету?

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

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


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

А если фаза вдруг изменится в новой партии?

Легко :( и не только при смене партии, но и при очередном включении. Можно подстраиваться...

Хлопоты, но перетактировать по внутреннему клоку FPGA, пусть даже многосотмегагерцовому, десяткомегагерцовую шину, тоже не сахар :(.

А у вашей FPGA ФАПЧ'а случаем нету?

Мысль понятна, частота получается, а вот что там опять с фазой....

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


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

Очень неплохо было бы посмотреть сигналы каким-нибудь осциллографом. Причем это надо сделать обязятельно! Хотя бы убедиться в том, что шина работает по спецификации. Скорее всего фаза не важна, если логика фпга тактируется хотя бы частотой процессора.

 

Для таких вещей наиболее подходит LPC2468 если повесить к нему ФПГА через SDRAM контроллер.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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