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

 
 
> Прием CAN2.0B на скоростях 250 и 500kbit/s, Подскажите если кто сталкивался
idle1
сообщение Sep 23 2009, 15:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367



Вот, возникла задача написать прием и передачу в CAN шину на контроллере тини2313. На первый взгляд ничего сложного, протокол документирован и понятен, НО есть но! Это времена, к примеру на 500кбит/с один бит передается за 2мкс, а на 250 за 4мкс, т.е имеем максимум 40 циклов на обработку одного бита, при этом еще нужно выкинуть мусор из сигнала. Я использовал контроллер на частоте 20Мгц.
Я пробывал уже следующие варианты: И чтение с задержкой в 2 и 4мкс соответственно -> вывод из-за длительности посылки, примерно в 100-150 бит, время уплывает, а так же ещё из-за ветвлений (1-2 цикла в один бит -> ~0.10мкс), провал!
Второй вариант со счетчиком при изменении с 1 на 0 и с 0 на 1 с последующей записью времени для анализа и расчета кол-ва бит, провал по непонятной мне причине, это загадочное отставание счетчика и непредсказуемость его показаний, при расчетной погрешности в 1.1мкс (цикл ожидания), наблюдаются отставания в две и даже 3мкс! Для связи с CAN шиной использую MCP2551 микрочипа.
Может кто писал что подобное? Если не трудно отзовитесь! Контроллер сменить немогу *TAUP*. Может у кого есть алгоритм?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
idle1
сообщение Sep 24 2009, 10:43
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 25-02-09
Из: Россия, Москва
Пользователь №: 45 367



Если бы была возможность, то я бы не задумываясь перешел на специализированный контроллер. Но задача заключается именно под 2313 sad.gif . Сейчас иду по методу накопления данных и последующей небольшой обработки. Коррекцию времени делаю (пытаюсь делать smile.gif ) через прерывание по нисходящему фронту (Вход CAN с MCP2551 подключил к PD3(INT1)). Большой обработки в МК не будет, нужно только передать данные и получить, обработкой занимается другое ус-во. Ветвления я так же выравнивал, но там есть засада, переход по TRUE или по ELSE отличается на 1 цикл (0,05мкс)
Go to the top of the page
 
+Quote Post



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

 


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


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