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

 
 
 
Reply to this topicStart new topic
> Сбои в работе UART на чипе F2618
Pavel V.
сообщение Oct 16 2010, 14:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



На днях столкнулся со странной неисправностью.

Дано: 4 одинаковых платы на контроллере MSP430F2618. Плата подключается к компьютеру через COM-порт, в качестве преобразователя уровней на плате установлена MAX3232. Прошивка везде одинаковая, компьютер и софт тоже одни и те же.

3 платы работают без вопросов, одна же вытворяет чудеса. А конкретно - через какое-то время она перестает отвечать по UART.
Модуль UART тактируется от SMCLK (ВЧ кварц на 11.0592 МГц).

При первых разборках оказалось, что срывается генерация на ВЧ кварце, пробовал менять кварц - не помогает.

Тогда переделал прошивку на работу от DCO, который калибруется по НЧ генератору на часовом кварце. Первый запуск - полет нормальный, UART работает. Прошло пару часов.. Такая же хрень! Процессор перестал отвечать.

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

Загнать процессор в этот зависон удавалось многократно в течение дня, в том числе под отладчиком. При дебаге выяснилось, что в таком состоянии, прерывание по приему байта происходит, однако, принимается мусор (0xFF).

Но и это еще не все, я взял сбойную плату на выходные домой. На текущий момент она отработала уже 8 часов, но ситуация пока не повторяется..

Уже не знаю что делать, прибор ответственный, зависание должно быть исключено.
Монтаж качественный - паял сам и очень аккуратно.

Осциллографа, к сожалению, нет. Хотя он бы мне очень помог..


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 16 2010, 14:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Для начала нужно выяснить, аппаратные это проблемы или программные?
В части аппаратных возникают вопросы. Какова помеховая обстановка в месте эксплуатации? От какого источника питается устройство? Внешний супервизор питания имеется или SVS используете? MAX3232 менять не пробовали? Фото платы или рисунок трассировки есть?
В части программных. Реализована ли обработка сбоя кварца (обработчик по вектору NMI) или проблему с генератором только купировали, а не ликвидировали? При ошибке делается полная реинициализация (всех регистров) USCI или только подстройка DCO? Не пробовали урезать программу, исключив все лишнее, кроме функциональных модулей обмена через UART и получить такой же результат "зависона"?
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 16 2010, 14:35
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Цитата(rezident @ Oct 16 2010, 18:14) *
Для начала нужно выяснить, аппаратные это проблемы или программные?

Вот это и не понятно пока. Смущает то, что проблема проявляется только на одном приборе из четырех при одинаковых условиях. А сейчас вообще перестала проявляться sad.gif

Цитата
В части аппаратных возникают вопросы. Какова помеховая обстановка в месте эксплуатации? От какого источника питается устройство?

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

Цитата
Внешний супервизор питания имеется или SVS используете?

Внешний супервизор имеется.

Цитата
MAX3232 менять не пробовали? Фото платы или рисунок трассировки есть?

MAX пока менять не пробовал. Фото платы я тут выкладывал в одной теме: http://electronix.ru/forum/index.php?showt...st&p=765314

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

Пока работал от ВЧ кварца, обработчик сбоя кварца присутствовал, после того как перешел на DCO, убрал его.

Цитата
При ошибке делается полная реинициализация (всех регистров) USCI или только подстройка DCO? Не пробовали урезать программу, исключив все лишнее, кроме функциональных модулей обмена через UART и получить такой же результат "зависона"?

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

Я больше склоняюсь к версии, что это аппаратная проблема, если бы программная, то наверняка помогал бы ресет.



--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 16 2010, 15:29
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Pavel V. @ Oct 16 2010, 20:35) *
Фото платы я тут выкладывал в одной теме: http://electronix.ru/forum/index.php?showt...st&p=765314

Мда. На мой взгляд кварцы излишне далеко вынесены от кристалла, да еще и (хотя и выделенный, но) на излишне большой полигон подключены. Поэтому сбои их вполне объяснимы. Сплошная заливка всей платы земляным полигоном не очень разумная идея. Нужно было выделить "грязную" землю возле разъемов. MAX3232 вынесен к разъему, вместо того, чтобы поставить его ближе к кристаллу и тянуть к разъему по плате уже линии RS232. Вполне допускаю, что совокупность недостатков трассировки привела к проявлению их только в одном устройстве.
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 16 2010, 17:02
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Цитата(rezident @ Oct 16 2010, 19:29) *
Мда. На мой взгляд кварцы излишне далеко вынесены от кристалла, да еще и (хотя и выделенный, но) на излишне большой полигон подключены. Поэтому сбои их вполне объяснимы. Сплошная заливка всей платы земляным полигоном не очень разумная идея. Нужно было выделить "грязную" землю возле разъемов. MAX3232 вынесен к разъему, вместо того, чтобы поставить его ближе к кристаллу и тянуть к разъему по плате уже линии RS232. Вполне допускаю, что совокупность недостатков трассировки привела к проявлению их только в одном устройстве.

Согласен, что разводка не идеальная, но не до такой же степени, чтобы в тепличных условиях давать сбои.. Скорость UART 19200 бит/с - у меня даже на макетке с беспорядочной кучей проводов все работало нормально.

До сих пор так и не смог воспроизвести дома этот сбой - проблема как будто испарилась. Грешу или на MAX3232 или на сам процессор. Если дома не получится, отнесу опять на работу, может быть именно там есть условия необходимые для возникновения проблемы.

Хотел еще у Вас спросить, как часто необходимо производить перекалибровку DCO от часового кварца? Нет ли у Вас примера реализации такой схемы работы? (Я использовал пример от TI, запускаю калибровку один раз при старте). Нужно ли в этом случае как-то обрабатывать сбои генератора, и как это правильно сделать?


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 16 2010, 18:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Pavel V. @ Oct 16 2010, 23:02) *
Если дома не получится, отнесу опять на работу, может быть именно там есть условия необходимые для возникновения проблемы.
БП от которого питаете на работе тот же самый? Компьютер заземлен? Не может ли быть это результатом воздействия синфазной помехи через БП?
Цитата(Pavel V. @ Oct 16 2010, 23:02) *
Хотел еще у Вас спросить, как часто необходимо производить перекалибровку DCO от часового кварца?
Универсального ответа нет. Переклибровку нужно производить тогда, когда это требуется smile.gif Для вашего случая подстройку DCO обычно делают при старте и запускают перекалбровку при возникновении многочисленных ошибок по связи и/или при значительном изменении температуры или напряжения питания.
Цитата(Pavel V. @ Oct 16 2010, 23:02) *
Нужно ли в этом случае как-то обрабатывать сбои генератора, и как это правильно сделать?
Считаю, что обрабатывать ошибки нужно в любом случае. Даже если они не ведут к катастрофичным последствиям можно использовать статистику сбоев. Как правильно это сделать, указано в примерах TI. Я лично оформляю обработчик по вектору NMI, также как в примерах.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Oct 18 2010, 08:30
Сообщение #7


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Pavel V. @ Oct 16 2010, 21:02) *
Хотел еще у Вас спросить, как часто необходимо производить перекалибровку DCO от часового кварца? Нет ли у Вас примера реализации такой схемы работы? (Я использовал пример от TI, запускаю калибровку один раз при старте).

А у Вас ФЛЛ в чипе разве нету? С ней и калибровка не нужна, она сама калибратором является.
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 18 2010, 08:51
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Цитата(jorikdima @ Oct 18 2010, 12:30) *
А у Вас ФЛЛ в чипе разве нету? С ней и калибровка не нужна, она сама калибратором является.

Нет, к сожалению, FLL нет. Насколько я знаю, это только в серии 4х.

ПС
Сбои полностью прекратились, я так и не понял причины, что меня очень огорчает.


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 18 2010, 11:28
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Pavel V. @ Oct 18 2010, 12:51) *
Сбои полностью прекратились,

Нет, они затаились до следующего раза


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 19 2010, 17:38
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Цитата(MrYuran @ Oct 18 2010, 15:28) *
Нет, они затаились до следующего раза

Скорее всего да sad.gif В любом случае, пока проблема снова не возникнет, понять причину будет невозможно. В следующей партии устройств постараюсь оптимизировать печатную плату.


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post

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

 


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


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