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

 
 
> ошибки при предачи данных по CAN, ошибки при предачи данных по CAN между двумя контроллерами
Женек_84
сообщение Oct 26 2010, 08:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 31-03-08
Пользователь №: 36 351



Друзья, помогите разобраться с передачей данных между двумя CAN-контроллерами MCP2510, которые соединены по двум коротким
линиям между собой CANH и CANL.
У меня один работает как передатчик, другой как приемник через CAN шину, CAN-трансивер - PCA82C250 в высокоскоростном режиме.
Перевожу и передатчик и приемник в нормальный режим работы, разрешаю все возможные прерывания и отключаю все маски и фильтры
для передатчика и приемника, для передатчика записываю станд. идентификаторы в передающий буфер 0, длину данных ставлю восьми байтам и записываю эти 8 байт. Выставляю самый высокий приоритет для перед. буфера 0 и говорю, что буфер готов к передаче (записываю TXREQ=1). Вижу прерывание на контакте INT и передатчика и приемника, т.е. у обоих контроллеров, что сообщения как бы переданы одним и приняты другим контроллером.
Но когда читаю регистр контроля передающего буфера 0 передатчика (TXB0CTRL), то возникают ошибки при передаче сообщения,
бит передачи не очищается и устанавливаются биты ошибок потери арбитража и ошибка шины.
Не пойму в чем дело. Самая простенькая программа и не работает. Может кто сталкивался с этим?
Может нужно сконфигурировать регистры тайминга для CAN шины - CNF1,2,3?
И третий провод для CAN-шины общий необходим?
Может кто-нибудь прогу скинет или даст ссылку по обмену данными между двумя контроллерами по CAN шине...

Сообщение отредактировал Женек_84 - Oct 26 2010, 09:02
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 5th August 2025 - 00:44
Рейтинг@Mail.ru


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