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

 
 
> Затыкается CAN :(, 2-а узла
Vlad1977
сообщение May 28 2013, 11:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Есть 2-а кнтроллера, М и S они общаются между сосбой по кан. М отправляет на S каждые 60мс посылку, S в свою очередь, отвечает на каждую принятую посылку. ID MSK задана жестко, IDT у каждого свой. Все работает минут 20, а потом порисходит сбой. Или только на М, он перестает принимать посылки от S, хотя S от него все получает и отвечает. Или же обмен прекращается вообще. Может кто сталкивался с подобным? контроллер atmel 128 скокрость минимальная 100Kbps на 8 Мгц. При том вижу на осцилографе, M посылает посылку, S отвечает. Время ответа дышит, то 1мс то 10мс, но иногда ответ перекрывается с запросом, и именно в этот момент может упасть обмен вообще. Но адреса то ID разные и маска жестко задана. Если увелить время когда M шлет запрос, то работает дольше, но очень хотется понять прчину sad.gif. Даже в отладке ловил, в BUS OFF M не попадает. CANSIT2 показывает что отправка прошда успешно, и я вижу, что S всё принял и ответил правилльно. А М отказывается от него получать данные. Было такое: на М возведен флаг RXOK на мобе который натсроен на прием, но в CANSIT2 никакого события о приеме нет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vlad1977
сообщение May 30 2013, 05:41
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 13-04-09
Пользователь №: 47 606



Спасибо за ответы. 120ом стоит. Сейчас я сделал еще проще. M каждый 15мс передает посылку S, а S каждые 22мс передает посылку M, они не привязаны к друг другу. Если посылка дошла, то анализирую первые 2-а байта, они разные должны быть, и говорю что все ОК. Ситуация повторяется, все работает до тех пор пока не переххлеснутся импульсы. Потом данные из моей посылки не доходят, хотя передающий контроллер, получает АСК и говорит что передача прошла успешно! А на принимающей стороне, в прерывание от принимающего моб, он вообще перестает попадать. При том не возникает никаких ошибок. Включил все возможные прерывания по ошибкам, в обработик не попадаю вообще. Типа вес хорошо кан работает передачи проходят успешно. Толкьо вот на принимающей стороне, в прерывание от принимающего моб не попадаю, и данных соответственно нет.
Я думал на счет арбитража, елси возникает арбитраж, ошибки какие то должны возникнуть?
И почему тогда, когда проходит несоклько минут, импульсы на осцилограце опять расходятся, но данные не доходят. Как уже говорил, никаких ошибок, все хорошо, толко в принмающий моб перестает попадает вообще.
Go to the top of the page
 
+Quote Post



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

 


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


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