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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Cтранные вещи с AT91SAM7S256, 3 одинаковых устройства работают по разному
sloth
сообщение Dec 12 2009, 00:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Наблюдаю очень странное явление. Есть 3 совершенно одинаковые платы (Кроме первой), в них залит один и тот же бинарник, устройство читает SD карточку и держит связь по UART с другим устройством. Так вот, теперь о каждой:
1. Отличие от остальных: стоит чип ревизии А (на 2 и 3 - ревизия B ). Работает идеально, прошла все стресс тесты.
2. Работает нормально, но при сильных помехах по питанию виснет, но перезагружается ватчдогом.
3. Запускается через раз, причем всегда по-разному, работает 30 секунд, потом отваливается UART, но по моргающему светодиоду видно, что проц не завис.

Сразу скажу что 2 и 3 паялись не очень аккуратно и могли перегреться, хотя в своей практике никогда такого не встречал.
Питание реализовано на LM2734YMK (импульсник), на выходе тантал на 470 мкФ, остальные емкости в точном соответствии с даташитом.
Надо спаять еще 20 устройств, лежит упаковка чипов ревизии B. Что делать - не знаю. Слышал что ревизия B довольно проблемная в плане питания. В принципе второй девайс более менее устраивает, но вот что с 3 - непонятно.
Может китайские подделки? Кто-нибудь сталкивался?
Это мой первый проект на арм, уже сто раз пожалел что выбрал этот проц.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 12 2009, 01:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sloth @ Dec 12 2009, 03:35) *
Питание реализовано на LM2734YMK (импульсник), на выходе тантал на 470 мкФ, остальные емкости в точном соответствии с даташитом.

А скорость нарастания питания ядра соответствует даташиту?

Цитата(sloth @ Dec 12 2009, 03:35) *
Может китайские подделки? Кто-нибудь сталкивался?

Не думаю, что виноваты процессоры.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 12 2009, 06:37
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(sloth @ Dec 12 2009, 05:35) *
... уже сто раз пожалел что выбрал этот проц.

Первое падение с велика? Жалеть не надо! Если не сдадитесь, то научитесь отжигать и великах, и на Харлейях, и на <вставить по желанию>. Главное не ныть и не сдавваться.

Дросселек по питанию 10-100 мкГ после тантала не пробовали ставить? Шины земли и питалова у Вас разведены по "науке" или как бог на душу поклал? Ноги питания проца обвешены близко расположенной керамикой? На выходе +1.8В тантал + керамика? Есть неиспользуемые лапы проца, которые сконфигурированы на вход и оставлены ввоздухе?

Извините за дурацкие вопросы. Гадать, что там у Вас на плате, очень сложно.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 12 2009, 10:24
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Цитата(aaarrr @ Dec 12 2009, 06:07) *
А скорость нарастания питания ядра соответствует даташиту?

Если бы я мог это проверить. К сожалению, нечем.

Цитата(zhevak @ Dec 12 2009, 11:37) *
Первое падение с велика? Жалеть не надо! Если не сдадитесь, то научитесь отжигать и великах, и на Харлейях, и на <вставить по желанию>. Главное не ныть и не сдавваться.

Дросселек по питанию 10-100 мкГ после тантала не пробовали ставить? Шины земли и питалова у Вас разведены по "науке" или как бог на душу поклал? Ноги питания проца обвешены близко расположенной керамикой? На выходе +1.8В тантал + керамика? Есть неиспользуемые лапы проца, которые сконфигурированы на вход и оставлены ввоздухе?

Падение далеко не первое, изучаю в одного, без каких либо учителей и консультантов, уже более 2 месяцев, так что на собственной шкуре испытал много нюансов, уже не удивляюсь ничему smile.gif.
На выход дополнительно 1.8 повешал тантал на 10 мкФ - чип стал запускаться 1 раз из 10, но UART все также отваливался через некоторое время - убрал. Дроссель на 15 мкГ поставил в разрыв - с запуском проблем не стало, но UART все также отваливается. Шины земли и питания старался развести как считаю нужным (вроде это мнение должно совпадать с научным). Тантал по питанию сделал общей точкой - от него отдельными дорожками на флешку и на чип. Керамику старался ставить максимально ближе к чипу. Вся керамика X7R. В воздухе остались только TDO, NRST, Erase, TST (в даташите обещано что есть внутренние резисторы), все остальные ноги либо выходы, либо подтянуты резисторами.
Думаю, что в плате будет проблематично разобраться, поэтому выкладываю ее кусок.
Может быть все же стоит достать чипы ревизии А?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 12 2009, 10:42
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(sloth @ Dec 12 2009, 15:24) *
Думаю, что в плате будет проблематично разобраться, поэтому выкладываю ее кусок.

Ну, по плате вроде как вопросов нет. Единственное, что я обычно под своими тараканами (AVR, MSP430, LPC) всегда делаю, -- так это полигон земли. А так, плата как плата.

UART отваливается. А как он отваливается? Может прерывание где-нибудь теряете или обрабатываете не верно? Ведь то обстоятельство, что две платы работают, -- это еще не критерий, что косяк только на третьей плате. Где гарантия, что при определенных условиях (изменение температуры, например) на первых двух платах не вылезут те же косяки? (Только это ведь будет уже не на Вашем столе, а на объекто заказчика.) Как Ваш код отреагирует на прием "битого" пакета (или байта)?

Да, и забыл сказать! Обязательно проверьте метализацию переходов. У меня в сериях такое случается 2-3 раза на 1000 изделий (изготовляю в "Резоните"). И займите у кого-нибудь бациллоскоп на вечер, многие вопросы сразу отпадут.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 12 2009, 11:15
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Цитата(zhevak @ Dec 12 2009, 15:42) *
UART отваливается. А как он отваливается?

Пошурудю код и почитаю еррату еще, может действительно, что-то накопаю. С одним прерыванием была проблема, всроде как всё уже хорошо причесал. Кстати, платы тоже делал в резоните, обязательно пропаяю переходы.

Цитата(zhevak @ Dec 12 2009, 15:42) *
И займите у кого-нибудь бациллоскоп на вечер, многие вопросы сразу отпадут.

Уже несколько дней думаю у кого - старыми отечественными тут особо нечего ловить, а серьезной игрушки что-то ни у кого нет.
В общем, спасибо за помощь, буду дальше копать, отпишусь о достижениях.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 12 2009, 12:22
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sloth @ Dec 12 2009, 13:24) *
Если бы я мог это проверить. К сожалению, нечем.

Цитата(sloth @ Dec 12 2009, 14:15) *
Уже несколько дней думаю у кого - старыми отечественными тут особо нечего ловить, а серьезной игрушки что-то ни у кого нет.

Скорость нарастания можно проверить практически любым. А судя по описанию, она легко может не вписаться в 6V/ms.

Цитата(sloth @ Dec 12 2009, 13:24) *
Может быть все же стоит достать чипы ревизии А?

Не стоит: выборку из двух устройств с разным набором глюков никак не назовешь репрезентативной.
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 12 2009, 14:24
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Цитата(aaarrr @ Dec 12 2009, 17:22) *
Скорость нарастания можно проверить практически любым. А судя по описанию, она легко может не вписаться в 6V/ms.

Нашел где взять игрушку на понедельник. Буду смотреть. Но, если скорость нарастания будет ниже, чип просто не запуститься, но у меня то основная проблем в том что он от малейшей помехи по питанию (12 В) виснет.
Сегодня тестировал варианты 1 и 2 на объекте - 1 работает идеально, как и в лабораторных условиях, второй же оказался значительно хуже чем на столе - перезагружается по ватчдогу очень часто.
Кстати, забыл сказать, что для питания ядра использую встроенный в чип стабилизатор.

Сообщение отредактировал sloth - Dec 12 2009, 14:38
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 12 2009, 16:21
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(sloth)
Сразу скажу что 2 и 3 паялись не очень аккуратно
Может у них просто непропаяна какая-либо из ног питания или земли? Пропаяйте еще раз и попробуйте пошевелить иголкой вывод около площадки. Непропаянные шевелятся, видно глазами.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 12 2009, 22:01
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Собрал еще один дивайс, работает точно также как второй, надо третий промыть и пропаять хорошенько. Надеюсь что осциллограф покажет где собака зарыта.
Go to the top of the page
 
+Quote Post
Aquatik
сообщение Dec 13 2009, 19:15
Сообщение #11


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

Группа: Свой
Сообщений: 156
Регистрация: 24-05-05
Из: Москва
Пользователь №: 5 354



PLL используете?... Если да посмотрите цепь фильтра, что там происходит... smile3046.gif


--------------------
BST RGDS,
Aquatik...
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 13 2009, 22:02
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Еще одна версия.

Вы ведь помните, что функции стандартной библиотеки (и др.) не реентерабельны?
Не затерялись-ли у Вас где-нибудь в обработчиках прерываний их вызовы?

unsure.gif Опа?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
dch
сообщение Dec 14 2009, 02:08
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Обычный способ бороться с софтом добится неправильной работы, не на конечном приложении а на тесте, упростите софт, выкинте функционал легче станет проверять софт.
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 14 2009, 11:40
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Цитата(zhevak @ Dec 14 2009, 03:02) *
Вы ведь помните, что функции стандартной библиотеки (и др.) не реентерабельны?


Можно поподробнее, пожалуйста, не совсем понял о чем речь (может и не знал этого).

Цитата(dch @ Dec 14 2009, 07:08) *
Обычный способ бороться с софтом добится неправильной работы, не на конечном приложении а на тесте, упростите софт, выкинте функционал легче станет проверять софт.

Так и собирался делать, попробую без PLL поработать, посмотреть, потом можно и со встроенного генератора.

Потыкался осциллографом - ничего страшного не увидел, питание достаточно чистое, никаких генераций нет, скорость нарастания напряжения ядра 18 вольт/мс, напряжения 3,3 В - 3 В/мс. Может быть разводка кривая, грешу пока что больше всего на это.
Go to the top of the page
 
+Quote Post
sloth
сообщение Dec 14 2009, 14:04
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 27-07-05
Из: Сочи
Пользователь №: 7 130



Создается впечатление что проблема действительно исключительно софтварная, видимо не зря гуру электроники (владельцы осцила) меня не подпускали к нему, говоря что аппаратная часть в порядке и нечего там проверять. Отпишусь о ходе решения.

upd: Итак, после того как я позамыкал ноги кварца, вывод PLL на землю и это не повесило проц (только остановило его работу, после убирания перемычки он продолжал дальше работать), зашумил питание ядра - тоже ничего не произошло, начал ковырять все выводы, в итоге, когда дергаешь вывод, на котором висит IRQ1 - проц виснет. Заменил это прерывание на прерывание PIO по изменению уровня - все заработало. Всем большущее спасибо за помощь, вы меня очень выручили.

PS: Все таки хотелось бы поподробнее о функциях в обработчике прерывания.

Сообщение отредактировал sloth - Dec 14 2009, 15:03
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 6th July 2025 - 17:07
Рейтинг@Mail.ru


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