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