Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает CAN Pic18LF4580 на скорости 1MBit/s
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
greg
Есть Pic18LF4580, который тактируется вешним генератором 8MHz. Установлен режим осциллятора
HSPLL, т.е. контроллер работает на частоте 32MHz. Программирую скорость обмена по CAN на 1MBit/s
следующим образом:SJW1:SJW0=b'00 (т.е. 1xTq), SEG2PH2:SEG2PH0=b'101 (т.е. 6xTq), SEG1PH2:SEG1PH0=b'111 (т.е. 8xTq), PRSEG2:PRSEG0=b'000 (т.е. 1xTq), BRP5:BRP0=b'000000.
При таких параметрах CAN входит в клинч, и на выходе даёт бессмысленный поток 0 и 1, т.е. не CAN последовательность. Как только устанавливаю делитель скорости BRP5:BRP0=b'010 - на выходе правильная CAN-последовательность со скоростью передачи 333kBit/s. Но мне нужна скорость обмена 1MBit/s. Может быть кто-нибудь сталкивался с подобным и поделится своими размышлениями...
P.S. Такой же результат получается когда генерил код с помощью Microchip Application Maestro, ну и разумеется значения коэффициентов для прогаммирования скорости обмена проверял с помощью Microchip
CAN Bit Time Calculator.
-KIT-
У меня 258 работал нормально на 1Мит при частоте осцилятора 10 МГц и включенном PLL
Вот настройки регистров :
BRGCON1 = 0b00000001; // при Fosc = 40MHz bitrate = 1Mbit
BRGCON2 = 0b10010010;
BRGCON3 = 0b00000010;

//---время кванта 0.1 мкс
//---общее время бита - 10Tq, время синхронизации=1xTq, время распространения=3xTq, фаза1=3xTq, фаза2=3xTq,
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.