Jump to content

    

Recommended Posts

Первым, который "пошел, купил", в голову приходит OPA4348 (вопрос в нюансах - буковках, обозначающих корпус). Если питание там ниже 6 вольт (а, судя по цифре 1.95, там 3.3 питание), то замена адекватная.

Да я тут в ближайшем лабазе нашел MCP6244-E/SL микрочиповские. Вроде то, что надо.

 

Share this post


Link to post
Share on other sites

Продолжение разборок с АЦП - работа по прерываниям.

Замечен баг в бета-верии, при работе генератора bsp. Идентификатор прерывания от AЦП в system.h всегда создается со значением -1:

#define ADC_SAMPLE_STORE_CSR_IRQ -1
#define ADC_SAMPLE_STORE_CSR_IRQ_INTERRUPT_CONTROLLER_ID -1

Т.е. получается, что независимо от настроек Qsys'а, прерывания от АЦП как бы не используются. Ну и, соответственно регистрация обработчика прерывания от АЦП не выполняется.

Работа с АЦП по прерываниям становится возможной только после рукопашной правки system.h (в соответствии с кусисовскими установками).

 

Надеюсь, что в "боевой" v14.1 этот баг будет исправлен.

 

Share this post


Link to post
Share on other sites

Добрый день! Может кто подскажет по работе с ADC. Создал IP ядро на QSYS с этим все вроде понятно. А надо ли, квартусу как то сообщаться, что на пины АЦП подается аналоговый сигнал? Или в квартусе это никак не оговаривается, а создание ядра подразумевает, что ножки стали входами АЦП?

Share this post


Link to post
Share on other sites
Добрый день! Может кто подскажет по работе с ADC. Создал IP ядро на QSYS с этим все вроде понятно. А надо ли, квартусу как то сообщаться, что на пины АЦП подается аналоговый сигнал? Или в квартусе это никак не оговаривается, а создание ядра подразумевает, что ножки стали входами АЦП?

Нет, входы АЦП в квартусе специально назначать не надо. Все назначения для АЦП делаются в Qsys'е.

 

Share this post


Link to post
Share on other sites
Нет, входы АЦП в квартусе специально назначать не надо. Все назначения для АЦП делаются в Qsys'е.

Спасибо за ответ. Подскажите, там есть какие нибудь тонкости? Я для пробы подключил IP ядро АЦП просто к такту. Сгенерился код, я планирую в соответствии с временной диаграммой посылать "комманд" и получать "респонс" с информацией. Все так? Меня смущает, что никак не оговорено, что ножки плисины являются входами АЦП...

post-78086-1431084152_thumb.pngьpost-78086-1431084156_thumb.png post-78086-1431084159_thumb.png

Share this post


Link to post
Share on other sites
Я для пробы подключил IP ядро АЦП просто к такту.

Так, скорее всего, работать не будет. Для тактирования АЦП нужен PLL, и настройки секвенсора должны соответствовать настройкам PLL.

Сделайте сперва все по инструкции, чтобы заработало. А уж потом за всякие эксперименты принимайтесь. :smile3046:

 

Меня смущает, что никак не оговорено, что ножки плисины являются входами АЦП...

Все, что нужно - где нужно оговорено :)

 

Share this post


Link to post
Share on other sites
Спасибо за ответ. Подскажите, там есть какие нибудь тонкости? Я для пробы подключил IP ядро АЦП просто к такту. Сгенерился код, я планирую в соответствии с временной диаграммой посылать "комманд" и получать "респонс" с информацией. Все так? Меня смущает, что никак не оговорено, что ножки плисины являются входами АЦП...

 

IMHO, быстрее всего понять что к чему можно с помощью готовых примеров: https://cloud.altera.com/devstore/

Регистрируйтесь и берите готовые проекты для конкретных плат. Примеров много, и по АЦП, и по NIOS II и по другим тематикам.

Edited by goodsoul

Share this post


Link to post
Share on other sites

Спасибо за помощь, с ацп стало понятно.

Теперь другая напасть. Подключаю DDR3, Quartus начинает ругаться на распиновку.

Чип - 10M50DAF484I

Сначала запускаю скрипт pin_assignments.tcl и на основании его провожу распиновку. Далее запускаю компиляцию и получаю ошибку в фиттинге.

 

Прикрепляю скин из пин пленера, где Quartus сам заполнил Fitter Location и скрин ошибки.

 

post-78086-1431587280_thumb.png

post-78086-1431587352_thumb.png

Share this post


Link to post
Share on other sites

Добрый день! В версии Quartus 14.0 для MAX10 не поддерживается PowerPlay Power Analyzer . В следующих версиях уже пофиксили? У меня такой ошибки нет, но "PowerPlay Power Analyzer" абсолютно не активен, все серое и некликабельно, тоже и в настройках.

Весь фикс состоит в том, что теперь ошибка не мозолит глаза или можно нормально пользоваться инструментом, просто я что-то не доглядел в настройках?

Кто нибудь оценивал потребление в MAX10?

Использую Quartus II 14.1 (64-bit)

post-78086-1434352746_thumb.png

post-78086-1434352753_thumb.png

Share this post


Link to post
Share on other sites

Можно спросить совета, уважаемые?

 

Интересует нагрузочная способность пинов IO выходов MAX10.

В документе MAX 10 General Purpose I_O User Guide касательно 3.3 вольтовых стандартов, особенно LVCMOS, какая-то шляпа:

 

0_1f93d8_b40aedab_L.png

max10_current_strength.png

 

Ток всего 2 миллиампера - но почему так мало?

LVTTL не многим лучше - даже до 16 ма не дотягивает :(

 

Насколько я понимаю - это не ошибка, и 3.3 вольтовые драйвера очень слабые?

 

Встроенный осциллятор тоже расстроил - генерирует частоту в диапазоне 55-116 МГц, без возможности выбрать более точное значение.

Понадеялся, что будет не хуже MachXO2 с точностью 5% и широким диапазоном...

Share this post


Link to post
Share on other sites
Насколько я понимаю - это не ошибка, и 3.3 вольтовые драйвера очень слабые?

не ошибка

 

Понадеялся, что будет не хуже MachXO2 с точностью 5% и широким диапазоном...

берите макхо

 

Share this post


Link to post
Share on other sites
Ток всего 2 миллиампера - но почему так мало? LVTTL не многим лучше - даже до 16 ма не дотягивает :(

Насколько я понимаю - это не ошибка, и 3.3 вольтовые драйвера очень слабые?

Первая мысль, которая возникла - ограничивают мощность на выходе (потому и на более низком TTL ток можно развить выше). Но величина 16мА уже на 3.0В указывает, что дело не просто в ограничении мощности.

Вероятно, дело в том, что последние поколения ПЛИС всё хуже и хуже справляются с перенапряжением (пусть и кратковременным) на выводах. И чтобы не создавать перенапряжения при коммутациях в области уровней, близких к критическим, ток там ограничивается.

Как-то убил Циклон, вогнав в резонанс RLC-нагрузку на выходе 24МГц. На живом другом глянул - примерно 6В в амлитуде от выхода 3.3! Снизил ток в порядке эксперимента - помогло.

А вообще, от силового применения выходных каскадов ПЛИС надо уходить.

Встроенный осциллятор тоже расстроил - генерирует частоту в диапазоне 55-116 МГц, без возможности выбрать более точное значение.
У MAXII/V тоже разброс был неслабый 3.33-5.66МГц. Для простых вещей хватает. Кстати, если есть некий внешний периодический низкочастотный сигнал, то при расположенности к искусственным трудностям :), можно заделать цифровую подстройку, потратив десятков 5-7 логических ячеек.

Share this post


Link to post
Share on other sites

des00

Понятно, спасибо!

 

EvgenyNik

А вообще, от силового применения выходных каскадов ПЛИС надо уходить

Похоже на то. Хотелось бы, конечно, сэкономить на лишних корпусах...

 

Можно ещё один вопрос специалистам?

Я с ПЛИС только начал знакомиться, поэтому сильно не бейте за некоторый офтоп.

 

По поводу начальной инициализации данных модулей.

Синтезируется ли подобное:

reg [7:0] data;
reg [3:0] code = 4'd14;

initial
begin
data = 8'd10;
end

 

То есть будут ли начальные значения присвоены регистрам после инициализации ПЛИС?

Для семейств MAX10 или лэттисовских MachXO2.

 

Или использовать для инициализации сигнал сброса res_n?

Share this post


Link to post
Share on other sites

В Квартусе "reg[7:0]data=10;" синтезируется.

Подобных вопросов на начальном этапе очень много возникает, быстрее задавать такие вопросы Квартусу, и получать ответ в картинках (Viewer после синтеза) - сразу видно, как синтезируется та или иная конструкция.

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.

Sign in to follow this