Инициализация контроллера CAN(1|2) (Init_Can(1|2))

 
в палитре на схеме

Блок реализует настройку контроллера CAN(1|2) интерфейса. Программная реализация блока, расположена в заголовочном файле can.h файла main.c проекта Test_Driver (в среде разработки Keil), который создается при генерации кода проекта и содержит тексты программ алгоритма на языке СИ. Блок настройки порта реализован на основании блока язык программирования и содержит в себе код на встроенном языке SimInTech формирующем значения входных переменных для функции настройки порта Init_Can(1|2)().

Всего у микросхемы K1986ВЕ92QI, помещенной в корпус LQFP64, есть два контроллера CAN1 и CAN2, поэтому библиотека содержит два блока для настройки контроллеров Init_Can1 и Init_Can2.

Входы

  • Init_port – соединяется с выходом блока настройки порта (необходимо определить выводы порта для приема и передачи пакетов с сообщениями RX, TX).

Выходы

  • ready – возвращает 1, это необходимо для определения порядка сортировки последущих блоков.

Свойства:

  • Прием собственных пакетов – ROP - прием собственных пакетов (Receive own packets): 1 – контроллер принимает собственные пакеты; 0 – контроллер принимает только чужие пакеты. По умолчанию - ENABLE;
  • Подтверждение собственных пакетов – SAP - подтверждение собственных пакетов (Send ACK on own packets): 1 – контроллер подтверждает прием собственных пакетов; 0 – контроллер подтверждает прием только чужих пакетов. По умолчанию - ENABLE;
  • Режим самотестирования (Self Test Mode) – STM - режим самотестирования (Self Test Mode): 1 – контроллер работает в режиме самотестирования; 0 – контроллер работает в нормальном режиме. По умолчанию - ENABLE;
  • Режим «Только прием» (Read Only Mode) – ROM - режим «Только прием» (Read Only Mode): 1 – контроллер работает только на прием; 0 – контроллер работает в нормальном режиме. DISABLE;
  • Значение фазы PSEG – PSEG - Propagation Time Segment. Эта часть предназначена, чтобы компенсировать физические задержки времени распространения сигнала в шине и внутренние задержки в узлах. Длительность этого интервала может быть запрограммирована от 1 до 8 TQ. По умолчанию - CAN_PSEG_Mul_2TQ.
  • Значение фазы SEG1 – SEG1 - Phase Buffer Segments. Эти интервалы предназначены для более точной установки точки семплирования, которая располагается между ними. Длительности этих интервалов могут быть запрограммированы между 1 и 8 TQ. Значение размера фазы SEG1:
    111 = Phase Segment 1 time = 8 x TQ
    110 = Phase Segment 1 time = 7 x TQ
    101 = Phase Segment 1 time = 6 x TQ
    100 = Phase Segment 1 time = 5 x TQ
    011 = Phase Segment 1 time = 4 x TQ
    010 = Phase Segment 1 time = 3 x TQ
    001 = Phase Segment 1 time = 2 x TQ
    000 = Phase Segment 1 time = 1 x TQ
    SEG1 – это время, используемое для увеличения битового интервала при подстройке. По умолчанию - CAN_PSEG_Mul_3TQ.
  • Значение фазы SEG1 – SEG2 - Phase Buffer Segments. Эти интервалы предназначены для более точной установки точки семплирования, которая располагается между ними. Длительности этих интервалов могут быть запрограммированы между 1 и 8 TQ. Значение размера фазы SEG2:
    111 = Phase Segment 2 time = 8 x TQ
    110 = Phase Segment 2 time = 7 x TQ
    101 = Phase Segment 2 time = 6 x TQ
    100 = Phase Segment 2 time = 5 x TQ
    011 = Phase Segment 2 time = 4 x TQ
    010 = Phase Segment 2 time = 3 x TQ
    001 = Phase Segment 2 time = 2 x TQ
    000 = Phase Segment 2 time = 1 x TQ
    SEG2 – это время, используемое для сокращения битового интервала при подстройке. По умолчанию - CAN_PSEG_Mul_2TQ.
  • Семплирование – SB - Семплирование: 0 – однократное; 1 – трехкратное с мажоритарным контролем. По умолчанию - CAN_SB_1_SAMPLE.
  • Значение размера фазы SJW – SJW - Значение размера фазы SJW:
    11 = Synchronization jump width time = 4 x TQ
    10 = Synchronization jump width time = 3 x TQ
    01 = Synchronization jump width time = 2 x TQ
    00 = Synchronization jump width time = 1 x TQ
    SJW – это максимальное значение, на которое происходит подстройка приема и передачи при работе на шине CAN. Приемник подстраивается на значение ошибки, но не более чем SJW. По умолчанию - CAN_PSEG_Mul_4TQ.
  • Предделитель системной частоты – BRP - Предделитель системной частоты: CLK = PCLK/(BRP + 1); TQ(us) = (BRP + 1)/CLK(MHz). По умолчанию - 1.

Параметры

нет