МАРСОХОД

Open Source Hardware Project

Убить MAX

Сколько раз можно перешить EPM240?
Честно говоря я никогда не задавался этим вопросом.
Работаю с разными CPLD очень давно и не помню ни одного случая отказов программирования. С другой стороны, могу понять людей, которые сталкиваются с такими чипами впервые.
В документации на MAX-II (

) с удивлением обнаружил такую таблицу:
Количество циклов программирования Altera CPLD MAX-II

Странность здесь даже не в малом количестве циклов, а в том, что это "Maximum", хотя по логике вещей производитель был-бы обязан гарантировать хотя бы какой-нибудь "Minimum".
Тем неменее наши читатели уже неоднократно задавали нам этот вопрос.
Поиски ответа в интернете тоже не дали никаких результатов, поэтому единственное, что мы можем в этом случае сделать - это поставить практический эксперимент.

Хотя сделать правильный эксперимент довольно сложно.
Флешка чипа EPM240 размером около 8 килобайт и разбита на две части - CFM (около 7кб, для конфигурации чипа), и UFM (1кб для использования в пользовательских проектах).
Если с пользовательской UFM все чисто, туда можно записывать любую информацию, то в CFM произвольную информацию записывать нельзя. Поэтому для тестов мы взяли один из  реальных проектов, сделав для него *.mif (Memory Initialization File), состоящий из всех нулей.
Для автоматизации процесса программирования был написан такой батец:


:m0
echo 1 >>count.txt
quartus_pgm -m jtag -c USB-Blaster -o rb;max2.pof
goto n%ERRORLEVEL%
goto end
:n0
quartus_pgm -m jtag -c USB-Blaster -o pv;max2.pof
goto m%ERRORLEVEL%
:n1
:n2
:n3
:n4
:m1
:m2
:m3
:m4
:end
echo errorlevel%ERRORLEVEL% >>count.txt


В нем программатор запускается два раза. Первый раз выполняются процедуры "Erase" и "Blank-Check", второй - "Program" и "Verifi".
Если все процедуры выполнились без ошибок, то в файл count.txt
дописывается "1" и цикл повторяется. По количеству "1" в файле count.txt
можно судить о количестве выполненных циклов программирования.
Для эксперимента мы взяли произвольный "марсоход", наклеили на него отличительную метку и, 01.09.2010 в 18:30, запустили  тест.

Опасаясь, что ни мы, ни наши читатели могут не дождаться результатов,
03.09.2010 в 08:30 тест был принудительно остановлен, так и не выдав ни одной ошибки.
За 38 часов работы было выполнено 13940 ( тринадцать тысяч девятьсот сорок ) циклов программирования. После этого в нашего "мученика науки" мы зашили и протестировали несколько других проектов - все успешно заработали.

Окончательные выводы делать конечно Вам.

 

Комментарии  

+2 #4 BarsMonster 29.11.2013 02:56
При превышении допустимого количества записей - флеш/еепром память начинает быстрее "забывать" данные, меньше 25 лет.

Соответственно, после 10000 перезаписей можно наблюдать порчу данных, если подержать плату в печке (100-125-150 градусов) в течении пары часов. А то и в нормальных условиях в течении часов/дней.
0 #3 Nikolay Pastushok 20.11.2012 12:03
Спасибо ребята
Теперь то уж все понятно
Почему то я в голове "знал" что для 7000-ков 1000 циклов, а уже 3000-ки в 100 циклов. Вот сейчас просмотрел ПДФ-ку по 7000-кам:

The
devices can be reprogrammed for quick and efficient iterations during
design development and debug cycles, and can be programmed and
erased up to 100 times.

Значить про 1000 кто то когда то мне сказал у она у меня в голове засела.
А вообще то там все на своих местах, и именно максимум указан не зря, ведь микросхема не предназначалась для пере-прошивания такое количество раз, а единажды будучи сконфигурирован ной для эксплуатации в любом устройстве (хоть в бортовом компьютере пассажирского авиалайнера), и при огромном количестве перезаписей естественно потеряет рассчитанную надежность. ...
+1 #2 Anton 15.09.2010 11:54
Спасибо, познавательно. Напишите пожалуйста дату производства чипа. Может технология изменилась, а в даташите как по старинке.
Имею на своей отладочной платке CPLD epm3128. Убить за два года не смог, сделал очень много перепрошивок, точно более 200. Разве что спалил около пяти пинов. :oops:
Та же ситуация с Атмеловскими МК
0 #1 Vladimir 03.09.2010 09:40
Я так и предпологал :) помоему или забыли написать 000 или 00 :) Просто не поместилось в таблицу. У меня возникл этот вопрос когда я начал делать свою плату - когда прочитал что на 100 раз перезаписать - то я начал думать как сделать так чтобы легко менялась :) Самих чипов у меня 5 штук есть точно. A у меня есть ещё и
EPM570T100C5N. Поэтому мене было её жалко убить. И я думал куда её применить перед её "смертью" :) Так чтобы уже там и осталась с парой цыклов перезаписи...

Добавить комментарий



facebook  GitHub  YouTube  Twitter