Каждый начинающий радиолюбитель обращал внимание на дополнительные петли непонятного назначения на печатных платах. Зачем гнуть дорожку, создавать дополнительные помехи, если рациональнее сделать дорожку прямой?
Зачем гнуть дорожки?
Скорость электрического сигнала равна скорости света. Быстрее этого ничего нет. За секунду электрический сигнал проходит 299 792 458 метров! Это почти как от Земли до Луны. Казалось бы — причём тут наши маленькие дорожки? Давайте взглянем на уровни какой-либо шины передачи данных.
Рис. 1. Уровни сигналов шины SPI
На схеме период одного цикла тактового сигнала обозначен буквой Т. Давайте посчитаем его длину, если скорость шины (а равно частота тактового сигнала в данном случае) = 1МГц.
299 792 458 м / 1 000 000 раз = 299,79 метра.
Пока беспокоиться не о чем. Теперь представим, что частота шины = 2Ггц. Тогда длина периода одного такта получается = 15 см. Представим для наглядности такой пример — мы развели плату и длина дорожки тактовой получилась= 4 см, а длина дорожки с данными = 20 см. Это означает то, что когда на конце тактовой дорожки закончится первый такт, сигнал на дорожке с данными будет ещё в пути.
Рис. 2. Прохождение сигналов по дорожкам
В данном примере, в первом бите мы отправили 1. Тактовая дорожка отработала цикл и начался уже второй бит. На дорожке данных при этом единичка ещё не дошла. Если данные опознаются при восходящем фронте (т. е. при переходе тактового сигнала с 0 в 1), то второй бит тоже получается = 0, так как 1 от первого бита ещё не дошла и на конце дорожки 0. Мы свою единичку увидим только в третьем бите! Если данные опознаются при ниспадающем фронте тактового сигнала, то мы увидим во втором бите единичку от первого бита.
Отсюда выводы:
- для опознания данных при восходящем фронте тактового сигнала, длина дорожки данных должна быть той же длины или короче максимум на полпериода тактового сигнала.
- для опознания данных при нисходящем фронте тактового сигнала, длина дорожки данных должна быть той же длины или длиннее максимум на полпериода тактового сигнала.
Допуск в полпериода взят условно, так как в нём ещё нужно учесть скорость работы принимающей микросхемы. Т. е. допуск получается меньше.
Допуск (или верхний или нижний) = 299 792 458 / (2 * Частота_тактового_сигнала) — 299 792 458 / скорость_переключения_порта_приёмника.
Если дорожка расположена между двумя сплошными проводящими слоями, то получившийся допуск нужно уменьшить вдвое (для текстолита).
Иногда в спецификациях явно указывают допуск на разницу в длине дорожек.
P.S.: Важное дополнение от mx-yh: Расчёты даны для скорости света в вакууме. Скорость электромагнитного (или любого другого сигнала переносящего энергию) сигнала в любой другой среде меньше скорости света. Скорость сигналов в меди составляет примерно 70% от скорости света.