Введение

В электронике, устройства с совместимой распиновкой – это электронные компоненты, как правило, интегральные схемы или платы расширения, имеющие общий форм-фактор и выполняющие одинаковые функции, назначенные или используемые на одних и тех же выводах. Совместимость по распиновке – это свойство, востребованное системными интеграторами, поскольку оно позволяет модернизировать продукт без переработки печатных плат, что снижает затраты и ускоряет вывод на рынок. Хотя устройства с совместимой распиновкой имеют общий форм-фактор, они не обязательно электрически или термически совместимы. Поэтому производители часто указывают, являются ли устройства совместимыми «пин-в-пин» или допускают прямую замену. Устройства с совместимой распиновкой обычно производятся для модернизации в рамках одной модельной линейки, замены устаревших компонентов на новые эквиваленты или для конкуренции с аналогичными продуктами других производителей.

Совместимость между узлами

Устройства, полностью совместимые по расположению выводов, имеют одинаковое назначение функций выводам, но могут различаться по электрическим характеристикам (напряжению питания или частоте генератора) или тепловым характеристикам (TDP, профилям пайки или температурным допускам). В результате, для их использования в системе может потребоваться адаптация части системы, например, подсистемы электропитания, к новым компонентам. Типичным примером устройств, полностью совместимых по расположению выводов, но несовместимых по электрическим параметрам, являются интегральные схемы серии 7400. Устройства серии 7400 производились по различным технологическим процессам, но сохраняли одинаковую распиновку. Например, все устройства 7405 содержат шесть логических элементов НЕ (или инверторов), но могут иметь несовместимые диапазоны напряжения питания. 7405 – Стандартный TTL, 4,75–5,25 В. 74C05 – CMOS, 4–15 В. 74LV05 – CMOS с низким напряжением, 2,0–5,5 В.

В других случаях, особенно в компьютерной технике, устройства могут быть полностью совместимы по расположению выводов, но сделаны несовместимыми из-за сегментации рынка. Например, настольные процессоры Intel Skylake Core и Xeon E3v5 используют сокет LGA 1151, но материнские платы с чипсетами серии C230 будут совместимы только с процессорами марки Xeon и не будут работать с процессорами марки Core.

Совместимость с подключением

Устройство прямой замены – это устройство, которое можно заменить другим без необходимости внесения компенсирующих изменений в систему, частью которой оно являлось. Устройство будет обеспечивать те же функции на тех же выводах и будет электрически и термически совместимо. Такие устройства могут не быть точной копией заменяемых. Например, они могут иметь более широкий диапазон допустимого напряжения питания или температур.

Совместимость программного обеспечения

Программно-совместимые устройства – это устройства, способные выполнять одно и то же программное обеспечение и получать одинаковые результаты без предварительной модификации этого программного обеспечения. Микроконтроллеры, ПЛИС и другие программируемые устройства могут быть аппаратно совместимы по выводам с точки зрения программы, работающей на устройстве, но несовместимы на аппаратном уровне. Например, устройство может принимать сигнал на выводе X, инвертировать его и выдавать результат на выводе Y. Если способ конфигурирования вывода остаётся прежним, но изменяется корпус устройства (например, TSSOP или QFN), программа продолжит работать, но физическое расположение выводов, с которыми она взаимодействует, может измениться. Устройство может быть совместимо по выводам, но несовместимо по программному обеспечению. Это может произойти, если устройство использует другой набор инструкций, или если к выводу подключен мультиплексор (который, например, позволяет переключать вывод между режимами GPIO и АЦП), и этот мультиплексор по умолчанию выбирает другой входной источник, чем на заменяемом устройстве. Для упрощения работы с программно-несовместимыми устройствами производители часто предоставляют аппаратные уровни абстракции. Примеры включают CMSIS для процессоров ARM Cortex M и устаревшую подсистему HAL для UNIX-подобных операционных систем.