Масштабируемый модуль последовательного интерфейса msCANOS (Motorola Scalable CAN Module) входит в состав серии HC08AZ. Модуль обладает следующими характеристиками:
• Поддерживает протоколы обмена версий CAN2.0A и CAN2.0B.
• Обеспечивает обмен стандартными и расширенными кадрами данных.
• Максимальная скорость передачи данных - 1 Мбод/с.
• Обеспечивает поддержку кадров запросов данных от других узлов сети (удаленных кадров).
• Двойная буферизация принимаемых кадров.
• Тройная буферизация передаваемых кадров с внутренним локальным приоритетом.
• Настраиваемый маскируемый идентификационный фильтр.
• Программируемая функция пробуждения (Wake-up) с низкочастотным фильтром.
• Программируемый режим Loop-Back с поддержкой режима тестирования шины (Self-test).
• Отдельные флаги и прерывания для каждого ошибочного состояния при передаче и приеме (Warning, Error Passive, Bus-Off).
• Возможность выбора в качестве источника тактирования генератора на кварцевом резонаторе или сигнала стробирования межмодульных магистралей fBUS.
• Программируемая связь с модулем TIM для синхронизации и определения моментов выборки сигнала на САN-шине. Модуль msCAN08 использует 2 вывода МК: RxCAN - ввод данных с CAN-шины, TxCAN - вывод данных на CAN-шину. Подключение к CAN-шине производится через специализированную микросхему приемопередатчика, необходимую для согласования уровней напряжений (см. п. 1.2.1 и 1.2.5).
Структура буферизации принимаемых сообщений
Прием сообщений осуществляется в двойном буфере. Данные, поступающие с шины, сохраняются в буфере RxBG (Background Receive Buffer). После завершения приема эти данные передаются из буфера RxBG в буфер RxFG (Foreground Receive Buffer), из которого производится чтение. Оба буфера включают в себя по 13 байт для сохранения управляющих кодов, стандартного или расширенного идентификатора и восьми байт данных.
При отсутствии ошибок после приема сообщения с соответствующим идентификатором выставляется флаг RXF (Receive Full Buffer), сигнализирующий о заполнении буфера RxFG. При считывании данных из RxFG необходимо, чтобы флаг RXF был сброшен, что указывает модулю msCANOS на возможность записи нового сообщения из RxBG в RxFG. Если флаг RXF сброшен, то после завершения приема новые данные передаются из RxBG в RxFG. При этом выставляется запрос на прерывание от приемника. После этого может быть начат прием нового сообщения с одновременным сохранением его в RxBG. Подпрограмма обслуживания прерывания должна считать данные из RxFG и затем сбросить флаг RXF.
|