Jump to content

    

Способы контроля перекрытия границ символов (футпринтов).

Recommended Posts

def_rain

Здравствуйте.

При расстановке на плате символов компонентов нужно контролировать их пересечение. Для этого на уровне создания символа, нужно указать некую область которая будет являться границей символа. Обычно эта область является полигоном (класса Package Geometry) при пересечении которого с другим полигоном тогоже класса/подкласса вызовет ошибку DRC.

 

Я вижу два способа как это организовать:

1. Полигон Place bound top/bot

 

Однако, Place bound top/bot отвечает за высоту и объемные, габаритные размеры детали, поэтому считаю делать этот полигон границей детали не логично, потому что граница компонента должна включать в себя как габаритные размеры детали, так и площадки. А площадки обычно (исключение BGA корпуса) выступают за габаритные размеры, допустим smd площадки длиннее/больше чем сам вывод компонента => в случае границы компонента по полигону Place bound получится что площадки не войдут в границу компонента (меня это не устраивает).

 

2. Полигон DFA bound top/bot

 

Использование этого полигона в качестве границы кажется более логичным. Даже название соответствует Design for assembly.

В итоге имеем полигон DFA внутри которого пины и корпус детали имеющий свой Place bound по размерам механического чертежа.

Далее настраивается DFA spreedsheet с расстояниями между полигонами DFA и получаем при расстановки контроль пересечения символов.

 

Однако, здесь тоже есть нюанс. Т.к. DFA контролирует не конкретно пересечение этих полигонов, а расстояние их сближения указанного в DFA spreedsheet.

К сожалению это мня тоже не устраивает т.к. нужно именно пересечение...

 

Скажите как Вы решаете вопрос пересечения символов?

Share this post


Link to post
Share on other sites

Package geometry -> Placebound top\bot всегда был и есть граница компонента, включая площадки и всё прочее. Это полигон, который на плоскости отвечает за ошибки пересечений, а в трехмерке определяет максимальный объем, занимаемый компонентом.

 

Это стандартный способ определения границ компонента.

 

Не путайте его с Package Geometry -> Assembly_Top, например. В этом слое обычно рисуется реальная физическая граница компонента.

Share this post


Link to post
Share on other sites

def_rain
Не путайте его с Package Geometry -> Assembly_Top, например. В этом слое обычно рисуется реальная физическая граница компонента.

 

Да, с assembly все понятно.

 

Package geometry -> Placebound top\bot всегда был и есть граница компонента, включая площадки и всё прочее. Это полигон, который на плоскости отвечает за ошибки пересечений, а в трехмерке определяет максимальный объем, занимаемый компонентом.

 

Соглашусь что Place bound должен включать в себя площадки и габариты корпуса, т.е. при пересечении двух символов будет DRC.

Но есть еще нюансы.

Я приведу выдержку из IPC:

post-88520-1492500108_thumb.png

На схеме есть три полигона о которых мы говорим:

1. Component/ Land Pattern (maximum boundary) - физические границы, включая площадки. В Allegro это Place bound top/bot, о котором мы говорили.

2. Courtyard boundary - технологические границы. Определяют плотность компоновки деталей на плате, Существует три уровня плотности A, В, С. В Allegro я думаю для этого слоя можно использовать это DFA bound top/bot.

3. Manufacture zone - Здесь точно не знаю зачем эта зона. Есть предположение что эта граница для расстановки при автоматическом монтаже, учитывает размеры манипулятора с присоской, который расставляет детали по плате и точность позиционирования.

 

Давайте обсудим подробнее.

 

Вот выдержка из книги "Mitzner_Kraig_Complete_pcb_design_using_orcad_capture_and_pcb_editor":

 

"Notice that the PCB Editor place boundary outline does not include the excess space at the ends of the body or around the leads.

For most of the PCB Editor footprints included with the software library, the courtyard excess is nonexistent."

Переведём:

"В PCB Editor-е граница полигона place boundary не включает избыточное пространство краёв корпуса или вокруг выводов. Для футпринтов превышение courtyard отсутствует."

 

Что это значит...

Полигон Place bound top/bot ограничивает деталь и площадки, т.е. физические границы один в один, без всяких отступов (см. на схеме полигон Component/Land Pattern (maximum boundary)).

Но отсутствует courtyard, т.е. технологические зазоры по плотности компонентов. Имеется в виду зазор/отступ от габаритных размеров корпуса и контактных площадок (см. на схеме полигон courtyard excess). Этот отступ расчитывается по IPC, допустим: 0.1мм-уровеньА, 0.2мм-уровеньВ, 0.3мм-уровеньС (Least, most, nominal)

Вот здесь я и задаю вопрос, каким полигоном обозначить этот courtyard?

Больше всего подходит DFA bound top/bot.

 

Но читаем дальше книгу Mitzner_Kraig-а:

"Also in PCB Editor’s Constraint Manager, there is no package spacing constraint that you can set. The DRC looks for violations only where place outlines cross.

So satisfying density level requirements requires that you either modify the footprint definitions or set the place grid conservatively and manually check each of the components individually using Tables 5-6 and 5-7 as guides."

Переведём:

В Constraint Manager отсутствует ограничение интервала между корпусами, которое вы можете установить. DRC ищет нарушения только там, где пересекаются контуры места (т.е. имеется в виду что DRC контролирует только пересечение Place bound top/bot).

Другими словами, автор говорит что пересечения технологических грани Courtyard boundary в CM не контролируются.

Но предлагает решение:

"So satisfying density level requirements requires that you either modify the footprint definitions or set the place grid conservatively and manually check each of the components individually using Tables 5-6 and 5-7 as guides."

Здесь смысл не совсем ясен и таблицы о которых речь не вносят ясность...

 

Поэтому я пришел к выводу что для контроля технологических границ courtyard использовать DFA и задавать ограничения в DFA spreedsheet. Но в итоге, как я писал в первом посту пересечение полигонов DFA не выдает ошибки, т.к. контролируется только их сближение, расстояние между ними.

Share this post


Link to post
Share on other sites

def_rain

Вот так я вижу символ максимально приближенный к IPC.

DFA дает общий зазор для символа, который определяет плотность компоновки на плате корпусов. В данном случае класса компоновки nominal: для него Courtyard to Body excess и Courtyard to Pad excess = 0.2 мм.

post-88520-1492511160_thumb.jpg

 

Share this post


Link to post
Share on other sites

post-20800-1492513340_thumb.png

 

post-20800-1492513350_thumb.png

 

Это CAPC2012x135.

Placebound как раз определяет плотность, A,B или C.

 

По вашей классификации:

1 - это Package geometry -> Assembly_Top.

2 - это Package geometry -> Place_Bound_Top.

3 - это DFA bound.

Share this post


Link to post
Share on other sites

def_rain
post-20800-1492513340_thumb.png

 

post-20800-1492513350_thumb.png

 

Это CAPC2012x135.

Placebound как раз определяет плотность, A,B или C.

 

По вашей классификации:

1 - это Package geometry -> Assembly_Top.

2 - это Package geometry -> Place_Bound_Top.

3 - это DFA bound.

 

Да, прихожу к выводу что в основном так и делается как Вы пишете. В итоге просто накладывать DFA и Place Bound друг на друга один в один.

Может быть и нет смысла выдумывать что то другое.

Смущает меня лишь то, что обёма на плате съедается при таком методе в несколько раз больше чем это может быть даже при максимальном сдвиге компонента с контактных площадок.

Посмотрите на фото, таким образом компонент ни при каких условиях при монтаже не сможет быть напаян. Но Place Bound при этом там есть, и он имеет высоту равную высоте детали. Это съедает полезное пространство платы но высоте. В некоторых случаях это может оказаться недостатком данного метода.

 

post-88520-1492518033_thumb.jpg

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.