Jump to content

    

DSIoffe

Свой
  • Content Count

    1800
  • Joined

  • Last visited

Posts posted by DSIoffe


  1. Здравствуйте все!

    Скажите, пожалуйста, можно ли уговорить отдельные параметры проекта печататься на схеме в две строки? Например, у меня название платы не помещается на отведённое ей в штампе место. Если можно, то как?

    Добавить в шаблон лишнюю строку можно, конечно, но некрасиво.

    Заранее признателен.

  2. Здравствуйте все!

    В AD 17 была возможность нарисовать тоненькую рамку вокруг всей схемы: Document Options - Sheet Options - галка Show Border. Это было очень полезно в борьбе с полями принтера.

    Подскажите, пожалуйста, сохранилось ли это в версии AD 20? Если да, то где найти?

    Заранее признателен.

  3. Я вспомнил один способ таки обойтись без скриптов. Всё равно надо получить перечень или ведомость в Excel. А потом вставить его в специально подготовленный файл Word, в котором будут правильные колонтитулы и разделы. Word такое понимает. И подогнать ширину столбцов таблицы Excel под рамки Word. Прикладываю. Там есть комментарии по использованию. Это было в ещё в старом Word, файл с расширением doc. Если что - прошу прощения, давно не делал перечни по ГОСТ :(

    template.zip

  4. 10 минут назад, Yuri124 сказал:

    Разве? На /CS памяти заведен сигнал FlashSel

    Так если замкнуть джампер XT1, то есть, разрешить работу SPI Flash, то FlashSel превращается в CSSPIN.

    12 минут назад, Yuri124 сказал:

    Как вариант - держать FPGA в ресете, пока идет запись во внешнюю флешь.

    Ну да, и я про это.

  5. Вот я присмотрелся: чип селект один и тот же, CSSPIN. И вообще, все линии SPI у ПЛИС и SPI FLASH обобществлены. Если надеть джампер и отключить от разъёма кабель программатора, то понятно: ПЛИС активна на шине SPI и загружает прошивку в себя из SPI FLASH. А если нет? Я вижу один вариант: программатор по линии CRESETB отключает ПЛИС. В тексте "CrossLink Programming and Configuration Usage Guide" написано:

    When CRESETB is asserted through a HIGH to LOW transition, the FPGA exits User Mode and starts a device configuration sequence at the Initialization phase, as described in this Tech Note. Holding the CRESETB pin LOW prevents CrossLink from leaving the Initialization phase. An external SPI Master can also write the Activation Key to the FPGA during this LOW time to enter slave configuration mode.

    Про то, что при низком уровне на CRESETB какие-то выводы ПЛИС переходят в третье состояние, в явном виде нигде не сказано. Но раз внешний мастер может что-то записать, значит, так оно и есть? И моя схема таки имеет право жить? Эх, отозвался бы тот, кто уже пробовал...

  6. Здравствуйте все!

    Помогите, пожалуйста, разобраться с конфигурацией ПЛИС CrossLink от Lattice. Я в первый раз сталкиваюсь с ПЛИС и САПР Lattice вообще и с CrossLink в частности.

    К сожалению, в документации Lattice нет готовой схемы подключения программатора, как у Intel, например. Или я не нашёл? В поддержке мне посоветовали воспроизвести схему из отладочной платы Master Link. Я попробовал, убрав оттуда всё, что касалось I2C, оставил только SPI, но логики работы всё равно не понимаю. Прикладываю схему, которая у меня получилась. Посмотрите, пожалуйста, кому не лень: она правильная?

    Возможно ли при помощи этой схемы делать следующее:

    - заливать прошивку в SPI Flash?

    - заливать прошивку в статическое конфигурационное ОЗУ ПЛИС?

    - работать с логическим анализатором? Насколько я понял, такая возможность есть.

    Вопросы:

    1) Почему не конфликтуют цепи MISO ПЛИС и SPI Flash памяти? Программатор как-то отключает ПЛИС, когда заливает прошивку в SPI Flash? Или я неправильно нарисовал?

    2) Можно ли как-то гарантировать, что я случайно не залью прошивку в конфигурационное ПЗУ ПЛИС?

    Может, кто-то поделится готовой схемой?

    Заранее признателен.

    CrossLink and SPI Flash.png

  7. 25 минут назад, Tormentor сказал:

    а есть ли какие-то буферные микросхемы

    В ответ на "level shifter" в Яндексе должно быть много разного, в том числе и такое.

    Драйвер годится, если не превышен ни один предельный параметр :)

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

    - выделить то, что надо заменить, например, все резисторы 10 кОм 0603;

    - ПКМ по выделенному - Part Actions - Update Selected from Libraries;

    - в окне "Update From Library" жмём внизу кнопку Next;

    - жмём внизу кнопку "Choose Component...";

    - выбираем, на что менять.

    Иначе трудно, наверное :(

  9. 5 часов назад, HardEgor сказал:

    Раньше на Microsoft можно было скачать комплект типа "ODBC pack".

    Вот это https://www.microsoft.com/ru-ru/download/details.aspx?id=54920 , accessdatabaseengine_X64.exe, я скачал и установил. Без него и Altium те базы не понимает. Пишут, что эта штука устанавливает и ODBC драйверы в том числе. Админ на работе не понял, о каком поставщике речь.

  10. 16 часов назад, alexf сказал:

    Я писал, что сам не пробовал. Но есть еще лучше:

    http://www.alexnolan.net/software/mdb_viewer_plus.htm

    Эта точно работает: и смотрит, и редактирует. Я проверил, но сам пользуюсь SQLite.

    Оно у меня на двух компьютерах не завелось, и на работе, и дома, с одинаковой ошибкой. При попытке открыть базу пишет "Не удается найти указанный поставщик. Вероятно, он установлен неправильно". Что может быть не так, не подскажете? Оба раза Windows 10 64-разрядная.

  11. В Specctra это делается, и вполне симпатично, хотя у меня почему-то завелось со второго раза. Экспортировать туда: File-Export-Specctra Design. Получится файл с расширением DSN. Обратно, соответственно, File-Import-Specctra Design.

    При создании правила для класса в AD: Add As Rule, затем нажать кнопку Edit Rule Values и в появившемся окне Choose Design Rule Type найти раздел High Speed, а в нём подраздел Matched Net Lengths. Двойной щелчок по нему, и задать допуск на разброс длин. Можно и в самой Specctra: меню Rules – Class – Timing… и т.д. В отчёте Specctra появляется команда вида:

    circuit class ADC_DATA (match_net_length on (ratio_tolerance 1.1))

    Её можно использовать в do файле Specctra при повторных попытках, а их будет наверняка больше одной. Мне понравилось, как это работает, но я делал это давно и один раз, воспроизвожу по конспектику. Подробности забыл :(

    Плохо то, что в Specctra не получается двигать компоненты. То есть, они там двигаются, но AD тех изменений не видит.

  12. Спасибо. Я нигде в документации FTDI не видел явного указания на то, что режим FIFO 600 быстрее 245, и в этом тексте тоже. Про 245 написано гораздо меньше, и картинок к нему совсем мало - это да. Как будто они его стесняются и стараются обратить внимание на 600 :) И непонятно, как может интерфейс в этом месте повлиять на взаимодействие с USB, с какого-то места внутри FT601 данные должны выглядеть одинаково.

    В AN_386 упоминается пауза между пакетами - Idle. Способов повлиять на неё нету, кроме как специально затянуть на стороне ведущего шины. Я пробовал - короткие Idle увеличиваются, длинные не меняются. Почему она у меня после четвёртого пакета увеличивается раз в 20 - непонятно.

    Будем искать...

  13. 1 час назад, yakub_EZ сказал:

    Возможно это из за режима 245. В режиме фифо 600 и конфигурацией канала 1 IN Pipe как себя ведёт?

    Режим 245 на FT60x не применял, не пригодился, всё время хотелось быстрее передавать и по мануалам этого можно добиться только в режиме фифо 600 

    Спасибо. Режим 245 мне показался проще. Режим 600 я ещё не пробовал. А не подскажете, где именно написано, что 600 быстрее? Может, там ещё какие подробности есть?

  14. Для считывания использую функцию FT_ReadPipe. И при синхронном, и при асинхронном чтении результат одинаковый.

    Внутри ПЛИС код, мною написанный на основании понятого из документации от FTDI.

    Алгоритм формирования слов - просто счётчик.

    Примеры от FTDI я у себя на плате не запускал, ибо не смог в них разобраться.

    Алгоритм работы такой: запускаю FT_ReadPipe, сигнал TXE_N активизируется, через некоторое время (от нуля до единиц миллисекунд) я активизирую WR_N и выдаю данные. FT601 забирает данные пакетами по 1024 слова, то есть, размером со свой буфер FIFO. На время высокого уровня TXE_N выдача данных приостанавливается.

  15. Здравствуйте все!

    Подскажите, пожалуйста, почему может тормозиться ввод данных в компьютер через FT601? Картина такая: первые четыре пакета по 1024 слова уходят с небольшими интервалами, правда, они понемногу растут. Потом интервалы между пакетами раз в пятнадцать больше самого большого из коротких. Прикладываю снимок экрана из Signal Tap.

    К портам USB подключены только клавиатура с мышью и USB Blaster.

    Может ли это быть особенностью режима 245 FIFO? При переходе на многоканальный режим с одним каналом может быть лучше?

    Если это особенность USB 3 на моей материнской плате, то может ли помочь вставная плата с USB?

    Заранее признателен.

    exp3_big_async.png

    И ещё осциллограмма сигнала TXE_N.

    TXE_N. застревание FT601.png