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

 
 
 
Reply to this topicStart new topic
> CAN AUTOBAUD Detect, CAN cамоподстройка
Bustler
сообщение Dec 18 2008, 14:43
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 20-10-08
Пользователь №: 41 064



Доброго всем время суток. Пытаюсь реализовать самоподстройку скорости на шине CAN . Дивайс dsPIC30F6010A , CAN контролер TJA1054AT. При ручной установке все работает нормально. У меня следующая проблема: при выполнении моего алгоритма уже после 3 "подхода" к непосредственной конфигурации бит-времени,программа застревает , так как контролер CAN не хочет переключаться в мод конфигурации (до этого 2 раза значит переключался). Соответственно OPMODE не дает подтверждения. Перед переключением нулю регистер CiCTRL и даю немного времени для обработки. Может кто уже встречался с подобной проблемой ? Зарание благодарен за отклики.
Go to the top of the page
 
+Quote Post
Lelikk
сообщение Jan 6 2009, 09:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 15-12-07
Из: Москва
Пользователь №: 33 326



А алгоритм перебирает последовательно бит-рейты?
Может быть просто попробовать поставить везде задержек побольше и посмотреть что получится
Go to the top of the page
 
+Quote Post
Bustler
сообщение Jan 9 2009, 09:08
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 20-10-08
Пользователь №: 41 064



Цитата(Lelikk @ Jan 6 2009, 10:24) *
А алгоритм перебирает последовательно бит-рейты?
Может быть просто попробовать поставить везде задержек побольше и посмотреть что получится


Да, последовательно перебирает все возможный битрейты вместе с биттаймингом пока не получит нормальный фрейм. Фреймы генерирует CANalizer от Vectorа. Насчет задержек уже пробывал, все равно отключается. Я как понял,если исходить,что алгоритм без бага, что после какого то кол-ва эррорфрэймов (без акка), CAN контроллер сам переходит в idle. Но флажков ошибок нет. Это и cтранно или я чего то не догоняю.
Go to the top of the page
 
+Quote Post
Lelikk
сообщение Jan 10 2009, 12:08
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 15-12-07
Из: Москва
Пользователь №: 33 326



Цитата(Bustler @ Jan 9 2009, 12:08) *
Да, последовательно перебирает все возможный битрейты вместе с биттаймингом пока не получит нормальный фрейм. Фреймы генерирует CANalizer от Vectorа. Насчет задержек уже пробывал, все равно отключается. Я как понял,если исходить,что алгоритм без бага, что после какого то кол-ва эррорфрэймов (без акка), CAN контроллер сам переходит в idle. Но флажков ошибок нет. Это и cтранно или я чего то не догоняю.


Еще раз перечитал первое сообщение: у вас контроллер CAN в процессоре? Ведь TJA1054 это только трансивер.
И он поддерживает бит-рейт только до 125kbps. Вы не превышаете это значение?

Если нет, то можно попробовать сбрасывать полностью модуль CAN в процессоре.
Go to the top of the page
 
+Quote Post
SAR
сообщение Jan 10 2009, 22:35
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 29-07-07
Из: Украина
Пользователь №: 29 444



Цитата(Lelikk @ Jan 10 2009, 14:08) *
Если нет, то можно попробовать сбрасывать полностью модуль CAN в процессоре.


Вроде пробует уже, сбрасывает... пишет

Цитата(Bustler @ Dec 18 2008, 16:43) *
Перед переключением нулю регистер CiCTRL и даю немного времени для обработки.


OPMODE дает подтверждение только тогда, когда есть возможность переключиться в требуемый режим.
А такая возможность появляется тогда, когда модуль увидит, что шина свободна.
... а шина становится свободной (в понимании контроллера) тогда, когда на ней будет последовательно 11 единиц, и продолжительность этого интервала напрямую зависит от установленной длительности бита.
Проверьте, может на третий раз что-то не сходится в настройках бит-рейта?
Может случайно сильно низкую скорость устанавливаете, а CAN-ализатор сильно часто посылки при этом отсылает?
Go to the top of the page
 
+Quote Post

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

 


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


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