Многим читателям известна ситуация, когда требуется прозвонить связь между двумя выводами одной или двух разных микросхем. Сделать это можно, например, с помощью мультиметра. Ничто не мешает осуществить это, если микросхемы имеют доступные для щупов прибора выводы (то есть имеют тип корпуса TQFP, QFN, TSOP и т.п.). Хотя современная элементная база накладывает всё больше и больше ограничений на этот простой и естественный процесс. Прозвонить связь между двумя шариками BGA и даже между одним шариком и любой контактной точкой на плате с помощью щупов мультиметра уже невозможно. Для решения подобных задач была создана бесплатная программа JTAG Live Buzz. Она использует для прозвонки технологию периферийного сканирования: тестовый доступ к ножкам микросхем осуществляется с помощью JTAG-интерфейса. Из самого принципа действия становится понятно, что для работы не требуется физический доступ к выводам ИМС или другим открытым проводникам платы, поэтому BGA здесь не является проблемой. Доступ потребуется лишь к выводам JTAG-сигналов микросхемы, однако чаще всего они бывают выведены на внешний разъём.
Программа Buzz работает как с контроллерами производства JTAG Techno-logies – компании, которая её разработала, так и с конфигурационными JTAG-кабелями Xilinx и Altera. Программу можно скачать с сайта [1] и установить на ПК. На том же сайте можно сгенерировать файл бесплатной лицензии, который позволит пользоваться программой неограниченное количество времени.

Выбрав в программных опциях тип используемого контроллера, и подключив его к тестируемой плате, можно приступать к работе. Цепочка компонентов, поддерживающих периферийное сканирование, определяется автоматически при нажатии соответствующей кнопки (см. рис. 1). Единственное, что нужно сделать вручную, – это определить BSDL-модели для данных компонентов. Файл модели BSDL представляет собой формализированное описание регистров, доступ к которым можно получить через JTAG-интерфейс. Его структура определена в стандарте IEEE 1149.1, который представляет собой описание архитектуры периферийного сканирования внутри ИМС. Такие файлы обычно автоматически считываются программами периферийного сканирования, и система уже знает, как управлять JTAG-логикой микросхемы для того, чтобы выставить или считать данные на её выводах. Скачать модель BSDL для какой-то конкретной микросхемы можно на сайте её производителя или на каких-либо общих ресурсах. После таких несложных приготовлений программа JTAG Live Buzz готова к работе с вашей платой.
Так как цепи JTAG-интерфейса определены автоматически, а BSDL-файлы дают программе информацию о том, как устроены регистры периферийного сканирования микросхем, то пользователю Buzz достаточно выбрать из списка пины микросхем (которые также берутся программой из модели BSDL), на которых необходимо установить или считать требуемый логический уровень. Рабочее поле программы имеет четыре раздела: «Наблюдение», «Прозвонка», «Измерение» и «Ограничения».
При нажатии кнопки в поле «Наблюдение» (заранее перетащив указателем мыши в данное поле номер нужного нам пина ИМС) можно проследить за логическим уровнем на какой-нибудь цепи рассматриваемой платы. Следует отметить, что «Наблюдение» использует команду периферийного сканирования SAMPLE, которая, в отличие от EXTEST, работает при функционирующем в обычном режиме соответствующем выводе ИМС.
Интересно поле «Прозвонка». Это, по сути, имитация работы мультиметра в режиме обычной прозвонки. Только вместо щупов используются выводы установленных на плату микросхем, поддерживающих периферийное сканирование. Здесь перетаскиваются уже два пина одной и той же либо разных микросхем. При нажатии кнопки «Buzz» в середине поля появится цветовой индикатор. Зелёный цвет будет означать, что электрический контакт есть, красный – что его нет. Есть и звуковая имитация работы мультиметра.
С помощью поля «Измерение» можно также провести небольшие тесты логических узлов (кластеров). Например, определить несколько пинов JTAG-микросхем, являющихся входами для логического узла, и несколько выходных. На входах кластера можно установить различные логические значения: «0», «1» или «HIGH-Z». При этом, при нажатии кнопки измерения, мы увидим значения на выходах.
Поле «Ограничения» играет очень важную, иногда необходимую роль. Порой, во время измерения или прозвонки, необходимо на какую-то часть схемы подать некое постоянное логическое значение («0» или «1»), чтобы исключить паразитные сигналы, которые могут появиться на тестируемых линиях из-за работы тех или иных устройств. Программа JTAG Live Buzz позволяет устанавливать такие ограничения, которые действуют постоянно для операций прозвонки и измерения.
Проект можно сохранить и использовать уже готовые задачи для работы в дальнейшем с другими платами.

Любопытный читатель может задаться вопросом: а что же делать, если, предположим, на тестируемой плате всего один компонент, поддерживающий периферийное сканирование? Как прозванивать связи данного компонента? Ведь не все же его пины имеют электрический контакт между собой. Ответ может быть чрезвычайно простым. Если на вашей плате всего лишь один компонент, поддерживающий периферийное сканирование, то у него наверняка имеется какое-то количество выводов, выходящих на внешний разъём (так уж устроены цифровые платы). Эти выводы, скорее всего, поддерживают периферийное сканирование. То есть теоретически между ними и другими выводами компонента можно проверить электрический контакт. Можно изготовить или взять обычный щуп от любого измерительного прибора и подключить к одному из таких выводов разъёма платы (см. рис. 2). Если обеспечить контакт щупа с контактной площадкой, галтелью или другим элементом, соединённым электрически с выводом ИМС с поддержкой сканирования, то можно прозвонить связь от щупа площадки до данного вывода. Здесь следует оговориться: на самом деле прозванивается не только электрическая связь между щупом и выводом ИМС, но также проверяется разварка от ножки до кристалла, так как логика периферийного сканирования является составной частью чипа. Данное свойство очень важно, так как часто проблема отсутствия сигнала на линии вызвана не плохой пайкой или дефектом проводника ПП, а разрывом проволочного соединения внутри корпуса микросхемы.
На первый взгляд простейшая программа JTAG Live Buzz может сделать огромную работу. Поиск дефектных цепей, даже если инженер имеет представление, где примерно их нужно искать, может быть затруднён отсутствием физического доступа к ним. Программа Buzz позволяет избежать ненужных прогревов платы, временного монтажа, отпайки микросхем и поиска рентгеновской установки, что в итоге экономит средства и время.
Литература
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

