Трассировка сигналов в Eagle |
Добавил(а) microsin |
Здесь приведен перевод нескольких разделов файла подсказки Eagle 7.7, относящихся к трассировке. [Команда AUTO] Интегрированный в Eagle автотрассировщик (autorouter) запускается из редактора печатной платы командой AUTO. Автотрассировщик также используется в режиме разводки "Follow-me" команды ROUTE. Синтаксис: AUTO; Также см. SIGNAL, ROUTE, WIRE, RATSNEST, SET. Если в команде заданы имена сигналов, или сигналы выбраны мышью, то будут разведены только эти сигналы. Без параметров команда попытается развести все сигналы (в случае сложной платы это может быть очень длительный процесс). Если указан символ !, то будут разводиться все сигналы, кроме тех сигналов, которые идут за символом !. Символ The ! должен быть первым параметром, и должен только один раз появляться в строке команды AUTO. Опции LOAD и SAVE могут использоваться для загрузки параметров автотрассировщика из указанного файла или их сохранения в указанный файл. Если в файла не присутствует расширение ".ctl", то оно будет добавлено автоматически. Команда AUTO без параметров (или если она не завершается ;) откроет диалог, в котором можно конфигурировать параметры управления алгоритмом трассировки. Специальная опция FOLLOWME откроет этот диалог в режиме, где можно модифицировать только параметры роутера Follow-me. Пример разводки всех цепей, кроме GND и VCC: AUTO ! GND VCC; В любом случае точка с запятой должна использоваться в команде в качестве терминатора. Меню для настройки параметров управления автотрассировщиком откроется, если будет введена команда AUTO без точки с запятой, или был осуществлен выбор пункта Tools -> Autorouter... в меню редактора печатных плат. Шаблоны Wildcard. Если задан параметр имя_сигнала, по wildcard-символы *, ? и [] в командной строке означают следующее: * соответствует любому количеству любых символов. Если любой из символов *?[] должен использоваться просто как символ, то он должен быть заключен в квадратные скобки. Например abc[*]ghi соответствует abc*ghi, и не соответствует abcdefghi. Диапазон символов можно задать как [a-z], что будет соответствовать диапазону от a до z включительно. Когда запускается автотрассировщик, рассчитываются все полигоны. Файл протокола (имя.pro) генерируется автоматически. Размер платы. Автотрассировщик работает с областью, обозначенную краями платы, и разводит цепи всех компонентов, попадающих в эту область. Линии в слое Dimension обозначают границу области разводки автотрассировщика. Это означает, что Вы можете ограничить область трассировки замкнутой линией, проведенной в слое Dimension (командой, выбранной кнопкой или командой WIRE, введенной в командной строке). На практике сначала рисуют контур платы и необходимые отверстия в слое Dimension, задавая тем самым область разводки, после чего перетаскивают в эту область все компоненты схемы. Сигналы. Автотрассировщик распознает сигналы, определенные командой SIGNAL, а также полигоны (polygon) и линии (wire), нарисованные в слоях Top, ROUTE2, ..., ROUTE15 и Bottom. Области, где запрещена трассировка. В слоях tRestrict и bRestrict обрабатываются области, где автотрассировщик не может проводить трассы соответственно для слоев Top и Bottom. Слой vRestrict позволяет задать область, где запрещена расстановка переходных отверстий (via). Если Вы хотите, чтобы автотрассировщик не использовал определенный слой, то выберите N/A в выпадающем списке направления трассировки (диалог настройки трассировки). Остановка процесса автотрассировки. Если кликнуть на кнопку STOP, процесс автоматической трассировки остановится. Любые не разведенные связи не будут автоматически обновлены, для их обновления используйте команду RATSNEST. Ниже во врезках приведено описание команд, связанных с командой AUTO. Команда определяет сигналы. Синтаксис: SIGNAL • •.. Также см. команды AUTO, ROUTE, NAME, CLASS, WIRE, RATSNEST, EXPORT. Сигналами называют соединения между выводами компонентов. Пользователь должен определить минимум две пары element_name/pad_name, иначе не будут генерироваться линии, обозначающие цепи не разведенных сигналов (airwire). Сигналы могут быть заданы с помощью мыши, если в редакторе схемы выбрать инструмент Net, и нарисовать линии, соединяющие выводы компонентов. В редакторе печатной платы эти добавленные сигналы будут отображаться на слое Unrouted желтыми линиями (airwire) не разведенных цепей. Если ввести имя сигнала signal_name, то с сигналом будет связано это указанное имя. Сигналы могут быть также введены полностью в виде текстовых команд (в командной строке или с помощью запуска скрипта). Например, следующая команда соединит выводы 7 микросхем IC1 .. IC3: SIGNAL GND IC1 7 IC2 7 IC3 7; Чтобы ввести весь список цепей (), может быть сгенерирован файл скрипта с расширением *.scr. Этот файл должен содержать все необходимые команды SIGNAL в формате, показанном выше. Проверка соединения. Если команда сигнал SIGNAL используется, чтобы соединить выводы компонентов, которые уже принадлежать другому сигналу, то появится окно, запрашивающее подтверждение пользователя: необходимо ли объединить эти сигналы, и какое для этого должно использоваться имя сигнала. Имя сигнала _OUTLINES_ носит специальные функции (используется для генерации outlines data), и это имя не должно использоваться для сигналов проекта. Команда преобразует не разведенные сигналы (unrouted) в разведенные (линии, соответствующие медным дорожкам на слоях печатной платы). Синтаксис: ROUTE [width] • [curve | @radius] •.. Кнопки мыши и специальные клавиши: Ctrl+Left начинает разводку от любой указанной точки (вывод, дорожка, переходное отверстие). Команда ROUTE активирует ручной трассировщик, который позволяет Вам преобразовать не разведенные связи (желтые линии airwire) в реальные проводники. Первая точка выбирает не разведенное соединение (линия на слое Unrouted) и заменяет соединение в точке окончания на металлизированную дорожку (track). Берется окончание, ближайшее к курсору мыши. Теперь проводник может быть помещен на плату (также см. команду WIRE). Правая кнопка мыши изменит направление ориентации прокладки проводника, и средняя кнопка мыши меняет слой прокладки. Обратите внимание, что доступны только сигнальные слои (1 .. 16), которые настроены в диалоге DRC (закладка Layers, строка Setup). Когда достигнута конечная точка проводника, следующий клик левой кнопки мыши поместит проводник, и к курсору будет привязан новый сегмент прокладываемого проводника. Если в такой ситуация удерживается клавиша Shift, в этой точке будет генерироваться переходное отверстие (Via), если это возможно, и не разведенное соединение все еще не было разведено окончательно. Генерируемое переходное отверстие будет подходящей длины, или если это не определено, оно будет сквозное, от слоя 1 до слоя 16. Когда меняется слой, и по этой причине требуется переходное отверстие, оно будет добавлено автоматически по мере прокладки проводника. Когда соединение разведено полностью, компьютер выдаст звуковой сигнал, и для разводки может быть выбрано другое не разведенное соединение. Будут установлены только необходимые переходные отверстия (в соответствии с диалогом настройки слоев DRC). Если переходное отверстие помещено в начальной или конечной точке, и в этом месте находится вывод компонента поверхностного монтажа (SMD pad), то переходное отверстие будет типа micro via, если текущий слой разводки единственный слой соседний со слоем SMD (это применяется только если разрешены micro via в настройке диалога DRC). Когда активна команда ROUTE, ширина проводника может быть введена с клавиатуры. Если предоставлен параметр кривой (curve) или @radius, то может быть нарисована дуга как часть трека (подробности см. в описании команды WIRE). Если задано имя (name), будет выбрана линия airwire этого сигнала, ближайшая к курсору мыши. Если имя могло бы быть интерпретировано как параметр width, curve или @radius, то оно записывается в одиночных скобках. [Выбор слоя разводки и ширины проводника] Когда выбирается не разведенное соединение (airwire), то выбор начального слоя разводки определяется по объектам в начальной точки трассировки следующим образом: - если имеется объект в текущем слое, то текущий слой сохраняется Когда выбирается airwire, ширина проводника для разводки будет определяться по правилам DRC и классу цепи выбранного сигнала, если установлен флаг "Options/Set/Misc/Auto set route width and drill". Вы можете выбрать другую ширину, и тогда трек будет разводиться новой шириной проводника. То же самое относится и к параметрам переходного отверстия. Когда разводится airwire, которая начинается с уже разведенного проводника, то новая ширина проводника автоматически подстраивается под ширину существующего проводника, если удерживается кнопка Shift, когда выбирается airwire. Функция приклеивания (Snap). Всегда используется динамически вычисляемая конечная точка airwire, даже если координатная сетка выключена. Если оставшаяся длина короче SNAP_LENGTH, то трассируемый проводник автоматически приклеивается (snap-функция) к конечной точке airwire, и остается там, пока указатель мыши не уйдет на расстояние как минимум SNAP_LENGTH от этой точки. Минимальный интервал для этой snap-функции можно определить командой, где distance это радиус snap единицы измерения текущей координатной сетки: SET SNAP_LENGTH distance; Трассировщик "следуй-за-мной" (Follow-me Router). Специальные стили прокладки 8 и 9 команды ROUTE работают как трассировщик "Follow-me". Это означает, что выбранная airwire будет полностью разведена трассировщиком автоматически. Стиль wire bend 8 разводит только короткую сторону выбранной airwire, в то время как 9 разводит обе стороны. Как только процесс автотрассировки завершится (что может занять некоторое время), не разведенное соединения airwire будет заменено реальными проводниками и переходными отверстиями. Если трассировка не может быть завершена (например из-за ограничений правил DRC), курсор поменяется на значок "запрещено". Со стилем 9 может случиться так, что будет разведена только одна сторона, а другая сторона окажется не разведенной. Когда курсор мыши перемещается, предыдущий результат разводки отменяется, и начинается новое вычисление трассы. Когда результат станет допустимым, клик левой кнопки мыши разместит вычисленную трассировку. Follow-me роутер работает путем пометки точки координатной сетки в текущей позиции курсора мыши в качестве стартовой точки, и использует автотрассировщик, чтобы найти путь проводника от этой точки до любой точки на сегменте сигнала, где оканчивается airwire (не обязательно, что это будет именно конечная точка airwire). Подразумевается, что начальная точка находится в текущем выбранном слое трассировки, поэтому не удивляйтесь, что что роутер поместит в этой точке переходное отверстие. Путем изменения текущего слоя Вы можете повлиять на результат разводки. Сетка разводки берется от действующей настойки координатной сетки в момент выбора airwire. Параметры трассировки наподобие факторов стоимости (cost factors), предпочтительных направлений и т. д. определяются в диалоге команды AUTO. Действуют следующие особенности: - Роутер Follow-me не обсчитывает полигоны. Если Вы хотите, чтобы они были пересчитаны, запустите сначала команду RATSNEST. Разводка дифференциальной пары. Дифференциальная пара это сигналы, которые должны быть разведены параллельно, с заданным интервалом между ними. Действуют следующие особенности: - Дифференциальная пара состоит из двух сигналов с одинаковым именем, но один сигнал с окончанием _P (положительный сигнал), и другой с окончанием _N (отрицательный сигнал), например CLOCK_P и CLOCK_N. Эти два сигнала должны также принадлежать к одному и тому же классу цепей (net class). Вы можете использовать команду MEANDER, чтобы сбалансировать длины двух сигналов дифференциальной пары. Добавляет линии на чертеж схемы или печатной платы. Синтаксис: WIRE ['signal_name'] [width] • •.. Клавиши мыши: Center выбирает слой. Также см. команды MITER, SIGNAL, ROUTE, CHANGE, NET, BUS, DELETE, RIPUP, ARC. Линия начинается от первой указанной точки, и распространяется до следующей. Дополнительные указанные точки приведут к рисованию сегментов линии. Двойной клик завершает построение линии, и можно начать построение новой линии в другой позиции при следующем клике мышью. В зависимости от текущего активного стиля прокладки линии между двумя точками будет построено один или два сегмента линии. Стиль прокладки определяет угол между сегментами. Стиль можно поменять правой кнопкой мыши во время прокладки линии (удерживание клавиши Shift при клике правой кнопкой мыши меняет направление стиля, и удержание клавиши Ctrl делает переключение между соответствующими стилями). Нажатие средней кнопки мыши откроет окно диалога выбора слоя, в котором линия должна быть нарисована. Можно использовать специальные ключевые слова ROUND и FLAT, также как и параметр curve, для рисования дуги (подробнее см. ниже). Запуск команды WIRE с нажатой клавишей Ctrl приклеивает начальную точку новой линии к координатам ближайшей существующей линии. Это особенно полезно, если существующая линия не попадает на узлы координатной сетки. Это также подстраивает текущую ширину линии (width), слой и стиль к существующей линии. Если текущий стиль прокладки 7 ("Freehand"), то новая линия формирует мягкое продолжение существующей. Имя сигнала. Параметр signal_name предназначен в основном для использования в файлах скриптов, которые читают в генерированные данные. Если указан параметр signal_name, то все последующие линии будут добавлены в этот сигнал, и не будут произведены автоматические проверки. Внимание! Эта функция должна использоваться с большими предосторожностями, потому что может привести к коротким замыканиям, если прокладываемая линия металлизации будет проложена поверх разных сигналов. Обязательно запустите проверку DRC (Design Rule Check) после использования команды WIRE с параметром signal_name! Ширина проводника (Wire Width). Ввод числа после активации команды WIRE меняет ширину проводника (в действующих единицах). Ширина может быть до 200 mm (7.8740 дюйма). Ширину проводника можно в любой момент поменять командой: CHANGE WIDTH width • Стиль проводника (Wire Style). Проводники могут быть одним из следующих стилей: Continuous (непрерывная линия) Стиль проводника можно поменять командой CHANGE. Имейте в виду, что DRC и Autorouter всегда обрабатывают линии проводников как "Continuous", даже если их стиль другой. Стили в основном используются для электрических схем и механических контуров, и не должны использоваться для сигнальных слоев. DRC выдаст ошибку использования прерывистых линий как части сигнала, подключенного к любой контактной площадке. Сигналы на слоях Top, Bottom и RouteN. Проводники (дорожки металла) на слоях Top, Bottom и ROUTE2 .. ROUTE15 обрабатываются как сигналы. Если Вы рисуете проводник в любом из этих слоев, начиная с существующего сигнала, то все сегменты этого проводника принадлежат этому сигналу (только если середина проводника размещена только по центру существующего проводника или контактной площадки). Если Вы завершили это построение проводника сегментом, который заканчивается на другом сигнале, то EAGLE запросит, хотите ли Вы соединить эти два сигнала. Обратите внимание, что EAGLE обрабатывает каждый сегмент проводника как одиночный объект (например, когда удаляется сегмент проводника). Когда активна команда WIRE, средняя кнопка мыши может использоваться для смены слоя прокладки проводника. Не используйте команду WIRE для цепей (net), шин (bus) и линий не разведенных соединений (airwire). См. описание команд NET, BUS и SIGNAL. Рисование дуг (Arc). Линии и дуги в сущности одинаковые объекты, так что Вы можете рисовать дугу командой ARC, или путем добавления необходимых параметров к команде WIRE. Чтобы сделать проводник дугой команде WIRE требуется либо параметр curve, который определяет кривизну дуги, или параметр @radius, определяющий радиус дуги (обратите внимание на символ @, который требуется, чтобы разделять параметр curve и radius). Допустимый диапазон для curve составляет ]-360..+360[ (без пределов +-360), и это значение показывает, какую часть полного круга составит дуга. Например значение 90 даст дугу 90°, а значение 180 даст полукружие. Полную окружность создать таким способом нельзя (для этого используйте команду CIRCLE). Положительные значения для curve означают, что дуга рисуется математически в положительном направлении (т. е. против часовой стрелки). Если curve 0, то дуга будет прямой линией (т. е. без кривизны), получится прямая линия. Обратите внимание, чтобы отличать параметр curve от width, параметр curve всегда указывается со знаком (+ или -), даже если это положительное значение. Например, следующая команда построит полукруг от точки (0 0) до точки (0 10), в направлении против часовой стрелки: WIRE (0 0) +180 (0 10); Когда указан параметр радиуса, дуга получит этот радиус. Так же, как и параметр curve, радиус также должен иметь знак для определения ориентации дуги. Например, следующая команда построит полукруг от точки (0 0) до точки (0 200) с радиусом 100, в направлении против часовой стрелки: WIRE (0 0) @+100 (0 200); Имейте в виду, что если конечная точка находится на расстоянии больше, чем 2 радиуса, то будет построена прямая линия. Радиус дуги также может быть определен путем помещения конечной точки проводника с нажатой клавишей Ctrl (обычно в центре круга, на котором должна лежать дуга). В этом случае конечная точка не учитывается, и вместо этого для построения дуги используется радиус. Вы можете затем переместить курсов вокруг этой точки и поместить дугу с указанным радиусом (правая кнопка мыши вместе с Ctrl будет переключать ориентацию дуги). Если Вы перемещаете курсор дальше, чем два радиуса от стартовой точки, то будет нарисована прямая линия. Чтобы можно было нарисовать любую дугу командой WIRE (что особенно важно для генерируемых файлов скрипта), в команде WIRE допускается также использовать ключевые слова ROUND и FLAT. Однако имейте в виду, что они применяются только к реальным дугам (у прямых линий окончания всегда скруглены). По умолчанию дуги, создаваемые командой WIRE, также имеют скругленные окончания. Пересчитывает полигоны и вычисляет самые короткие длины для не разведенных соединений (airwire). Синтаксис: RATSNEST См. также команды SIGNAL, MOVE, POLYGON, RIPUP. После чтения списка цепей командой SCRIPT полезно выполнить команду RATSNEST, чтобы оптимизировать все длины не разведенных связей. Примечание: команду RATSNEST удобно вводить в консоли сокращенно как RAT или даже просто r. Команда также пересчитывает заливки медью все (polygon), принадлежащие сигналу. Это необходимо, чтобы не рисовались связи не разведенных соединений для контактных площадок, которые подключены к полигону. Пересчитанные области полигона после этого будут отображаться в реальном режиме. Можно переключиться обратно в более быстрый "outline mode" с помощью команды RIPUP. Автоматический пересчет полигонов можно отключить командой: SET POLYGON_RATSNEST OFF; Обратите внимание, что RATSNEST не помечает файл платы как модифицированный, поскольку вычисленные данные полигона (если они есть) не сохраняются в файл платы, и пересчитанные airwire не представляют реальной модификации чертежа платы. Zero length airwire. Если два или большее количество проводников одного и того же сигнала находятся на разных слоях, и их концы сходятся в одной точке без переходного отверстия, то генерируется airwire нулевой длины, и это место отображается желтым крестом. То же самое относится к smd, которые принадлежать одному и тому же сигналу, и размещены на противоположных слоях платы. Airwire нулевой длины могут быть разведены командой ROUTE так же, как и обычные airwire. Они могут быть также обработаны помещением в это место переходного отверстия (команда VIA). Убедиться, что все связи разведены, можно командой RATSNEST без параметров, например, если в ответ на RATSNEST в строке статуса будет выведено сообщение "Ratsnest: Nothing to do!", то все соединения разведены. Иначе будет выведено сообщение, сигнализирующее о том, что не все соединения разведены (xx покажет количество не разведенных соединений): Ratsnest: xx airwires. Wildcards. Если указан параметр имени сигнала signal_name, то используемые в нем символы *, ? и [] играют специальное значение (шаблоны wildcard): * соответствует любому количеству символов. Если любой из этих символов должен восприниматься не как специальный, а как обычный символ, то он должен быть заключен в квадратные скобки. Например, abc[*]ghi будет соответствовать abc*ghi, и не будет соответствовать abcdefghi. Диапазон символов может быть указан как [a-z], что в результате даст любой символ от a до z. Сокрытие выбранных airwire. Иногда может быть полезным скрыть не разведенные соединения выбранных сигналов, например сигнал, который будет позже соединяться через полигон. Обычно такого рода сигналы это цепи питания (наподобие GND или VCC), и airvire этих сигналов мешают в рассматривать другие не разведенные цепи. Чтобы скрыть airwire, в команде RATSNEST используется знак инверсии !, например следующая команда скроет airwire сигналов GND и VCC: RATSNEST ! GND VCC Чтобы восстановить отображение скрытых сигналов, просто введите команду RATSNEST без символа !, и приведите список сигналов. Следующая команда отобразит не разведенные связи airwire сигналов GND и VCC, и пересчитает их длину: RATSNEST GND VCC Имена сигналов могут содержать символы wildcard, и могут комбинировать таких два варианта. Например, следующая команда отобразит все airwire с именами, начинающимися на D, и скроет различные сигналы земли (наподобие AGND, DGND и т. п.), а также скроет сигнал VCC: RATSNEST D* ! ?GND VCC Обратите внимание, что команда обрабатывается слева направо, поэтому начинающийся на D сигнал DGND в этом примере все равно будет скрыт, потому что его отображение запретит ! ?GND. Чтобы гарантировать отображение всех airwire, введите команду: RATSNEST * Обратите внимание, что команда SIGNAL автоматически сделает видимыми новые airwire созданного сигнала. С другой стороны, команда RIPUP не поменяет состояние скрытых airwire, если сигнал поменяется в airwire. Дифференциальные пары. Airwire при разводке дифференциальной пары сигналов оставляют оборванные окончания проводников (т. е. окончание разводки дифференциальной пары должно быть доведено до конечных точек вручную). Преобразует разведенные проводники и переходные отверстия в лини не разведенных соединений (airwire). Меняет отображение полигонов на не залитое (показывает только край полигона). Синтаксис: RIPUP; Нажатая клавиша Ctrl и правая кнопка мыши преобразует группу. Также см. команды DELETE, GROUP, POLYGON, RATSNEST. Могу быть следующие варианты использования: Убрать разводку всех сигналов (RIPUP;) Выбор airwire с командой RIPUP уберет разводку всех смежных проводников до следующей контактной площадки или вывода SMD. Следующая команда полностью уберет разводку сигнала signal_name, но только если он подключен к элементам (могут перечислены несколько сигналов, например RIPUP D0 D1 D2;): RIPUP signal_name.. Следующая команда удалит сегменты, выбранные кликом мыши до следующей контактной площадки или SMD: RIPUP •.. Следующая команда удалит разводку только тех сигналов, которые подключены к элементам (например, на crop-метки команда не влияет): RIPUP; То же самое применимо, если RIPUP используется на группе. Замечание: во всех случаях команда RIPUP действует только на видимых слоях! Wildcards. Если указан параметр имени сигнала signal_name, то используемые в нем символы *, ? и [] играют специальное значение (шаблоны wildcard): * соответствует любому количеству символов. Если любой из этих символов должен восприниматься не как специальный, а как обычный символ, то он должен быть заключен в квадратные скобки. Например, abc[*]ghi будет соответствовать abc*ghi, и не будет соответствовать abcdefghi. Диапазон символов может быть указан как [a-z], что в результате даст любой символ от a до z. Полигоны. Если команда RIPUP с именем применена к сигналу, который содержит полигон, то полигон будет показан только контуром. Команда RATSNEST вернет отображение полигона в залитом состоянии. [Ссылки] 1. Эффективная трассировка печатных плат в Eagle. |