В данный момент выкладываю шину данных (изначально на макетке), и мне интересно, есть ли "правильный" способ ее выложить. У меня есть ЦП, выступающий в роли мастера шины, и ряд устройств (ОЗУ, ПЗУ, ввод-вывод и т. д.), подключенных к шине.
Здесь речь идет о тактовой частоте процессора не более нескольких МГц — ничего невероятно быстрого.
Лучше ли иметь ведущее устройство шины на одном конце шины (например):
или это нормально, чтобы мастер шины находился между другими устройствами (например)?
При тех скоростях, о которых мы говорим, есть ли какая-то разница? Я могу предвидеть возможные проблемы при гораздо более высоких тактовых частотах, но, скажем, 4 МГц, следует ли мне думать об этом соображении дизайна?
Местонахождение мастера автобуса не имеет значения. Важным моментом является то, является ли шина линией передачи или нет, и, следовательно, какие шаги необходимо предпринять для обеспечения целостности сигнала. Как заметил Stevenvh, на частоте 4 МГц это просто цифровые сигналы на вашей плате, и вам, вероятно, не нужно делать ничего особенного.
Если скорость и/или длина шины увеличились настолько, что она стала линией передачи (модель с сосредоточенными параметрами больше не работает), то вам придется иметь дело с ней как с таковой. Есть разные вещи, которые нужно делать, в зависимости от того, насколько далеко вы находитесь на территории линии электропередачи. Общие первые шаги - убедиться, что шина представляет собой только одну линию с короткими ответвлениями (например, без звезды) и заделка концов. Иногда достаточно просто добавить маломощные резисторы к каждому драйверу шины. Диоды для ограничения перерегулирования и недорегулирования могут помочь. Однако, если все это сделано правильно, все равно не имеет значения, находится ли мастер (предположительно, водитель автобуса?) в середине или на одном из концов.
У Kellenjb есть мнение о макетировании, но здесь могут помочь плоские кабели с чередующимися основаниями.
Эмпирическое правило гласит, что вы начинаете получать эффекты линии передачи, если длина трассы/провода превышает 1/10 длины волны. Синус 4 МГц имеет длину волны 75 м, но вам понадобится несколько гармоник, чтобы получить приличные края. 20 МГц означает длину волны 15 м, поэтому ожидайте влияния линии передачи от
1,5 м. Это будет намного длиннее, чем ваша проводка, поэтому я не ожидаю проблем, где бы вы ни разместили мастер.
Если ваша шина использует подтягивающие/понижающие резисторы, рекомендуется разместить их в конце.
На частоте 4 МГц у вас есть время цикла 250 нс.
Допустим, вы можете игнорировать любые задержки, даже не думая о них, если они не превышают 1/4 от этой.
Чтобы получить задержку 62 нс, вам потребуется трасса длиной 930 см (15 см на 1 нс).
Так что, пока все ваши части находятся в одном здании, у вас все будет хорошо в любом случае.
Есть и другие соображения: вы можете захотеть иметь правильное завершение и согласование импеданса всех устройств на шине, чтобы избежать отражений, которые на этих часах не убьют вас, но лучше жить без этого.
Келленджб
Маженко
Келленджб
ДжастДжефф