Jump to content

    

Andrey_L

Свой
  • Content Count

    137
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Andrey_L

  • Rank
    Частый гость
  • Birthday 05/16/1977

Контакты

  • Сайт
    http://
  • ICQ
    324235410

Информация

  • Город
    г. Санкт-Петербург

Recent Profile Visitors

2379 profile views
  1. Добрый день! Столкнулся с проблемой: Есть плата собственной разработке на smartFusion2 (M2S050T-1FG484I) в ней используется встроенный блок Serdes с выходом на PCIExpress x 1. Разработка идет в среде Libero SoC 11.6 с использованием SystemBilder'a. Для простоты сделан простенький проект где встроенный процессор и Serdes связаны по шине AHB, процессор мастер, Serdes - slave. Плата подключена к шине PCIExpress через анализатор шины PCIE Lecroy Edge T1-4. Во встроенном процессоре написана простенькая программа - пришел символ по RS232 - выдать в Serdes 32разр. фиксированное слово по фиксированному адресу. После включения питания - все устойчиво работает - нажал кнопку в терминалке - получил захваченную транзакцию MemWr на анализаторе. Всё работает под Windows 7 - плата нормально видится (как неопознанное устр-во, драйверов пока не написали...) Если сделать перезагрузку компьютера с платой без выключения питания - всё также хорошо восстанавливается и работает. Проблема в том что в плате необходимо предусмотреть возможность перезагрузки встроенного процессора, например от внешнего WDT таймера, когда например, встроенный процессор повис. Сброс встроенного процессора возможен только через один вход - FAB_RESET. Подключение выхода внешнего WDT (он на плате есть) к контакту FAB_RESET приводит к перезагрузке встроенного процессора и всей его периферии (в том числе и SerDes'a). Вход ручного сброса этого WDT подключен с сбросу шины PCIe. Если сброс платы происходит от сброса шины PCIe - то всё ок (см. выше - это перезагрузка компьютера без выкл. питания), если сброс платы происходит от срабатывания WDT - возникает проблема. После этого сброса процессор нормально перезапускается, а вот с SerDes'ом проблемы. Он вроде бы нормально переинициализировался (в Win7 плата видна), выход встр. процессора SDIF_READY устанавливается в акт. состояние, при активности сигнала FAB_RESET'а я вижу на анализаторе PCIe транзакции LinkDown/LinkUP, кучу транзакций TS1,TS2, но при попытке записать из процессора в Serdes, последний опускает сигнал HREADY шины AHB в лог.0 (не готов) и не подымает его обратно в лог.1 (как он делает когда все работает). Транзакции MemWR на PCIE при этом нет. Возникает вопрос - кто-нибудь пытался сделать похожее, может не на Smartfusion2? Т.е перегружал SerDes подключенный к PCIe без наличия сброса с шины PCIe? Можно, конечно, поставить блокировку на сигналы сброса SerDes'a при наличии FAB_RESET'a, но мне кажется Serdes должен нормально переинициализироваться и без блокировок.....
  2. variant manager и 3D вид

    Спасибо за ответ. Разобрался - у меня есть старые проекты сделанные в маршруте DC-ExP - там генерация Variant View приводит к тому что я писал - вместо удаления 3d модели компонента на плате остается 2.5D модель для компонента unplaced. А для маршрута DxD-ExP всё работает нормально - там у удаленного элемента просто убирается 3D модель и ничем при этом не заменяется, как и должно быть по идее....
  3. variant manager и 3D вид

    Добрый день! Да я всё так и делал. Вопрос то в том, как убрать отображение 2.5D моделей для компонентов которые не установлены на плате в определенных исполнениях (вариантах)....
  4. Добрый день! Подскажите, пожалуйста, как сказать Expedition что для убранных с платы деталей (у них Part Number заменяется на unplaced) не нужно отображать 3D модель. А то если у детали была 3D модель, но потом эта деталь в каком-то исполнении убрана - у неё меняется part number и соответственно она отображается в виде синего прямоугольника.... Ну и соответственно этот синий прямоугольник экспортируется, например в 3D pdf.....
  5. MG Expedition ликбез ...

    Добрый день! Появилось несколько вопросов по вырезам на плате. У меня есть угловой разъем (низкопрофильный RJ45) в котором сделан вырез по всем слоям (часть разъема находится ниже уровня платы). В Cell Editore у этого выреза можно поставить тип и internal и board, но после сохранения и выхода, а затем повторного захода в cell editor - тип всегда ставится internal. Это глюк? У меня плата прямоугольной формы, разъемы устанавливаются с краю платы так, что вырез пересекает board outline. Если прямо у компонента зайти и поменять тип выреза на board он вроде меняется и сохраняется. У меня на платах раньше не было вырезов, которые изменяют геометрию платы, поэтому вопрос: правильно ли я понял что, board outline в gerber файле так и останется прямоугольным, а вырезы (без разницы internal или board) всегда будут в файлах ContourNonPlated/ContourPlated? И разница между internal и board вырезом только в месте расположения описания этого выреза в этих файлах? Да, и ещё 3D вид почему то не показывает вырез на плате если он board, если переключить на intenal - плата показывается как надо... глюк? P.S. Работаю в VX.2.4 update8
  6. Отписываю что получилось, чтобы на эти же грабли больше никто не наступил. В общем, с подтяжками (1К) и в одну и в разные стороны не работает. Если тянуть в разные стороны не работает чуть лучше :) - линк 1Г подымается в большинстве случаев - но 10-15% пакетов - битые. Если тянуть в одну сторону (тянул к +3.3В) - всё хуже, линк подымается редко... Анализ микросхем конкурентов (MAX4890) и чтение форума тех. поддержки TI привело к мысли выпаять все разъемы RJ 45 и запаять на их место на плоском шлейфе (в тоже пос. место не подходили) разъёмы RJ45 со встроенным трансформатором. Тип разъема RJ45 с трансформатором - TRJG0801BBNL. Среднюю точку подключил к +3.3В. В итоге всё заработало, линк стабильно поднимается, потерь и битых кадров нет.
  7. ясно, спасибо за информацию, думаю так и сделаю
  8. посмотрел ещё раз описание - не увидел где написано про работу с трансформ. развязкой и Vbias. Vbias упоминается только в схемах проверок. Решил попробовать поставить pullup 1К на Х103, на все восемь контактов. Результат интересный - если после включения питания имитатора первым воткнуть ethernet-кабель в Х103, а потом во второй разъем (где нет резисторов) - линк стабильно подымается на 1Г. Если наоборот - линка нет. Сейчас попросил монтажников поставить на четырех каналах (больше совесть не позволила :) ) на всех трех разъемах RJ45 на все ножки поставить pullup 1K. Думаю будет работать в любых сочетаниях.... Но описание TI очень удивило - почему то нет ни типовых схем включения, ни опорной платы со схемой, ни рекомендаций про резисторы......
  9. Добрый день! Подниму тему вот с каким вопросом: Имитатор сделал на TS3L301 от TI - вроде всё ясно и никаких засад не ожидалось :) На плате установлен регистр PCA9555PW (NXP) - это 16 разр. регистр, управляемый по I2C, питается от 3.3В. К его младшим 8 разрядам подключены линии SEL 8-ми TS3L301. линии 1000Base-T с трех разъемов RJ45 разведены прямо на TS3L301. Трансформаторов в разъеме RJ45 нет. Линии 1000Base-T с каждого разъема выровнены между собой, расфазировка убрана. Длины дифф. пар от разъемов до микросхемы ~2-3см. сама плата очень простая - 4 слоя; 2,3 слои - залиты GND, вся разводка линий 1000Base-T - дифф. пары с волн. сопр. ~100Ом. Никаких силовых цепей на имитаторе нет - только регистр PCA9555PW и 8 одинаковых каналов с TS3L301. питание 3.3В имитатора идет с другой платы от лин. стабилизатора MIC29302WU. Напряжение нормальное - помех нет, конденсаторы есть :) Опыта разводки интерфейса 1000Base-T много - всегда всё работало без вопросов - но на этой плате у всех 8 микросхем TS3L301 наблюдается одно и тоже - крайне нестабильный линк - некоторые сетевухи и коммутаторы при пропуске через этот имитатор вообще линк не подымают, на некоторых линк через 10-15сек подымается на 1000Base-T, на некоторых через какое-то время на 100Base-TX. От переключения TS3L301 на другой разъем RJ45 ситуация не меняется - линк такой же не стабильный, но уже с другого разъема. P.S. Все каналы с микросхемами TS3L301 разведены абсолютно идентично. Видел в дискуссиях по этой микросхеме на сайте TI, что у этих микросхем TS3Lxxx используют резисторы pullup/pulldown на всех линиях 1000Base-T. У меня их нет. Может дело в их отсутствии? Но в описании на TS3L301 никакого упоминания про них нет. Для чего они нужны не очень ясно и если нужны, то какого номинала и в какую сторону тянуть - up или down? В общем у кого есть опыт работы с семейством TS3Lxxx - поделитесь Схему канала с TS3L301 прилагаю..... ETHERNET_MUX_1_2.pdf
  10. Большое спасибо всем откликнувшимся. Я думаю ключи от TI будут самое то. Отдельное спасибо за наводку PV.
  11. Все эти варианты понятны и так - но хотелось бы разрывать линию, а не выключать порт как в вариантах 1 и 2, вариант 3 лучше, но это непереносимая туча железа и проводов.... Был бы хороший вариант - это сделать на плате 24 штуки двух портовых коммутаторов со встроенными PHY и каждому индивидуально дергать питание - но я такую микросхему коммутатора не нашел.... С внешними PHY пока заморачиваться не хочется - думаю есть решение проще...... Еще лучший вариант - найти микросхему двунаправленноого трансивера для дифф. сигнала 1000Base-T с сигналом OE, например... Но такой микросхемы я не нашел.....
  12. Добрый день! Возникла следующая задача, у кого какие мысли есть, как её проще/быстрее/дешевле решить? Есть 24-ох портовый гигабитный Ethernet коммутатор и некое тестовое оборудование к которому он подключен (например, 24 сетевые карты). Возникла задача сделать тестовую платку, которая могла бы по командам из вне по какому либо интерфейсу (типа RS232/RS485) разрывать заданную линию гигабитного Ethernet. Количество разрываемых линий от 1 до 24. Под линией я понимаю 4 дифф. пары 1000Base-T. Также перед этой платой стоит задача по возможность не портить сигнал в линии, когда эта линия не разорвана. В принципе можно поставить тверд. реле и замыкать дифф. пару А между собой, но может есть мысли как сделать такую плату с разрывом сигнала во всех дифф. парах?
  13. Добрый день! Решил я разобраться с Batch DFF, сделать свою схему для проверки плат. Возникли вопросы - может кто сталкивался - помогите 1 Не работает проверка на количество tie legs. Ставлю в Rules DFF-> Planes -> Thermal tie legs везде максимальные значения - ошибок нет (для эксперимента ставил везде и минимальные - тоже нет) Индивидуальные анализы - Plane Thermals All и Plane Thermals - Tie Legs включены. Кстати, не нашел никаких настроек и описания на анализ Plane Thermals All. Кто нить знает, что он анализирует? При этом сами tie legs на плате есть и бывает что вместо 4-ох например 2. В выводе Output -> Dynamic Plane Status такие подключения описываются с координатами и т.п.. Но при Batch DFF никаких нарушений нет..... 2. Не ясна работа Equalent и Partial Soldermask/Solderpaste Massing Soldermask/Solderpaste - всё работает, отсутствующие маска и паста у выбранных площадок показывается нарушениями. При Equalent и Partial Soldermask/Solderpaste - выдается огромное количество нарушений. при этом площадка может быть полностью открыта маской (маска чуть больше площадки), но на неё всё равно выдается нарушение Partial Soldermask. Equalent Soldermask - вообще не очень понятно что проверяет - в описании написано: These hazards identify padstacks with soldermask pads that do not meet the required minimum size. Что это за минимальный размер и где он задается? Из названия нарушения, я бы сказал что должна выдаваться ошибка при идентичности или неидентичности Soldermask размеру площадки......
  14. Проблемы с Silkcscreen Generator

    Добрый день! поддержу автора темы - кружки тоже наблюдаю, диаметр 2 мм, только на слое bottom в сгенерированной шелкографии. Появляются у резисторов и конденсаторов, соприкасаясь с ними. От посад. места не зависит, т.к. на плате полно одинаковых конденсаторов и резисторов - где-то кружки есть, где-то нет. У основной массы кружков нет. Что ещё заметил - у структур на плате, которые представляют собой одинаковые блоки (и на схеме сделаны иерар. блоками) кружки в одних и тех же местах. но так эти кружки не попадают на gerber - по крайней мере у меня - я этот вопрос на форум не выносил.... P.S. кружки появились не так давно (с какой то последней версией EE, сейчас стоит VX.2.1 update 5)
  15. Цитата(vitan @ Sep 28 2016, 19:07) Ммм... Что значит "нагружает интерфейс"? Больше передаваемых данных за единицу времени. Поток PRBS генерируется непрерывно без пауз. При разворачивании реального потока по интерфейсу между кадрами часто идут IDLE и интерфейс простаивает. А вообще тот же Marvell везде в описаниях подстройки и проверки SERDES различных интерфейсов (SGMII, QSGMII) рекомендует использовать потоки PRBS7,PRBS23,PRBS31. Поток PRBS7 рекомендуют для проверки интерфейсов типа SGMII, остальные для более скоростных интерфейсов типа QSGMII. Почему поток PRBS7 хуже PRBS31 при проверке высокоскоростных интерфейсов я честно говоря не разбирался.... Если кому интересно: с 88E1112 разобрался так: 88E1112 одного канала генерирует трафик встроенным генератором пакетов, затем этот трафик внешней заглушкой разворачивается назад в коммутатор. На проверяемом тракте MAC-PHY у PHY ставится также разворот пакетов. В итоге образуются петли - но для проверки тракта MAC-PHY это не важно. Генератор пакетов 88E1112 генерирует очень хороший непрерывный трафик и хорошо нагружает проверяемый тракт. А ошибки приходится смотреть по статистике Prester'ы.