Продвинутые методики проектирования с Altium Designer

Создано: 20 Апреля, 2020
Обновлено: 29 Октября, 2020

В этой статье мы узнаем, как использовать Altium Designer® для реализации дополнительных функций, которые по умолчанию недоступны. Мы откроем для себя мощный аспект Altium Designer, который, будучи освоенным, может поднять ваши навыки проектирования на новый уровень. В этой статье мы обсудим, как реализовать скрипт для выполнения верификации дизайна.

Мы узнаем:

  • Как создать правила для проверки некоторых требований к дизайну.
  • Проверить эти правила с помощью скрипта в Altium Designer 19.

Типичная проблема

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

В этом примере давайте посмотрим, как создать скрипт, который можно использовать в реальном проекте. Рассмотрим следующую проблему дизайна:

Нам нужно спроектировать плату высокоразрешающего АЦП, используя 16-битный АЦП. АЦП имеет входное сопротивление 1 кОм. «Каково максимальное сопротивление трассы между драйвером и АЦП для достижения ошибки ниже 1 LSB?» «Можем ли мы разработать скрипт, который поможет нам?»

Рисунок 1 проектирование дорожки высокоразрешающего АЦП

Чтобы ответить на этот вопрос, нам нужно рассчитать удельное сопротивление дорожки и проверить, превышает ли падение напряжения на дорожке 1 LSB.

Для расчета удельного сопротивления дорожки мы можем использовать следующую формулу:

.

Например:

Допустим, наша дорожка имеет следующие размеры: L = 10 см, h = 0.035 мм, w = 0.381 мм. Используя [1], и предполагая, что окружающая температура составляет 25 °C, сопротивление постоянному току дорожки составляет 129 мОм, это приведет к ошибке напряжения 0.013%, что значительно выше 1 LSB (0.0015%) 16-битного АЦП. Таким образом, указанная выше дорожка даст нам ошибку смещения почти в 9 LSB!

Можно ли попросить Altium Designer выполнить все вышеуказанные проверки за нас? Возможно, в реальном времени?

Ответ, очевидно, да.

Давайте разработаем скрипт, который даст нам эту информацию.

Мы хотим иметь возможность щелкнуть по дорожке, и мы хотим, чтобы Altium Designer выполнил для нас некоторые проверки, такие как расчет сопротивления дорожки, расчет падения напряжения и т.д.

Рисунок 2 пример информации из нашего демонстрационного скрипта

Как разработать скрипт в Altium Designer

Altium Designer поддерживает скрипты на нескольких языках, и за время моей карьеры я использовал множество языков, но одним из первых языков, которые я использовал в профессиональной деятельности, был Delphi, поэтому я решил написать этот скрипт на Pascal. Однако вы можете использовать и другие языки скриптов, такие как Visual Basic, если предпочитаете.

Давайте посмотрим, как разработать скрипт в Altium Designer, который решает вышеуказанную проблему.

В нашем скрипте мы хотим:

  1. Загрузить нашу печатную плату
  2. Загрузить все слои стека (чтобы получить информацию, такую как ширина и высота дорожек и т.д.)
  3. Загрузить дорожку, которую пользователь выбрал мышью
  4. Рассчитать сопротивление, используя формулу [1]
  5. Отобразить ошибку дорожки и ошибку АЦП

Как реализовать скрипт в Altium Designer

1.    ЗАГРУЗИТЬ НАШУ ПЕЧАТНУЮ ПЛАТУ

Первой инструкцией, которую мы хотим выполнить, является загрузка нашего проекта печатной платы и сохранение его в переменной под названием Board. Мы можем сделать это с помощью следующей инструкции:

.

2.    ЗАГРУЗИТЬ СТЕК СЛОЕВ

После загрузки платы мы хотим загрузить стек слоев и сохранить его в переменной под названием Stackup:3. ЗАГРУЗИТЕ ТРАССИРОВКУ, ВЫБРАННУЮ ПОЛЬЗОВАТЕЛЕМ С ПОМОЩЬЮ МЫШИ

Теперь мы можем использовать метод GetObjectAtCursor(), чтобы получить выбранную трассировку и сохранить её в переменной под названием Trace.

.

4. РАСЧЕТ СОПРОТИВЛЕНИЯ ТРАССИРОВКИ ПО ФОРМУЛЕ [1]

Как только пользователь выбирает трассировку с помощью мыши, мы хотим рассчитать ширину, длину и высоту трассировки и сохранить эти значения в трех переменных: TraceThickness, TraceWidth и TraceLength:

 

 

.

Наконец, мы можем рассчитать сопротивление трассировки Res, используя формулу [1], рассчитать падение напряжения (предполагая, что у АЦП есть Vref равный 1В).

.

5. ОТОБРАЖЕНИЕ ОШИБКИ ТРАССИРОВКИ И ОШИБКИ АЦП

После всех расчетов мы можем отобразить результаты на экране. Простой способ сделать это - использовать окна MessageDlg().

OutputString := 'Толщина дорожки = ' + FloatToStrF(TraceThickness,0,5,4) + ' мм' + #13#10;

OutputString := OutputString + 'Ширина дорожки = ' + FloatToStrF(TraceWidth,0,5,4) + ' мм' + #13#10;

OutputString := OutputString + 'Длина дорожки = ' + FloatToStrF(TraceLength,0,5,4) + ' мм' + #13#10#13#10#13#10;

OutputString := OutputString + 'Сопротивление дорожки = ' + FloatToStrF(Res,0,5,4) + ' мОм' + #13#10;

OutputString := OutputString + 'Падение напряжения на дорожке = ' + FloatToStrF(VoltageDrop,0,2,2) + ' %' + #13#10;

OutputString := OutputString + 'LSB АЦП = ' + FloatToStrF(ADCLSB,0,2,2) + ' %';

MessageDlg(OutputString,mtInformation,4,0);

 

Как запустить скрипт

Чтобы протестировать скрипт, в вашем документе PCB нажмите на Файл->ЗапуститьСкрипт…

Затем выберите ваш скрипт:

Теперь вы должны увидеть большой крест:

Нажмите на дорожку, которую хотите проанализировать.

Теперь вы должны увидеть окно сообщений с расчетами:

Возможно расширение этого скрипта и добавление более сложной проверки, например, продление трасс до арки и добавление эффекта температуры и т.д. Я оставлю это вам в качестве упражнения.

Что мы узнали?

Мы видели, что Altium Designer, будучи освоенным, может выполнять за нас сложные действия. В этом примере мы видели, как можно измерить импеданс постоянного тока трассы одним кликом и как оценить ошибку напряжения в дизайне АЦП высокого разрешения.

Этот демонстрационный скрипт имеет много ограничений, но может быть использован в качестве основы для ваших собственных расширений Altium Designer.

Есть еще вопросы? Звоните эксперту из Altium или узнайте больше о лучших функциях программного обеспечения для проектирования печатных плат и калькуляторе импеданса трасс в Altium Designer.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.