:: Блог - Спутниковое телевидение :: :: ВКонтакте - Спутниковое телевидение:: :: Одноклассники - Спутниковое телевидение:: :: FACEBOOK - Спутниковое телевидение::

Автор Тема: JTAG - описание , принцип работы , помошь по перепрошивке  (Прочитано 46500 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Nels

  • Админсовет
  • Оффлайн

  • *
  • Сообщений: 55
  • Карма: +169/-0
  • Пол: Мужской
В 1985 сформировалась специальная группа ведущих производителей электроники - JTAG (Joint Test Action Group). Для решения проблем тестирования JTAG выдвинула как промышленный стандарт спецификацию IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture).

Встраивание архитектуры BST в современные чипы обеспечивает доступ к выводам чипа (точнее, к специальным блокам ввода-вывода) с помощью 4-хпроводного последовательного интерфейса JTAG. Эта архитектура позволяет не только котролировать их состояние, но и управлять ими. Таким образом можно обойтись без громоздких пробников с физическим контактом.

jtag_bst.gif
В дополнении к этому, эта архитектура может быть дополнена возможностью обмениваться и иной информацией с чипом. Например, получать результат внутреннего теста, как это делается в современных процессорах. В ПЛИС (программируемых логических интегральных схемах) эта архитектура обеспечивает альтернативную (или основную) возможность ввода конфигурационных данных.

Необходимо отметить, что для подобных целей используются также и другие последовательные интерфейсы. Например, 2-хпроводный I2C требует меньше аппаратных затрат и, что более важно, времени для доступа к устройствам. Однако, преимуществом архитектуры BST является отсутствие необходимости явного задания адресов устройств, поскольку все JTAG-устройства объединяются в последовательную цепочку и неявно адресуются своим положением в ней.
Описание контактов JTAG-порта Контакт   Имя   Описание
TDI    Test Data Input    Последовательный вход сдвигового регистра. Данные защелкиваются по переднему фронту импульса на TCK
TDO    Test Data Output    Последовательный выход сдвигового регистра. Данные выводятся по заднему фронту импульса на TCK
TMS    Test Mode Select    Вход управления машиной состояний TAP-контроллера. Данные защелкиваются по переднему фронту импульса на TCK
TCK    Test Clock Input    Вход синхронизации
TRST   Test Reset Input    Асинхронный сброс всей BST-схемы с инициализацией TAP-контроллера. (необязательный контакт)

Граф машины состояний контроллера TAP (Test Access Port)

jtag_tap.gif

Как видно из графа, TAP-контроллер перейдет в исходное состоние RESET из любого другого не более чем за 5 импульсов TCK при TMS=1. При этом произойдет сброс всей схемы BST, а в регистр инструкций запишется значение по умолчанию (как правило, инструкция IDCODE, но может и другая, например, SAMPLE. Во избежание этого сброса следует проводить контроллер TAP через безопасное состояние IDLE, в котором все рабочие установки сохраняются.

Схема ВST содержит целый набор сдвиговых регистров. При проходе по правой ветви графа доступен регистр инструкций длиной от 3 бит. Загруженная инструкция определяет один из регистров данных, доступных при проходе по левой ветви и действия с ними в определенных состояниях TAP-контроллера. Из этих регистров, как минимум, в наличии обычно имеются регистр доступа к внешним выводам чипа и однобитный регистр обхода.

Поскольку в цепочке JTAG-устройств все сдвиговые регистры складываются в один длинный, то регистр обхода позволяет уменьшить эту длину, представляя обойденные устройства всего одним битом. Для этого служит инструкция BYPASS. Поскольку ввод инструкции BYPASS отменяет действие ранее загруженной инструкции, к сожалению, невозможно сохранить состояние блоков ввода-вывода, устанавливаемое нструкциями типа EXTEST и INTEST. Исключением является инструкция CLAMP, после которой можно использовать регистр обхода. Но эта инструкция практически не встречается.

В регистре доступа для каждого блока ввода-вывода ПЛИС, как правило, отведены три последовательных бита: вход (I), выход (O) и запрет выхода (T). Порядок вывода бит на TDO различен для ПЛИС разных фирм. Например, для Xilinx - (T,O,I), а для Altera - (I,T,O).

В состоянии CAPTURE в выбранный сдвиговый регистр записывается текущее состояние. Кстати, для регистра инструкций обычно это код инструкции SAMPLE, а для регистра обхода - логическая единица. В состоянии UPDATE данные из сдвигового регистра переписываются в соответсвующий регистр хранения.

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

При загрузке инструкции EXTEST выходы регистра хранения определяют состояние выходов чипа, т.е. управляют выходом и его третьим состоянием. Таким образом можно протестировать внешние межсоединения. Инструкция INTEST, напротив, подменяет сигнал вводимый внутрь чипа и служит для проверки самого чипа. Часто обходятся одной инструкцией EXTEST, используя бит входа (I) для ввода в чип как в инструкции INTEST.

Инструкция IDCODE подключает встроенный 32-битный регистр с идентификаторами производителя, модели и версии устройства.
Version   Part Number    Manufacturer Identity   Fixed "1"
Биты 31-28   Биты 27-12    Биты 11-1   Бит 0

Набор инструкций определяется производителем. Как минимум, присутствуют SAMPLE и BYPASS и EXTEST. Остальные инструкции - дополнительные. Как уже упоминалось, для ПЛИС могут быть специальные инструкции конфигурирования, а для процессоров - чтение результата внутреннего теста.
Краткое описание инструкций Инструкция   Назначение
BUPASS
"11..1"    обход регистра доступа через 1-битный регистр обхода
SAMPLE    считывание состояния блоков ввода-вывода и подготовка данных для инструкций управления
EXTEST
"00..0"    тест внешней схемы (off-chip)
INTEST    тест внутренней схемы (on-chip)
RUNBIST    режим самотестирования
CLAMP    подобно EXTEST, но выходы остаются зафиксироваными при использовании регистра обхода
HIGHZ    устанавливает все выходы в 3-е состояние
IDCODE    подклдючает 32-битный идентификационный регистр
USERCODE    дополнительный 32-битный регистр с нефиксированным значением

Производители микросхем предоставляют информацию о конкретной реализации BST для каждого типа своей продуции в виде BSDL-файла (Boundary-Scan Description Language). Чуть более подробно об этом формате можно узнать на Извините, но гости не могут просматривать ссылки. Регистрация или Логин.

Доступ к JTAG порту можно организовать при помощи кабеля типа ByteBlaster, подключив им тестируемую систему к параллельному порту компьютера. В тестируемой системе рекомендуется установить подтягивающие резисторы (PullUp's) и керамический конденсатор на питании вблизи ответного разъема. Для устойчивой работы выход TDO желательно буферизовать. Например, через два инвертора типа К561ЛН2.

Фрагмент кода на С для работы с JTAG портом через ByteBlaster


#define PRT 0x378                      /* ByteBlaster in LPT1 */
#define OEN(b) outportb(PRT+2,inportb(PRT+2)&0xFD|((b)?0:0x02))
#define CLK(b) outportb(PRT+0,inportb(PRT+0)&0xFE|((b)?0x01:0))
#define CNF(b) outportb(PRT+0,inportb(PRT+0)&0xFD|((b)?0x02:0))
#define DAT(b) outportb(PRT+0,inportb(PRT+0)&0xBF|((b)?0x40:0))
#define DONE   (inportb(PRT+1)&0x80?0:!0)
#define STAT   (inportb(PRT+1)&0x10?!0:0)
  /* CLK=tck CNF=tms DAT=tdi DONE=tdo STAT=none */
void tck(int k){ int i=0; for(;i<(k);i++){ CLK(1); CLK(0); } }
#define tms(v) CNF((v)&1)
#define tdi(v) DAT((v)&1)
#define tdo() (DONE?'1':'0')
  /* functions for TAP-controller */
void jreset(){ tms(1); tck(6); }   /* from any state to RESET */
void jidle (){ tms(0); tck(1); }   /* from     RESET to IDLE  */
void jsh_ir(char *p,int sz){ /* shift of instruction register */
 int i; char tmp;
 jidle(); tms(1); tck(2); tms(0); tck(2);
 for(i=0;i<sz;i++){ tmp=tdo(); tck(1); tdi(p); p=tmp; }
 tms(1); tck(2); tms(0); tck(1);
}
void jsh_dr(char *p,int sz){        /* shift of data register */
 int i; char tmp;
 jidle(); tms(1); tck(1); tms(0); tck(2);
 for(i=0;i<sz;i++){ tmp=tdo(); tck(1); tdi(p); p=tmp; }
 tms(1); tck(2); tms(0); tck(1);
}

Это фрагмент лишь поясняет общий принцип работы через JTAG порт. Для ускорения работы кода нужно минимизировать число обращений к портам компьютера, поскольку эти обрашения имеют фиксированое время исполнения. Например, для шины ISA - около 1 мкс. Можно также порекомендовать сначала подготавливать байтовый поток для последующего вывода в порт.

dilqam

  • Глобальный модератор
  • Оффлайн

  • *
  • Сообщений: 1 704
  • Карма: +6406/-0
  • Пол: Мужской
  • УСТАНОВКА И РЕМОНТ CПУТНИКОГО ОБОРУДОВАНИЯ
    • Supermax Receivers Support Site
  • Mой ресивер: Next & Nextstar
  • Антенны: 160 SM SUPERMAX Dish With Motor
Спасибо большое Nels !!! хороший был FAQ вот мой самый любимый сборник JTAG инструментов для работы на  процессорах 5518   :s-domica:) :bf:

вот Извините, но гости не могут просматривать ссылки. Регистрация или Логин
160sm Motor from 105*East to15*west NextMachinaHD 3D DVB-C,DVB-T2,DVB-S2

aheles

  • Завсегдатай™
  • Оффлайн

  • *
  • Сообщений: 103
  • Карма: +461/-2
  • Пол: Мужской
  • любиш медок люби и холодок
А почему? На этих  устройствах не кто? Не заработать в серию не запустить
любиш медок люби и холодок

dilqam

  • Глобальный модератор
  • Оффлайн

  • *
  • Сообщений: 1 704
  • Карма: +6406/-0
  • Пол: Мужской
  • УСТАНОВКА И РЕМОНТ CПУТНИКОГО ОБОРУДОВАНИЯ
    • Supermax Receivers Support Site
  • Mой ресивер: Next & Nextstar
  • Антенны: 160 SM SUPERMAX Dish With Motor
что ты хочеш сказать ? пиши ясно
160sm Motor from 105*East to15*west NextMachinaHD 3D DVB-C,DVB-T2,DVB-S2

aheles

  • Завсегдатай™
  • Оффлайн

  • *
  • Сообщений: 103
  • Карма: +461/-2
  • Пол: Мужской
  • любиш медок люби и холодок
Да хотел уточнить пока  в магазине не видел? Jtga  только  самоделки
любиш медок люби и холодок

dilqam

  • Глобальный модератор
  • Оффлайн

  • *
  • Сообщений: 1 704
  • Карма: +6406/-0
  • Пол: Мужской
  • УСТАНОВКА И РЕМОНТ CПУТНИКОГО ОБОРУДОВАНИЯ
    • Supermax Receivers Support Site
  • Mой ресивер: Next & Nextstar
  • Антенны: 160 SM SUPERMAX Dish With Motor
почему? в продаже есть и заводские но ето не везде продается
160sm Motor from 105*East to15*west NextMachinaHD 3D DVB-C,DVB-T2,DVB-S2

aheles

  • Завсегдатай™
  • Оффлайн

  • *
  • Сообщений: 103
  • Карма: +461/-2
  • Пол: Мужской
  • любиш медок люби и холодок
Дай ссылку . А на какие  аппараты есть
любиш медок люби и холодок

dilqam

  • Глобальный модератор
  • Оффлайн

  • *
  • Сообщений: 1 704
  • Карма: +6406/-0
  • Пол: Мужской
  • УСТАНОВКА И РЕМОНТ CПУТНИКОГО ОБОРУДОВАНИЯ
    • Supermax Receivers Support Site
  • Mой ресивер: Next & Nextstar
  • Антенны: 160 SM SUPERMAX Dish With Motor
ссылка дубай большенство их оттуда возять

да и в России можно

Извините, но гости не могут просматривать ссылки. Регистрация или Логин

Извините, но гости не могут просматривать ссылки. Регистрация или Логин

Извините, но гости не могут просматривать ссылки. Регистрация или Логин
« Последнее редактирование: 15 Мая 2008, 15:42:03 от dilqam »
160sm Motor from 105*East to15*west NextMachinaHD 3D DVB-C,DVB-T2,DVB-S2

GHOSTBUSTER

  • Гость
Здавствуйте уважаемые знатоки, помогите сделать программатор для  DreamBox DM500S
дело в том что мне дали схемку на микросхеме\контроллере LS245. Решил обратитьсяза советом к вам! :smiley:
Мог бы кто нибудь дать схемку на этой микросхеме?

joker2™

  • Админсовет
  • Оффлайн

  • *
  • Сообщений: 3 429
  • Карма: +7754/-2
  • Пол: Мужской
  • сижу дома смотрю в оба
  • Mой ресивер: нет больше ни одного все в утиль
  • Антенны: 1.65offs 1.3offs остальные ржавые и снесло ветром
Извините, но гости не могут просматривать ссылки. Регистрация или Логин
только это устройство поможет
также есть готовый штаг в продаже


Извините, но гости не могут просматривать ссылки. Регистрация или Логин
Извините, но гости не могут просматривать ссылки. Регистрация или Логин
ресиверы больше не использую смотрю tv-Samsung 4k и сериалы через форкплеер
тарелки 2.4m-прямофокус--1.75offset--1.3m-2шт--0.9m-2шт. стоят как памятники но в рабочем состоянии
-спутники-для просмотра(85-и-75)-(58,2)--гр
модули доступа МТС-ТВ --OTAU-TV -Телекарта

 

:: спутниковые ресиверы ::