Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Boundary-scan testing LPC2000
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
rezident
Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. unsure.gif
acex2
Цитата(rezident @ Apr 5 2005, 17:06)
Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. unsure.gif


Конечно можно, как и любую ИС с JTAG.
rezident
Цитата(acex2 @ Apr 6 2005, 02:29)
Конечно можно, как и любую ИС с JTAG.
*

Где об этом написано/сказано? Вы только слышали/читали или сами применяли каскадирование (именно с LPC)?
acex2
Цитата(rezident @ Apr 5 2005, 17:45)
Цитата(acex2 @ Apr 6 2005, 02:29)
Конечно можно, как и любую ИС с JTAG.
*

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


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

Вы свою проблему подробнее опишите, тогда проще будет подсказать в каком направлении искать.
nameless
Цитата(rezident @ Apr 5 2005, 23:06)
Господа, просвятите меня пожалуйста, поддерживают ли ARM фирмы Philips LPC2000 Boundary-scan testing? Т.е. можно ли их каскадировать на JTAG друг с другом и/или с другими устройствами типа CPLD и/или FPGA? Нигде не нашел вразумительного ответа по этому поводу. unsure.gif
*


На стр.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 в этом ему помог....
rezident
Цитата(nameless @ Apr 6 2005, 11:42)
На стр.201 User Manual-a для LPC210x четко прописано:

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

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

Я знаю про этот стандарт, но в мануале не сказано, что LPC210x ПОЛНОСТЬЮ поддерживает этот стандарт. Или я не нашел этих слов.
Цитата(nameless @ Apr 6 2005, 11:42)
И еще: дядя SM каскадировал ARM c кем-то там (см. форум Телесистем) и CCS в этом ему помог....
*

ОК. Спрошу и его тоже. Только по-моему он с другими ARMами работал. Типа OMAP (ARM9+DSP 55x в одном флаконе).
И вообще этот вопрос наверное скорее к практикам использования ARM, а не к теоретикам, программирующим на основе прочтения мануалов. smile.gif Заранее извините, если кого-то задену этим высказыванием. Без желения обидеть, но лишь для прояснения ситуации.
rezident
Цитата(acex2 @ Apr 6 2005, 04:06)
Вы свою проблему подробнее опишите, тогда проще будет подсказать в каком направлении искать.
*

Дык я понимаю, что подразумевает и прочее, но поддерживает ли именно LPC?
Проблема в том, чтобы не плодить разъемы для подключения к каждому кристаллу, хочется объединить в цепочку JTAG LPC2138, XC9500XL и Spartan-XL.
acex2
Цитата(rezident @ Apr 6 2005, 07:04)
Дык я понимаю, что подразумевает и прочее, но поддерживает ли именно LPC?
Проблема в том, чтобы не плодить разъемы для подключения к каждому кристаллу, хочется объединить в цепочку JTAG LPC2138, XC9500XL и Spartan-XL.


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

Что касается вашей конфигурации, то она должна работать даже без дополнительных буферов и преобразователей уровней - обычная цепочка. Как я писал вышел, LPC "по барабану" стоит он в цепочке или отдельно - он даже определить не сможет в какой конфигурации он подключен. Вопрос только в ваших средствах разработки - они должны поддерживать работу устройства в цепочке, т.е. уметь определять и переводить в BYPASS неиспользуемые устройства.
rezident
Цитата(acex2 @ Apr 6 2005, 19:31)
Что касается вашей конфигурации, то она должна работать даже без дополнительных буферов и преобразователей уровней - обычная цепочка. Как я писал вышел, LPC "по барабану" стоит он в цепочке или отдельно - он даже определить не сможет в какой конфигурации он подключен. Вопрос только в ваших средствах разработки - они должны поддерживать работу устройства в цепочке, т.е. уметь определять и переводить в BYPASS неиспользуемые устройства.
*

Т.е. Вы хотите сказать, что проблема лишь в программе для отладки, которая работает с JTAG, а не в поддержке Boundary-scan test LPC2138? Ведь если он не полностью поддерживает этот стандарт, то возможно он сам не сможет в BYPASS переключаться. И тогда уже неважно первым или последним он стоит в цепочке JTAG. Программа, которая не поддерживает LPC (ICE Webpack или Xilinx Foundation) вообще не сможет "достучаться" до CPLD или FPGA. Я что-то неверно понимаю?
rezident
А вот тут мнения противоположные.
http://www.caxapa.ru/echo/arm.html?id=25250
acex2
Цитата(rezident @ Apr 6 2005, 12:04)
Т.е. Вы хотите сказать, что проблема лишь в программе для отладки, которая работает с JTAG, а не в поддержке Boundary-scan test LPC2138?


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

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


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

Цитата(rezident @ Apr 6 2005, 12:04)
А вот тут мнения противоположные.
http://www.caxapa.ru/echo/arm.html?id=25250


Не желая никого обидеть, это как раз тот случай с теоретиками из вашего предыдущего поста, которые даже manual читать не хотят wink.gif
rezident
acex2, большое спасибо за консультацию, но все же хочется быть уверенным на 100% smile.gif Может кто-либо из практиков наконец соблаговолит дать конкретный ответ из практики каскадирования LPC. Вдруг и вправду у Филипса сырой продукт получился и он решил сэкономить на BYPASS этого ARMа. Не нравятся мне эти недоговорки и недописки sad.gif И мануалы похоже пишут сами пользователи LPC и только потом Филипс их на свой сайт выкладывает. Можно и такие выводы сделать, раз даже поиск мануалов на сайте Philips ведет к форуму на Яхе http://groups.yahoo.com/group/lpc2000/ cranky.gif
rezident
Цитата(nameless @ Apr 6 2005, 11:42)
И еще: дядя SM каскадировал ARM c кем-то там (см. форум Телесистем) и CCS в этом ему помог....
*

Информация. SM работал с TMS320VC5509A и EPXA1F484C3 в одной цепочке. Второй кристалл от Altera это ARM9 вместе с FPGA. У него есть особенность, что ARM и FPGA могут быть как в одной цепочке так и на раздельных JTAGах. SM использовал среду CodeComposer Studio для OMAP. Так что тут все понятно.
А вот мой вопрос про LPC2000 остается недопонятым или даже непонятным cranky.gif
d__
Имеет место недопонимание того фактора, что ЛПЦ построен на базе ядра 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
Ну я вчера пробовал намекать на это но мое послание почему-то было уничтожено...
alexf
Цитата(d__ @ Apr 7 2005, 00:06)
Имеет место недопонимание того фактора, что ЛПЦ построен на базе ядра ARM7TDMI от фирмы ARM Limited.


Еще добавлю что команда BYPASS обязательна для любого JTAG устройства.
И кстати всегда состоит из одних единиц, так что неизвестное устройство тоже переведется в BYPASS когда со входа сдвигаются "1111111....1".
Наблюдая когда появится "1" на выходе можно определить общюю длинну цепи командных регистров.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.