Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование Actel
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
GGGG
Здравствуйте!

Как запрограммировать Actel (например APA1000) не используя ПО (т.е. проект,отладку и формирование STAPL файла сделать в ПО Actel, НО не используя FlashPro или ПК для загонки программы в ПЛИС) и аппаратные средства самой Actel(FlashPro, Silicon Sculptor and etc.) ?

Нужно сделать перепрограммируемый управляемый модуль на ПЛИС Actel. Хотелось бы, чтобы было два блока - первый выполнял две функции:
- программирование второго блока (АРА1000)
- обработка результатов и формирование выходных сигналов в соответсвии с протоколом.
- второй:
- работал в соответствии с записанной в него программой.

Особенность состоит в том, что программироваться он должен дистанционно, т.е. по команде управления, пришедшей в первый блок.

Если я правильно понимаю, то начать надо с изучения протокола инициализации и программирования ПЛИСины, только где найти такое описание? Может кто-нибудь что-нибудь подскажет?

Спасибо.
Rob
У астела немного описано здесь
http://www.actel.com/documents/APA_Microprocessor_AN.pdf
http://www.actel.com/documents/ISP_STAPL_AN.pdf
Stapl проигрыватель в принципе работает, в свое время пытались сделать что то подобное
но к сожалению от идеи пришлось отказаться, так как если во время програмирования летит питание - Актелина напрочь накрывается. А размеры устройства не позоляли вставить резервное питание.
Но если потратить неделю - то все можно сделать. Код немного корявый - но шлифуется напильником очень легко.
GGGG
Спасибо, Rob !

Цитата(Rob @ Nov 30 2005, 15:22) *
Stapl проигрыватель в принципе работает, в свое время пытались сделать что то подобное
но к сожалению от идеи пришлось отказаться, так как если во время програмирования летит питание - Актелина напрочь накрывается. А размеры устройства не позоляли вставить резервное питание.

Но если потратить неделю - то все можно сделать. Код немного корявый - но шлифуется напильником очень легко.


Хм.., не понял причем здесь питание и в каком случае оно накрываеться (считаеться что все работает штатно и "бобры" провода питания не перегрызают во время прожига smile.gif )

Непонятно про код.... какой именно?

Интересует еще протокол JTAG для разных семейств Actel. он чем-нибудь различаеться?

И еще куча всего про автономный прожиг ProASICPlus и Axelerator, но все постепенно......
Rob
>Хм.., не понял причем здесь питание и в каком случае оно накрываеться (считаеться что все работает штатно и "бобры" провода питания не перегрызают во время прожига )
А простой техник может выдернуть кабель на самом интересном моменте и убить одних FPGA на десять штук
Покупатели были очень потрясены этой демонстрацией у них в лаборатории, и сняли эту фичу из ТЗ, правда заплатив за нее по полной.


>Непонятно про код.... какой именно?
STAPL player - у них ссылка на сайте где то валяется на него. Дается в исходных кодах. Прилепливается при желании к любому процессору.
Но требуется время все понять. Дизайнер может делать STAPL файлы, это текстовый файл с инструкциями что делать плееру.
http://www.actel.com/custsup/updates/stapl/stapl11.html

> Интересует еще протокол JTAG для разных семейств Actel. он чем-нибудь различаеться?
Да - на flash он другой, кроме того там и JTAG кривой. В 42МХ например через JTAG можно подсматривать что творится внутри, а у ProAsica только заливать прогу.
GGGG
a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif a14.gif
И не просто так! Ваши посты меня реально обнадежили на возможность решения моей глобальной задачи.

Огромное спасибо, буду копать.

П.С. До этого я у многих людей, работающих с Аctel не первый год, спрашивал про JTAG код STAPL и т.д. все мне сказали что это "мертвая" затея т.к. много белых пятен.

Если все получиться с меня исходники и максимально полный мануал! smile.gif
Rob
Белых пятен было много вначале, когда они только анонсировали эту технологию. Первая версия плееера была глюк на глюке , но после нескольких бутылок пива можно было все понять и заставить работу. Я например умудрился запрограмировать прототип с первого раза и поимел проблемы только потом когда с внешних источников переключился на внутренние. Те источники что они предлагают для плюса минуса у меня чего то мудрили, в конце концов я нарисовал простой нестабилизированный +/- 20В прогнал через линейные регуляторы до нужных уровней и запитал его с отдельных ножек разьема, чтобы случайно не включилось. Идея перепрограммирования по месту сама по себе хорошая, потому что засунул блочок куда нибудь в крыло - замуровал, и потом как заказчик мудреет - перепрошиваешь. Главная проблема то что надо четко оговаривать процедуру и предупреждать заказчика, что будет если ее нарушить. С другой стороны, если покупателя потрясти как следует - то он за рюмкой чая cheers.gif может сам рассказать, что ему понадобится в течении ближайших сорока лет - и запихнуть это может быть проще чем установка отдельного процессора с обвязкой, особенно если места не хватает.
В общем ничего особо страшного в перепрошивке на месте нет, надо только сесть и подумать крепко. Я делал это два года назад - и это работало.
Процессор был 80188 - с мегабайтной флашкой (на писишке было проще отлаживаться).
Надо обратить внимание на TCK и RCK - в доке все написано, мой опыт показывет что лучше поставить отдельный кварц на RCK , чем перепаивать актелины.
То что они рекомендует на питание - не истина в последней инстанции, можно и получше сделать.
Удачи
alexdsp
GGGG
Вот, посмотри. Это мой программатор. У меня работал(я перестал заниматься актелом) очень хорошо. Не сожжено ни одной! микросхемы.
Делал когда-то, когда с актелом возился
Смотреть до конца.
Успехов
GGGG
Цитата(alexdsp @ Dec 2 2005, 00:07) *
GGGG
Вот, посмотри. Это мой программатор. У меня работал(я перестал заниматься актелом) очень хорошо. Не сожжено ни одной! микросхемы.
Делал когда-то, когда с актелом возился
Смотреть до конца.
Успехов


Уже smile.gif , спасибо видел. Оценил. Только идея еще и состоит в том, чтобы использовать свой плеер.
Т.е. на компе производиться разработка и дальнейшая модернизация проекта и производство STAPL или Bitsream файла. Инфа из этого файла загоняеться во внешнюю память девайса в котором смтоит ПЛИС, а далее хитрыми шаманскими приемами прожигаеться ПЛИС. Т.е. задача состоит еще и в том, чтобы разобраться как и в каком формате подавать на вход программатора (например, который сделал alexdsp) данные из stp или bitstream файла. Если я все усложнаю, так и скажите. Буду рад любому мнению.
alexdsp
GGGG
Смысл проблемы я понял.
С одной стороны - как делать, понятно. С другой - поморочитсья придётся немало.
На мой взгляд, надо просто портировать STAPL плейер на ваш чудо-девайс. Но "просто" - это звучит слишком просто. Плейер большой и как он будет работать в эмбеддед системе, это ещё повозиться придётся. Но в общем-то ничего непреодолимого нет. Исходники вполне читаемые, разобраться можно. По крайней мере с той задачей, которую я себе ставил, я разобрался.
Я не работал с битстримом. Я работал с текстовым STAPL. Реально, внутри него, по сути, содержиться свой упакованный битстрим, так что проблемы объёма прошивки не возникает.
То есть, вам придётся переписать в STAPL плейере функции чтения и позиционирования самого STAPL файла (который уже якобы находится у вас в железке) и переписать манипуляцию выводами JTAG интерфейса. Ну и по мелочам ещё, например всякий вывод на дисплей, убрать командную строку(она вам не нужна) и т. д.
Так что, я думаю, если очень надо, то разобраться толковому человеку несложно будет.
Удачи.
GGGG
Цитата(alexdsp @ Dec 2 2005, 14:49) *
С одной стороны - как делать, понятно. С другой - поморочитсья придётся немало.
На мой взгляд, надо просто портировать STAPL плейер на ваш чудо-девайс. Но "просто" - это звучит слишком просто. Плейер большой и как он будет работать в эмбеддед системе, это ещё повозиться придётся.

Что означает "портировать"? huh.gif По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС. Получается надо "портировать" STAPL плейер туда же? Плохо представляю этот процесс, если можно поподробнее.

Цитата(alexdsp @ Dec 2 2005, 14:49) *
То есть, вам придётся переписать в STAPL плейере функции чтения и позиционирования самого STAPL файла (который уже якобы находится у вас в железке) и переписать манипуляцию выводами JTAG интерфейса. Ну и по мелочам ещё, например всякий вывод на дисплей, убрать командную строку(она вам не нужна) и т. д.
Так что, я думаю, если очень надо, то разобраться толковому человеку несложно будет.
Удачи.


Как я понял надо "разобрать" на части плейер и отдельные его куски пихать в ПЛИС..... полазил по инету и родному сайту, к своему разочерованию не нашел подробной инфы на STAPL плейр, а исходников тем более.

Для себя выяснил, что STAPL плейер - это определенный стандарт:
Standard Test and Programming Language разработан JEDEC
стандарт JESD71
, а Actel его применила для серии ProASICPlus.

Но так и не нашел ни каких исходников или какой-либо конкретной инфы, в которой описывалсяалгоритм работы STAPL плейера, если кто что-то конкретное знает или у него есть материалы, примеры и т.д. поделитесь пожалуйста.

Спасибо, GGGG.
Rob
Цитата
Что означает "портировать"? По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС.

Я надеюсь это не подразумевает перепрограммирование FPGA самой FPGA ohmy.gif . Или же речь идет о двух отдельных девайсах для программирования друг друга. Но даже программирование без отдельного микропроцессора это задача для настоящего джедая. У меня знакомый убил месяц на это дело. В общем, как я понял задача решаемая при наличии неограниченного количества времени.
Самое сложное в этой задаче организовать polling, который на микропроцессоре делается очень легко, но железе требует определенных затрат. Его идея была в следущем
делается FPGA на 42MX, STAPL конвертится в специальный микрокод, по 232 интерфейсу загоняется код во флэшку, и потом команде вливается в актелину. Расход ресурсов (цена, площадь, обьем флешки) оказался настолько велик, что проект был убит после первого успешного програмиирования.
Кстати - если речь идет о микроконтроллере в системе - то почему бы не вытащить его из FPGA в отдельный готовый чип и не дать ему общественное поручение программировать актелину по просьбе общественности.
GGGG
Цитата(Rob @ Dec 5 2005, 13:31) *
Что означает "портировать"? По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС.
Я надеюсь это не подразумевает перепрограммирование FPGA самой FPGA ohmy.gif . Или же речь идет о двух отдельных девайсах для программирования друг друга.

Нет, сама себя она этого сделать не сможет принципиально. Ставяться 2-е отдельные ПЛИС, одна из которых должна выполнять роль STAPL плейера+JTAG конвертер+программатора.
Цитата(Rob @ Dec 5 2005, 13:31) *
Но даже программирование без отдельного микропроцессора это задача для настоящего джедая. У меня знакомый убил месяц на это дело. В общем, как я понял задача решаемая при наличии неограниченного количества времени.

Месяц... это даже очень оптимистичный прогноз, если друг поделится этим опытом с другими я ему буду очень признателен, дабы сэкономить кучу времени и ложных путей решения задачи.
Цитата(Rob @ Dec 5 2005, 13:31) *
Самое сложное в этой задаче организовать polling, который на микропроцессоре делается очень легко, но железе требует определенных затрат. Его идея была в следущем
делается FPGA на 42MX, STAPL конвертится в специальный микрокод, по 232 интерфейсу загоняется код во флэшку, и потом команде вливается в актелину.

Плиз, расшифруйте, что Вы подрузумеваете под выражением "polling", "портировать" и т.д.
Цитата(Rob @ Dec 5 2005, 13:31) *
Расход ресурсов (цена, площадь, обьем флешки) оказался настолько велик, что проект был убит после первого успешного програмиирования.
Кстати - если речь идет о микроконтроллере в системе - то почему бы не вытащить его из FPGA в отдельный готовый чип и не дать ему общественное поручение программировать актелину по просьбе общественности.

Было бы здорово его вытащить, но все равно его придеться учить "читать" STAPL формат и загонять все это в ПЛИС по определенному, Actelовскому протоколу и с кодированием их комманд.
А полной инфы по этому вопросу я пока не достал. sad.gif sad.gif sad.gif
alexdsp
GGGG

Делать надо так.
У вас есть Actel FPGA, и есть в системе микроконтроллер. Если нет, то ПРИДЁТСЯ добавить. На плис вы эту задачу всё равно не решите. Благо микроконтроллеры нынче дешевле любой мало-мальски объёмной плис.
В микроконтроллере "зашит" портированный STAPL плейер. Микроконтроллер по какому-то интерфейсу (RS232, USB и т.д.) принимает предварительно созданный STAPL файл, обрабатывает его, и через JTAG, посредством "дёрганья" своих ножек загружает в FPGA.
Исходные тексты STAPL плейера доступны на сайте Actel в полном объёме. Я в своё время бодался с их саппортом, нашёл там кучу глюков, сам же их пофиксил, а они потом эти фиксы включили в стабильный релиз.
Исходники вполне читабельные. Берёте их, изучаете, меняете функции ввода-вывода, возможно оптимизируете под конкретный микроконтроллер, так как (как правильно заметил Rob) код получается довольно объёмным. Вроде всё. Не знаю, что тут ещё можно придумать, по моему - всё очевидно.

У меня плейер был на PC и прошивал плис через байтбластер. По крайней мере, у меня никаких особых проблем (за ислючением глюков в самом алгоритме плейера) не возникло. Микросхемы и стирались и прошивались и верифицировались и всё остальное тоже.

Удачи
GGGG
Ребят, все это конечно хорошо, но что вы подрузумеваете под потрированием STAPL плейера в МК?
Я итак прекрасно представляю как это сделать на ПК, как свой STAPL написать, только загвоздка заключается в том, что я не знаю что из себя в электронном виде представляет последовательный код той или иной операции (команды). Если для вас это очевидно, то мне пока нет. Подчеркиваю ПОКА. На сайте Actela кроме PDF ни чего нет. В PDF не написано какой код надо подать и сколько раз надо посчитать пришедшие импульси и т.п.
НУ нет у меня ПК и МК, запрограммированного как STAPL плейер с определенной системой команд в моей системе.

Я надеюсь вы понимаете что по сути надо не просто HEX зангнать, но и представить его в определлном виде в соответсвии сначала с:
1. STAPL
2. JESD71
3. JTAG
4. Загнать это в ПЛИС.

Я понимаю если бы вы мне сказали:
1. Выставляешь clock на pin 121452 (к примеру) и подаешь меандр 5 мкс.
2. На TDI посылаешь (длительность такая-то) 11010100011001.
3. Куришь 5 мкс
4. Смотришь что с TDO пришло.

Я бы понял что к чему, а то сорри народ вы просто отсылаете к "общим законам" типа "Боже мой, я где? К черту подробности, в каком я городе?"

Либо я не понимаю куда вы меня посылаете, либо я тупо объяснаю в чем грабли.

P.S. Ни на кого не наезжаю и не хочу и/или хотел обидить, просто чесное слово все что выше написано уже понято, а на поставленные вопросы ответов все равно нет.

С уважением и огромной благодарностью ко всем, GGGG.
vetal
Цитата
1. Выставляешь clock на pin 121452 (к примеру) и подаешь меандр 5 мкс.
2. На TDI посылаешь (длительность такая-то) 11010100011001.
3. Куришь 5 мкс
4. Смотришь что с TDO пришло.


Это как раз и делает STAPL плейер.
Файл для него содержит микропрограмму-алгоритм программирования и верификации микросхемы+ данные, необходимые для этого.
Все это генерируется автоматом.

Для портирования берете микроконтроллер с ц-компилятором и исходники на плейер. Модифицируете функции работы с jtag. Запускаете это чудо.

Если вы все еще хотите запихать это в плис, то самый простой способ- запихать в нее авр или 51, и пользуясь стандартными средствами разработки по реализовать плеер.
GGGG
Цитата(vetal @ Dec 6 2005, 17:08) *
Цитата
1. Выставляешь clock на pin 121452 (к примеру) и подаешь меандр 5 мкс.
2. На TDI посылаешь (длительность такая-то) 11010100011001.
3. Куришь 5 мкс
4. Смотришь что с TDO пришло.


Это как раз и делает STAPL плейер.
Файл для него содержит микропрограмму-алгоритм программирования и верификации микросхемы+ данные, необходимые для этого.
Все это генерируется автоматом.

Для портирования берете микроконтроллер с ц-компилятором и исходники на плейер. Модифицируете функции работы с jtag. Запускаете это чудо.

Если вы все еще хотите запихать это в плис, то самый простой способ- запихать в нее авр или 51, и пользуясь стандартными средствами разработки по реализовать плеер.


Vetal, спасибо за понимание.

Это я сейчас и пытаюсь реализовать.

Вот только, то что делает STAPL плейер автоматом, мне надо научить делать МК своими ручками и при этом проверять его, что он это делает правильно. Именно поэтому я ищу инфу по STAPL на уровне тех пунктиков, которые написал.
alexdsp
GGGG

Ну что я могу сказать... е-моё.. smile.gif
Повторяю ещё раз! Исходники плейера ЛЕЖАТ в свободном доступе.
На сайте Actel нужно теперь зарегистрироваться, раньше не надо было.
Ещё раз. Обновляю ссылки.
Actel. Плейер от Актел
Мой проект (там кстати и исходники плейера имеются)
Прямая ссылка на архив
Мой пост об этом всём

ТАМ есть ВСЁ что нужно. И какими ногами дёргать, и куда что загонять в какой последовательности.
Если этого не хватит, тогда уже всё.... просто больше ничего и нет в природе....
Удачи... в который раз... smile.gif
Rob
Цитата
1. Выставляешь clock на pin 121452 (к примеру) и подаешь меандр 5 мкс.
2. На TDI посылаешь (длительность такая-то) 11010100011001.
3. Куришь 5 мкс
4. Смотришь что с TDO пришло.

Ну надо было сразу сказать
Смотреть надо сюды
http://www.jedec.org/download/search/jesd71.pdf
Там как газ и написано в стиле

Цитата
The TRST statement enables the optional IEEE 1149.1 TRST pin for the specified number of TCK clock cycles and/or for a
minimum number of microseconds.


ЗЫ Мой приятель который уже однажды занимался подобными извращениями исчез до конца января, как поймаю - попытаю. Но все таки рискну присоединится к большинству - в исходниках плеера все можно понять...
FAE
А есть ли решение для программирования всех flash серий от ACTEL (A500, APA, AP3/3E, Fusion) одним устройством и через стандартный актеловский софт (FlashPro)?
Сам Актел это не может - у него 3 прграмматора для этих целей (если не считать четвертого- Силиконового Скульптора)
woodman2
Цитата(FAE @ Dec 21 2005, 17:45) *
А есть ли решение для программирования всех flash серий от ACTEL (A500, APA, AP3/3E, Fusion) одним устройством и через стандартный актеловский софт (FlashPro)?
Сам Актел это не может - у него 3 прграмматора для этих целей (если не считать четвертого- Силиконового Скульптора)

Вопрос этот и меня интересует.
А может кто-то может хотя-бы прояснить ситуацию, почему Actel предлагает разные программаторы для разных серий? В чем собака зарыта?
Max-Payn
Добрый день господа smile.gif .
Очень интересная тема в данном форуме, хотя она немного старая.
Есть вопрос, кто делал программатор под серию чипов antifuse 40MX?? Появилась небольшая потребность в данном програматоре, оригинал к сожелению стоит невероятную сумму и денег на него нет... crying.gif
Andrew_
Цитата(Max-Payn @ Jun 4 2008, 14:45) *
Добрый день господа smile.gif .
Очень интересная тема в данном форуме, хотя она немного старая.
Есть вопрос, кто делал программатор под серию чипов antifuse 40MX?? Появилась небольшая потребность в данном програматоре, оригинал к сожелению стоит невероятную сумму и денег на него нет... crying.gif

Кажется, что antifuse можно считать/записать только на Актелевском программаторе. А для antifuse нужен не только программатор, но и переходная колодка, которая сама легко косарь может стоить. У нас есть Silicon Sculptor III и переходные колодки на RTAX250S в CQFP208 и AX250 PQFP208. Если найдете переходки для него - обращайтесь.

PS Если это в очередной раз считать прошивку с игровых автоматов, то там стоит бит защиты и ничего вы не считаете smile.gif
gosu-art
2 GGGG

Можно поинтересоваться чем увенчался ваш проект? Вы его реализовали?

У меня наподобие задача!! нужно процессором OMAP->ISA->ProASIC3L (ISA->JTAG)->прошивать ProASIC3L!!! есть немного вопросов:

1. Какой из вариантов проще реализовать: STAPL или DirectC ?
2. Много ли нужно пилить в исходниках STAPLа? Хотя бы ключевые моменты!
3. Можно ли такими экспериментами запороть прошиваемую ПЛИСину?

FAE_SKV
Цитата(Andrew_ @ Jun 6 2008, 15:36) *
Кажется, что antifuse можно считать/записать только на Актелевском программаторе. А для antifuse нужен не только программатор, но и переходная колодка, которая сама легко косарь может стоить. У нас есть Silicon Sculptor III и переходные колодки на RTAX250S в CQFP208 и AX250 PQFP208. Если найдете переходки для него - обращайтесь.

PS Если это в очередной раз считать прошивку с игровых автоматов, то там стоит бит защиты и ничего вы не считаете sm.gif


Antifuse через JTAG не запрограммировать. Это однозначно!

Цитата(gosu-art @ Jan 30 2011, 22:29) *
2 GGGG

Можно поинтересоваться чем увенчался ваш проект? Вы его реализовали?

У меня наподобие задача!! нужно процессором OMAP->ISA->ProASIC3L (ISA->JTAG)->прошивать ProASIC3L!!! есть немного вопросов:

1. Какой из вариантов проще реализовать: STAPL или DirectC ?
2. Много ли нужно пилить в исходниках STAPLа? Хотя бы ключевые моменты!
3. Можно ли такими экспериментами запороть прошиваемую ПЛИСину?


STAPL -это только JTAG плеер. DirectC - это код программы который включает в себя уже STAPL. Это готовая продпрограмма для процессора для программирования ПЛИС. Запороть ПЛИС ProASICPlus гораздо проще, чем ProASIC3, IGLOO, Fusion, но все равно надо постараться. Последние семейства сделаны достаточно вандалоустойчивыми.

gosu-art
Если я использую DirectC, то когда я заливаю новую прошивку, то придется ее заливать вместе с перекомпилированной прогой?? или же мона тока подсунуть новый файл .stp (как для STAPL плеера)!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.