При исследовании какого-либо цифрового устройства может возникнуть
необходимость проанализировать канал обмена данными, если конечно
таковой имеется. На первый взгляд эта тривиальная задача - снять временные
диаграммы с необходимых линий канала связи, определить тип интерфейса
и вручную произвести декодирование снятых временных диаграмм, не кажется
очень сложной. Но после нескольких попыток декодирования временной
диаграммы желания проводить эту рутинную процедуру явно поубавится.
Так как перед тем как приступить к декодированию необходимо как минимум
хотя бы бегло ознакомится со спецификацией анализируемого интерфейса
и довольно хорошо изучить форматы его временных диаграмм. На все это
требуется не так уж мало времени, особенно когда под рукой нет нормального
описания
интерфейса. После ознакомления с интерфейсом начинается самое
интересное - декодирование. Обычно в большинстве интерфейсов есть
какие либо признаки начала и окончания передачи байта, исключение
составляет SPI, когда данные передаются
без задержки. Поэтому декодирование начинается с поиска именно этих
признаков. После нахождения, например, признака начала передачи начинают
декодировать данные и тут возникает куча вопросов связанная с особенностями
рассматриваемого протокола, что опять приводит к необходимости изучения
спецификации рассматриваемого интерфейса, сличению полученных временных
диаграмм с их аналогами в спецификации. Все это опять же забирает
Ваше время, отвлекая от других возможно, куда боле интересных задач.
Из личного опыта могу привести пример затрат времени на декодирования
временных диаграмм интерфейса I2C
(используемого в плате видео захвата) так при ручном декодировании
за три с половиной часа удалось выделить аж 48 байт, причем вся получена
информация кропотливо фиксировалась на листике на тот случай если
что не так. При декодировании того же интерфейса с помощью аналогичной
программы (той, которая в последствии и стала прототипом логического
анализатора) за 8 минут был произведен анализ всего цикла обмена длинной
в 1026 байт, правда на написание программы анализа I2C
ушло почти полтора дня.
Все выше сказанное совсем не означает, что без какой либо предварительной
подготовки можно за несколько минут расшифровать данные любого интерфейса
нажатием на пару кнопок. В любом случаем перед анализом выбранного
интерфейса очень рекомендуется прочитать спецификацию на него, так
как понимания основ интерфейса ни какая программа не поможет.
|