k155la3 27 June 27, 2016 Posted June 27, 2016 · Report post Эт когда это я такое писал? Виноват, ошибочка. Quote Share this post Link to post Share on other sites More sharing options...
MrYuran 34 June 27, 2016 Posted June 27, 2016 · Report post Кто-нибудь сталкивался таким? Как решили? Если MCLK сделать от DCO проблема исчезает. ^) Ещё, чисто программно, аккуратнее с указателями на функции. MISRA, например, явно запрещает неконстантные указатели не код - видимо, не зря Quote Share this post Link to post Share on other sites More sharing options...
emark 0 June 27, 2016 Posted June 27, 2016 · Report post Подробнее чем в SLAU144J гл.5 не будет, а я так понимаю с нею вы знакомы. Странно, почему вам не удаётся обслужить OFIFG. Опять же п. 5.2.7: "If a fault is detected for the crystal oscillator sourcing the MCLK, the MCLK is automatically switched to the DCO for its clock source. This does not change the SELMx bit settings. This condition must be handled by user software." - на этот пункт эрраты часом нет? Если вы действительно имитируете тяжёлую помеховую обстановку, то JTAG законно отваливается. Кстати выдежка из DS ни чем не поможет? Ну да, поэтому у нас и 12MГц, а не 16 Quote Share this post Link to post Share on other sites More sharing options...
Obam 46 June 27, 2016 Posted June 27, 2016 · Report post Табличка как бы намекала на зависимость от напряжения питания и правильность установки LFXT1Sx. Quote Share this post Link to post Share on other sites More sharing options...
emark 0 June 27, 2016 Posted June 27, 2016 · Report post Да, бывают такие случаи. Тогда надо сделать так чтобы микроконтроллер не становился антенным противовесом. Т.е. надо создать искусственный противовес рядом с кварцем, это может быть USB кабель, оплетка какого-нибудь экранированного интерфейсного кабеля, например CAN или плейн большой площади. Тогда можете тыкать отверткой прямо в ноги кварца и ничего не произойдёт. ммм... видимо немного не ясно написал. я замыкаю ноги кварца, а не поочередно в них тычу. противовес подсоединен к земле рядом с кварцем? а как это сделать в автономном аккумуляторном устройстве? Чтобы я делал, IMHO - если есть возможность - задать внешнее "неубиваемо-гарантированое" тактирование и проверить гипотенузу что вылет из-за слета тактирования (или помехи на тактовый вход) - для ВЧ тактирования должен отрабатывать флаг неисправности генератора. и даже если тактирование вообще нет - процессор должен переключаться на VLO (по F22XX семейству точно не знаю) - проверить тип кварца, его "глючность" (контафакт), обвеску-емкости / настройку генератора. Рекомендации по типовой схеме включения из даташита на кварц. Мне попадались глючные 32768. - проверить как девайс реагирует на ВЧ импульсную помеху (смс на рядом лежащий мобильник). Эсли слетатет - экранировать - фильтровать. итд в томже стиле :) это все уже проделано... Табличка как бы намекала на зависимость от напряжения питания и правильность установки LFXT1Sx. Специально еще раз проверил. Все правильно. Было 1-в-1 как у вас, включая самопроизвольное стирание флэш. Перешел на тактирование от dco с периодической подстройкой по кварцу. По другому не лечится: в msp кварцевый генератор малопотребляющий, амплитуда на кварце мизерная он сбивается от малейшего чиха. Сам процессор однотактный а они капризны в отношении тактирования. Так что на экранирование и переразводку можете даже не тратить время - не поможет. При работе от dco msp очень устойчив. Помеха всегда попадает потому что идеальной защиты от помех не бывает. Вопрос в степени ослаблении помехи и чувствительности входов МК. Попробуйте сбить старый 4-х тактовый pic16 или классический 12-тактовый mcs-51 (cmos версию). Они "тыкание" в кварц вообще не замечают. Если кварц закоротить останавливаются, раскоротишь продолжают работать с того же места. да... Собрали такое же устройсто на STM-е, показал себя в этом отношении покрепче. Quote Share this post Link to post Share on other sites More sharing options...
emark 0 June 28, 2016 Posted June 28, 2016 · Report post Опять же п. 5.2.7: "If a fault is detected for the crystal oscillator sourcing the MCLK, the MCLK is automatically switched to the DCO for its clock source. This does not change the SELMx bit settings. This condition must be handled by user software." - на этот пункт эрраты часом нет? А это из какой errat-ы? В SLAZ167 такого нет, да и организация пунктов там другая. По смыслу тоже не понятно. Если биты не меняются, как тогда цпу тактируется? Какими-то окольными путями что ли? Quote Share this post Link to post Share on other sites More sharing options...
k155la3 27 June 28, 2016 Posted June 28, 2016 · Report post будет ли вылет или завес, если --- источник для MCLK <-- DCO а кварц будет востребован например для таймера или чего другого TIMER <-- ACLK <-- XT --- тыкаем по Вашей методк кварц, и ... ? ... как тогда цпу тактируется? Какими-то окольными путями что ли? Мониторили ли через контрольные выходы потров SELS(MCLK) что происходит на линии MCLK при "вылете" ? Будет видно, на какую частоту-источник уходит тактирование Quote Share this post Link to post Share on other sites More sharing options...
Obam 46 June 28, 2016 Posted June 28, 2016 · Report post А это из какой errat-ы? В SLAZ167 такого нет, да и организация пунктов там другая. По смыслу тоже не понятно. Если биты не меняются, как тогда цпу тактируется? Какими-то окольными путями что ли? Это из User's Guide SLAU144J гл.5 п. 5.2.7, про этот пункт интересовался эрратой. Quote Share this post Link to post Share on other sites More sharing options...
emark 0 June 28, 2016 Posted June 28, 2016 · Report post будет ли вылет или завес, если --- источник для MCLK <-- DCO а кварц будет востребован например для таймера или чего другого TIMER <-- ACLK <-- XT --- тыкаем по Вашей методк кварц, и ... ? Так завесить практически не удается (если отрабатывать прерывание по сбою генератора) у меня сейчас сделанотак: MCLK от DCO; ACLK от кварца; частоты DCO и кварца одинаковые; разрешено прерывание по сбою генратора; в прерывании подтверждаю переход на DCO и пытаюсь запустить кварц, если в течении примерно 10 мс не удалось, то сброс. Quote Share this post Link to post Share on other sites More sharing options...
sasa_c 0 June 30, 2016 Posted June 30, 2016 · Report post А попробуйте для эксперимента добавить резистор на 5 МОм между входом генератора и + 3,3v, может сбои уменьшаться? Quote Share this post Link to post Share on other sites More sharing options...
emark 0 July 1, 2016 Posted July 1, 2016 · Report post А попробуйте для эксперимента добавить резистор на 5 МОм между входом генератора и + 3,3v, может сбои уменьшаться? Можно попробовать. Quote Share this post Link to post Share on other sites More sharing options...
DogPawlowa 0 July 9, 2016 Posted July 9, 2016 · Report post При работе от dco msp очень устойчив. Ну не очень он устойчив, но зато имеет хорошее свойство - при помехах, если срабатывает супервизор питания, то контроллер пересбрасывается, но содержимое памяти остается неиспорченным. Это позволяет реализовать восстановление текущего состояния программы, и пользователь может даже не заметить, что произошел сброс. Quote Share this post Link to post Share on other sites More sharing options...