Периферийное сканирование
Периферийное сканирование (англ. Boundary Scan) — вид структурного тестирования печатной платы с установленными на неё компонентами, основанный на применении в некоторых микросхемах стандарта IEEE 1149.1(.4, .6). Широко используется также термин «граничное сканирование». Результатом периферийного сканирования является информация о наличии в электроцепях типичных неисправностей, возникающих при производстве печатных плат:
- коротких замыканий (bridges),
- непропаек (opens),
- западаний на 0 или 1 (stuck at 0, stuck at 1),
- обрывов дорожек.
Периферийным сканирование было названо из-за того, что соответствующие микросхемы могут при определённых условиях сами протестировать своё окружение — периферию — на наличие неисправностей.
Периферийное сканирование было предложено впервые ещё в 1985 году и было реализовано в 1990 году в виде стандарта IEEE 1149.1. В течение первых нескольких лет существования периферийное сканирование постепенно набрало популярность, так как производители микросхем предлагали всё большее количество компонентов, поддерживающих стандарт IEEE 1149.1.
Соответствие стандарту IEEE 1149.1
Для того, чтобы соответствовать стандарту, микросхема должна содержать:
- 4-х или 5-ти проводный порт тестового доступа (TAP — Test Access Port), состоящий из следующих линий:
- TDI (Test Data Input) — вход тестовой последовательности,
- TDO (Test Data Output) — выход тестовой последовательности,
- TMS (Test Mode Select) — выбор тестового режима,
- TCK (Test Clock) — синхронизация,
- TRST (Test Reset) — опциональная линия сброса.
- внутренние ячейки периферийного сканирования (BS Cells)
- регистры периферийного сканирования (BS Registers)
- дополнительную переключающую обвязку (TAP Controller)
Кроме того, производитель микросхемы должен предоставить так называемый BSDL-файл (англ. Boundary Scan Description Language), полностью описывающий логику периферийного сканирования в данном типе микросхем.
Применение периферийного сканирования
Для применения периферийного сканирования необходимо наличие в тестируемом устройстве компонентов, его поддерживающих. Иногда их называют компонентами с JTAG-интерфейсом. Множество микросхем изрядного числа производителей уже поддерживают стандарт IEEE 1149.1.
Чтобы получить хорошее тестовое покрытие нет необходимости в том, чтобы все компоненты на плате имели JTAG-интерфейс. Например, много блоков, состоящих из несканируемых компонентов, т. н. кластеры, могут тестироваться, несмотря на отсутствие прямого доступа для сканирования. В некоторых случаях контроль и детальное тестирование всей платы (включая память) осуществляются при помощи одного или двух компонентов, поддерживающих периферийное сканирование.
Микросхемы, поддерживающие периферийное сканирование, соединяются в одну или несколько отдельных цепочек. При этом вывод TDO одной микросхемы соединяется с выводом TDI другой. Ко всем микросхемам подводятся сигналы TCK и TMS для контроля всей «тестовой инфраструктуры».
Механизм периферийного сканирования
Затем некая тестовая последовательность (тестовый вектор — Test Vector), двоичная — состоящая из нулей и единиц, вводится в тестовый порт (TAP). Она проходит последовательно через все ячейки периферийного сканирования (BS Cells). На выходе (TDO) она анализируется специальным программным обеспечением, после чего делаются соответствующие выводы о состоянии инфраструктуры данной микросхемы.
Если тестовая последовательность пришла в неизмененном состоянии — то делается вывод об отсутствии коротких замыканий и непропаек у микросхемы. Если последовательность изменилась — то наоборот.
На самом деле, это не совсем так. Конфигурации современных цифровых устройств настолько сложны, что по одному тестовому вектору обычно невозможно судить о всей инфраструктуре. Вследствие чего используются одновременно несколько тестовых векторов. В задачи же соответствующего программного обеспечения входит определение вида и минимального (безызбыточного) количества этих тестовых векторов.
Виды тестов и приложений, которые могут быть реализованы при помощи периферийного сканирования
- Тест инфраструктуры: проверка целостности цепей JTAG-интерфейса и корректной установки микросхем, поддерживающих периферийное сканирование.
- Тест межсоединений: проверка цепей, связанных с компонентами, поддерживающими периферийное сканирование. Сюда включаются соединения между этими компонентами, их не подключенные выводы и цепи, выходящие на внешние разъемы. В тест межсоединений могут быть включены транспарентные устройства, такие как: буферы, резисторы, другая связующая логика. Часто данный этап включает проверку резисторов подтяжки.
- Тест памяти: тестирование межсоединений с устройствами памяти. Позволяет определить дефекты на шинах адреса и данных и на контрольных цепях таких устройств как SRAM, DRAM, SDRAM, DDR, DDR2, FIFO, а также различных флэш-ПЗУ. По сути это тестирование соединений с памятью.
- Тест кластеров: проверка цепей, связанных с любыми устройствами, не поддерживающими периферийное сканирование. При наличии модели функционирования того или иного устройства возможна автоматическая генерация тестовых векторов и для них. Типичные «кластеры» при тестировании методом периферийного сканирования это различная логика (для автоматической генерации тестов используется таблица истинности), интерфейсные микросхемы (например RS-232, Ethernet и т. д.), устройства отображения информации.
- Программирование флэш-ПЗУ: используется тот же механизм, что и при тестировании кластеров.
- Программирование или конфигурация ПЛИС: используется JTAG-интерфейс.