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

 
 
> Настройки CAN для ATmega128CAN, Необходимо подобрать значения регистров CANBT1-3 для кварца 14,7456 МГ
Vladimir-K
сообщение Feb 13 2008, 10:52
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 13-02-08
Пользователь №: 35 003



Необходимо подобрать значения регистров CANBT1-3 для контроллера, работающего на частоте 14,7456 МГц
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
galjoen
сообщение Feb 13 2008, 11:35
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Vladimir-K @ Feb 13 2008, 13:52) *
Необходимо подобрать значения регистров CANBT1-3 для контроллера, работающего на частоте 14,7456 МГц

У меня именно такая-же ситуация. Я даже программку накатал. Она 14745600 на заданную частоту (100000, 125000 и т.д.) делит, а затем то, что получилось последовательно делит на числа от 8 до 25. И наиболее точно разделившееся выдаёт. В смысле, если всё это снова помножить, у кого наименьшее отклонение от заданного получится. А от 8 до 25 это кол-во TQ в бите. Иногда 12..25 ставлю. Вобщем эксперементирую... Но ошибки совсем небольшие получаются. Работать всё точно будет.
А в свете всего вышесказанного у меня вопрос. Вы какой SJW (Synchronization Jump Widht) ставите?
В примерах он всегда почему-то =1 (минимальный). А в нашем случае (частота не совсем точно совпадает) думаю его надо-бы побольше ставить. Или от этого что-то ухудшится? Как раз хотел этот вопрос в разделе CAN задать. Сам-то я в CAN-е новичок.
Go to the top of the page
 
+Quote Post
Vladimir-K
сообщение Feb 13 2008, 12:00
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 13-02-08
Пользователь №: 35 003



Цитата(galjoen @ Feb 13 2008, 14:35) *
У меня именно такая-же ситуация. Я даже программку накатал. Она 14745600 на заданную частоту (100000, 125000 и т.д.) делит, а затем то, что получилось последовательно делит на числа от 8 до 25. И наиболее точно разделившееся выдаёт. В смысле, если всё это снова помножить, у кого наименьшее отклонение от заданного получится. А от 8 до 25 это кол-во TQ в бите. Иногда 12..25 ставлю. Вобщем эксперементирую... Но ошибки совсем небольшие получаются. Работать всё точно будет.
А в свете всего вышесказанного у меня вопрос. Вы какой SJW (Synchronization Jump Widht) ставите?
В примерах он всегда почему-то =1 (минимальный). А в нашем случае (частота не совсем точно совпадает) думаю его надо-бы побольше ставить. Или от этого что-то ухудшится? Как раз хотел этот вопрос в разделе CAN задать. Сам-то я в CAN-е новичок.

Так какие значения Ваша программа выдает для указанных частот?
Со значением SJW экспериментировал, но его влияние на безошибочность передачи до конца не определил.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 13 2008, 13:02
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Vladimir-K @ Feb 13 2008, 15:00) *
Так какие значения Ваша программа выдает для указанных частот?

Для 125000 оптимально - делитель=9, кол-во TQ=13, ошибка =-0.81%. Следующая по оптимальности комбинация 7 - 17, ошибка =+0.88%. И т.д.

А вообще рекомендую свою программку составить - понадобится если другие кварцы будут. Я вообще хочу чтобы это в самом AT90CAN128 вычислялось. У меня там RTC кварц есть 32756 Гц. Я частоту процессора вычисляю - кварцы-то разные могут быть (для автобауда у RS485 так сделал). Потом оптимальный делитель + кол-во TQ вычислю. Делитель сразу установлю, а остальное по таблице в зав-ти от TQ. Для значений TQ от 8 до 25 это всего 17 таблиц. В этих таблицах - что в остальные регистры писать при соответствующем TQ.

Только я сейчас работой завален. А переход на CAN это моя инициатива - хобби такое. Так щас что чуть разгребусь - тогда CAN-ом и займусь. И думаю мы с вами ещё там (в разделе CAN) встретимся.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:56
Рейтинг@Mail.ru


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