Добрый день,
пытаюсь наладить прием передачу данных по шине КАН для связи с а/м блоками.
не выходит. Атмел никак не видит никаких данных.
МК - AT97SAM7X, 18.432Mhz external, MCK - 48Mhz
Схема подключения: CANBlock -> Philips 82C251 -> ADUM1200 (5V -> 3.3V) -> Atmel
Сигнал, судя по данным осциллографа доходит нормально до Атмела.
Скорость шины: 500 Кб/с
По расчетам по документу от Атмела, а также от разных источников,
CAN_BR ставлю 0x00053255 (BRP - 5, SJW - 3, PRS - 2, PHS1 - 5, PHS2 - 5)
Инициализация следующая:
1. Cfg PIO - включение переферии и выводов PA19 и PA20
2. Cfg CAN PMC - Установка клока для КАН.
3. AT91F_AIC_ConfigureIt - включение прерываний для КАН.
4. Установка баудрайте - CAN_BR = 0x53255;
5. Вкл CAN_WAKEUP прерывание
6. Включить CAN - CAN_MR = CANEN;
7. Ожидаю прерывание WAKEUP !!
приходит,! но вместе с ни в статус регистре AT91C_CAN_ERRA ?... почему?
8. Инициализация Mailbox 0. MIDvA . и тд....
Далее никакие данные не приходят, хотя !!! блок все время посылает пакеты,
это проверенно другим КАН адаптером,!
Что еще странно, WAKEUP всегда проходит, даже если CANBlock не подключен.
почему?
Народ помогите, если надо могу выложить код на C ..
Заранее благодарен.!