Маршрутизация часов 30 МГц через несколько плат

Я использую светодиодный драйвер TLC5945 . Микроконтроллер (я использую LPC1343 ) должен обеспечивать часы для своего внутреннего таймера/счетчика PWM. Максимально допустимая тактовая частота указана как 30 МГц.

У меня будет несколько плат с последовательным подключением TLC5945. Платы будут соединяться через межплатные разъемы или короткие шлейфы, ширина одной платы 10см. У меня будет максимум 4 из них, соединенных последовательно.

Вероятно, я не буду использовать полные 30 МГц, но, тем не менее, я хочу сделать это правильно - как мне маршрутизировать / обработать тактовый сигнал, сохраняя его неповрежденным?

Если я добавлю буфер типа 74HC245 на выходе каждой платы, я получу задержку в 10 нс после каждого буфера, я этого не хочу. Должен ли я использовать специализированные буферы часов с нулевой задержкой? Какую схему увольнения следует использовать?

Один цикл на частоте 30 МГц составляет ~ 33 нс. Является ли отклонение на 1/3 одного цикла на плату такой большой проблемой?
Какой замечательный вопрос и ответы. Каждый ответ дополняет решение, не повторяя ни один из предыдущих!

Ответы (3)

30 МГц достаточно, чтобы вам нужно было рассматривать сигнал как проблему с линией передачи. Вам нужно будет обратить внимание на компоновку платы по всей конструкции, в том числе и особенно на разъемы. Вам нужно будет использовать дополнительные контакты заземления вместе с сигналом 30 МГц или, возможно, использовать специальные разъемы.

Вам потребуется информация о компоновке вашей платы, количестве слоев, и вам может потребоваться согласование с предполагаемым производителем платы, чтобы они могли настроить для вас конкретное характеристическое сопротивление или просто получить такие параметры, как диэлектрическая проницаемость.

Похоже, вы знаете о многих из этих проблем, но я подумал, что лучше их решить, потому что, если вы не будете осторожны, вы можете получить конструкцию, которая работает, но излучает много радиочастот и никогда не пройдет через ЭМИ-тест.

Рекомендации по маршрутизации сигнала:

  • Рассчитайте импеданс и ширину трассы.
  • Сначала направьте свои часы.
  • Если возможно, никогда не направляйте сигнал через сквозное отверстие. Если это необходимо, поместите обходные конденсаторы рядом с переходным отверстием.
  • Если возможно/применимо, направьте сигнал через внутренний слой (чтобы внешние плоскости заземления и питания могли функционировать как своего рода клетка Фарадея). В этом случае сигнал должен быть направлен на один уровень, за исключением переходных отверстий, необходимых для доступа к микросхемам.
  • Сигнал никогда никуда не уходит без заземляющего слоя (или, строго говоря, опорного слоя).
  • Сигнал никогда не пересекает границу между плоскостями питания.
  • Проходя через разъем, окружите его заземлением.
  • В гирляндной цепочке маршрутизируйте непосредственно к тактовым входам без использования заглушек, если это возможно.Схема шлейфа без шлейфов от Altera PDF
  • Пересечение других сигналов перпендикулярно.
  • Если другие сигналы должны двигаться вместе с ним, дайте им разрешение. В четыре раза больше ширины следа.
  • Используйте параллельное согласование с землей с сопротивлением, равным волновому сопротивлению микрополосковой/полосковой линии, или согласование с источником, если сигнал имеет только одно назначение. Для обсуждения см. этот связанный вопрос .

Конечно, в реальном дизайне вам, возможно, придется нарушить одно из этих правил.

Большинство этих правил следует из наблюдения, что на высоких частотах обратный ток будет пытаться пройти близко к сигналу, поэтому вы должны обеспечить путь для обратного тока. Если обратный ток физически разделен, вы создаете паразитную антенну. Плоскость заземления (или питания!), обеспечивающая путь для обратного тока, называется эталонной. Не покидайте опорную плоскость. Если вам нужно пройти через сквозное отверстие, базовая плоскость изменится. Шунтирующий конденсатор устанавливается между новой и старой опорными плоскостями.

Ваши разъемы будут представлять проблему, потому что они, вероятно, будут иметь другое сопротивление, чем печатная плата, поэтому они будут вызывать отражения и ухудшать сигнал. Одним из вариантов может быть использование разъема с регулируемым импедансом, который соответствует импедансу платы.

Что касается встроенного ПО, вам может потребоваться поэкспериментировать с силой привода, чтобы контролировать скорость фронта. Максимальная сила влечения часто является неправильным ответом. Ваш поставщик ИС должен иметь возможность предоставить модель IBIS , с помощью которой вы можете смоделировать схему для оценки целостности сигнала. Строго говоря, не тактовая частота вызывает проблемы с целостностью сигнала или ЭМС, а частота фронтов (время перехода между высоким и низким уровнем), поскольку быстрые фронты проявляются как широкополосные переходные процессы в частотной области. Уменьшение мощности возбуждения и/или скорости нарастания уменьшит частоту фронтов и уменьшит выбросы гармоник, в то же время (вероятно) увеличив джиттер тактовых импульсов. Проверьте таблицы данных, чтобы узнать, какова приемлемая скорость фронта для приемников часов.

Я думаю, что если вы сделаете свою домашнюю работу, вам, вероятно, не понадобится какой-либо повторитель сигнала. Возьмем, к примеру, SCSI, представляющий собой огромную высокоскоростную параллельную шину, распределенную по кабелям на частоте около 100 МГц. Если возможно, рассмотрите возможность приобретения такой программы, как HyperLynx , для имитации вашего макета.

У Altera есть отличное руководство по проблемам высокоскоростной маршрутизации.

Спасибо за отличные идеи. Из вашего ответа я понимаю, что я никак не мог добиться этого с травлеными платами DIY?
@miceuz: Ну, если это хобби-проект, то вы не так беспокоитесь о EMC, так что, может быть. Возникает консенсус в отношении того, что старшим инженерам будет сложно сделать это правильно, и попытка сделать это своими руками не делает ничего проще. С другой стороны, можно понизить тактовую частоту, если в данном случае не получится. Я бы попытался найти альтернативный макет, чтобы уменьшить длину гирляндной цепи.
Проголосовал бы за это дважды, если бы мог.

Вам не помешает делать все, что предлагают Барлоу и Дэвид, но позвольте мне немного упростить вам задачу (или, может быть, усложнить ее, потому что я собираюсь сказать, что вам, вероятно, многое сойдет с рук). всего, но обещать не буду ).

Классическое эмпирическое правило заключается в том, что вы можете считать схему схемой с сосредоточенными параметрами, если ни один из ее размеров не превышает 1/10 длины волны интересующего сигнала с самой высокой частотой. Если это схема с сосредоточенными параметрами, вы можете рассматривать свои дорожки как просто соединения между дискретными элементами. Если это не схема с сосредоточенными параметрами, вам нужно беспокоиться об эффектах распределенной цепи и рассматривать свои трассы как линии передачи.

Вы говорите о тактовой частоте 30 МГц, что соответствует длине волны 10 м. При распространении через FR4 эта длина волны уменьшится примерно до 4,7 м. И длина контура 40 см. Таким образом, в отношении основного тактового сигнала вы находитесь прямо на краю старого эмпирического правила.

Проблема: вам нужно беспокоиться не только о тактовой частоте, но и о том, сколько гармоник этой частоты необходимо передать, чтобы получить желаемое время нарастания и спада. Если вы намеренно замедляете фронты, которые вы передаете , вы, вероятно, сможете обойтись только 1-й и 3-й гармониками (Дэвид намекнул на это, когда упомянул, что не обязательно использовать максимальную мощность привода).

Это дает вам максимальную интересующую частоту 90 МГц и соответствующую длину волны (в FR4) около 1,6 м. Таким образом, критическое расстояние равно 16 см. Это означает, что в целом вы хотите обеспечить тесно связанный обратный путь, спроектировать свои дорожки как линии передачи и завершить их с соответствующим импедансом и т. д.

Но вам, вероятно, не придется доплачивать за контролируемый импеданс. Если вы проектируете дорожки с шириной, превышающей минимальную ширину, указанную вашим поставщиком (скажем, 8 или 10 мил), нормальные допуски, скорее всего, обеспечат вам достаточную производительность.

И если по пути вам придется пройти через переходное отверстие или преодолеть короткий разрыв в заземляющем слое, или вы не можете поставить блокировочный конденсатор прямо рядом с нагрузочной частью, не переживайте слишком сильно. Если вы хотите проложить свои дорожки прямо от разъема к разъему, с отводом в несколько сантиметров, чтобы добраться до чипов нагрузки на каждой плате, все будет в порядке. Если длина неконтролируемой части пути (или прорези в плоскости земли) меньше нескольких сантиметров, то это не испортит вам день. Даже если это 10 см, вы, скорее всего, сойдете с рук, но не испытывайте удачу.

Например, это означает, что при соединении между платами нет необходимости в дорогостоящем разъеме с регулируемым импедансом. Даже пару сантиметров ленточного кабеля будет достаточно. Схема проводов «земля-сигнал-земля» или «земля-сигнал-сигнал-земля» в ленте является хорошей идеей, но не беспокойтесь о согласованных по импедансу кабелях витой пары или коаксиальных кабелях.

Во-вторых, если вы решите использовать буфер на каждой плате, это позволит вам рассматривать схему на каждой плате (длиной 10 см) как схему с сосредоточенными параметрами. Вы захотите управлять перекосом буфера, как описал Дэвид, и вам придется ограничить время нарастания и спада для каждого буфера, но вы получите большую гибкость в компоновке на каждой плате без ухудшения функциональности. Тем не менее, чем больше вы делаете, чтобы ваши обратные пути были близки к вашим сигнальным трассам, тем меньше вероятность того, что вас ждет неприятный сюрприз, когда дело доходит до тестирования ЭМС.

Я думаю, что ответ @jbarlow довольно точен. Я хочу кое-что добавить к этому, но не стану повторять то, что он сказал.

Единственное, с чем я бы не согласился с @jbarlow, это использование повторителей или буферизация всех сигналов. То, что он говорит, правильно, «если вы сделаете свою домашнюю работу ...». Но в том-то и проблема, что делать домашнюю работу. Вы можете это сделать, но вам потребуются относительно дорогие кабели и разъемы - и тогда это будет только «очень сложно».

Не похоже, что добавление задержки в 10 нс для буферизации часов на каждой печатной плате действительно является проблемой. Мне трудно сказать наверняка, поскольку вы упустили много подробностей о других сигналах, таких как BLANK и XLAT. Но даже если это проблема, вы всегда можете буферизовать ВСЕ сигналы. Все вентили в 74xx245 будут иметь одинаковую задержку (или, по крайней мере, одинаковую), поэтому общая синхронизация драйвера светодиодов останется хорошей.

(Примечание: сверьтесь с таблицами данных. В хорошем чипе будут указаны два разных числа задержки распространения. Одно для отдельного вентиля, а другое показывает разницу или перекос в задержке между вентилями в одном и том же чипе. Не верьте мне на слово. Вы все равно нужно будет провести надлежащий временной анализ.)

Получение согласования и импеданса сигналов между печатными платами имеет решающее значение для того, чтобы эта конструкция работала. Контролировать импеданс в многожильных кабелях всегда сложно, а прохождение одного сигнала через несколько печатных плат и кабелей просто напрашивается на неприятности. У вас будет изменение импеданса во многих точках по длине сигнала, что создаст проблемы с целостностью сигнала. Буферизация всех сигналов между платами поможет справиться с этим. По крайней мере, длина трасс и изменения импеданса для каждого сигнала будут сведены к минимуму.

Использование буферов с нулевой задержкой не требуется и может сделать ситуацию еще хуже (и дороже). Буферы с нулевой задержкой на самом деле являются фазовой автоподстройкой частоты (PLL) и требуют тщательного проектирования для идеальной работы. В большинстве случаев это не имеет большого значения, но, безусловно, может быть проблемой, если ваши часы не идеальны. Было бы лучше избегать их для этого приложения. Кроме того, буфер с нулевой задержкой не подходит для буферизации чего-либо, кроме непрерывно работающих часов, поэтому он не поможет вам буферизовать любые другие сигналы.

Отличные очки. Я согласен с тем, что подход с буферизованными сигналами, вероятно, намного безопаснее и имеет больше шансов на успех.
Как мне буферизовать муравей, завершающий сигнал? Это MCU-> Буфер-> Термин серии-> Кабель-> Буфер-> TLC5945-> Буфер-> термин серии-> кабель ... или MCU-> Буфер-> Термин серии-> кабель-> TLC5945-> Буфер ->серийный термин->кабель... т.е. мне нужно буферизовать сигналы с обоих концов кабеля или я могу использовать буфер и оконечную нагрузку, чтобы они работали как для разъема/кабеля, так и для следующей платы?
@miceuz В идеале вы должны буферизовать его дважды на каждой доске. Один раз, когда сигнал поступает на плату на один разъем. В другой раз сигнал уходит с платы на другой разъем. Практически, сделать это один раз, вероятно, достаточно. Таким образом, это будет MCU-> Кабель-> LED-> термин-> buf-> кабель-> светодиод-> термин-> buf-> кабель-> и т. д. Обратите внимание, что последовательное окончание источника работает только в том случае, если у вас есть одиночная нагрузка на сигнал, чего у вас нет. У вас есть и микросхема драйвера светодиода, и буфер. Вы должны посмотреть на терминатор переменного тока, который имеет резистор и колпачок, последовательно соединенные с землей на дальнем конце.