Программируемая логика - это не так уж и сложно. Разберемся вместе.
Вс ноя 26, 2017 16:18:55
Приветствую.
Использую в своем проекте EPM240T100C5N. Для увеличения нагрузочной способности объединил выходные пины в 4 группы по 3 шт., формирующие дифференциальные сигналы, которые подаются через дроссели ACT45B на трансформаторы B78421A1720A003. На выходе трансформаторов получил сигналы ± 0,5 В. Выпаял дроссели, посмотрел сигналы - амплитуды те же. Перепрошил ПЛИС (код не менял) - сигналы ± 3,3 В. Соединил пины с трансформаторами перемычками - амплитуды снова просели до ± 0,5 В.
Вс ноя 26, 2017 20:09:49
Ну во-первых, что можно было делать в простых логических сериях не всегда можно делать в ПЛИС. Это я о запараллеливании выходов. Не всегда даже рядом находящиеся выводы могут иметь одинаковые задержки по внутренностям.
Во вторых, ваши трансформаторы, с сопротивлением по постоянному току в 7,8 Ом, для выходов практически КЗ. Можно конечно попытаться в Pin Planner'е задать максимальный ток, но боюсь это малопригодно. Лучше поставить между ПЛИС и трансформатором транзисторы или специальные согласователи.
Вс ноя 26, 2017 20:31:42
Сигнал 300 кГц, для него импеданс первички более 27 кОм. Ранее я тестировал этот трансформатор, подавая на него сигнал с одного пина XC9572 - все было в порядке. Ставить драйвер перед трансформатором как-то уж совсем не хочется - сигнал будет передаваться по витой паре с 100 Ом терминатором.
Вс ноя 26, 2017 23:16:38
Транс тут вряд-ли виноват. Не померли ли пины от такого соединения? Попробуй на каком-нить заведомо живом пине проверить.
Пн ноя 27, 2017 23:01:34
Снял осциллограммы напряжения на выходе трансформатора, подключенного к одиночным пинам.
Сначала все хорошо.
Спойлер
Но через несколько секунд работы напряжение проседает и смещается вверх.
Спойлер
Собрал модельку в симуляторе.
Спойлер
В начальный момент ток свыше 400 мА, в установившемся режиме 50 мА. По-видимому, начальный скачок повреждает пины. Только непонятно, обратимо ли это повреждение, т.е. нужно ли заменить ПЛИС или она будет нормально работать, если устранить эту перегрузку по току?
Спойлер
Ну и главный вопрос - как доработать схему? Сразу возникает идея поставить разделительный конденсатор.
Спойлер
Ток теперь ограничен, но переходной процесс затягивается.
Спойлер
Нашел вариант схемы подключения такого ISDN трансформатора - там конденсаторов не видать.
Спойлер
Вт ноя 28, 2017 12:17:20
При Шиме, не равном точно 50% через трансформатор будет протекать ток, зависящий только от активного сопротивления трансформатора и среднего напряжения источника. По твоим снимкам это видно. Надо что-то делать с принципом построения схемы. Выложи полную схему. EPM240 очень трудно убить.
Вт ноя 28, 2017 18:42:05
Схема
Спойлер
- Вложения
-
- sch4.pdf
- (496.06 KiB) Скачиваний: 270
Ср ноя 29, 2017 09:38:29
Ничего военного. Я бы убрал резисторы R10-R13 и вместо бусин B14-B17 поставил бы конденсаторы по 0,1. Ну и с ШИМом что-то надо делать. Скорее всего, протокол менять или требования к способу передачи. Я ведь не знаю, зачем трансформаторы нужны. Это развязка ШИМа или выход данных?
Ср ноя 29, 2017 10:15:07
Вообще там не ШИМ, а модуляция пропуском периодов. Коэффициент заполнения сигнала выбирается из диапазона от 0,4 до 0,45 и не меняется в процессе работы. Насчёт конденсаторов - надо смотреть переходной процесс. Если устроит, оставлю их. Если нет, то придется ставить драйвер линии без конденсаторов.
Трансформатор здесь для развязки.
Ср ноя 29, 2017 23:47:21
Неспроста в езернете всегда ставят внешний драйвер, видимо слабО плисине на трансформатор работать. Вообще говоря пины у второго макса слабенькие, сильно слабже всяких популярных атмег. Я б не стал так делать, драйвер для собственного спокойствия лучше поставить. Хотя-бы банальную логику какую-нибудь дубовую. Не думаю что задержка в ней создаст проблемы.
Сб дек 02, 2017 16:10:05
Виновником просадки напряжения оказался неправильный код.
Когда использовал конструкции типа
- Код:
assign high_pos = sgn && mask
где high_pos - выходная шина, была просадка.
Когда написал (вышло тупо, но не знаю, как правильно)
- Код:
assign high_pos[0] = sgn && mask;
assign high_pos[1] = sgn && mask;
assign high_pos[2] = sgn && mask;
заработало.
Вс дек 03, 2017 00:29:04
Как-то так наверное high_pos = 0x07 * (sgn && mask);
Вс дек 03, 2017 01:11:51
Странные какие то обсуждения, уважаемые...
При работе на трансформатор, импеданс приведенный к ВЫХОДУ генератора сигналов будет определяться не индуктивностью первичной обмотки, а импедансом НАГРУЗКИ, пересчитанной через трансформатор к выходу генератора. При коэфф. трансформации 1:1 это будет сам импеданс нагрузки. При регулярной линии нагруженной своим волновым сопротивлением это будет само это волновое сопротивление, то есть практически чисто активный импеданс, если перенебречь индуктивность рассеяния трансформатора.
ЗЫ. По поводу драйвера.
Трансформатор не во всех случаях обеспечивает гальваническую развязку, увы. У него есть паразитная емкость между обмотками. И эта емкость способна стать причиной выхода из строя источника сигнала, если линия окажется под потенциалом источника мощного сигнала с ВЧ спектром. Например разряда молнии, либо какого нибудь преобразователя. Такшта отсутствие драйвера - риски для ПЛИС. Вряд ли копеечный двухканальный драйвер (типа TC4427) будет серьезно влиять на себестоимость изделия.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.