Перейти к содержимому

Проверка проекта (DRC)

Время: ~40 мин

Цели урока

  • запускать проверку правил (DRC) и настраивать, какие правила проверяются
  • читать отчёт DRC и переходить от нарушения к месту на плате
  • понимать нарушения Clearance и Minimum Solder Mask Sliver и выбирать правильный способ исправления
  • создавать правило с областью действия (запросом) только для нужных объектов

Плата разведена — но правильно ли? DRC (Design Rule Check) проверяет всю плату на соответствие правилам: зазоры, ширины, отверстия, маску, неразведённые связи. Ни одну плату нельзя отправлять на производство без чистого DRC.

7.1Проект и схема.PrjPcb, .SchDoc7.2КомпонентыWorkspace7.3Рисуем схему.SchDoc, .BomDoc7.4ОграниченияConstraint Manager7.5Документ платы.PcbDoc7.6Разводка платыразмещение, дорожки7.7Проверка DRCотчёт DRC7.8Чертёж.PCBDwf7.9Выпуск.OutJob, релиз
Рис. 7.1. Девять шагов учебного проекта «Мультивибратор» — по одному уроку модуля 7 на шаг. Под названием шага — что в этот момент появляется в проекте.
  1. ToolsDesign Rule Check. Откроется диалог Design Rule Checker. В нём же настраивается и онлайн-проверка (во время рисования), и пакетная (по кнопке).
  2. Страница Report Options: включи Create Report File.
  3. Страница Rules to Check: правый клик в таблице → Batch DRC - Used On. Будут проверяться только правила, которые реально используются.
  4. Раскрой раздел Testpoint и сними галочки Batch у его четырёх правил: тестовых точек на учебной плате нет.
  5. Нажми кнопку запуска проверки внизу диалога.

После проверки откроется вкладка Design Rule Verification Report, а нарушения появятся в панели Messages.

  • Вверху отчёта — список проверенных правил и число нарушений по каждому. Щелчок по правилу ведёт к его нарушениям.
  • Ниже — каждое нарушение с объектами. Щелчок переводит к объекту на плате.
  • В Messages то же самое: двойной щелчок по строке — переход к месту.
  • На плате нарушающие объекты отмечены маркером (по умолчанию зелёные кружки с крестом). В подробностях указано фактическое значение и предел, например «0.017mm < 0.254mm».

По руководству ожидаются нарушения двух видов, не меньше чем по четыре штуки: Minimum Solder Mask Sliver и Clearance Constraint. Оба — из-за транзисторов в корпусе TO-92.

медь: 0,22 ммполоска маски ≈ 0,22 − 2·0,1016 ≈ 0,017 ммпаяльная маскаокно в маске(+0,1016 мм)
Рис. 7.4. Слева направо: медь площадок (оранжевая), окна в паяльной маске (пунктир) расширены на 0,1 мм. Медный зазор 0,22 мм меньше правила Clearance 0,25 мм, а между окнами маски остаётся полоска шириной около 0,017 мм — меньше минимальной Solder Mask Sliver. Масштаб условный.

Нарушение 1. Зазор между выводами транзистора

Заголовок раздела «Нарушение 1. Зазор между выводами транзистора»

Выводы TO-92 стоят плотно: зазор по меди между соседними площадками около 0,22 мм, а правило требует 0,25 мм.

Варианты исправления:

  1. уменьшить площадки транзистора — портит посадочное место и пайку;
  2. ослабить правило для всех — снижает требования ко всей плате;
  3. ослабить правило точечно — только для того, что реально мешает.

Руководство выбирает ослабить зазор именно для пары «площадка выводного компонента — площадка выводного компонента», потому что 0,22 мм всё ещё легко делается на производстве:

  1. Перейди на вкладку платы, DesignConstraint Manager.
  2. Вид Clearances, щёлкни ячейку All Nets / All Nets.
  3. В таблице внизу задай TH Pad – to – TH Pad = 0.22 и нажми Enter.
  4. FileSave to PCB.

Почему так. Правило с разными зазорами для разных типов объектов — нормальная практика: между выводами компонента производитель обычно справляется с меньшим зазором, чем мы заложили для дорожек. Если бы рядом были другие тесные выводные площадки, лучше было бы сделать отдельное правило только для транзисторов — так советует и руководство. Решение «0,22 мм — это нормально» опирается на нормы производителя (урок 5.5), а не на желание избавиться от красного маркера.

Окна в паяльной маске по умолчанию больше площадок на 0,1016 мм (4 mil) с каждой стороны — запас на неточность совмещения маски. Между соседними выводами TO-92 от маски остаётся полоска около 0,017 мм (рис. 7.4), а правило Minimum Solder Mask Sliver требует 0,254 мм. Такую полоску завод не напечатает: она либо отвалится, либо её уберут, и это нужно учесть в правилах.

Руководство делает два изменения сразу.

Уменьшить минимальную полоску:

  1. В Constraint Manager вид All Rules.
  2. В дереве Manufacturing → Solder Mask Sliver → правило MinimumSolderMaskSliver.
  3. Minimum Solder Mask Sliver = 0.22.

Убрать расширение маски только у транзисторов:

  1. В дереве Mask → Solder Mask Expansion. Существующее правило SolderMaskExpansion (0,1016 мм) не трогаем.
  2. Правый клик в свободной области таблицы → Add Custom Rule. Появится SolderMaskExpansion_1, переименуй его двойным щелчком в SolderMaskExpansion_Transistor.
  3. Рядом с Object Match нажми кнопку области действия → Open Query Builder.
  4. В Building Query from Board выбери Condition Type / Operator = Associated with Footprint, Condition Value = ONSC-TO-92-3-29-11 → OK. Запрос станет HasFootprint('ONSC-TO-92-3-29-11').
  5. Expansion top и Expansion bottom = 0.
  6. FileSave to PCB, закрой вкладку ограничений (правый клик → Close Multivibrator.PcbDoc [Constraints]) и сохрани плату.

Почему так. Без расширения окна маски совпадают с площадками, и между выводами транзистора остаётся полоска шириной во весь медный зазор — 0,22 мм, что уже проходит по новому правилу. Расширение убрано только у транзисторов: остальным площадкам запас маски нужен. Менять расширение для всей платы руководство отказывается — для недорогой двухслойной платы это рискованно.

Шаг 3. Повторная проверка и подготовка к выпуску

Заголовок раздела «Шаг 3. Повторная проверка и подготовка к выпуску»
  1. Снова ToolsDesign Rule Check, Create Report File включён, запуск.
  2. Отчёт должен быть без нарушений. Если что-то осталось — исправь и проверь снова.
  3. Удали отчёт из проекта: в Projects, раздел Generated\Documents, правый клик по отчёту → Remove from Project → удалить файл.
  4. Правый клик по любой вкладке → Close All Documents.
  5. Save to Server рядом с проектом, комментарий, например PCB design complete, → OK.

🧯 Типичные ошибки

Нарушения «исправили», отключив правило в DRC

Почему Проверка просто перестала смотреть на проблему, а сама проблема никуда не делась.

Как исправить Отключать можно только неприменимые правила (как Testpoint здесь). Остальное — исправлять или осознанно менять значение по нормам завода.

После Reset Error Markers плата «чистая», а DRC снова находит ошибки

Почему Reset Error Markers убирает только подсветку.

Как исправить Нарушения исправляются изменением платы или правил, затем повторный DRC.

Новое правило не действует

Почему Ошибка в запросе Object Match или у правила ниже приоритет, чем у общего.

Как исправить Проверь запрос (какие объекты подсвечиваются) и приоритет правила. Более узкое правило должно стоять выше.

Проверь себя

  1. 1. Что означает нарушение Minimum Solder Mask Sliver?
  2. 2. Зазор по меди 0,22 мм, расширение маски 0,1016 мм с каждой стороны. Какая получится полоска маски?
  3. 3. Почему расширение маски обнулили только у транзисторов, а не у всей платы?
  4. 4. Какой запрос получился для правила транзисторов?

Практическое задание~40 мин

  1. Запусти DRC, найди все нарушения и исправь их по уроку. Добейся пустого отчёта.
  2. Найди в технологических нормах любого производителя минимальную ширину перемычки маски (solder mask dam/bridge) и минимальный зазор между площадками. Достаточно ли наших значений 0,22 мм?
  3. Ради эксперимента сдвинь одну дорожку вплотную к чужой площадке, запусти DRC и посмотри, как выглядит нарушение Clearance. Верни как было.