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

inco

Свой
  • Постов

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

  • Посещение

Весь контент inco


  1. Подключали свою плату с ПЛИС к ПК через самопальный удлинитель PCIe (одноканальный) длиной около метра. Всё работало! Но делали только для отладки на столе! Разъёмы выпаивали с битых материнок.
  2. В связи с кризисом снова актуально. Один из проектов с применением ПЛИС сделанный ещё на уркаине. Второй проект с применением МК выполнен уже в Москве. Первый проект с использованием ПЛИС выполняет функции промежуточного контроллера Ethernet с выходом на 49 UART. Формат Ethernet пакета свой специфический. Контроллеры UART тоже со своим специфическим протоколом логического уровня. Обработка протоколов реализована аппаратно в ПЛИС. Архитектурно в ПЛИС используется процессор Nios II, Альтеровская корка Triple speed ethernet и своя синтезированная аппаратура подключенная к шине Авалон. Соответственно архитектура, софт для процессора Nios II и диагностический софт для ПК тоже написаны мной. Это макетный вариант платы. В серийном изделии удалось всё утрамбовать в одну ПЛИС. Второй проект с МК (тоже макетный) представляет собой универсальный контроллер сбора и предварительной обработки данных. Имеет в своём составе контроллер Ethernet тоже со своим специфическим форматом данных, 6 контроллеров токовой петли и 2 контроллера CAN. Соответственно весь софт самого контроллера и управляющая контроллером программа для ПК тоже написаны мной. Все схемы и платы тоже разработаны мной. Интересует прежде всего постоянная работа с достойной оплатой. Желательно в каком нибудь НИИ или НПО, так как до этого работал именно в них.
  3. Очень интересная тема! А можно и мне задать здесь вопрос, тоже про select mask. Вот есть у меня room полностью разведенный. Теперь я хочу убрать разводку у допустим верхней половины room-а. Логичные по моему действия выделить мышкой верхнюю половину room, но только так чтоб выбрались только разведенные дорожки. Как это сделать вопрос? Когда комната была одна отдельно просто начинал выделять пол комнаты начиная за ее пределами, а потом снимал выделения с ненужных объектов. Теперь когда комнат много и они стоят впритык друг к другу так сделать не получается (начинает двигаться соседний room) и приходится клацать по каждому сегменту разведенных дорожек в нужном мне room. Вот как быть в такой ситуации?
  4. Написал письмо, говорит: Ваше сообщение не доставлено. Mail failure.
  5. UP Нахожусь в Москве. Есть временная регистрация.
  6. Ищу работу в области разработки электроники с применением МК и ПЛИС. Опыт разработки более 10 лет. Полный цикл разработки от схемы до печатной платы, плюс программирование МК и ПЛИС. Документация. Программирование МК MCS51, PIC, AVR, ARM, "С/С++", IAR, Keil, GCC. Разработка архитектуры ПЛИС (в основном Altera, немного работал с Lattice) Verilog, SystemVerilog, верификация, тестовое покрытие. Инструментальные средства ПЛИС: Quartus, Diamond. iCEcube2, ModelSim, QuestaSim. САПР Altium. Интересует работа с возможностью переезда в Россию на ПМЖ, с территории проведения так называемой "антитеррористической операции". Остальные подробности в личку или по почте: computer_ra собака mail точка ru.
  7. А из директории sw в эклипсе файлы заменяли? Они общие для винды и линукса.
  8. А вот попутно тоже вопрос что делать при верификации проекта например в Квесте. Допустим автомат с 4 состояними и все 4 состояния описаны и задействованы, то есть default ставить не на что, но при этом, при верификации таже квеста этого не понимает и пишет предупреждения что нет ветки default. Понятно что можно игнорировать, но как-то раздражает! Что народ делает в таком случае?
  9. Тоже возник небольшой вопрос по TimeQuest, поэтому решил задать его в этой теме. Есть некий внешний клок заданный как Min: Thclk-1ns, Max: Thclk+1ns. Собственно вопрос, какой у него необходимо задать set_clock_latency 1 или 2, то есть set_clock_latency задаёт +- или максимальный разбег?
  10. Что касается Agilent идём к ним на сайт, регистрируемся, получаем триальную лицензию на месяц, переставляем дату в осциле на год назад и пользуем в своё удовольствие (если совесть не мучает). И так можно делать по кругу если забыли дату снести. Проверено! Всё работает. Уже больше года пользуем пару лицензий.
  11. Под ИАР нет проблем при любой комбинации версий j-link. Постоянно так отлаживаем двух процессорные платы. Причём запущено сразу на 2 мониторах 2 иара и подключено 2 j-link-а одновременно. При этом когда с 2 j-link-ами запускаешь ИАР он сначала выдаёт окно с обнаруженными 2 отладчиками и спрашивает к какому будем подключаться. Вот тут постоянно приходится угадывать, если j-link-и одинаковых версий. Соответственно когда запускаешь второй ИАР, то выбираеш второго отладчика относительно выбранного в первый раз. Так что похоже это проблема чисто у Кейл. Тут ничего подсказать не могу, не пользуюсь.
  12. Тему можно закрывать! Ответили на профильном форуме. http://matlab.exponenta.ru/forum/simulink-...ink-t18101.html
  13. Хотелось бы понять, как происходит моделирование в Simulink. Вот уже несколько раз пытался в нём что нибудь промоделировать но ничего не получается, а тут как раз возникла подходящая задачка. Требуется промоделировать работу приёмо-передающего тракта. Для начала решил попробовать пример по ссылке: http://matlab.exponenta.ru/communication/book5/index.php В теории вроде всё понятно, но ступор наступает после первых же двух блоков. Вставляю блок Bernoulli Binary Generator и блок Scrambler. Настраиваю у блока Scrambler полином на 23 разряда. Когда моделируеш работу ПЛИС в Квесте или пишеш программу для микроконтроллера, всё понятно, процессы идут либо параллельно либо последовательно во времени по сигналу CLK. Тут же, вообще не понятно как оно работает. Вот настроил я скрамблер и пытаюсь подать на него с генератора случайный бит (устанавливаю у генератора тип переменной boolean) раз в миллисекунду. Тут же получаю ошибку симулинка, что длина посылки к скрамблеру должна быть не меньше длины полинома (вопрос почему, если это простой сдвиговый регистр и вход/выход у него однобитовый). Ладно, устанавливаю ширину слова генератора uint32 и подаю на скрамблер. Проект собирается и моделируется. Пытаюсь с помощью simout посмотреть входные и выходные значения скрамблера, при этом время моделирования устанавливаю 5 сек. Получаю в матлабе два массива из 5000 элементов (вроде понятно, так и должно быть), но входной массив скрамблера состоит только из единиц и нулей (однобитных данных), а выходной из значений в диапазоне от 0 до 22. Собственно я и не могу понять, почему на входе битовый поток если я установил слова по 32 бита, куда делись остальные 31 бит. Как я понимаю, я должен увидеть два 32 битных массива по 5000 элементов каждый, в одном 32 битные входные данные, в другом 32 битные выходные данные, прошедшие через скрамблер? Теперь дальше. Выходные данные со скрамблера я должен разбить на части по 6 бит. Но 32 на 6 не делится. Если бы я это делал в Квесте, всё понятно, ставим делитель на 6 (так как там на входе сплошной битовый поток) и по каждому его срабатыванию кодируем шестибитные слова с выхода скрамблера согласно алгоритму. А что делать в симулинке, тут делитель на 6 не сделаешь, кого собственно делить если сигнала CLK нет. Я понимаю что симулинк работает не так, но не понимаю как он работает? Собственно тут возникает идеологический ступор. Как всё таки работает симулинк? Может кто разъяснит в общих чертах, как им собственно пользоваться, иначе не возможно что либо промоделировать не понимая как работает среда моделирования? Фух, много букв! Да забыл, Matlab2013b.
  14. Пробуйте DS500-BN-00022-r5p0-17rel0_add.7z в известном месте.
  15. Есть выделенная линия связи. Не витая пара. Сопротивление до 600 Ом, ёмкость до 1 мкФ. Расстояние до 3 км. Необходимая скорость от 9600 до 57600 бит/с (можно и больше, но не особо нужно). Главное требование гарантированная связь на скорости не ниже 9600 бит/с. Линия находится в промзоне. Интересует какой можно подобрать модем для связи двух устройств между собой (точка-точка). Сейчас вроде остановились на связке от Silabs Si2493+Si3018, но в последний момент вспомнили про PLC модемы. Их вроде и выбор больше и помехоустойчивость у них должна быть повыше. Никто с ними не сталкивался? Могут ли они работать на выделенных линиях (не силовых линиях питания)? С Silabs-ом смущает что нет другой доступной альтернативы с вменяемой документацией и принципиальными схемами включения модемов. Хотелось бы интегральное решение с минимумом обвязки. Может кто еще подскажет варианты?
  16. Изначально у нас стояли PRLL5819 с ними проблем не было. Потом с ними у снабженцев появились проблемы, заменили на PMEG6020ER и сразу попали как и Вы. Правда быстро нашли, потому как кроме диодов в платах не было отличий! В итоге заменили на PMEG2020AEA на циклонах 3 и 4 пока вроде проблем нет.
  17. Тоже была похожая проблема. Оказалось, защитные диоды на питание параллельно EPCS были с большой собственной ёмкостью. Заменили диоды на другие с меньшей ёмкостью и всё заработало.
  18. Это обычный gcc так что назначение ключей можно почитать у него. На счёт кода большого проекта, это уже надо смотреть map файл, на предмет кто тянет какие зависимости.
  19. Добавьте ключи -fno-rtti -fno-exceptions -fno-elide-constructors -Wl,--section-start в свойствах проекта Nios II Application properties->User flags
  20. Берите. i2c_latest.tar.gz i2c_master_slave_latest.tar.gz i2cslave_latest.tar.gz i2s_interface_latest.tar.gz
  21. Вот ссылка на на яву которую я ставил: http://javadl.sun.com/webapps/download/AutoDL?BundleId=68736
  22. А у меня всё работает! Win7 64 бит СП1 максимальная. Яву ставил скачивал отдельно с сайта явы. Только качал offline версию 32 метра вроде. java version "1.7.0_05" Java SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot 64-Bit Server VM (build 23.1-b03, mixed mode) Все проекты с Ниосом работают всё отлаживается!!! Раньше стояло 3 версии квартуса 9,1 10,1 и 11,1сп2. Просто проектов разных много и каждый работал только в своей версии. После перехода на 12.0сп2 заработали все проекты в ней! Так что теперь снёс всех квартусов и стоит только один 12.0сп2 и все проекты собираются и отлаживаются нормально! Правда ставил всё на чистую машину! Так получилось что после установки винды первое что поставил - был квартус и ява к нему. Может в этом дело?!
  23. Спасибо большое! Похоже то что надо! Буду разбираться...
  24. Есть демоплата от Альтеры с коркой PCIe. Переделал их проект под себя немного. Поставил на xp драйвер giveo.sys доступа к портам. Конфигурировать плату с PCIe получается. Все регистры PCIe настраиваются правильно. Теперь прописал в регистре BAR[0] адрес памяти для платы по которому хочу в неё писать. Писать хочу просто побайтно и смотреть появились ли данные в памяти ПЛИС. И вот тут наступила полная засада!!! Винда напрямую не пускает. Попробовал написать примитивный драйвер. При попытке записи по адресу записанному в BAR[0] получаю синий экран смерти! Что я делаю не так? Может кто-то по шагам рассказать или у кого-то есть пример, как это сделать со стороны персоналки. Никакие драйвера (кроме своей поделки) на плату с ПЛИС в винде не устанавливаю (хотя она просит), хочется просто пописать и почитать данные из ПЛИС по PCIe напрямую. Свой драйвер тоже не устанавливаю, а просто регистрирую и запускаю с помощью kmdManager.
  25. Ответ от Stewart Little: Информации, официальнее, чем в квартусовском хелпе, наверное, нет Смотрите http://quartushelp.altera.com/current/mast...o_migration.htm После создания проекта заходите в меню Assignment - Device, выбирайте нужную Вам микросхему, и в этом же окне выбора девайса щелкните кнопку Migration Devices. Там выбираете микросхему для миграции. Причем Altera рекомендует изначально выбирать для проекта микросхему с наибольшей логической емкостью, а мигрировать на более мелкие девайсы. Затем в PinPlannere смотрите Pin Migration View - там можно подсветить выводы, имеющие у "миграционных" микросхем различное назначение. В колонке Migration Result показаны назначения, автоматически сделанные с учетом миграции - если какой-либо из выводов у любой из "миграционных" микросхем является землей или питанием, то даже в случае, когда в выбранной микросхеме он является линией ввода-вывода, ему принудительно назначается режим "виртуальной" земли или как высокоомного входа (соответственно), и он становится недоступным для назначения на него сигналов. То же самое происходит и с другими выводами, имеющими спецфункции (например, входы-выходы сердесов и т.п.). Для разводки платы нужно использовать как раз данные из этого столбца Migration Result (их можно экспортировать в виде csv-файла). После компиляции проекта, сделанной с учетом миграции, можно посмотреть отчет фиттера - в нем в явном виде прописывается, какие выводы не могут использоваться для назначения сигналов из-за возможности миграции, и какие этим выводам назначены режимы.
×
×
  • Создать...