Altium Designer 6 в примерах. Реализация многоканального модуля ввода/вывода в пакете Altium Designer 6.8.
Владимир Пранович
В данной статье будет представлен новый пример схемной и топологической реализации многоканального модуля ввода/вывода.
Рассмотрим следующий проект, содержащий немного компонентов, однако достаточно сложный как в реализации его схемы, так и с точки зрения топологических решений печатной платы.
Проект содержит схему на основе контроллера DS31256, с помощью которого реализован мост между PCI-шиной и 16 каналами ввода/вывода Е1/T1. Последние в свою очередь реализованы на основе 4-канальных трансиверов DS21Q50LN и включают согласующие цепи.
Не будем останавливаться на приемах создания электрической схемы, так как о них подробно рассказано в статье [1]. Укажем только основные фрагменты схемы и те методы, которые использовались при их создании, но ранее детально не были описаны.
Параметры проекта
Схема данного проекта располагается на нескольких листах и имеет иерархическую структуру. Она содержит общую часть, а также схему для 16 идентичных блоков каналов ввода/вывода. Поэтому командой ProjectProject OptionOption (рис. 1) вызываем окно параметров и устанавливаем там следующие свойства:
- В строке Output Patch указываем путь к папке, где будут храниться вспомогательные и выходные файлы, генерируемые пакетом проектирования.
- В зоне Output Option установка или снятие флагов для данного примера не оказывают никакого влияния.
- В зоне Netlist Option снимаем все флаги. Все имена цепей будем задавать через метки NetName.
- В зоне Net Identifier Scope выберем из выпадающего списка значение Hierarchical (Sheet Entry <-> port connection), тем самым определив иерархическую структуру проекта и тип межлистовых связей — через Sheet Entry и соответствующий ему Port подчиненного листа.
- В зоне Allow Pin Swapping Using These Methods установим все флаги. Хотя для данного примера это не принципиально, так как у нас не будет компонентов, для которых возможна взаимная замена идентичных выводов или частей компонента.
Первый лист схемы
Он содержит все конденсаторы, предназначенные для фильтрации, а также компоненты, в состав которых входят в основном только выводы шин питания или специфические выводы, не имеющие прямого отношения к схемной реализации самого устройства ввода/вывода.
На рис. 2 представлена часть первого листа схемы. На рисунке указаны:
- Ссылки (Sheet Entry) на второй (с обозначением листа А6) и третий (с обозначением А7) листы электрической схемы проекта. Заметим, что обозначение Sheet Entry лучше всегда изменить со значения, присваиваемого по умолчанию, на другое. Например, применить последовательную нумерацию. В данном примере для обозначения используются буква «A» и цифра, но поскольку эта схема — часть более сложного проекта, автор не восстанавливал последовательную нумерацию.
- Первая часть (Part) компонента DS31256. Она содержит служебные выводы контроллера, а на схеме указано подключение этих выводов для данного проекта.
- Пятая часть (Part) компонента DS31256. Она содержит все выводы питания и «земли» контроллера. Соответственно на схеме указаны подключения данных выводов.
- Третья часть (Part) компонента топологического соединителя для шины PCI. В данной части сведены все выводы (Pin) соединителя, относящиеся к шинам питания и «земли», а также другие служебные выводы, которые не используются непосредственно микроконтроллером. Особенности этого компонента рассмотрим более подробно далее, так как здесь применяются интересные подходы при создании как схемного изображения компонента, так и посадочного места. Более того, придется произвести дополнительные действия с этим компонентом уже непосредственно в редакторе топологии платы.
Таким образом, на первом листе у нас будет размещена часть схемы, описывающая подключение питания шины PCI и микроконтроллера.
Второй лист схемы
Здесь разместим все элементы, имеющие отношение к электрическим цепям шины PCI. На рис. 3 указаны:
- Первая часть (Part) компонента топологического соединителя для шины PCI. В ней расположены все выводы (Pin) соединителя, не относящиеся к шинам питания и адресным сигналам.
- Третья часть (Part) компонента DS31256. В ней расположены выводы контроллера, предназначенные для связи с шиной PCI.
- Вторая часть (Part) компонента топологического соединителя для шины PCI, которая содержит только адресные выводы.
Таким образом, на втором листе будет размещена часть схемы, описывающая подключение шины PCI к микроконтроллеру.
Такое решение схем первого и второго листа позволяет использовать их и для других проектов, так как эти схемы описывают типовое назначение сигналов шины PCI.
Третий лист схемы
Он будет содержать схему генератора, а также общую часть контроллера, связанную с трансиверами, и ссылки на их схемы. Рассмотрим эту часть подробней.
На рис. 4 показан лист схемы в целом и наиболее информативные части в увеличенном виде:
- Четвертая часть (Part) компонента DS31256. В ней расположены выводы контроллера, необходимые для управления индивидуально каждым из 16 каналов цифрового ввода/вывода. Схема не представляет большого интереса, ее прототип описан в документе DS31256DK.pdf, который можно найти на сайте производителя. Укажем только, что в данном проекте сигналы ТС0…ТС7 и ТС8…ТС15 объединены и соединены с выходом генератора 2,048 МГц. Такое соединение по группам вызвано топологическим расположением трансиверов попарно, с размещением генератора между парами трансиверов. Выход генератора нагружен на большое число входов, и более того, вследствие специфики этого сигнала, относящиеся к нему топологические элементы требуют особого внимания.
- Вторая часть (Part) компонента DS31256. В ней расположены адресная шина, шина данных и другие выводы — для общих сигналов, необходимых при обслуживании всех каналов ввода/вывода. Все неиспользованные выводы подключены к контрольным площадкам. Это сделано для возможности использования и этих выводов при настройке или модернизации устройства.
- Обратите внимание: на примере сигнала WR показано, что общие сигналы для всей схемы целиком (а также сигналы RD и INT) будут связываться через порты типа Power Port. Таким образом можно передавать общие для всех листов сигналы. Заметим, что в версии Altium Designer 6.8 появились новые средства для передачи связей между разными листами проекта. Однако об этих преимуществах мы расскажем в отдельной статье.
- Ссылка (Sheet Symbol с обозначением A5) на лист, где будет находиться изображение только выходного соединителя, для подключения всех внешних сигналов ввода/вывода. Изображение выходного соединителя на одном листе удобно как с точки зрения быстрого нахождения выходных сигналов, так и тем, что при многократном использовании подчиненного листа все элементы в нем должны иметь индивидуальные посадочные места. В нашем примере с одним соединителем на четыре идентичных модуля мы не можем разбить его изображение на отдельные части (Part) и использовать их индивидуально в повторяющихся блоках. Итак, в нашем примере данный Sheet Symbol содержит только один Sheet Entry с именем E1_[0…63] на 64 входа (32 пары для 16 входных сигналов каналов ввода E1 и 32 пары для 16 выходных сигналов каналов вывода E1). Соответственно ввод электрических сигналов производится через шину NetName=E1_[0…63].
- Наиболее интересная часть листа этой схемы. Здесь указаны четыре Sheet Symbol (A1–A4) со ссылкой на один и тот же лист схемы трансивера. В данном примере выбран способ построения схемы с четырьмя идентичными блоками. По мнению автора, в этом случае, во-первых, схема несет большую информационную нагрузку, чем при использовании одного Sheet Symbol со значением Designator = (A, 1, 4) (такой способ мы применяли в предыдущем примере), во-вторых, применение последнего способа для более ранних версий (6.7 и ниже) Altium Designer 6 усложнит организацию межлистовых связей. В дальнейшем мы покажем принципиально новые возможности последнего (6.8) обновления Altium Designer именно в реализации иных способов использования межлистовых связей.
- Теперь рассмотрим способ межлистовых соединений, примененный в данном примере. Итак, все четыре Sheet Symbol идентичны, включая расположение Sheet Entry, за исключением индивидуальных Designator. Однако при подключении к ним шин и электрических связей используется следующий метод:
- входы/выходы сигналов ввода/вывода данных (Sheet Entry=E1_[0..15]) первого, второго, третьего и четвертого Sheet Symbol подключены соответственно к сигналам E1_[0…15], E1_[16…31], E1_[32…47], E1_[48…63] и поступают на лист (Sheet Symbol = A5);
- аналогично созданы все индивидуальные цифровые управляющие сигналы (RC[0…15], RD[0…15], RS[0…15], TD[0…15], TS[0…15]), связанные с микропроцессором, только они группируются соответственно по четыре на каждый Sheet Symbol (для первого с номерами [0…3], второго — с [4…7], третьего — с [8…11], а четвертого — с [12…15]);
- общие сигналы (шина данных D[0…7], адресная шина A[0…12]) поступают на все четыре Sheet Symbol;
- старшие адреса A10, A11, A12, A13 дополнительно поступают на Sheet Entry = Cs и образуют сигналы выбора соответствующего трансивера, с которым производится обмен по шине данных и адресной шине. Обратите особое внимание на то обстоятельство, что в подчиненном листе один и тот же сигнал может поступать через разные порты ввода и, соответственно, иметь различное назначение в подчиненной схеме;
- и, наконец, сигналы Mclk поступают на две пары трансиверов для объединения их только на генераторе, как мы уже упоминали выше. Схема генератора на рисунке скрыта наложенным изображением.
Четвертый и пятый листы схемы
На четвертом листе расположен только один элемент — внешний соединитель, для ввода/вывода сигналов, и мы его приводить не будем.
Перейдем сразу к пятому листу, где находится схема 4-канального трансивера, состоящая из трех частей: непосредственно микросхемы; фильтрующих конденсаторов; ссылок на согласующую часть каналов ввода/вывода. Характерные фрагменты схемы приведены на рис. 5, где указаны:
- Три части (Part) трансивера:
- первая часть (сверху) — там совмещены все выводы трансивера, общие для всех четырех каналов (адресная шина, шина данных и т. п.);
- вторая часть (в середине) — там совмещены все выводы трансивера для всех четырех каналов для связи с контроллером;
- третья часть (внизу) — выводы трансивера для работы с сигналами ввода/вывода.
- Шина данных и адресная шина.
- Входы (Port) для сигналов Mclk и Cs. Еще раз отметим, что в соответствии с третьим листом схемы сигналы Mclk будут объединены для первого и второго трансиверов и, соответственно, для третьего и четвертого трансиверов. В качестве сигналов Cs будут использованы адресные сигналы с A10 по A13, как было отмечено ранее.
- Общие для всех трансиверов сигналы. Связь производится через глобальное определение имен цепей (Power Port).
- Цифровые шины каналов ввода/вывода для первого трансивера RC[0…3]; RD[0…3]; RS[0…3], TD[0…3]; TS[0…3]. Для первого трансивера (Sheet Symbol со значением Designator = A1) они соединятся с аналогичными по названию сигналами шин с третьего листа схемы. Для второго трансивера (Sheet Symbol со значением Designator = A2) соответственно со сдвигом с сигналами ввода/вывода одного для второго трансивера RC[4…7], RD[4…7], RS[4…7], TD[4…7], TS[4…7]. Так же образованы аналогичные сигналы для третьего и четвертого трансивера, и это полностью соответствует третьему листу схемы.
- Мы ввели название сигналов внутри листа. Это вовсе необязательно, однако в процессе создания топологии печатной платы это позволит быстрее ориентироваться среди множества цепей проекта. Более того, их при этом легче объединять в отдельные классы цепей.
- Здесь указаны две ссылки (Sheet Symbol В0 и B1) на один и тот же лист схемы согласующих элементов линий ввода/вывода.
- Шина линий ввода/вывода для одного трансивера. Аналогично пункту 5 для четырех трансиверов они последовательно подключатся соответственно к 64 линиям, как мы и задали на третьем листе схемы.
Таким образом, вместо создания четырех схемотехнически идентичных листов для описания четырех трансиверов мы обошлись одним листом схемы.
Шестой лист схемы
На рис. 6 представлена стандартная схема подключения линий ввода/вывода E1/Т1 с цепями защиты со стороны трансивера.
В схеме использованы трансформаторы (четыре в одном корпусе) для сдвоенной линии и сборки диодов для защиты электрических цепей. Именно по этой причине на каждый 4-канальный трансивер (лист 5) приходится две ссылки (Sheet Symbol) на данный лист.
Посадочное место PCI
В данном примере мы не будем рассматривать вопросы подключения посадочных мест для всех компонентов проекта. Остановимся только на наиболее интересном и сложном вопросе, а именно на создании посадочного места для топологического соединителя для шины PCI.
Итак, наиболее правильный подход — это открыть Datasheet на данную шину, воспользоваться всеми рекомендациями из него и создать собственное посадочное место для этой шины. Однако это долгий путь, и лучше воспользоваться одним из существующих посадочных мест. Его можно найти в одной из библиотек пакета. А еще проще: открыть один из предлагаемых примеров из папки Template. В нашем примере (использование короткого слота шины с питанием 3,3 В) за основу возьмем проект из папки …TemplatesPCI short card 3.3V — 32 BIT.PCBDOC, представленный на рис. 7. Отметим наиболее важные моменты, чтобы правильно создать свой собственный элемент для PCI-слота. На рис. 7 указаны:
- Pad (контактные площадки). Отмечено место, где находится первая контактная площадка. Данные элементы являются принадлежностью посадочного места.
- Надписи на слоях Top Overlay и Bottom Overlay, с информацией о номере Pad. Надписи нанесены в нескольких местах для облегчения поиска номера контакта. Эти надписи являются принадлежностью посадочного места.
- Надпись на слое Top Overlay с информацией о Designator. Данная надпись является принадлежностью посадочного места.
- Контур в слое Keep-Out Layer. Зона разрешения для размещения посадочных мест и элементов топологии. Следует отметить, что контур Keep-Out Layer не является контуром платы и может не совпадать с ним или иметь разные зазоры относительно контура печатной платы, как указано на сносках 4а. В исходном файле этот контур и все элементы, указанные далее, не являются принадлежностью посадочного места.
- Непосредственно контур печатной платы. Выполнен в слое Mechanical1. Обратите внимание: во всех внутренних вырезах в контуре нет острых углов, так как подразумевается обработка контура фрезой, которая имеет ограничение на минимальное значение диаметра.
- Dimension (указание основных размеров). Выполнено в слое Mechanical4. Удобно использовать для контроля всех размеров, однако эти элементы не могут быть перенесены в библиотечный компонент.
- Крепежное отверстие.
- Технологическая надпись и ссылка на чертеж.
- Непосредственно чертеж с указанием вида и параметров механической обработки контура, со стороны ламелей посадочного места.
Для того чтобы «вытащить» посадочное место слота PCI из проекта, проведем следующие операции (подробно они описаны в [1]):
- Откроем указанный документ.
- Командой DesignMake PCB Library создадим библиотеку посадочных мест.
- В библиотеке PCI short card 3.3V — 32 BIT.PCBLib будет сформирован единственный компонент с именем PCI3V32BIT. Откроем панель PCB Library, выделим данный компонент и скопируем его в буфер.
- Откроем нашу библиотеку посадочных мест. Откроем панель PCB Library и вставим новый элемент из буфера.
Теперь в нашей библиотеке есть прототип будущего посадочного места. Однако в нем отсутствуют следующие элементы:
- контур нижней стороны платы;
- указание на положение передней стороны платы;
- указание на минимальное положение задней стороны платы;
- элементы чертежей с правилами механической обработки платы со стороны ламелей;
- зоны запрета трассировки в местах глубоких вырезов посадочного места PCI и крепления (по крайней мере, в нижней части) планки соединителя.
Можно скопировать указанные объекты из файла PCI short card 3.3V — 32 BIT.PCBDOC и перенести их через буфер в библиотечный компонент. Однако, во-первых, наш проект будет размещен на плате меньшего размера (по ширине печатной платы ограничимся минимальным размером, по высоте определимся в процессе создания топологии), во-вторых, создавать сложные контуры проще непосредственно в редакторе топологии, а не в редакторе посадочных мест, так как последний не поддерживает Dimension. Изменять положение линий контура и отслеживать их расположение друг относительно друга значительно проще, если данные объекты связаны через Dimension. Поэтому вернемся в файл топологии (PCI short card 3.3V — 32 BIT.PCBDOC) и откорректируем указанные объекты в исходном файле. Более того, перенесем при необходимости их изображения на слои, назначенные для этих объектов в нашей библиотеке. Так, для контура печатной платы в предыдущих примерах мы использовали слой Mechanical4, переименованный в Board Outline, все информационные надписи и чертежи — в слоях Note и Dimension.
После указанных переделок в файле печатной платы скопируем необходимые элементы и через буфер обмена перенесем в нашу библиотеку для посадочного места PCI3V32BIT. Будьте внимательны и при копировании не забудьте указать точку привязки, например центр первой контактной площадки. Так вам будет легче совместить объекты при вставке из буфера.
В результате получаем посадочное место с элементами контура, зон запрета трассировки и др. (рис. 8), где указаны:
- Контактные площадки и другие элементы посадочного места, сформированные из прототипа. На первом контакте указана точка привязки посадочного места (Edit >> Origin >> Set).
- Контур запрета топологии (добавлен в компонент).
- Контур печатной платы (добавлен в компонент).
- Чертеж, с требованиями механической обработки (добавлен в компонент копированием из прототипа печатной платы).
Создание шаблона печатной платы
В качестве основы возьмем файл предыдущего примера. Однако вначале сделаем из него шаблон, для того чтобы в дальнейшем не повторять эти операции для новых проектов.
Для этого:
- Скопируем файл Tr04PCB01.PcbDoc предыдущего примера, например в папку …/Template, где мы храним шаблоны, с именем 4LaySPSS.PcbDoc (четыре слоя: сигнальный, слой типа Plane и еще два сигнальных).
- Удалим все посадочные места, контур печатной платы и другие элементы, имеющие отношение исключительно к прототипу.
- Добавим простой прямоугольный контур платы и контур в слое Keep-Out Layer.
- Удалим все специфические классы цепей и правила, оставив только типовые, например для цепей питания (DesignRules, DesignClasses).
- Командой DesignLayer Stack Manager вызываем окно настойки параметров физических слоев шаблона (рис. 9). Аналогично предыдущему примеру [2007, № 5], создадим стек из четырех слоев, только слою UndoTop присвоим тип Plane и свяжем с электрической цепью GND, как указано на рис. 9.
Создание контура печатной платы
На сайте производителя находится описание платы с установленным на ней контроллером DS31256, которая специально разработана для построения прототипов схемы. С учетом того, что на плате есть монтажное поле, где находятся контактные площадки для всех сигналов контроллера, плата имеет шесть слоев. Мы ограничимся стеком из четырех слоев. При возникновении сложности топологического решения для нашего проекта добавим в стек дополнительные слои.
Для создания контура печатной платы нам понадобятся только что созданное посадочное место, а также шаблон для нового файла 4LaySPSS.PcbDoc — файла топологии.
Произведем следующие операции (рис. 10):
- Скопируем шаблон в папку нашего проекта и переименуем его (в нашем случае — на имя TR05.PcbDoc).
- Используя команду ProjectAdd Existing to Project, добавим к нашему проекту файл TR05.PcbDoc.
- Теперь осуществим синхронизацию схемы и файла топологии, используя команду DesignImport Changes From Training_05.PrjPcb.
- Переместим посадочное место слота PCI (в нашем случае — компонент P1) на место, где удобно расположить контур будущей платы.
- Установим точку привязки (отсчета координат) в левый нижний угол начала компонента (посадочного места) при помощи команды EditOriginSet.
- Удалим контур платы и контур запрета трассировки, оставшиеся от шаблона, и добавим свои для данного примера. Учтите: с нижнего края печатной платы они уже созданы в посадочном месте, и можно добавить только недостающие стороны!
- Добавляем в слое Dimension характерные размеры.
- Располагаем остальные элементы служебной информации в свободных местах, таким же образом, как мы делали в предыдущем примере.
- Выделяем все элементы на слое Board Outline и командой DesignBoard ShapeDefine from selected object создаем область печатной платы.
- В нашем проекте используются не все выводы компонента слота PCI. Так как на контактные площадки его посадочного места должно наноситься золотосодержащее покрытие, для экономии драгметаллов можно скрыть незадействованные контактные площадки.
Примечание. При изменении Layer Stack следует все надписи, относящиеся к нему, удалить и восстановить вновь командой ToolLayer Stack Legend.
Скрытие неиспользуемых контактных площадок в посадочном месте
Самый простой и быстрый способ — выделить данные контактные площадки и удалить. Однако у него есть существенный недостаток — если в процессе работы над проектом придется задействовать один из таких выводов, сделать это можно будет только через удаление посадочного места и восстановление его в проекте из библиотеки. Поэтому предложим альтернативный способ — скрыть неиспользованные выводы. Для этого произведем следующие операции (рис. 11):
- Выделим в посадочном месте контактную площадку, которая не имеет электрических связей, и, нажав на правую кнопку мышки, выделим операцию Find Similar Object.
- В окне Find Similar Object добавим условие: Net=No Net (Same), то есть выделить все контактные площадки, не имеющие электрических подключений.
- Нажатием клавиши F11 вызываем инспектор и затем изменяем размеры выделенных контактных площадок на нулевые значения, а также указываем признак полного закрытия их маской.
После осуществления этих действий будет получен требуемый результат, и это указано на сноске 10 (рис. 10).
Доступ к скрытым контактным площадкам теперь можно осуществить через панель PCBPCB List, указав в ней выделение по типу контактных площадок, с признаком No Net и (или) обладающими нулевыми размерами. Соответственно здесь же можно восстановить параметры скрытых таким образом контактных площадок, введя их значения, идентичные значениям соседних контактных площадок.
Размещение компонентов
Приступим к размещению компонентов на печатной плате. В связи с конструктивными требованиями положение основных компонентов предопределено и может варьироваться в достаточно узких пределах. Итак, на рис. 12 представлен вариант расположения компонентов. Учтите, местоположение отдельных компонентов определяется в процессе трассировки, и здесь показан конечный вариант расположения:
- Выходной соединитель. Место определяется привязкой к левому краю печатной платы. Варьировать положение можно только по высоте, в пределах, допустимых монтажной планкой печатной платы.
- Контроллер. Его положение определяется шиной PCI. Возможно изменение местоположения на небольшое расстояние в любом направлении. В нашем примере главное — максимально сдвинуть его вправо и вниз, освобождая наибольшее пространство для топологии трансиверов. Другие компоненты, относящиеся к схеме питания и контроллеру, расположим в правой части печатной платы.
- Трансиверы. Они расположены с двух сторон от контроллера, максимально разнесены друг от друга, а их порядок определяется расположением выводов контроллера (естественно, так, чтобы минимизировать связи).
- Кварцевый генератор и другие общие компоненты, которые относятся к трансиверам, разместим между двумя парами трансиверов.
- Согласующий трансформатор и другие компоненты входных цепей. Трансформаторы расположены симметрично по четыре сверху и снизу печатной платы. Их суммарный размер по длине с учетом зазоров и будет определять высоту печатной платы. Из-за того, что одна сторона трансформаторов должна быть обращена к соединителю, их расположение ограничено. С учетом предварительной трассировки их следует максимально приблизить к соединителю, для освобождения большего пространства возле трансиверов. Естественно, порядок трансформаторов определяется порядком расположения трансиверов.
Именно на этапе размещения производится коррекция схемы, а также подключение связей к соединителю — для исключения ненужных пересечений при трассировке.
Топология шины PCI
Остановимся на различных вариантах топологии шины PCI. Для начала выделим компонент D1 (контроллер шины PCI) и поместим его на PCBDOC в зоне печатной платы. Правила для данного проекта не будем приводить. Этот вопрос описан в прежних примерах. Начнем с наиболее простых операций автотрассировки и покажем их действия и возможности.
Автоматическая топология компонента шины PCI
- Выделим компонент P1 (посадочное место для шины PCI).
- Нажав правую кнопку мыши, вызываем контекстное меню Component ActionAutoroute Component и запускаем авторазводчик.
На рис. 13 представлен результат работы авторазводчика. Он не выдерживает никакой критики. Не только не завершена топология электрических связей данного компонента, но и ее качество неудовлетворительно.
Автоматическая топология электрических связей шины PCI
Все электрические связи шины PCI (кроме «земли» и питания) у нас расположены компактно на одном листе схемы, а именно на втором. В этом случае нам легко создать специальный класс для таких связей и затем сделать их автотрассировку. Совершим следующие операции (рис. 14):
- При открытом листе схемы командой ProjectProject Option вызываем окно Option for… и переходим на вкладку Class generation.
- Для второго листа схемы, содержащей описание электрических связей шины PCI, указываем признак Local Nets Only для формирования класса цепей для всех локальных связей на данном листе.
- Командой Design Update Pcb… вносим изменения в файл топологии.
- Применим команду Auto RouteNet Class… для класса цепей A6_Nets — именно так назван наш класс (по значению Designator Sheet Symbol для этого листа подчиненной схемы).
- Результат лучше, чем в предыдущем случае, так как отсутствует топология шин питания и «земли», однако и он далек от совершенства.
Не следует сразу убирать созданный класс цепей, так как он в будущем понадобится для написания правил трассировки для данного типа цепей.
Подобным образом можно сделать автоматическую трассировку для:
- выделенной области;
- всех связей между выделенными компонентами;
- всех связей определенной ROOM и т. п.
Однако без существенных внесений изменений в правила трассировки все эти способы не приведут к результатам, принципиально отличным от приведенных ранее. Написание этих правил, а тем более их проверка займут существенно больше времени, нежели ручная или полуавтоматическая трассировка.
Очевидно, таким образом можно производить трассировку только при достаточно большом числе слоев, доступных для трассировки, а для нашего примера они не дадут хорошего результата.
Автоматическое формирование (Fanout) отводов от микросхем
Для симметричных отводов от контактных площадок микросхемы контроллера произведем операцию Fanout (рис. 15).
- Командой DesignRules… вызываем окно PCB Rules and Constraints Editor.
- Открываем стандартное правило: Design RuleRoutingFanout ControlFanout BGA.
- Проверяем или видоизменяем настройки (фрейм ConstraintsFanout Option окна) на следующие значения:
- Fanout Style — устанавливаем значение Auto (автоматическое определение стиля отвода);
- Fanout Direction — устанавливаем значение Alternating In and Out (направление отводов);
- Direction From Pad — устанавливаем значение Away from Center (направление отводов относительно контактных площадок);
- Via Placement Mode — устанавливаем значение Centered Between Pads (вид расположения переходных отверстий).
- Выделим компонент D1 (контроллер) и через контекстное меню применим команду Component ActionFanout Component.
- В результате выполнения операции автоматически будут добавлены переходные отверстия и отводы, как на внешнем слое, так и на внутреннем (отводы именно на этом слое отображены на рисунке). При этом корпус BGA условно разбит на четыре квадранта, и отводы в них сделаны симметрично, от центра.
Получаем ожидаемый результат, который на данном этапе полностью удовлетворяет нашим потребностям, и здесь выигрыш в автоматическом формировании Fanout очевиден. После данной операции трассировку производить значительно проще. К сожалению, это выполняется для печатных плат с большим числом слоев.
Полуавтоматическая трассировка шинных электрических связей
- Выделим две или несколько идентичных электрических связей с отводов от корпуса BGA и применим команду PlaceMultiple Traces (рис. 16). На рисунке выделено пять электрических связей, с разными правилами для ширины дорожки.
- Подводим указатель на один из выделенных отводов и делаем трассировку одновременно всех выделенных линий. Поворот всех трасс топологии будет производиться относительно той трассы, к которой изначально был подведен указатель. Трассировка происходит так же, как и для одного сигнала.
Примечание. Для вывода доступных операций при подобной трассировке следует нажать клавишу «~».
Следует обратить внимание: данный способ позволяет быстро прокладывать параллельные трассы. Однако, к сожалению, у него нет функции задания и регулирования зазоров между трассами. В нашем примере зазоры между трассами определены при формировании Fanout (отводов от BGA-корпуса) и значительно превышают минимально допустимые.
Этот метод рекомендуем применять для трасс, частично подготовленных для такой операции, когда зазоры между трассами уже оптимизированы.
Предложим еще один способ, обладающий более широкими возможностями при одновременной трассировке нескольких связей.
Для этого нам следует удалить все отводы (включая и переходные отверстия) от контактных площадок посадочного места корпуса BGA. Выделим корпус BGA. Нажав правую кнопку мыши, вызовем контекстное меню и применим команду Component ActionUnroute Component.
Теперь произведем следующие операции (рис. 17):
- Выделим несколько контактных площадок и применим команду PlaceMultiple Traces. Подводим указатель на один из выделенных отводов контактных площадок одновременно всех связей.
- Перед трассировкой выбор дополнительных операций шире и позволяет устанавливать шаг между трассами.
При таком применении трассировки шин достаточно просто получить топологию однородных связей.
Пропустим операции Auto Swap (как в контроллере, так и в шине PCI отсутствуют выводы для такой возможности) и ручной трассировки и представим вид окончательного результата (рис. 18). Сноска 1 указывает на зоны параллельной трассировки дорожек при предварительной ручной подготовке.
Другие операции полуавтоматической трассировки (выравнивание трасс, проводка и расчет дифференциальных линий и т. п.) будут рассмотрены в следующих примерах, содержащих схемотехнические блоки, для которых данные операции существенно облегчают трассировку или просто необходимы.
Общая топология платы
Топология слоя Plane
На слое Plane нам следует сделать зоны запрета, во-первых, в области шины PCI, для исключения выхода слоя меди при механической обработке платы (требуется обработка под углом), во-вторых, в области соединителя. В последнем случае можно сделать и по-другому: разделить слой Plane на два участка, и тот, который находится под соединителем, привязать к корпусной «земле».
В первом случае можно обойтись правилами:
- сделать KeepOut на этом слое в данной части печатной платы;
- поместить прямоугольный полигон на этом слое. В данном примере мы сделаем именно так.
Для реализации указанного произведем следующие операции (рис. 19):
- Командой PlaceFill разместим в зоне ламелей шины PCI прямоугольник в слое Plane и присвоим значение Net = No Net. Рекомендуем также установить опцию Locked.
- Командой PlaceLine разместим от края до края на печатной плате вертикальную линию, которая и разделит слой на две части. Ширину линии следует установить больше допустимых зазоров между двумя новыми цепями. В нашем случае значение ширины равно 1 мм.
- Выделим часть слоя, которую мы отделили вертикальной линией (на рисунке отмечена более светлым тоном), и присвоим ей новое значение электрической связи — GndK.
Топология входных цепей E1
Здесь мы имеем 16 идентичных блоков входных цепей (рис. 6) и выходной соединитель (рис. 4, сноска 4). Методы получения топологии идентичных блоков подробно описаны в [1], и ничего нового мы применять не будем. Отметим только, что и в данном примере:
- Эта часть печатной платы трассируется с двусторонним расположением элементов.
- Идентичные блоки сгруппированы по четыре (два блока — на верхней стороне печатной платы, два — на нижней), так как применены 4-канальные трансиверы E1.
- Топология идентичных модулей получена копированием формата топологии одного из них на остальные.
- Трассировка топологии связей соединителя сделана в ручном режиме.
Топология трансиверов E1
Электрическая схема состоит из четырех идентичных блоков (рис. 5). Однако, во-первых, трансиверы должны располагаться вокруг (в данном примере — с двух сторон) контроллера шины PCI, во-вторых, они связаны с различными контактными площадками данного контроллера. Это существенно ограничивает преимущества переноса топологии идентичных блоков, но и в этом случае значительная часть работы может быть выполнена именно таким образом. Однако при минимальном количестве слоев основная задача при создании топологии — это ручная трассировка.
Общая топология платы
Напоследок приведем послойную топологию платы для четырех слоев, включая общую информацию о плате (рис. 20):
- Первый слой (верхняя сторона печатной платы). Размещены основные элементы, плотность топологических элементов — наибольшая.
- Второй слой. Слой Plane. Он предназначен только для общей «земли». Возле соединителя (изолированный сегмент) часть слоя отведена под «землю» корпуса.
- Третий слой. Виден полигон питания. Используется для трассировки только при невозможности использования внешних слоев.
- Четвертый слой (нижняя сторона печатной платы). Он предназначен для размещения фильтрующих конденсаторов, а также согласующих трансформаторов и других элементов согласования линий. Второй по предпочтительности слой для использования в топологии электрических связей.
- И, наконец, информация, по которой можно судить о плотности топологии.
Предложенный вариант назначения слоев ориентирован на прежние подходы к минимизации слоев и не может быть рекомендован для более сложных, многослойных проектов.
Литература
- Пранович В. Altium Designer 6 в примерах // Технологии в электронной промышленности. 2007. № 5–8.