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

Flood

Свой
  • Постов

    1 807
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Сообщения, опубликованные Flood


  1. По-идее эта настройка влияет на выбор источника референса для 2,5V IO-стандартов, если таковые применяются в проекте. Но сделать ее точно не повредит.

  2. Надеюсь, здесь это не злостный оффтоп, т.к. где еще искать плисоводов?

     

    Ищу отладочную плату ML605 с убитой или отсутствующей FPGA, или прочими проблемами. Готов приобрести по остаточной стоимости, или обменять на что-нибудь полезное.

    На руках есть VLX240T, хочется превратить ее в ML605.

    fpgas на mail.ru

    Спасибо!

  3. Интересная платка, это что, тестовая "для внутреннего применения" самой Альтерой?

    ep2s30f672 я могу поискать на старых платах, но вот уверенно сказать, что он окажется рабочим никак не смогу :)

     

    Насчет прогрева - снять предохранитель, начинать подавать низкое напряжение толстыми проводами и под контролем тока. Где-то на единицах ампер должен появиться нагрев. Бездумно крутить ручку напряжения и давать слишком высокий ток опасно - если на линию где-то коротит металлический волосок, то он может прогореть и все накрученное напряжение радостно пойдет на питание. И если окажется накручено сильно более 1,2В...

  4. 1,2В - это скорее всего питание ядра, раз так, оно может звониться единицами Ом на исправной плате. Нужно быть уверенным, что речь именно о КЗ, т.е. 0 Ом.

    В предположении, что на плате нет других активных потребителей 1,2В, а КЗ это именно КЗ - первым делом снимать чип. Старый стратикс 2 (ну, если он не GX) на сегодня, пожалуй, ничего уже не стоит.

    Если не страшно, можно аккуратно подать низкое напряжение (от 0,1В и выше) на 1,2В от источника с ограничением тока и посмотреть, кто начнет греться :)

  5. JTAG ножки могут гореть при наличии Vref на JTAG колодке выше реального напряжения Vccaux или Vcco конфигурационного банка (в зависимости от типа микросхемы), например, на колодке 3,3В, а Vcco 2,5В; от статики; от отсутствия общей земли прибора и ПК с программирующим интерфейсом. Буржуи, кстати, часто буферизуют все выходящие на разъемы сигналы JTAG.

  6. Положение неиспользуемых ножек после программирования можно задавать в файле конфигурации (Pulldown, pullup, HiZ) - попробуйте разное.

    Прыжок потребления - очень странно, похоже на сброс конфигурации. Стоит проверить все напряжения питания ПЛИС, включая IO и MGT (если это 45T).

    Считайте регистр состояния после сброса потребления на 300мА. Возможно, конфигурация слетела (дрожит INIT ?).

  7. По-идее, ПЛИС от 2,5В на флешке не должна была умереть, т.к. у флешки отдельное питание IO, да и 2,5В конфигурационные ножки должны держать (см. Configuration Guide, у Xilinx чехарда с питанием конфигурационных ног, они то к Vccaux относятся, то к Vccio_0).

    Убитые по питанию ПЛИСы обычно аномально греются, от заметного нагрева до взрывоподобного разрушения корпуса. Если по потребляемому току пострадавшая плата не отличается от живой, смотрите возможные ошибки монтажа при обходе флешки, просмотрите сигналы JTAG осциллографом, снизьте частоту TCK до 750 КГц.

  8. Входы/выходы могут не работать, например, из-за проблем с Vccio. Также стоит проверить физическое наличие клока на плате.

    Блинкер - видимо, простейший проект, мигалка выходом (светодиодом) от основной частоты + поставить чипскоп на клок и мигающую ножку.

    После загрузки проекта запустить анализатор чипскопа и смотреть, что он скажет насчет присутствия ядра ILA и его функциональности.

  9. Из печального опыта известно, что Virtex-5 сильно не любят повышения напряжения на Vccaux, однажды от кратковременного +3,3В убился такой чип. Не удивлюсь, если Virtex-6 также не терпит такого превышения, даже на секунду.

    А вот флешка, по-идее, должна быть более "дубовой". Проверить можно, временно исключив пострадавший чип из цепочки JTAG. Тем не менее, даже если чип выжил, его лучше заменить или использовать только на макете.

  10. Вообще, после загрузки программы в DDR через XMD работать она должна. Стоит проверить, что:

    - DDR доступна (пишется/читается в XMD, причем читается то, что туда записали);

    - процессор (microblaze?) имеет доступ к DDR на исполнение (есть доступ через порт IC, диапазон разрешен для работы кэша программ);

    - линкер компонует программу в нужные адреса.

     

    Кстати, вместо простых программ мигания светодиодом можно всунуть в BRAM целый u-boot - дела пойдут значительно веселее.

  11. А в WinDriver-е нужно где-то указать что хочешь DMA?

    Попыталась сегодня сделать там драйвер, но такого пункта не нашла

    Самые базовые вещи упоминаются тут:

    http://www.jungo.com/st/support/tech_docs/td76.html

     

    Подробности - в доках и примерах, устанавливаемых с WinDriver.

    Там есть более-менее полное описание и готовые примеры работы с DMA.

  12. А если реализовывать мастер, то как узнать адрес по которому надо записыватьинформацию?

    Надо каким-то образом через приложение выделить память, узнать ее физический адрес и писать, или это можно реализовать как-то проще, т.к. пока что все попытки узнать физический адрес провалились :)

     

    Физический адрес - забота драйвера. Под Windows помочь в реализации могут как WinDriver, так и NuMega, хотя последняя уже устарела и лучше бы ею не пользоваться. Наилучший инструмент написания драйверов под Windows - родной Windows Driver Kit (WDK), но он же и самый сложный в освоении. На первых порах можно реализовать драйвер на WinDriver, затем переписать его на WDK.

     

    Забота железа (PCI BM-а) - реализация Scatter-Gather DMA, т.к., в общем случае, непрерывный буфер в пользовательском пространстве памяти не является непрерывным в физической памяти. У WinDriver есть особые функции выделения памяти для DMA, не помню, возможно там есть опция выделения цельного физического куска. Но, в общем случае, такое предполагается невозможным, и нужно реализовывать SG DMA. Непрерывный буфер в пользовательском пространстве - это целый список адресов физических страниц памяти, который должен обрабатываться аппаратным DMA как цепочка заданий с общим завершением. Если железо не поддерживает SG DMA - можно обрабатывать этот список программно, анализируя завершение DMA после каждой страницы, но это резко отрицательно скажется на скорости.

     

    Вот список основных проблем, с которым придется разбираться, реализуя DMA:

    - трансляция адресов и реализация Scatter-Gather DMA;

    - (опционально) выравнивание некратных адресов (в вашем случае, проще и лучше просто запретить работу с невыровненными адресами);

    - обеспечение кэш-когерентности DMA буферов (т.е. выполнение сброса-очистки (flush и invalidate) соответствующих участков процессорного кэша в нужные моменты времени);

    - обработка признаков завершения DMA-операции (обработка прерываний).

     

    Что касается скорости, теоретические 133МБ/с на PCI 33Mhz 32bit не получатся никогда, но на цифру порядка 100 Мбайт/сек, наверное, можно рассчитывать. Пиковая пропускная способность, кроме особенностей Вашего железа, будет зависеть еще и от архитектуры ПК, в.т.ч. от того, насколько далеко (логически) от системной памяти находится PCI-слот. В современных ПК это неблизкий путь через несколько мостов, впрочем, на операцию записи (т.е. прием данных из внешнего BM-устройства в системную память) это влияет не так сильно, как на операцию чтения.

  13. Вставлял V6 Root Complex в 14.1 под EDK (AXI-система) - работает нормально. В документации ds820 в 14.1 написано, что ECAM работает только на 7-series, но на деле это не так (видимо, забыли поправить, т.к. включили RC для V6 только в этой версии). Единственная явная странность - перекручивается endian при работе с конфигурационным пространством удаленного устройства, что требует перекрутки в драйвере (родные драйвера от Xilinx это учитывают). В 14.2 еще не смотрел.

  14. С одной стороны, Линукс, даже не как ядро, а как пользовательская рабочая среда в целом, вполне соответствует поговорке "как заплачено, так и зафигачено". К тому же, море имеющихся дистрибутивов порождает многочисленные проблемы совместимости, особенно для "не родного", т.е. не имеющегося в родных репозиториях ПО. Само собой, для проприетарных CAD-ов проблемы возникают, но зачастую их можно подлечить напильником.

     

    Наверное, если не нарушать требования производителя (т.е. использовать RHEL 5/6 или SuSe 11, или что там еще находится в списке поддерживаемых ОС) - проблем будет меньше.

     

    А вообще да, символ Линукса - напильник и еще раз напильник. Во многом из-за осевших в современном линуксе культурных слоев многих десятилетий юникса, и массы дистрибутивов, каждый из которых борется с этим наследием каким-нибудь своим скудно задокументированным способом. Зато бесплатно, да и тенденции развития в целом позитивные.

  15. Для этой задачи трудно придумать что-то проще и дешевле готового 3G-модема с USB-портом. Раз речь идет про работу с компьютером, разница в размерах между 3G USB модемом и специализированным встраиваемым модулем не будет слишком значительной.

    Хотя, как правило, коммерческим "отправлятелям СМС" с компьютера действительно нужны малогабаритные устройства, т.к. у них стоит задача подключать сразу несколько десятков таких устройств - для массовых рассылок спама и мошеннических сообщений.

  16. Кроме простой утомительной пайки припоем можно попробовать паять горячим воздухом - нанести на плату шприцем тонкую колбаску паяльной пасты (SMT), поставить чип точно на пады и запаять его феном - весь и сразу. Нужен некоторый опыт пайки воздухом и плата с паяльной маской. Для фенов под QFP бывают специальные насадки - чтобы греть только выводы.

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