Перейти к содержанию
    

Boundary-scan testing LPC2000

Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. :unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. :unsure:

 

Конечно можно, как и любую ИС с JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно можно, как и любую ИС с JTAG.

Где об этом написано/сказано? Вы только слышали/читали или сами применяли каскадирование (именно с LPC)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно можно, как и любую ИС с JTAG.

Где об этом написано/сказано? Вы только слышали/читали или сами применяли каскадирование (именно с LPC)?

 

Честно признаюсь, конкретно фразы "LPC21xx precisely supports boundary-scan testing in chain" я не встречал. Но сама идея граничного сканирования как раз в этом и заключается, что устройству грубо говоря "по барабану" подключено оно в цепочке с другими устройствами или напрямую к адаптеру JTAG. В любом случае получается обычный последовательный регистр: от TDO к TDI, и так далее по цепочке. Просто не надо забывать про буфера на TCK и TMS если в цепи стоит много устройств и частота JTAG высокая. Опять же, помним про pull-up или преобразователи уровней, если стоят устройства с принципиально разными напряжениями I/O.

 

Вы свою проблему подробнее опишите, тогда проще будет подсказать в каком направлении искать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. :unsure:

 

На стр.201 User Manual-a для LPC210x четко прописано:

 

For more details refer to IEEE Standard 1149.1 - 1990 Standard Test Access Port and Boundary Scan Architecture.

 

Именно этот стандарт и предполагает интересующее вас каскадирование.

 

И еще: дядя SM каскадировал ARM c кем-то там (см. форум Телесистем) и CCS в этом ему помог....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На стр.201 User Manual-a для LPC210x четко прописано:

 

For more details refer to IEEE Standard 1149.1 - 1990 Standard Test Access Port and Boundary Scan Architecture.

 

Именно этот стандарт и предполагает интересующее вас каскадирование.

Я знаю про этот стандарт, но в мануале не сказано, что LPC210x ПОЛНОСТЬЮ поддерживает этот стандарт. Или я не нашел этих слов.

И еще: дядя SM каскадировал ARM c кем-то там (см. форум Телесистем) и CCS в этом ему помог....

ОК. Спрошу и его тоже. Только по-моему он с другими ARMами работал. Типа OMAP (ARM9+DSP 55x в одном флаконе).

И вообще этот вопрос наверное скорее к практикам использования ARM, а не к теоретикам, программирующим на основе прочтения мануалов. :) Заранее извините, если кого-то задену этим высказыванием. Без желения обидеть, но лишь для прояснения ситуации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы свою проблему подробнее опишите, тогда проще будет подсказать в каком направлении искать.

Дык я понимаю, что подразумевает и прочее, но поддерживает ли именно LPC?

Проблема в том, чтобы не плодить разъемы для подключения к каждому кристаллу, хочется объединить в цепочку JTAG LPC2138, XC9500XL и Spartan-XL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык я понимаю, что подразумевает и прочее, но поддерживает ли именно LPC?

Проблема в том, чтобы не плодить разъемы для подключения к каждому кристаллу, хочется объединить в цепочку JTAG LPC2138, XC9500XL и Spartan-XL.

 

Обычно именно так и делают - один разъем на всю цепочку. Очень помогает при поиске разрывов и замыканий на плате с несколькими BGA + конфигурировать можно сразу всю плату.

 

Что касается вашей конфигурации, то она должна работать даже без дополнительных буферов и преобразователей уровней - обычная цепочка. Как я писал вышел, LPC "по барабану" стоит он в цепочке или отдельно - он даже определить не сможет в какой конфигурации он подключен. Вопрос только в ваших средствах разработки - они должны поддерживать работу устройства в цепочке, т.е. уметь определять и переводить в BYPASS неиспользуемые устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что касается вашей конфигурации, то она должна работать даже без дополнительных буферов и преобразователей уровней - обычная цепочка. Как я писал вышел, LPC "по барабану" стоит он в цепочке или отдельно - он даже определить не сможет в какой конфигурации он подключен. Вопрос только в ваших средствах разработки - они должны поддерживать работу устройства в цепочке, т.е. уметь определять и переводить в BYPASS неиспользуемые устройства.

Т.е. Вы хотите сказать, что проблема лишь в программе для отладки, которая работает с JTAG, а не в поддержке Boundary-scan test LPC2138? Ведь если он не полностью поддерживает этот стандарт, то возможно он сам не сможет в BYPASS переключаться. И тогда уже неважно первым или последним он стоит в цепочке JTAG. Программа, которая не поддерживает LPC (ICE Webpack или Xilinx Foundation) вообще не сможет "достучаться" до CPLD или FPGA. Я что-то неверно понимаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. Вы хотите сказать, что проблема лишь в программе для отладки, которая работает с JTAG, а не в поддержке Boundary-scan test LPC2138?

 

Я хотел лишь сказать, что в вашем случае единственной проблемой может стать софт, который не поддерживает работу с устройством, включенным в цепочку. Дело в том, что работа с цепочкой из нескольких JTAG устройств требует от софта реализации дополнительных процедур по определению количества устройств в цепи, обнаружения по ID или при помощи пользователя нужного по счету устройства, перевода остальных устройств в BYPASS, учета по одному биту BYPASS-регистра выключенных устройств при загрузке цепей и т.д. Большинство нормальных коммерческих программ этот режим поддерживает по умолчанию, хотя изредка приходилось сталкиваться и с "кривым" в этом плане софтом. Поэтому и написал про возможные проблемы.

 

Ведь если он не полностью поддерживает этот стандарт, то возможно он сам не сможет в BYPASS переключаться. И тогда уже неважно первым или последним он стоит в цепочке JTAG. Программа, которая не поддерживает LPC (ICE Webpack или Xilinx Foundation) вообще не сможет "достучаться" до CPLD или FPGA. Я что-то неверно понимаю?

 

Неверно понимаете. LPC - это ARM и шанс что Philips выкинул из лицензируемой у ARM core обязательный по стандарту BYPASS регистр равна вероятности того, что они вставили туда еще и свой собственный TAP-автомат на основе I2C :)

Все процедуры в JTAG хорошо продуманны и все сводится к тому, чтобы можно было работать с любым выбранным устройством в цепочке, даже если все остальные устройства софту неизвестны. Именно для этого, например, последний бит опционального ID-регистра в JTAG есть константа 1, а значение бита регистра BYPASS равно 0.

 

А вот тут мнения противоположные.

http://www.caxapa.ru/echo/arm.html?id=25250

 

Не желая никого обидеть, это как раз тот случай с теоретиками из вашего предыдущего поста, которые даже manual читать не хотят ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

acex2, большое спасибо за консультацию, но все же хочется быть уверенным на 100% :) Может кто-либо из практиков наконец соблаговолит дать конкретный ответ из практики каскадирования LPC. Вдруг и вправду у Филипса сырой продукт получился и он решил сэкономить на BYPASS этого ARMа. Не нравятся мне эти недоговорки и недописки :( И мануалы похоже пишут сами пользователи LPC и только потом Филипс их на свой сайт выкладывает. Можно и такие выводы сделать, раз даже поиск мануалов на сайте Philips ведет к форуму на Яхе http://groups.yahoo.com/group/lpc2000/ :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И еще: дядя SM каскадировал ARM c кем-то там (см. форум Телесистем) и CCS в этом ему помог....

Информация. SM работал с TMS320VC5509A и EPXA1F484C3 в одной цепочке. Второй кристалл от Altera это ARM9 вместе с FPGA. У него есть особенность, что ARM и FPGA могут быть как в одной цепочке так и на раздельных JTAGах. SM использовал среду CodeComposer Studio для OMAP. Так что тут все понятно.

А вот мой вопрос про LPC2000 остается недопонятым или даже непонятным :cranky:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеет место недопонимание того фактора, что ЛПЦ построен на базе ядра ARM7TDMI от фирмы ARM Limited. И работа по интерфейсу JTAG определяется именно этим компонентом системы. Описание работы находится в даташите фирмы ARM Limited http://www.arm.com/pdfs/DDI0234A_7TDMIS_R4.pdf. Ну так вот на странице 146 написано примерно следующее:

BYPASS (1111)

The BYPASS instruction connects a 1 bit shift register (the

BYPASS register) between TDI and TDO.

When the BYPASS instruction is loaded into the instruction

register, all the scan cells are placed in their normal (system)

mode of operation. This instruction has no effect on

the system pins.

In the CAPTURE-DR state, a logic 0 is captured by the

bypass register. In the SHIFT-DR state, test data is shifted

into the bypass register via TDI and out via TDO after a

delay of one TCK cycle. Note that the first bit shifted out will

be a zero. The bypass register is not affected in the

UPDATE-DR state. Note that all unused instruction codes

default to the BYPASS instruction.

 

В стандарте 1149 описано назначение и применение функции BYPASS

Ну я вчера пробовал намекать на это но мое послание почему-то было уничтожено...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеет место недопонимание того фактора, что ЛПЦ построен на базе ядра ARM7TDMI от фирмы ARM Limited.

 

Еще добавлю что команда BYPASS обязательна для любого JTAG устройства.

И кстати всегда состоит из одних единиц, так что неизвестное устройство тоже переведется в BYPASS когда со входа сдвигаются "1111111....1".

Наблюдая когда появится "1" на выходе можно определить общюю длинну цепи командных регистров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...