# Руководство по транзистору - символу gschem и pcb-элементу

Вопрос состоит в том, как при работе с библиотекой символов транзисторов для gschem и библиотекой элементов транзисторов для pcb ухитриться сделать так, чтобы мы могли быть уверены в правильности соответствия друг другу номеров выводов в этих библиотеках. Нам нужно условиться, как обращаться с различными перестановками выводов эмиттера, базы и коллектора (e,b,c) и разными вариантами количества и нумерации выводов корпусов. В настоящем документе представлен подход, используемый мной для моих собственных символов gschem и элементов pcb.

## Символы gschem

Есть пара достойных внимания решений:

1. Иметь базовый набор символов транзисторов для gschem, таких как `npn.sym`, `pnp.sym`, `fet.sym` и т. д., имеющих фиксированные и назначенные произвольно номера выводов для эмиттера, базы и коллектора. Для получения различных вариантов соответствия (e,b,c) номерам выводов для разных корпусов транзисторов, нужно бы иметь набор pcb-элементов для каждого из корпусов, например, `TO-92-123`, `TO-92-132`, `TO-92-213`, `TO-92-231`, `TO-92-312`, `TO-92-321`, и таким же образом для `TO-220`, `TO-5` и других. Проблема здесь в том, что номера выводов определяются производителями и нам пришлось бы сделать множество элементов с такой нумерацией, которая на самом деле ни для каких приборов не используется. Помните, что pcb-элементы на топологической схеме в pcb должны соответствовать физическим электронным компонентам.
2. Иметь базовый набор символов транзисторов для gschem, охватывающий все возможные варианты перестановок (e,b,c), которые могут существовать для любого из данных корпусов транзисторов. Набор символов npn-транзисторов для gschem мог бы содержать `npn-ebc.sym`, `npn-ecb.sym`, `npn-bec.sym`, `npn-bce.sym`, `npn-ceb.sym` и `npn-cbe.sym`. Подобные наборы могли бы существовать и для pnp-транзисторов, и для полевых (`fet-sdg.sym`, `fet-sgd.sym`, …). В этом случае можно иметь pcb-элементы только для действительно существующих корпусов транзисторов.

Следует отметить, что второй подход очевидно лучше. Настройка символов gschem достаточно проста, надо просто создать шесть символов для каждого типа транзистора, в которых номера выводов эмиттера, базы и коллектора соответствуют их последовательности в названии символа. Например, для символа `npn-ebc.sym` атрибут `pinnumber` эмиттера имел бы значение 1, `pinnumber` базы — 2, а `pinnumber` коллектора — 3. Теперь нужно только создать для корпусов транзисторов pcb-элементы с правильно пронумерованными выводами, когда они вам понадобятся, и нужна методика именования этих элементов.

## pcb-элементы

Что следует иметь в виду при рассмотрении номеров и конфигурации выводов корпуса транзистора, так это то, что обозначение TO (“Transistor Outline” — эскиз транзистора) — это на самом деле как раз и есть просто обозначение эскиза корпуса особой формы и размеров. Это отнюдь не спецификация выводов для этого корпуса. Производители могут специфицировать обозначения корпусов TO своими внутренними кодами “типоразмеров” или “номеров корпусов”. В таких спецификациях устанавливается определение количества выводов, их расположение и нумерация.

Тем не менее большая часть корпусов TO соответствует стандартному соглашению по нумерации выводов и имеет общепринятое количество и расположение выводов. Поэтому есть смысл иметь у себя pcb-элементы для конкретных названий TO, которые могут использоваться в большинстве случаев. А если вдруг встретится исключение из правила, то для такого случая можно сделать и новый pcb-элемент.

Здесь приводится описание тех конфигураций корпусов транзисторов, что представляются наиболее общими:

- Силовые транзисторы в пластмассовом корпусе: Посмотрите на лицевую сторону корпуса (где находится надпись), при этом выводы должны быть снизу. Выводы нумеруются слева направо (1,2,3). Это наиболее общий способ нумерации, поэтому есть смысл сделать исходные наборы трёхвыводных pcb-элементов с таким порядком выводов с базовыми названиями, такими как `TO-126`, `TO-220`, `TO-264` и т. д. Для таких вариантов, как пятивыводной корпус `TO-220` для LM383, можно сделать pcb-элемент, назвав его, например, `TO-220-5`, или может быть `TO-220-T05B`, если вам хочется назвать его в соответствии с принятым фирмой National Semiconductor обозначением корпуса T05B для их пятивыводных корпусов TO-220.
- Силовые транзисторы в металлическом корпусе: это может быть корпус TO-3, который может иметь 2 и более выводов. На корпусе нет индексного ключа, поэтому, чтобы узнать нумерацию выводов, нужно посмотреть чертёж корпуса. Общий двухвыводной корпус можно назвать `TO-3`, а N-выводные корпуса с N > 2 можно называть `TO-3-N`.
- Малосигнальные транзисторы в металлическом корпусе: Посмотрите на транзистор снизу, чтобы выводы глядели на вас. Выводы нумеруются по часовой стрелке начиная от ключа в порядке (1,2,3,…). Металлические корпуса, такие как TO-18, TO-39 или TO-72 часто имеют 3 или 4 вывода, в то время как TO-5 может иметь 3, 4, 5, 6, 8 или 10 выводов. Из-за переменного количества выводов можно, например, называть pcb-элементы как `TO-18-3` и `TO-18-4` или использовать `TO-18` и `TO-18-4`, полагая, что трёхвыводные корпуса более широко распространены и потому должны обозначаться просто как `TO-18`.
- Малосигнальные транзисторы в пластмассовом корпусе: Посмотрите на плоскую сторону корпуса транзистора (где находится надпись), при этом выводы должны быть снизу. Почти для всех трёхвыводных корпусов с линейно расположенными выводами выводы нумеруются слева направо в порядке (1,2,3) и такие корпуса могут быть представлены базовым pcb-элементом `TO-92`. В очень редких случаях выводы с прямолинейным расположением нумеруются слева направо в порядке (3,2,1). Для них можно сделать специальный pcb-элемент, но тогда нужно также принять решение игнорировать нумерацию выводов производителя и делать вид, что используется более общая конфигурация (1,2,3). Однако, если средний вывод для корпуса смещён относительно остальных, так что выводы расположены треугольником, выводы часто нумеруются в порядке (3,2,1) и для этого, возможно, потребуется нестандартный pcb-элемент. Но смотрите ниже мои комментарии насчёт элемента TO-92o.
- Транзисторы в корпусе для поверхностного монтажа: Корпуса SOT (Small Outline Transistor) гораздо более соответствуют стандартам, чем корпуса TO и выводы последовательно нумеруются против часовой стрелки с левого верхнего угла как и для корпусов интегральных схем. Но для транзистора, имеющего версии корпусов и TO, и SOT, нельзя просто изменить атрибут `footprint` в схеме, так как номера выводов корпуса для эмиттера, базы и коллектора в этих версиях не соответствуют друг другу. Для них нужен отдельный символ gschem. Например, `2N3904.sym` для TO и `MMBT3904.sym` для SOT.

## Общая методика

Первоначальный процесс подготовки транзистора для перехода от схемы в gschem к pcb включает следующие шаги (как пример используется 2N3904):

1. Большинство спецификаций транзисторов можно найти на веб-страницах сети интернет в формате PDF, так что найдите нужную и определите типоразмер корпуса, названия и порядок нумерации выводов. Для 2N3904 типоразмером корпуса является TO-92, выводы нумеруются слева направо в порядке (1,2,3) и называются соответственно (e,b,c).
2. Если в нашей библиотеке есть pcb-элемент с таким типоразмером и подходящей нумерацией выводов, надо использовать его. Если нет, сделать новый pcb-элемент. Для 2N3904 в моей библиотеке нестандартных элементов есть элемент `TO-92` с нумерацией выводов (1,2,3), так что я могу использовать его.
3. Скопируйте символ транзистора gschem, соответствующий порядку названий выводов, в файл с новым именем. Например, для 2N3904 выводы называются в порядке (e,b,c), поэтому скопируйте основной символ `npn-ebc.sym` в `2N3904.sym`.
4. Отредактируйте новый символ и атрибуту `value` как значение задайте название транзистора, а атрибуту `footprint` — подходящий pcb-элемент. Для нашего примера это могут быть 2N3904 и TO-92.

## Особые случаи

1. В моей библиотеке есть pcb-элемент `TO-92o`, средний вывод которого смещён, так что выводы расположены треугольником. Выводы этого элемента располагаются в порядке (1,2,3) слева направо и его по соображениям трассировки можно использовать вместо `TO-92`. Только при установке транзистора вам придётся чуть-чуть отогнуть его средний вывод.
2. В спецификации транзистора BC546 выводы слева направо называются (c,b,e), нумеруются в порядке (1,2,3) и располагаются по прямой линии. Но я видел этот транзистор, поставляемый с завода с заранее отогнутым средним выводом как в конфигурации со смещенным средним выводом. Для этого транзистора, как и предполагалось, нужно создать символ gschem из `npn-cbe.sym`, но использовать для него pcb-элемент `TO-92o`.
3. В спецификации транзистора BF240 выводы слева направо называются (c,e,b), нумеруются в порядке (3,2,1) и располагаются по прямой линии. Если вы сделали новый pcb-элемент с порядком выводов (3,2,1), то вам нужно сделать символ gschem `BF240.sym` из `npn-bec.sym`, так как вывод 1 pcb-элемента должен соответствовать выводу 1 символа gschem. Но проще было бы просто проигнорировать эту нестандартную нумерацию выводов и считать, что выводы транзистора на самом деле нумеруются стандартным образом слева направо в порядке (1,2,3). Тогда можно использовать существующий pcb-элемент `TO-92` и создать символ gschem из `npn-ceb.sym`. В некоторых спецификациях транзисторов задаётся порядок названий выводов, но не задаётся порядок их нумерации, и для них вам нужно просто принимать такое же допущение, что выводы слева направо нумеруются в порядке (1,2,3).
4. Во втором из указанных выше случаев вывод 2 транзистора смещён, в то время как в спецификации указано линейное расположение выводов и нумерация слева направо в порядке (1,2,3). Но для многих транзисторов в спецификации вывод 2 указывается как смещённый, а выводы нумеруются слева направо в порядке (3,2,1). Вы можете использовать такой элемент, как мой `TO-92o`, и игнорировать указанный в спецификации порядок выводов, как я предлагал в третьем случае. Но данная конфигурация намного более распространена, чем для примера с BF240, так что может быть лучше для таких транзисторов иметь специальный pcb-элемент, в котором выводы нумеруются в соответствии со спецификацией.

Автор: Bill Wilson (bill–at–gkrellm.net)