Оглавление
На прошлом занятии мы выполняли поиск неразведенных цепей с помощью пакетной проверки правил проектирования (DRC). В общем случае такая проверка является важным этапом проектирования и служит для верификации платы. Рассмотрим ее подробнее.
Вернемся к нашему изначальному, разведенному вручную проекту Multivibrator.PrjPcb и откроем файл Multivibrator.PcbDoc. Сначала принудительно введем в проект нарушение, которое затем обнаружим.
1. Выполним двойной щелчок левой кнопкой мыши на одном из проводников, подходящих к выводам транзистора VT1. Откроется окно редактирования параметров линии Track (рис. 1).
2. Изменим ширину проводника, для чего в поле Width введем значение 1mm.
3. Нажмем кнопку OK.
Ширина проводника изменится, а функция автоматической проверки правил проектирования сразу выявит связанные с этим нарушения и подсветит конфликтующие объекты (рис. 2). Обратите внимание, что редактирование проводника мы выполняли, как изменение параметров обычного объекта. Если бы мы пользовались функцией интерактивной трассировки, то система отследила бы нарушение и не позволила выполнить некорректную операцию. В данном случае проводник воспринимался как обычная линия, поэтому изменение было выполнено.
Так как редактор печатных плат поддерживает очень широкий набор правил проектирования, нарушение некоторых из которых не может быть выявлено в ходе автоматической (on-line) проверки DRC, по завершению разводки платы рекомендуется выполнить пакетную (batch) проверку DRC.
4. Выполним команду меню Tools | Design Rule Check. На экране появится диалоговое окно Design Rule Checker, знакомое нам по предыдущему занятию.
5. Первым откроется набор настроек отчета о проверке DRC (рис. 3). Включим все имеющиеся здесь опции и оставим ограничение на число выявленных нарушений равным 500.
6. Далее проверим, какие из правил проектирования включены в проверку, для чего последовательно щелкнем левой кнопкой мыши по каждой из приведенных в списке справа категорий правил проектирования.
Отметим, что здесь приведены восемь из десяти используемых редактором категорий правил проектирования. Правила Mask и Plane учитываются непосредственно при прорисовке соответствующих объектов, поэтому нет смысла выполнять их проверку.
7. Убедимся, что в ходе пакетной проверки будут учитываться все правила категорий Electrical и Routing. Напротив каждого из этих правил в столбце Batch должна быть включена "галочка".
8. Нажмем кнопку Run Design Rule Check.
На экране откроется отчет, содержащий описание выполненных проверок, в котором будет содержаться два сообщения о выявленных нарушениях:
Violation Track (18mm,37mm)(19.46mm,28mm) Top Layer Actual Width = 1mm
Rule Violations :1
Processing Rule : Clearance Constraint (Gap=0.2mm) (All),(All)
Violation between Pad VT1-1(19.27mm,37mm) Multi-Layer and
Track (18mm,37mm)(19.46mm,28mm) Top Layer
Rule Violations :1
Первая запись сообщает, что выявлен проводник на верхнем слое, ширина которого равна 1 мм в то время, как правило Width Constraint задает ширину равную 0.3048 мм. Вторая запись сообщает, что нарушено правило контроля зазора между проводниками разных цепей Clearance Constraint, что очень хорошо видно на рисунке 2.
9. Щелчком левой кнопки мыши на вкладке PCB перейдем на панель управления редактором печатных плат.
10. В выпадающем списке в верхней части панель укажем тип просматриваемых объектов Rules. В нижней части панели под списком заданных правил будут приведены два описанных выше нарушения.
11. Выполним двойной щелчок левой кнопкой мыши на нарушении Track/Pad. На экране появится окно Violation Details, показанное на рисунке 4, которое сигнализирует о том, что зазор оказался меньшим 0.2 мм. Но нас интересует точное расстояние между объектами.
12. Нажмем на кнопку Jump, после чего редактор переключится в режим оптимального отображения конфликтующих объектов.
13. Закроем окно нажатием кнопки OK.
14. Выполним команду меню Reports | Measure Primitives (горячие клавиши R, P). Указатель приобретет вид крестика, а в строке состояния появится подсказка Choose First Primitive (выберите первый объект).
15. Наведем указатель мыши на подсвеченный зеленым цветом конфликтный проводник и выполним на нем щелчок левой кнопкой мыши.
16. Наведем указатель мыши на второй конфликтный объект - контактную площадку вывода транзистора VT1 - и выполним на ней щелчок левой кнопкой мыши.
На экране появится окно Design Explorer Information с сообщением, что расстояние между указанными линией и контактной площадкой равно 0.1735 мм (рис. 5). Далее разработчик должен сам решать, устраивает ли его такой зазор или нет. Если зазор достаточен, то следует изменить имеющееся правило проектирования или создать новое, относящееся только к данным объектам, с меньшим значением допустимого расстояния. Если нет, то следует уменьшить ширину проводника. В нашем случае лучше вернуться к начальному значению ширины.
17. Закроем окно нажатием кнопки OK.
18. Выполним несколько раз команду Edit | Undo (горячие клавиши CTRL+Z), пока проект платы не вернется в изначальное состояние.
Мы рассмотрели одно из простейших нарушений, но этого достаточно, чтобы понять, как работает система проверки правил проектирования DRC. В ходе работы над сложными проектами разработчику придется выявлять и исправлять сотни подобных нарушений, но есть один момент, на который следует обратить особое внимание.
Система Protel DXP имеет модуль анализа целостности сигналов, позволяющий оценить искажения сигналов, а также взаимные наводки в проводниках разработанной платы. Аналогичные модули имеются почти во всех системах проектирования печатных плат, но в системе Protel DXP он интегрирован непосредственно в редактор плат и позволяет выполнять первичный анализ на уровне DRC. Критерии оценки качества сигналов задаются специальными правилами проектирования из категории Signal Integrity. При пакетной проверке запускается система моделирования сигналов в проводниках платы и, если паразитный сигнал превышает определенный уровень, генерируется и заносится в отчет информация о нарушении. В дальнейшем выявленное нарушение служит подсказкой при более подробном анализе электромагнитной совместимости.
Отметим, что вопрос анализа целостности сигналов достаточно сложен, поэтому позднее мы посвятим ему отдельное занятие.
Генерация отчетов
Система Protel DXP предоставляет пользователю широкий набор средств генерации различных отчетов, от обычных сообщений, содержащих статистическую информацию, до сложных таблиц и перечней используемых материалов (BOM, Bill of Material). Кроме того, в сложных проектах, содержащих несколько PCB документов, отчеты могут быть сформированы как для отдельных плат, так и для проекта целиком.
Посмотрим статистику нашего проекта печатной платы.
1. Выполним команду меню Reports | Board Information.
На экране появится диалоговое окно PCB Information с кратким отчетом количестве объектов на плате (рис. 6). На вкладке General приводится общая информация, например, габариты платы по контуру Keep-Out, число графических примитивов, контактных площадок, переходных отверстий и нарушений. На вкладках Components и Nets приведены списки компонентов и цепей соответственно.
2. Нажмем кнопку Report, расположенную в нижней части окна. Откроется окно Board Report (рис. 7) со списком настроек генератора статистического отчета.
3. Нажатием кнопки All On включим все приведенные здесь опции.
4. Нажмем кнопку Report. На экране откроется только что сгенерированный отчет Multivibrator.REP, открытый в системе Protel как свободный документ. При необходимости его можно добавить в проект. Формат отчета прост и понятен, а потому не требует дополнительных комментариев.
Далее выполним генерацию простого перечня используемых материалов BOM, для чего вернемся в редактор печатных плат.
1. Выполним команду меню Reports | Simple BOM.
В проект будет автоматически добавлена категория файлов Generated Text Files, в которой будут присутствовать два файла: Multivibrator.BOM и Multivibrator.CSV. На диске же эти файлы будут храниться в специальной папке Project Outputs for Multivibrator. Имя этой папки задается в поле Output Path, расположенном на вкладке Options диалогового окна Options for Project, вызываемом командой меню Project | Project Options.
Файл Multivibrator.BOM будет содержать список компонентов удобном для чтения формате:
В файле Multivibrator.CSV будет содержаться та же информация, но в удобном для дальнейшей компьютерной обработки с помощью редакторов электронных таблиц формате с разделителями (Comma Separated Values):
Однако, в ряде случаев такой простой формы отчета об используемых материалах может быть недостаточно. Более сложные отчеты строятся с помощью специального модуля.
1. Находясь в редакторе печатных плат, выполним команду меню Reports | Bill of Materials.
Откроется диалоговое окно Bill of Materials for PCB, показанное на рисунке 8.
Здесь слева внизу приведен полный список атрибутов, которые могут быть включены в отчет. Все атрибуты, у которых включена опция Show, отображаются в правой части окна в виде таблицы. В заголовке каждого столбца имеется выпадающий список, позволяющий вводить фильтрацию данных.
2. Щелкнем на значке выпадающего списка, расположенного заголовке столбца Description и выберем строку Resistor. В таблице останутся записи только о резисторах.
3. Щелкнем левой кнопкой мыши на заголовке столбца Designator. Все резисторы будут отсортированы по позиционному обозначению. Повторный щелчок меняет направление сортировки.
4. Добавим столбец, содержащий номиналы резисторов, для чего в списке Other Columns поставим "галочку" напротив атрибута Comment.
5. Щелкнем на значке выпадающего списка, расположенного заголовке столбца Comment и выберем строку 100k. В таблице останутся записи только о резисторах c номиналом 100 кОм.
6. Выключим фильтрацию таблицы, для чего во всех фильтрах выберем строку All. Столбцы с включенным фильтром можно отличить от других по синему цвету значка выпадающего списка.
Воспользуемся возможностью группировки данных по значениям.
7. Щелкнем левой кнопкой мыши на атрибуте, например, Footprint в списке Other Columns и, удерживая ее нажатой, перетащим его в список Grouped Columns. Вид таблицы в правой части изменится (рис. 9). Все компоненты окажутся сгруппированными по имени топологического посадочного места, а в столбце Designator будут показаны списки позиционных обозначений компонентов с одинаковым значением атрибута Footprint.
8. Сформируем отчет в удобной для печати форме, для чего нажмем кнопку Report в нижней части окна. Появится окно предварительного просмотра распечатки отчета Report Preview (рис. 10).
Если нам нужна распечатка отчета, нажмем кнопку Print, расположенную в нижней части этого окна. Появится стандартное для системы Windows окно выбора и настройки принтера, в котором следует сделать все необходимые установки и нажать кнопку OK. Но чаще всего требуется сформировать список BOM в виде файла в одном из популярных форматов, например, Rich Text Format или Adobe PDF.
9. Нажмем кнопку Export, после чего на экране появится окно задания имени файла, в котором в поле Тип Файла из списка следует выбрать нужный формат.
10. Выберем в списке строку Rich Text Format (RTF) (*.rtf) и нажмем кнопку OK.
В указанной на диске будет создан файл Multivibrator.RTF, который можно открыть и отредактировать с помощью программы Microsoft Word.
11. Закроем окно Report Preview нажатием кнопки Close и вернемся в редактор отчетов Bill of Materials for PCB.
Здесь также имеется функция экспорта, ориентированная прежде всего на редактор электронных таблиц Microsoft Excel.
12. Включим опцию Open Exported.
13. Нажмем кнопку Excel. На диске компьютера в папке Project Outputs for Multivibrator будет создан файл Multivibrator.xls, который автоматически откроется с помощью приложения Microsoft Excel.
14. Вернемся и систему Protel DXP и закром редактор отчетов нажатием кнопки OK.
15. Выполним команду меню Reports | Netlist Status, чтобы получить еще один отчет для данной платы - отчет о длинах цепей. В среде Design Explorer откроется свободный документ Multivibrator.REP, содержащий информацию о расположении и длинах всех цепей платы.
Все перечисленные отчеты относились только к данной плате. Напомним, что проекты в системе Protel DXP могут быть очень сложными и содержать несколько печатных плат. Для таких проектов можно сформировать четыре типа отчетов, а соответствующие команды находятся в разделе меню Reports | Projects Reports. Помимо описанных выше Simple BOM и Bill of Materials здесь можно получить отчет об иерархической структуре проекта (Report Project Hierarchy) и файл перекрестных ссылок (Component Cross Reference).
Формирование листа чертежа печатной платы
Для получения полноценного чертежа печатной платы к нему надо добавить стандартную форматку подходящего размера. Ее можно просто нарисовать, однако, как правило, у разработчиков всегда имеются в наличии какие-либо чертежи в формате DWG или DXF, подготовленные в системе AutoCAD, поэтому форматку можно взять оттуда. Выполним импорт DWG файла.
1. С помощью команды меню File | New | PCB создадим новый PCB документ с настройками по умолчанию. Размеры платы и другие настройки нас сейчас не интересуют.
2. Находясь в редакторе печатных плат, выполним команду меню File | Import. Откроется окно выбора импортируемого файла.
3. В выпадающем списке Тип Файла выберем строку AutoCAD (*.DXF; *.DWG), выберем нужный файл и нажмем кнопку Открыть. На экране появится диалоговое окно Import from AutoCAD (рис. 11).
Сначала настроим таблицу импорта слоев (маппинг). В импортируемом чертеже рисунок форматки находится на слое MECHANICAL1, и нам надо, чтобы его содержимое было загружено на слой Mechanical Layer 1 заготовки печатной платы. Содержимое остальных слоев можно игнорировать.
4. Выполним щелчок левой кнопкой мыши на названии слоя, на который система Protel автоматически предлагает импортировать содержимое слоя MECHANICAL1.
5. В появившемся выпадающем списке выберем строку Mechanical Layer 1.
6. Выполним аналогичные действия для других слоев, только в выпадающем списке будем выбирать строку Not imported.
7. Если импортируемый чертеж был нарисован в метрической системе единиц, в поле Unit включим опцию Metric. О правильном выборе единиц измерения будет сигналить сообщение в нижней части окна "Status: No scaling required, documents fits PCB work area" (масштабирование не требуется).
8. Нажмем кнопку OK. Содержимое DXF файла будет загружено в проект печатной платы.
9. С помощью мыши выделим в окне охвата ненужные объекты чертежа и нажмем клавишу Delete.
10. Когда на чертеже останется только рамка, выделим все объекты нажатием комбинации клавиш CTRL+A.
11. С помощью команды меню Edit | Copy (горячие клавиши CTRL+C) скопируем выделенные объекты в буфер обмена.
12. После того, как указатель мыши примет вид крестика, выберем точку захвата выделения.
13. Перейдем на нашу плату мультивибратора.
14. Выполним команду меню Edit | Paste (горячие клавиши CTRL+V) вставим в проект содержимое буфера обмена.
15. Форматка окажется приклеенной к указателю мыши. Сдвинем его в нужное место и выполним один щелчок левой кнопкой мыши. Рамка с основной надписью будет вставлена в чертеж, но при первом же изменении масштаба она исчезнет. Это объясняется тем, что она была вставлена на выключенный слой Mechanical Layer 1.
16. Нажатием клавиши L вызовем окно Board Layers and Colors и включим "галочки" в столбцах Show и Linked to Sheet напротив слоя Mechanical Layer 1. Опция Linked to Sheet означает, что содержимое данного слоя будет ассоциироваться с графическим оформлением чертежа и предотвращает случайное его изменение при работе с платой.
17. Закроем окно Board Layers and Colors нажатием кнопки OK. Рамка отобразится в поле редактора печатных плат.
18. Выполним команду меню Design | Board Options и в появившемся окне Board Options включим опцию Display Sheet, расположенную в поле Sheet Position, чем включим режим отображения листа чертежа платы. Вокруг рисунка платы появится белое поле, имитирующее лист бумаги.
19. Выполним команду меню Design | Board Shape | Auto-Position Sheet. Белое поле примет форму контура рамки.
20. Изменим масштаб просмотра чертежа нажатием горячих клавиш V, D.
21. Переместим чертеж платы в центр рамки или в любое другое подходящее место. Для этого с помощью мыши выделим в окне охвата всю плату, наведем указатель мыши на любой из выделенных объектов, щелкнем левой кнопкой мыши и, удерживая ее, переместим плату в новое место (рис. 12).
22. Сохраним документ нажатием комбинации клавиш CTRL+S.
При импорте форматки из DXF файла иногда могут возникнуть проблемы с перекодировкой текстовых надписей, в этом случае их проще сделать заново. Для того, чтобы надписи на русском языке отображались в редакторе печатных плат правильно, необходимо установить в систему Protel DXP специальные векторные шрифты, которые можно скачать здесь. Заготовки стандартных форматок чертежей по ГОСТ можно найти здесь.
Простановка размеров
Прежде чем выводить чертеж на печать, проставим габаритные размеры платы.
1. Изменим масштаб просмотра чертежа нажатием горячих клавиш V, F. Чертеж займет все окно редактора печатных плат.
2. Вращением ролика мыши сдвинем чертеж чуть вверх. В обычном режиме вращение ролика сдвигает изображение вверх/вниз. При нажатой клавише SHIFT изображение сдвигается влево/вправо, а при нажатой клавише CTRL - масштабируется ближе/дальше. Если на вашей мыши нет ролика, для сдвига изображения можно воспользоваться клавишами стрелок, а для масштабирования клавишами PageUp и PageDown.
3. Нажатием клавиши L вызовем окно Board Layers and Colors и включим "галочку" в столбце Show напротив слоя Mechanical Layer 2, на котором мы будем проставлять размеры. Закроем окно.
Прежде чем проставить линейный размер, изменим его параметры по умолчанию. Эту процедуру можно выполнить для любого объекта редактора печатных плат и избавиться от необходимости его последующего редактирования.
4. Выполним команду меню Tools | Preferences. Откроется диалоговое окно Preferences.
5. Щелкнем левой кнопкой мыши по вкладке Defaults.
6. Выполним щелчок левой кнопкой мыши на значке +, расположенном слева от строки Dimension в списке Primitive Type.
7. Выполним двойной щелчок левой кнопкой мыши на строке Linear Dimension (рис. 13).
Откроется окно редактирования параметров обозначения линейного размера Linear Dimension (рис. 14). Большинство настроек здесь очевидны и не требуют пояснения.
8. В полях Extension Width и Line Width зададим толщину линий размера 0.1mm.
9. В поле Text Position выберем опцию Manual (позднее мы покажем для чего).
10. В поле Unit выберем опцию Millimeters.
При желании можно изменить и другие настройки. Поля Prefix и Suffix оставим пустыми. Пример текста размера будет приведен в поле Sample.
11. Сохраним сделанные изменения нажатием кнопки OK.
12. Закроем окно Preferences нажатием кнопки OK.
Начнем простановку горизонтального размера платы. Для этого в редакторе имеется специальная панель инструментов, которую можно включить командой меню View | Toolbars | Dimensions.
13. Перейдем на слой Mechanical Layer 2 щелчком левой кнопки мыши на соответствующей закладке в нижней части окна редактора плат.
14. Выполним команду меню Place | Dimension | Linear Dimension (горячие клавиши P, D, L) или нажмем соответствующую кнопку на панели инструментов Dimension. К указателю мыши окажется приклеенным обозначение нулевого размера.
15. Наведем указатель мыши на левый нижний угол платы и щелкнем левой кнопкой мыши, чем зададим первую точку размера (рис. 15a).
16. Наведем указатель мыши на правый нижний угол платы и щелкнем левой кнопкой мыши, чем зададим вторую точку размера (рис. 15b).
17. Сдвинем мышь немного вниз и щелкнем левой кнопкой мыши, чем зададим вертикальное положение обозначения размера (рис. 15c). Система автоматически завершит его прорисовку и предложит начать рисовать ледующее (рис. 15d).
18. Нажатием правой кнопки мыши или клавиши Esc выйдем из режима рисования размеров.
19. Размер будет выделенным и поэтому плохо заметным на белом фоне листа. Снимем выделение щелчком левой кнопки мыши в любом пустом месте чертежа платы.
Обратите внимание, что текст размера получился вписанным в разрыв между линиями размера, что недопустимо по российским стандартам. Исправим положение надписи.
20. Наведем указатель мыши на текст размера. Нажмем и будем удерживать левую кнопку мыши на нем.
Текст размера приклеится к указателю мыши, как в режиме перемещения обычных текстовых надписей (рис. 15e). Отметим, что это будет возможным только в случае, если опция Text Position задана как Manual, что мы сделали ранее.
21. Переместим текст размера немного вверх, расположив его над линией, и отпустим левую кнопку мыши. Ранее разорванная линия автоматически замкнется (рис. 15f). Заметим, что Protel DXP единственная зарубежная система проектирования печатных плат, где возможны подобные манипуляции над размерами.
Проставим вертикальный размер платы.
22. Изменим масштаб обзора платы так, чтобы было удобно проставлять вертикальный размер слева от платы.
22. Выполним команду меню Place | Dimension | Linear Dimension (горячие клавиши P, D, L) или нажмем соответствующую кнопку на панели инструментов Dimension. К указателю мыши окажется приклеенным обозначение нулевого размера в горизонтальной ориентации.
23. Наведем указатель мыши на правый нижний угол платы и щелкнем левой кнопкой мыши, чем зададим первую точку вертикального размера.
24. Нажмем клавишу Spacebar, чем изменим ориентацию размера на вертикальную. На самом деле будет выполнен поворот размера на заданный в окне Preferences шаг поворота Rotation Step.
25. Наведем указатель мыши на правый верхний угол платы и щелкнем левой кнопкой мыши, чем зададим вторую точку вертикального размера (рис. 15b).
17. Сдвинем мышь немного вправо и щелкнем левой кнопкой мыши.
18. Выйдем из режима рисования размеров.
19. Описанным выше способом изменим положение текстовой надписи.
Иногда может возникнуть необходимость изменить положение обозначения размера. Для этого необходимо выполнить щелчок левой кнопкой мыши на любом объекте размера и переместить появившиеся в основных точках маркеры-манипуляторы в нужное место, после чего снять выделение.
Помимо описанных выше линейных размеров в редакторе печатных плат можно проставить размер диаметра, радиуса, линейные размеры от опорной точки, координатные метки, угловые размеры. Все размеры являются объектно-связанными, что означает, что при изменении, например, диаметра окружности обозначение ее диаметра будет меняться автоматически.
Пожалуй, последнее, что нам следует сделать перед выводом чертежа на печать, это нарисовать контур платы. Черное поле, которое мы до сих пор видели в редакторе плат, называется Board Shape (форма платы) и является некоторой абстракцией, которая не может быть выведена на печать, так как не содержит ни каких объектов, прорисованных на одном из слоев. Мы создавали заготовку платы с помощью специального мастера, но в большинстве реальных случаев контур платы импортируется в редактор из механических САПР, например, через DXF формат. Потом форма платы Board Shape формируется по набору выделенных объектов этого контура с помощью команды меню Design | Board Shape | Define from selected objects.
В нашем случае сделаем обратную процедуру: на одном из механических слоев платы нарисуем контур из линий по имеющейся форме платы.
1. Нажатием клавиши L вызовем окно Board Layers and Colors и включим "галочку" в столбце Show напротив слоя Mechanical Layer 3, на котором мы будем рисовать контур платы. Закроем окно.
2. Перейдем на слой Mechanical Layer 3 щелчком левой кнопки мыши на соответствующей закладке в нижней части окна редактора плат.
3. Выполним команду меню Place | Line и войдем в режим рисовании линий (именно линий, а не проводников, так как все, что рисуется на механических слоях, является всего лишь графическими примитивами).
4. Наведем указатель на левый нижний угол черного поля формы платы и выполним щелчок левой кнопкой мыши.
5. Последовательным нажатием комбинации клавиш SHIFT+Spacebar включим режим рисования линий под произвольным углом.
6. Переместим указатель мыши в левый верхний угол платы и щелчком левой кнопки мыши завершим рисование первого сегмента контура.
7. Аналогичным образом последовательно нарисуем все остальные сегменты замкнутого контура платы.
8. Нажатием правой кнопки мыши или клавиши Esc выйдем из режима рисования.
9. Нажатием комбинации клавиш CTRL+S сохраним сделанные изменения.
Теперь мы полностью готовы к распечатке чертежа платы, а также к генерации управляющих файлов для производства: Gerber файлов для фотошаблона, NC Drill файла для сверления отверстий, Pick-and-Place файлов для оборудования размещения компонентов и Testpoint файла для автоматизированного электроконтроля. Всем этим мы займемся на следующем занятии.