Jump to content

    

Andrey_L

Свой
  • Content Count

    138
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Andrey_L

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

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2445 profile views
  1. Добрый день! В общем решение нашел - опишу коротенько, думаю кому-нибудь пригодится. Написали программку под QNX 6.x аналогичную Win7. Эффект был такой же, но было одно но - если после внутр. сброса на плате из платы в "root" ничего не записывать, а программу под QNX перезапустить, то дальше всё работает не повисая... Из этого был сделан вывод что "виноват" root на PCIe - он не знал что плата перезапустилась и транзакций от платы вида Link down/link up ему было не достаточно для понимания состояния платы. Возможно в этом поведении "виноват" используемый в тестовой машине старый чипсет (max - PCIe Gen1) - может все "root"'ы не реагируют на транзакции link up/down - не знаю. Попробовал под Win7 переинициализировать root - удалить/обновить устройство в диспетчере задач не помогло. Помогла кнопка включить/выключить устройство - анализатор показал, что при выключении от "root" уходит транзакция на перевод устройства в спящий режим (L1 или L2 - не помню). Кнопка "включить устройство" - от "root" уходит транзакция "link up" и всё - плата работает. В настройках Serdes'а в Libero поддержка режима L1/L2 была включена (что было бы, если была бы выключена - не знаю - экспериментов не ставил). В дальнейшем планирую сделать генерацию платой прерывания при любом запуске/перезапуске программы встроенного процессора, а драйвер в "root"е включает/выключает эту плату в обработчике этого прерывания.... Спасибо всем за помощь.
  2. Добрый день! Столкнулся с проблемой: Есть плата собственной разработке на 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 должен нормально переинициализироваться и без блокировок.....
  3. Спасибо за ответ. Разобрался - у меня есть старые проекты сделанные в маршруте DC-ExP - там генерация Variant View приводит к тому что я писал - вместо удаления 3d модели компонента на плате остается 2.5D модель для компонента unplaced. А для маршрута DxD-ExP всё работает нормально - там у удаленного элемента просто убирается 3D модель и ничем при этом не заменяется, как и должно быть по идее....
  4. Добрый день! Да я всё так и делал. Вопрос то в том, как убрать отображение 2.5D моделей для компонентов которые не установлены на плате в определенных исполнениях (вариантах)....
  5. Добрый день! Подскажите, пожалуйста, как сказать Expedition что для убранных с платы деталей (у них Part Number заменяется на unplaced) не нужно отображать 3D модель. А то если у детали была 3D модель, но потом эта деталь в каком-то исполнении убрана - у неё меняется part number и соответственно она отображается в виде синего прямоугольника.... Ну и соответственно этот синий прямоугольник экспортируется, например в 3D pdf.....
  6. Добрый день! Появилось несколько вопросов по вырезам на плате. У меня есть угловой разъем (низкопрофильный 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
  7. Отписываю что получилось, чтобы на эти же грабли больше никто не наступил. В общем, с подтяжками (1К) и в одну и в разные стороны не работает. Если тянуть в разные стороны не работает чуть лучше :) - линк 1Г подымается в большинстве случаев - но 10-15% пакетов - битые. Если тянуть в одну сторону (тянул к +3.3В) - всё хуже, линк подымается редко... Анализ микросхем конкурентов (MAX4890) и чтение форума тех. поддержки TI привело к мысли выпаять все разъемы RJ 45 и запаять на их место на плоском шлейфе (в тоже пос. место не подходили) разъёмы RJ45 со встроенным трансформатором. Тип разъема RJ45 с трансформатором - TRJG0801BBNL. Среднюю точку подключил к +3.3В. В итоге всё заработало, линк стабильно поднимается, потерь и битых кадров нет.
  8. ясно, спасибо за информацию, думаю так и сделаю
  9. посмотрел ещё раз описание - не увидел где написано про работу с трансформ. развязкой и Vbias. Vbias упоминается только в схемах проверок. Решил попробовать поставить pullup 1К на Х103, на все восемь контактов. Результат интересный - если после включения питания имитатора первым воткнуть ethernet-кабель в Х103, а потом во второй разъем (где нет резисторов) - линк стабильно подымается на 1Г. Если наоборот - линка нет. Сейчас попросил монтажников поставить на четырех каналах (больше совесть не позволила :) ) на всех трех разъемах RJ45 на все ножки поставить pullup 1K. Думаю будет работать в любых сочетаниях.... Но описание TI очень удивило - почему то нет ни типовых схем включения, ни опорной платы со схемой, ни рекомендаций про резисторы......
  10. Добрый день! Подниму тему вот с каким вопросом: Имитатор сделал на 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
  11. Большое спасибо всем откликнувшимся. Я думаю ключи от TI будут самое то. Отдельное спасибо за наводку PV.
  12. Все эти варианты понятны и так - но хотелось бы разрывать линию, а не выключать порт как в вариантах 1 и 2, вариант 3 лучше, но это непереносимая туча железа и проводов.... Был бы хороший вариант - это сделать на плате 24 штуки двух портовых коммутаторов со встроенными PHY и каждому индивидуально дергать питание - но я такую микросхему коммутатора не нашел.... С внешними PHY пока заморачиваться не хочется - думаю есть решение проще...... Еще лучший вариант - найти микросхему двунаправленноого трансивера для дифф. сигнала 1000Base-T с сигналом OE, например... Но такой микросхемы я не нашел.....
  13. Добрый день! Возникла следующая задача, у кого какие мысли есть, как её проще/быстрее/дешевле решить? Есть 24-ох портовый гигабитный Ethernet коммутатор и некое тестовое оборудование к которому он подключен (например, 24 сетевые карты). Возникла задача сделать тестовую платку, которая могла бы по командам из вне по какому либо интерфейсу (типа RS232/RS485) разрывать заданную линию гигабитного Ethernet. Количество разрываемых линий от 1 до 24. Под линией я понимаю 4 дифф. пары 1000Base-T. Также перед этой платой стоит задача по возможность не портить сигнал в линии, когда эта линия не разорвана. В принципе можно поставить тверд. реле и замыкать дифф. пару А между собой, но может есть мысли как сделать такую плату с разрывом сигнала во всех дифф. парах?
  14. Добрый день! Решил я разобраться с 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 размеру площадки......
  15. Добрый день! поддержу автора темы - кружки тоже наблюдаю, диаметр 2 мм, только на слое bottom в сгенерированной шелкографии. Появляются у резисторов и конденсаторов, соприкасаясь с ними. От посад. места не зависит, т.к. на плате полно одинаковых конденсаторов и резисторов - где-то кружки есть, где-то нет. У основной массы кружков нет. Что ещё заметил - у структур на плате, которые представляют собой одинаковые блоки (и на схеме сделаны иерар. блоками) кружки в одних и тех же местах. но так эти кружки не попадают на gerber - по крайней мере у меня - я этот вопрос на форум не выносил.... P.S. кружки появились не так давно (с какой то последней версией EE, сейчас стоит VX.2.1 update 5)