реклама на сайте
подробности

 
 
> клон AVRISP MKII при 1,8В-работает ли полностью (стирает ли)
bvn123
сообщение Aug 29 2013, 06:32
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Здравствуйте,


стирается ли FLASH-память ATXmega при питании 1,8В клоном AVRISP MKII на базе проекта LUFA?
кто-нибудь пробовал?

если да, прошу сообщить,
какой буфер или преобразователь уровня используется (или и то, и другое),
если можно, схему по двум линиям PDI от AT90USB162 до входов PDI ATXmega, достоверно СТИРАЮЩУЮ Flash при 1,8В
или
может, что-то подправить в исходнике LUFA? например, временные параметры для 1,8В другие?

===
проблема: при 1,8В не выполняется команда Erase Flash

сделал программатор с преобразователем уровней ADG3308

все команды выполняются при 3,3В на программируемом XMega, (Erase Flash, Erase EEPROM, Write, Read, ...)

все команды, кроме Erase Flash, выполняются при 1,8В,

при 1,8В AVR Studio 4.19 cсообщает "Erase FAILED"

провода короткие, BOD Xmega отклюен, Fuse-биты XMega заводские, внешнего кварца нет,
фильтрация по питаниям 1,8В и 5В и сами источники нормальные
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
Raven
сообщение Aug 29 2013, 17:10
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Вообще-то, у данного чипа есть команда "Chip Erase", стирающая Flash и EEPROM вместе, команды "Erase Flash" нет.
Go to the top of the page
 
+Quote Post
bvn123
сообщение Aug 29 2013, 21:14
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Цитата(Raven @ Aug 29 2013, 21:10) *
Вообще-то, у данного чипа есть команда "Chip Erase", стирающая Flash и EEPROM вместе, команды "Erase Flash" нет.

возможен выбор стирания Flash, или ее областей Application или Boot.
У меня не выполняется стирание Flash или ее областей именно при питании 1,8В на программируемом МК.
Go to the top of the page
 
+Quote Post
Raven
сообщение Aug 30 2013, 18:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



1) Состояние фьюзов можете привести (конкретно, без отсылки к default)?

2) Точно у вас на 1.8В все хорошо с генерацией клоков?

3) Можете ли проконтролировать обмен по SPI при подаче команды на стирание? Что возвращает чип? Сколько раз он опрашивается после команды? После какого промежутка времени принимается решение об отказе?
Go to the top of the page
 
+Quote Post
bvn123
сообщение Aug 31 2013, 10:01
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Цитата(Raven @ Aug 30 2013, 22:01) *
1) Состояние фьюзов можете привести (конкретно, без отсылки к default)?


Fuses программируемого ATxmega32A4U (далее-Хмега) на картинке,
Прикрепленное изображение


Цитата
2) Точно у вас на 1.8В все хорошо с генерацией клоков?


в динамике смотреть нечем,
только в статике тестером (простенькая прошивка в AT90USB162 для дергания ее линий) - уровни на линиях Хмега после преобразователя уровней ADG3308 не в дугу:
линии Хмега (от ADG3308), питание 1,8В, точнее, 1,77В
PDI_Data PDI_Clk
0В 0.33В
0.85|1.42 0.33В
0В 1.76В
0.85|1.42 1.76В

По поводу 0.85|1.42В:
если тестер (цифровой) подключен при переключении с лог.0 в лог.1, показания 0,85В,
если отключить/подключить тесетр при установившейся лог.1, показывает 1,42В,

судя по статике, уровни PDI_data более-менее,
для PDI_Clk 0,33В, соотв.лог.нулю, слишком большое

НО ПРИ ЭТОМ при 1,8В ВСЕ КОМАНДЫ, КРОМЕ ERASE (ДЛЯ ФЛЕШ), РАБОТАЮТ! Вот что смущает.
И к прохождению Erase от AVR Studio тоже нет вопросов - она при 3,3В работает
отсюда и вопрос, вынесенный в заголовок темы.

Что добавил:
оставил ADG3308 для согласования уровней по линиям PDI_Data
на линию PDI_Clk поставил буфер 74LVC07 с открытым стоком, запитал от 1,8В, резистор 10кОм на 1,8В со стока 74LVC07 и ставил, и убирал;
сигнал по линии в статике хороший - ноль чистый, при единице почти питание.

эффект один - при 3,3В ERASE работает, при 1,8В - сообщение на картинке
Прикрепленное изображение



проверил и схему с 2-мя буферами 74LVC07
Прикрепленный файл  ISPMKII.pdf ( 200.92 килобайт ) Кол-во скачиваний: 235

при работе с Хмега выдает ошибки при вызове любой команды, в т.ч. при питании 3,3В;
правда, при 3,3В по линии PDI_Data лог.1 соотв.2,33В,
по линии PDI_Clk 3,23В
для этой схемы также пробовал убирать резисторы 10кОм по линиям PDI - как по одному, так и оба,
посмотрел в статике - все передается от AT90 к Хмега и обратно, уровни согласуются,


Цитата
3) Можете ли проконтролировать обмен по SPI при подаче команды на стирание? Что возвращает чип? Сколько раз он опрашивается после команды? После какого промежутка времени принимается решение об отказе?


нет,
могу разве что исходники GCC слегка скорректировать

===
Т.к. данные туда-сюда гоняются, впечатление, что для Erase при 1,8В
либо требуются другие временные параметры (например, время, отводимое на стирание),
либо в динамике существенно больший ток при стирании - стабилизатор 1.8В по паспорту на 150мА,
либо какие-то изменения на линиях Хмега в режиме стирания, отличные от других режимов

А может в принципе не может стирать при 1,8В - некоторые серии флеш-памяти требуют повышенного напряжения для стирания
Для оригинального MKII работа при 1,8В вроде предусматривается,
но я не встретил информации, что Хмега может стираться при 1,8В
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 1 2013, 06:47
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Похоже, XMEGA вообще не самое любимое сообществом семейство. Из-за некотторой сырости, которая до сих пор дает о себе знать. И по документации это видно. Действительно, нигде не написано, каков диапазон напряжений для операций программирования NVM памятей.

Можно предположить, что он совпадает с диапазоном operating voltages (1.6 - 3.6 V), но подозрительное молчание во всех остальных документах, кол-во errata и отзывы на AVR Freaks о семействе в целом (не говоря уже вашем случае) заставляют усомниться в этом (мягко говоря). Известный атмеловский девкит Xplain, кстати, работает на 3.3В.

Поскольку предыдущим достижением Atmel в сфере пониженного напряжения, достаточного для программирования, можно считать serial programming voltage 1.8V, то, конечно, хочется рассчитывать хотя бы на этот уровень в XMEGE. НО! Семейство имеет явно сильно перетрушенную микроархитектуру, чипы выпускаются совсем на другом тех.процессе, так что неизвестно, на что XMEGA способен.

Теперь ближе к делу. У вас промелькнуло, что на тагете VCC = 1.77V. Это может быть критичным (и в свете вышеуказанного, и вообще - даже для старых Mega; чуток не хватило - и все, не туннелируются носители в плавающий затвор). Попробуйте поднять до 1.85 V (как пример). И вообще, м.б., здорово было бы проверить программируемость для серии напряжений в диапазоне 1.8 .. 3.3V последовательным приближением (последовательным делением пополам диапазона неопределенности).
Go to the top of the page
 
+Quote Post
bvn123
сообщение Sep 1 2013, 16:45
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Спасибо за помощь,

у мега есть микросхемы с питанием 1,8..5,5В,
у хмега 1,6...3,6В
смысл использования хмега - не подбирать стабилизатор 1,8В и не делать его подстраиваемым, а использовать попавшийся - попался 1.77В

с прогрммированием Мега при 1,8В по ISP-интерфейсу было бы проще - у меня свое ПО, можно было бы временнЫе параметры при необходимости менять, получить информацию в режиме отладки при программировании, к тому же в ISP нет двунаправленных линий

времени на исследования программатора нет, разве что еще поищу информацию,

на AVRFreaks ответили, что atxmega32a4u должна программироваться от 1,6В
- она действительно программируется при 1,8В, но не стирается

попросил ссылку на док ХМега о зависимости напряжения-тока-временных параметров при стирании в службе поддержки атмел - если пришлют, может, что-то прояснится
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 2 2013, 09:34
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(bvn123 @ Sep 1 2013, 20:45) *
Спасибо за помощь,

К сожалению - пока не за что... Но тема интересна и мне - прошу вас, обязательно опубликуйте здесь ход дальнейших событий и особенно - ответ Atmel (если будет).

Цитата(bvn123 @ Sep 1 2013, 20:45) *
у мега есть микросхемы с питанием 1,8..5,5В,
у хмега 1,6...3,6В
смысл использования хмега - не подбирать стабилизатор 1,8В и не делать его подстраиваемым, а использовать попавшийся - попался 1.77В

Если регулятор у вас - это что-то 3-ногое типа нашего КРЕН5 (ну, понятное дело, что-то low-voltage, конечно, из современного), то обычно они позволяют очень простым и известным способом регулировать выходное напряжение. Если у вас импульсный преобразователь - то тоже обячно регулировка допускается. Можно было бы провести небольшое исследование по стираемости при разных напряжениях. Что у вас за источник для 1.8В (может, подскажу что-нибудь в этом направлении)?

Цитата(bvn123 @ Sep 1 2013, 20:45) *
с прогрммированием Мега при 1,8В по ISP-интерфейсу было бы проще - у меня свое ПО, можно было бы временнЫе параметры при необходимости менять, получить информацию в режиме отладки при программировании, к тому же в ISP нет двунаправленных линий

Судя по всему, так просто не получится. Придется и с напряжением тоже что-то делать. Ну, и если вы что-то более-менее универсальное делаете - то тем более. Одной комбинацией невозможно все жизненные ситуации накрыть.

Цитата(bvn123 @ Sep 1 2013, 20:45) *
времени на исследования программатора нет, разве что еще поищу информацию,

Жаль... но проверить зависимость стираемости от напряжения - это может быть не очень долго.

Цитата(bvn123 @ Sep 1 2013, 20:45) *
на AVRFreaks ответили, что atxmega32a4u должна программироваться от 1,6В
- она действительно программируется при 1,8В, но не стирается

Это уже интересно. Но надо иметь в виду, что запись и стирание - все же немного разные физически процессы, причем стирать тяжелее, так что такое сочетание вполне может иметь место. Кстати, интересно также понять, насколько плохо/хорошо не стирается - т.е. считать память и посмотреть, сколько битов осталось в 0 (ну, а если уж совсем интересно - то еще и меняют ли нули свое положение, или остаются стабильными).

Цитата(bvn123 @ Sep 1 2013, 20:45) *
попросил ссылку на док ХМега о зависимости напряжения-тока-временных параметров при стирании в службе поддержки атмел - если пришлют, может, что-то прояснится

Хорошо бы, если они вообще ответили что-то конкретно по теме. Даже без документа. Держите в курсе, пожалуйста. Вопрос интересный.
Go to the top of the page
 
+Quote Post
bvn123
сообщение Sep 2 2013, 17:26
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



Ответ службы поддержки:

"I tried with ATXmega32A4U device mounted in STK600 and tried to erase the flash at 1.8V and at 1.7V. I couldn't see any issue while erasing the flash at 1.8V and 1.7V."

по поводу электрических и временных параметров при стирании ничего не сообщили

==
оригинальный AVRISP MKII последних версий по описанию программирует устройства с питанием 1,8В,
значит, заказчик его приобретет

==
LDO для задачи рекомендуется малошумящий, AD производит их и с подстройкой, и на 1,8В

==
для отладки при программировании Мега по ISP-интерфейсу (а не ХМега по PDI),
например, ATmega168, способного работать от 1.8В,
проблем не вижу - LPT-программатор, к нему добавить согласователь уровней
отладка своего приложения позволила бы видеть, что отвечает программируемый МК, где виснет

но и необходимости не вижу - применение Меги в проекте не удобно не только из-за ее питания >=1,8В, ее линии под ISP-программирования SCK,MISO,MOSI идут и на управление другим устройством.


писать же приложение для PDI-интерфейса с целью понять, как стереть при пониженном напряжении, хлопотно,
разобраться в чужом, написанном под WinAVR, не могу
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 4 2013, 09:34
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Спасибо за информацию.

Я еще раз просмотрел на все уже написанное, и у меня, кажется, есть идеи, почему могло не работать у вас.

1) Использование level translators со встречным включением внутренних буферов (типа используемого вами ADG3308) для согласования уровней сигналов, меняющих направление передачи динамически в процессе транзакции (типа I2C или нашего PDI) - плохая идея. Это из моей практики. Возможно, что потратив приличное кол-во времени и можно было довести такое его применение до ума, но у меня такового не было. Да и вообще, схемы с ПОС по-любому склонны к самовозбуждению или "триггерному" эффекту, причем в то состояние, которое им самим показалось более логичным из-за сложившегося в какой-то момент расклада напряжений на "левой" и "правой" сторонах. Так что они у меня все равно были бы под подозрением. Для однонаправленных линий, или сигналов, направление которых определяется единожды в начале "сессии" - это пожалуйста, можно использовать на здоровье. Но не для I2C и т.п.

2) Однако порывшись в интернете, обнаружил вот такое вот решение (возможно, известное вам): USBTiny-MkII SLIM (на РадиоЛоцмане есть и русскоязычный вариант этого описания). Обратите внимание на подключение PD2, PD3 через резисторы к MAX3002 - рекомендую попробовать и вам такой подход. Ну, и остальное проверьте уж заодно. MAX2003 и ADG3308 работают по похожим принципам, поэтому если у ребят сработало - есть надежда и для вас.
Go to the top of the page
 
+Quote Post
bvn123
сообщение Sep 4 2013, 10:13
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468



все-так проверил стирание при разных напряжениях - это сработало:

для регулировки напряжения заменил на LM317
установленный на плату маломощный LDO с фиксированным напряжением 1,8В (тестер показывал 1,77В)

-при напряжении 1,8В флеш Хмега уверенно стирается
-при понижении напряжения до 1,7В программатор писал/стирал нормально, может, несколько медленнее в AVR Studio появлялся ответ "Erase OK"
-следующая установка 1,62В - стирать перестал
-поднял до 1,72В - не стирал
-при 1,75В программатор начал стирать, но сообщение "Erase OK" появлялось с явной задержкой
-при выходе на 1,8В и последующем понижении до 1,?В снова стирал нормально

проверял с ADG3308
о MAX3002 автор пишет, что МАХ выбран из-за доступности по сравнению с GTL2003 - у нас ADG дешевле и в наличии
да, МАХ по функциям и цоколевке тот же преобразователь уровня с автоопределением направления,

спасибо за ссылку на программатор с MAX3002, у меня такое же подключение резисторов - оно действительно вызывало некоторые сомнения: не подключить ли две ячейки ADG отдельно, соединив их (резисторами?) со стороны программируемого МК

Итог:
Т.к. другие команды проходят и при 1,62В, причина в cамой Flash,
вероятно, от одной хмега к другой напряжение стирания будет слегка изменяться

На рабочую плату поставлю стабилизатор с подстройкой, буду выгонять чуть более 1,8В.
При существовании фиксированных LDO на 1,8В это, хоть и небольшое, но неудобство.

Спасибо за содействие.
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 4 2013, 11:59
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



И вам спасибо - за интересное и полезное расследование. Хорошо, что все разъяснилось в конце концов.
Go to the top of the page
 
+Quote Post
Artemrxtx
сообщение Sep 18 2013, 14:14
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 16-01-13
Пользователь №: 75 215



Подскажите atxmega после выставления Lock битов уже нестирается? Или все таки должна?


Сообщение отредактировал IgorKossak - Sep 18 2013, 18:06
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016