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

 
 
 
Reply to this topicStart new topic
> AVR+CAN, настройка скорости CAN
memory
сообщение Mar 25 2013, 13:58
Сообщение #1





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



Привет всем участникам форума!!! Может есть у кого данные для настройки AVR чипа, для приема передачи CAN, для скорости 50 кБит.
CANBT1 = ?; CANBT2 = ?; CANBT3 = ?; кварц 12мГц
Go to the top of the page
 
+Quote Post
KSN
сообщение Mar 25 2013, 14:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304



Салют! Есть настройки для AVR кварц 16MHz, скорость 0.5Mb. А в чем сложность посчитать для своих исходных данных?
Go to the top of the page
 
+Quote Post
memory
сообщение Mar 25 2013, 18:53
Сообщение #3





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



не могу понять, из каких соображений выбирается минимальный квант времени - TQ, в документации только написанно что число квантов в бите должно быть 8 - 25
Go to the top of the page
 
+Quote Post
Палыч
сообщение Mar 25 2013, 20:35
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(memory @ Mar 25 2013, 22:53) *
не могу понять, из каких соображений выбирается минимальный квант времени - TQ, в документации только написанно что число квантов в бите должно быть 8 - 25

Выбирают не величину TQ, а число квантов. Обозначим: число квантов - Х, Baud Rate - BR
Тогда:
Tbit = X * TQ
BR = 1 / Tbit
TQ = (BRP+1)/CLKio
отсюда:
BR = CLKio/ (X * (BRP+1))
или
X * (BRP+1) = CLKio/BR
BR и CLKio нам известны, CLKio/BR = 12M/50K = 240
Нужно подобрать такие целые X и BRP, чтобы X * (BRP+1) = 240, при этом Х=8...25
Например: X = 16 и BRP = 14
Теперь и TQ несложно вычислить...
Go to the top of the page
 
+Quote Post
memory
сообщение Mar 26 2013, 05:06
Сообщение #5





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



Спасибо, ещё вопрос, таких пар получается много например
8 и 29+1
10 и 23+1
12 и 19+1
15 и 15+1
16 и 14 +1
20 и 11 +1
24 и 9 + 1
все они дают нулевую ошибку, какая пара предпочтительна
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ARV
сообщение Mar 26 2013, 08:12
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



а почему вы не используете атмеловскую библиотеку поддержки чипов с контроллером CAN? там все настройки скорости сводятся к указанию желаемого...


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Mar 26 2013, 16:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(memory @ Mar 26 2013, 09:06) *
какая пара предпочтительна

Нужно вспомнить, что Tbit сумма нескольких времен (интервалов)
Цитата
Tbit = Tsyns + Tprs + Tphs1 + Tphs2
С одной стороны - чем больше TQ содержится в Tbit, тем точнее можно установить эти интервалы. С другой стороны - эти интервалы имеют ограничения на число TQ в них содержащихся. Например, Tprs (propagation time) - удвоенное суммарное время распространения сигнала по линии, задержек компаратора и драйвера; может быть установлено 1...8 TQ. При малом TQ и большом времени распространения может оказаться, что 8 TQ - недостаточно для задания нужного Tprs. Вот, примерно, из таких соображений и следует выбирать среди подходящих пар...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 13:54
Рейтинг@Mail.ru


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