|
Программирование Actel, без использования "родного" программатора. |
|
|
|
Nov 29 2005, 16:11
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Здравствуйте!
Как запрограммировать Actel (например APA1000) не используя ПО (т.е. проект,отладку и формирование STAPL файла сделать в ПО Actel, НО не используя FlashPro или ПК для загонки программы в ПЛИС) и аппаратные средства самой Actel(FlashPro, Silicon Sculptor and etc.) ?
Нужно сделать перепрограммируемый управляемый модуль на ПЛИС Actel. Хотелось бы, чтобы было два блока - первый выполнял две функции: - программирование второго блока (АРА1000) - обработка результатов и формирование выходных сигналов в соответсвии с протоколом. - второй: - работал в соответствии с записанной в него программой.
Особенность состоит в том, что программироваться он должен дистанционно, т.е. по команде управления, пришедшей в первый блок.
Если я правильно понимаю, то начать надо с изучения протокола инициализации и программирования ПЛИСины, только где найти такое описание? Может кто-нибудь что-нибудь подскажет?
Спасибо.
|
|
|
|
|
Nov 30 2005, 12:22
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 30-11-05
Пользователь №: 11 592

|
У астела немного описано здесь http://www.actel.com/documents/APA_Microprocessor_AN.pdfhttp://www.actel.com/documents/ISP_STAPL_AN.pdfStapl проигрыватель в принципе работает, в свое время пытались сделать что то подобное но к сожалению от идеи пришлось отказаться, так как если во время програмирования летит питание - Актелина напрочь накрывается. А размеры устройства не позоляли вставить резервное питание. Но если потратить неделю - то все можно сделать. Код немного корявый - но шлифуется напильником очень легко.
|
|
|
|
|
Nov 30 2005, 18:03
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Спасибо, Rob ! Цитата(Rob @ Nov 30 2005, 15:22)  Stapl проигрыватель в принципе работает, в свое время пытались сделать что то подобное но к сожалению от идеи пришлось отказаться, так как если во время програмирования летит питание - Актелина напрочь накрывается. А размеры устройства не позоляли вставить резервное питание.
Но если потратить неделю - то все можно сделать. Код немного корявый - но шлифуется напильником очень легко. Хм.., не понял причем здесь питание и в каком случае оно накрываеться (считаеться что все работает штатно и "бобры" провода питания не перегрызают во время прожига  ) Непонятно про код.... какой именно? Интересует еще протокол JTAG для разных семейств Actel. он чем-нибудь различаеться? И еще куча всего про автономный прожиг ProASICPlus и Axelerator, но все постепенно......
|
|
|
|
|
Nov 30 2005, 18:39
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 30-11-05
Пользователь №: 11 592

|
>Хм.., не понял причем здесь питание и в каком случае оно накрываеться (считаеться что все работает штатно и "бобры" провода питания не перегрызают во время прожига ) А простой техник может выдернуть кабель на самом интересном моменте и убить одних FPGA на десять штук Покупатели были очень потрясены этой демонстрацией у них в лаборатории, и сняли эту фичу из ТЗ, правда заплатив за нее по полной. >Непонятно про код.... какой именно? STAPL player - у них ссылка на сайте где то валяется на него. Дается в исходных кодах. Прилепливается при желании к любому процессору. Но требуется время все понять. Дизайнер может делать STAPL файлы, это текстовый файл с инструкциями что делать плееру. http://www.actel.com/custsup/updates/stapl/stapl11.html> Интересует еще протокол JTAG для разных семейств Actel. он чем-нибудь различаеться? Да - на flash он другой, кроме того там и JTAG кривой. В 42МХ например через JTAG можно подсматривать что творится внутри, а у ProAsica только заливать прогу.
|
|
|
|
|
Dec 1 2005, 09:12
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 30-11-05
Пользователь №: 11 592

|
Белых пятен было много вначале, когда они только анонсировали эту технологию. Первая версия плееера была глюк на глюке , но после нескольких бутылок пива можно было все понять и заставить работу. Я например умудрился запрограмировать прототип с первого раза и поимел проблемы только потом когда с внешних источников переключился на внутренние. Те источники что они предлагают для плюса минуса у меня чего то мудрили, в конце концов я нарисовал простой нестабилизированный +/- 20В прогнал через линейные регуляторы до нужных уровней и запитал его с отдельных ножек разьема, чтобы случайно не включилось. Идея перепрограммирования по месту сама по себе хорошая, потому что засунул блочок куда нибудь в крыло - замуровал, и потом как заказчик мудреет - перепрошиваешь. Главная проблема то что надо четко оговаривать процедуру и предупреждать заказчика, что будет если ее нарушить. С другой стороны, если покупателя потрясти как следует - то он за рюмкой чая  может сам рассказать, что ему понадобится в течении ближайших сорока лет - и запихнуть это может быть проще чем установка отдельного процессора с обвязкой, особенно если места не хватает. В общем ничего особо страшного в перепрошивке на месте нет, надо только сесть и подумать крепко. Я делал это два года назад - и это работало. Процессор был 80188 - с мегабайтной флашкой (на писишке было проще отлаживаться). Надо обратить внимание на TCK и RCK - в доке все написано, мой опыт показывет что лучше поставить отдельный кварц на RCK , чем перепаивать актелины. То что они рекомендует на питание - не истина в последней инстанции, можно и получше сделать. Удачи
|
|
|
|
|
Dec 1 2005, 21:07
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
GGGG Вот, посмотри. Это мой программатор. У меня работал(я перестал заниматься актелом) очень хорошо. Не сожжено ни одной! микросхемы. Делал когда-то, когда с актелом возилсяСмотреть до конца. Успехов
|
|
|
|
|
Dec 2 2005, 06:03
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Цитата(alexdsp @ Dec 2 2005, 00:07)  GGGG Вот, посмотри. Это мой программатор. У меня работал(я перестал заниматься актелом) очень хорошо. Не сожжено ни одной! микросхемы. Делал когда-то, когда с актелом возилсяСмотреть до конца. Успехов Уже  , спасибо видел. Оценил. Только идея еще и состоит в том, чтобы использовать свой плеер. Т.е. на компе производиться разработка и дальнейшая модернизация проекта и производство STAPL или Bitsream файла. Инфа из этого файла загоняеться во внешнюю память девайса в котором смтоит ПЛИС, а далее хитрыми шаманскими приемами прожигаеться ПЛИС. Т.е. задача состоит еще и в том, чтобы разобраться как и в каком формате подавать на вход программатора (например, который сделал alexdsp) данные из stp или bitstream файла. Если я все усложнаю, так и скажите. Буду рад любому мнению.
|
|
|
|
|
Dec 2 2005, 11:49
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
GGGG Смысл проблемы я понял. С одной стороны - как делать, понятно. С другой - поморочитсья придётся немало. На мой взгляд, надо просто портировать STAPL плейер на ваш чудо-девайс. Но "просто" - это звучит слишком просто. Плейер большой и как он будет работать в эмбеддед системе, это ещё повозиться придётся. Но в общем-то ничего непреодолимого нет. Исходники вполне читаемые, разобраться можно. По крайней мере с той задачей, которую я себе ставил, я разобрался. Я не работал с битстримом. Я работал с текстовым STAPL. Реально, внутри него, по сути, содержиться свой упакованный битстрим, так что проблемы объёма прошивки не возникает. То есть, вам придётся переписать в STAPL плейере функции чтения и позиционирования самого STAPL файла (который уже якобы находится у вас в железке) и переписать манипуляцию выводами JTAG интерфейса. Ну и по мелочам ещё, например всякий вывод на дисплей, убрать командную строку(она вам не нужна) и т. д. Так что, я думаю, если очень надо, то разобраться толковому человеку несложно будет. Удачи.
|
|
|
|
|
Dec 5 2005, 09:04
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Цитата(alexdsp @ Dec 2 2005, 14:49)  С одной стороны - как делать, понятно. С другой - поморочитсья придётся немало. На мой взгляд, надо просто портировать STAPL плейер на ваш чудо-девайс. Но "просто" - это звучит слишком просто. Плейер большой и как он будет работать в эмбеддед системе, это ещё повозиться придётся. Что означает "портировать"?  По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС. Получается надо "портировать" STAPL плейер туда же? Плохо представляю этот процесс, если можно поподробнее. Цитата(alexdsp @ Dec 2 2005, 14:49)  То есть, вам придётся переписать в STAPL плейере функции чтения и позиционирования самого STAPL файла (который уже якобы находится у вас в железке) и переписать манипуляцию выводами JTAG интерфейса. Ну и по мелочам ещё, например всякий вывод на дисплей, убрать командную строку(она вам не нужна) и т. д. Так что, я думаю, если очень надо, то разобраться толковому человеку несложно будет. Удачи. Как я понял надо "разобрать" на части плейер и отдельные его куски пихать в ПЛИС..... полазил по инету и родному сайту, к своему разочерованию не нашел подробной инфы на STAPL плейр, а исходников тем более. Для себя выяснил, что STAPL плейер - это определенный стандарт: Standard Test and Programming Language разработан JEDEC стандарт JESD71, а Actel его применила для серии ProASICPlus. Но так и не нашел ни каких исходников или какой-либо конкретной инфы, в которой описывалсяалгоритм работы STAPL плейера, если кто что-то конкретное знает или у него есть материалы, примеры и т.д. поделитесь пожалуйста. Спасибо, GGGG.
|
|
|
|
|
Dec 5 2005, 10:31
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 30-11-05
Пользователь №: 11 592

|
Цитата Что означает "портировать"? По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС. Я надеюсь это не подразумевает перепрограммирование FPGA самой FPGA  . Или же речь идет о двух отдельных девайсах для программирования друг друга. Но даже программирование без отдельного микропроцессора это задача для настоящего джедая. У меня знакомый убил месяц на это дело. В общем, как я понял задача решаемая при наличии неограниченного количества времени. Самое сложное в этой задаче организовать polling, который на микропроцессоре делается очень легко, но железе требует определенных затрат. Его идея была в следущем делается FPGA на 42MX, STAPL конвертится в специальный микрокод, по 232 интерфейсу загоняется код во флэшку, и потом команде вливается в актелину. Расход ресурсов (цена, площадь, обьем флешки) оказался настолько велик, что проект был убит после первого успешного програмиирования. Кстати - если речь идет о микроконтроллере в системе - то почему бы не вытащить его из FPGA в отдельный готовый чип и не дать ему общественное поручение программировать актелину по просьбе общественности.
|
|
|
|
|
Dec 5 2005, 18:58
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Цитата(Rob @ Dec 5 2005, 13:31)  Что означает "портировать"? По идеи, хотелось бы запихнуть "программатор" тоже в ПЛИС. Я надеюсь это не подразумевает перепрограммирование FPGA самой FPGA  . Или же речь идет о двух отдельных девайсах для программирования друг друга. Нет, сама себя она этого сделать не сможет принципиально. Ставяться 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овскому протоколу и с кодированием их комманд. А полной инфы по этому вопросу я пока не достал.
|
|
|
|
|
Dec 6 2005, 11:03
|

Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 22-10-04
Из: Moscow
Пользователь №: 954

|
GGGG
Делать надо так. У вас есть Actel FPGA, и есть в системе микроконтроллер. Если нет, то ПРИДЁТСЯ добавить. На плис вы эту задачу всё равно не решите. Благо микроконтроллеры нынче дешевле любой мало-мальски объёмной плис. В микроконтроллере "зашит" портированный STAPL плейер. Микроконтроллер по какому-то интерфейсу (RS232, USB и т.д.) принимает предварительно созданный STAPL файл, обрабатывает его, и через JTAG, посредством "дёрганья" своих ножек загружает в FPGA. Исходные тексты STAPL плейера доступны на сайте Actel в полном объёме. Я в своё время бодался с их саппортом, нашёл там кучу глюков, сам же их пофиксил, а они потом эти фиксы включили в стабильный релиз. Исходники вполне читабельные. Берёте их, изучаете, меняете функции ввода-вывода, возможно оптимизируете под конкретный микроконтроллер, так как (как правильно заметил Rob) код получается довольно объёмным. Вроде всё. Не знаю, что тут ещё можно придумать, по моему - всё очевидно.
У меня плейер был на PC и прошивал плис через байтбластер. По крайней мере, у меня никаких особых проблем (за ислючением глюков в самом алгоритме плейера) не возникло. Микросхемы и стирались и прошивались и верифицировались и всё остальное тоже.
Удачи
|
|
|
|
|
Dec 6 2005, 13:43
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 25-11-05
Пользователь №: 11 370

|
Ребят, все это конечно хорошо, но что вы подрузумеваете под потрированием 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.
|
|
|
|
|
Dec 6 2005, 14:08
|

Гуру
     
Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553

|
Цитата 1. Выставляешь clock на pin 121452 (к примеру) и подаешь меандр 5 мкс. 2. На TDI посылаешь (длительность такая-то) 11010100011001. 3. Куришь 5 мкс 4. Смотришь что с TDO пришло. Это как раз и делает STAPL плейер. Файл для него содержит микропрограмму-алгоритм программирования и верификации микросхемы+ данные, необходимые для этого. Все это генерируется автоматом. Для портирования берете микроконтроллер с ц-компилятором и исходники на плейер. Модифицируете функции работы с jtag. Запускаете это чудо. Если вы все еще хотите запихать это в плис, то самый простой способ- запихать в нее авр или 51, и пользуясь стандартными средствами разработки по реализовать плеер.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|