Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Косяки таймеров Allwinner A13
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
mantech
Приветствую. Может кому интересно будет.
Разбирался с таймерами в проце А13, а там их 8 штук, если не ошибаюсь, причем 6 асинхронных 32бита и 2 синхроных 56 бит, заметил такую бяку, когда на асинхр таймере 0 работает простой счетчик с прерыванием(вызов прерывания перекл. контекста 10КГц) и ставлю на второй тактировку приемника программного уарта (19200 бит\сек) получал сбойные символы, примерно 1 на 10-15 правильных. Начал копать, где глюк, пробовал задавать разные приоритеты не работает, проверил уарт без прерываний таймера 0 - все как часы, включил прерывания от других источников (уарты) работали на макс частоте 11КГц, все тоже работает прекрасно, перекинул 10КГц с асинхр на синхр. таймер - тоже все ок. Но если опять же кинуть эти задачи на синхронные таймера, опять начинаются сбои. Чувствую, проблема в китайских ip-корках блоков таймеров или их тактировке.
Вообщем вот такая ложка дегтя, в МХ6 с таймерами все ок было...
jcxz
Цитата(mantech @ Aug 16 2018, 13:30) *
Может кому интересно будет.
...
Вообщем вот такая ложка дегтя, в МХ6 с таймерами все ок было...

Мне конечно не очень интересно, так как не пользую и не планирую wink.gif , но всё описанное совсем никак не указывает на проблему в МК. А больше походит на проблему с переключением контекста по этому самому 0-у таймеру. Либо ещё какие-то проблемы с прерываниями. Либо глюки в Вашем ПО, уж извините, но это гораздо более вероятно laughing.gif
Сделайте Ваш софт-UART на ПДП с тактированием от таймера и, возможно, глюки пропадут.
mantech
Цитата(jcxz @ Aug 16 2018, 14:26) *
Мне конечно не очень интересно, так как не пользую и не планирую wink.gif , но всё описанное совсем никак не указывает на проблему в МК. А больше походит на проблему с переключением контекста по этому самому 0-у таймеру. Либо ещё какие-то проблемы с прерываниями. Либо глюки в Вашем ПО, уж извините, но это гораздо более вероятно laughing.gif
Сделайте Ваш софт-UART на ПДП с тактированием от таймера и, возможно, глюки пропадут.

Инициализация по даташиту, переключение контекста во время теста было отключено, глюки наблюдаются только, когда используется несколько таймеров из какого-либо одного блока, т.е. 2 асинхр или 2 синхр. таймера вместе, т.е. когда 1 асинхр и 1 синхр - все норм. обработчик прерываний стандартный, во всех режимах работает исправно. У каждого таймера свой вектор.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.