Введение
Анализатор шины — это тип инструмента анализа протокола, используемый для захвата и анализа данных связи по определенной шине интерфейса, обычно встроенной в аппаратную систему. Функциональность анализатора шины помогает инженерам по проектированию, тестированию и валидации проверять, испытывать, отлаживать и подтверждать свои разработки на протяжении всего цикла проектирования аппаратного продукта. Он также полезен на более поздних этапах жизненного цикла продукта при изучении совместимости между системами и компонентами, а также при уточнении вопросов аппаратной поддержки. Анализатор шины предназначен для работы с конкретными параллельными или последовательными архитектурами шин. Хотя термин «анализатор шины» подразумевает анализ физической связи и интерфейса, он иногда используется как синоним «анализатора протокола» или «анализатора пакетов» и может применяться к инструментам анализа беспроводных интерфейсов, таких как беспроводная локальная сеть (например, Wi-Fi), PAN (например, Bluetooth, беспроводной USB) и другие, хотя эти технологии не имеют «проводной» шины. Анализатор шины контролирует и захватывает данные связи шины, декодирует и анализирует их, а затем отображает данные и отчеты об анализе для пользователя. По сути, это логический анализатор с дополнительными знаниями о характеристиках трафика шины. Ключевое отличие между анализатором шины и логическим анализатором заключается в его способности фильтровать и извлекать только релевантный трафик, происходящий в анализируемой шине. Некоторые продвинутые логические анализаторы предлагают параметры квалификации хранения данных, которые также позволяют фильтровать трафик шины, обеспечивая функциональность, аналогичную анализатору шины. Основные различия между анализаторами шины и логическими анализаторами: 1. Стоимость: логические анализаторы обычно дороже анализаторов шин. В то же время логический анализатор может использоваться с различными архитектурами шин, в то время как анализатор шины предназначен только для одной архитектуры. 2. Целевые возможности и предварительное форматирование данных: Анализатор шины может быть разработан для предоставления конкретного контекста для данных, поступающих из шины. Например, анализаторы для последовательных шин, таких как USB, принимают последовательные данные, поступающие в виде потока двоичных 1 и 0, и отображают их в виде логических пакетов, различаемых преамбулой, заголовками, полезной нагрузкой и т. д. 3. Простота использования: в то время как логический анализатор общего назначения может поддерживать несколько шин и интерфейсов, анализатор шины предназначен для конкретного физического интерфейса и обычно позволяет пользователю быстро подключить измерительное оборудование к тестируемой шине, экономя время и усилия. С точки зрения пользователя, упрощенный взгляд может заключаться в том, что разработчикам, которым требуются наиболее полные и целевые возможности для одной архитектуры шины, лучше всего подойдет анализатор шины, а пользователям, работающим с несколькими протоколами параллельно, лучше подойдет логический анализатор, который дешевле нескольких различных анализаторов шин и позволяет изучить один пользовательский интерфейс вместо нескольких. Анализаторы доступны практически для всех существующих компьютерных и встроенных стандартов шин и форм-факторов, таких как PCI Express, DDR, USB, PCI, CompactPCI, PMC, VMEbus, CANbus и LINbus и т. д. Анализаторы шин используются в авиационной промышленности для анализа протоколов MIL STD 1553, ARINC 429, AFDX и других протоколов шин данных авиации. Другие анализаторы шин также используются в индустрии хранения данных для анализа популярных протоколов передачи данных между компьютерами и накопителями. Они охватывают популярные шины данных, такие как NVMe, SATA, SAS, ATA/PI, SCSI и т. д. Эти устройства обычно подключаются последовательно между хост-компьютером и целевым накопителем, где они «перехватывают» трафик шины, захватывают его и представляют в формате, удобном для чтения человеком.
1. Cost: Logic analyzers usually carry higher prices than bus analyzers. The converse of this fact is that a logic analyzer can be used with a variety of bus architectures, whereas a bus analyzer is only good with one architecture. 2. Targeted Capabilities and Preformatting of data: A bus analyzer can be designed to provide very specific context for data coming in from the bus. Analyzers for serial buses like USB for example take serial data that arrives as a serial stream of binary 1s and 0s and displays it as logical packets differentiated by chirp, headers, payload etc
3. Ease of use: While a general purpose logic analyzer, may support multiple busses and interfaces, a bus analyzer is designed for a specific physical interface and usually allows the user to quickly connect the probing hardware to the bus that is tested, saving time and effort. From a user's perspective, a (greatly) simplified viewpoint may be that developers who want the most complete and most targeted capabilities for a single bus architecture may be best served with a bus analyzer, while users who work with several protocols in parallel may be better served with a Logic Analyzer that is less costly than several different bus analyzers and enables them to learn a single user interface vs several. Analyzers are now available for virtually all existing computer and embedded bus standards and form factors such as PCI Express, DDR, USB, PCI, CompactPCI, PMC, VMEbus, CANbus and LINbus, etc. Bus analyzers are used in the Avionics industry to analyze MIL STD 1553, ARINC 429, AFDX, and other avionics databus protocols. Other bus analyzers are also used in the mass storage industry to analyze popular data transfer protocols between computers and drives. These cover popular data buses like NVMe, SATA, SAS, ATA/PI, SCSI, etc. These devices are typically connected in series between the host computer and the target drive, where they 'snoop' traffic on the bus, capture it and present it in human readable format.
Исполнитель протокола и шины
Для многих архитектур шин, таких как PCI Express, PCI, SAS, SATA и USB, инженеры также используют "Bus Exerciser" или “Protocol Exerciser”. Такие устройства могут эмулировать частичные или полные коммуникационные стеки, соответствующие конкретному стандарту обмена данными по шине, что позволяет инженерам точно контролировать и генерировать трафик шины для тестирования, отладки и валидации их разработок. Эти устройства позволяют генерировать как корректный, так и некорректный трафик шины для тестирования систем восстановления ошибок. Они также часто используются для проверки соответствия стандарту, обеспечивая совместимость устройств, поскольку позволяют воспроизводить известные сценарии в повторяемом режиме. Exerciser'ы обычно используются совместно с анализаторами, предоставляя инженеру полную видимость захваченных данных обмена по шине. Некоторые Exerciser'ы разработаны как автономные системы, а другие интегрированы в системы, используемые для анализа.