Инициализация контроллера 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: SEG1 – это время, используемое для увеличения битового интервала при подстройке. По умолчанию - CAN_PSEG_Mul_3TQ.
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 – SEG2 - Phase Buffer Segments. Эти
интервалы предназначены для более точной установки точки семплирования, которая
располагается между ними. Длительности этих интервалов могут быть запрограммированы
между 1 и 8 TQ. Значение размера фазы SEG2:SEG2 – это время, используемое для сокращения битового интервала при подстройке. По умолчанию - CAN_PSEG_Mul_2TQ.
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 - Семплирование – SB - Семплирование: 0 – однократное; 1 – трехкратное с мажоритарным контролем. По умолчанию - CAN_SB_1_SAMPLE.
- Значение размера фазы SJW – SJW - Значение размера фазы SJW:
SJW – это максимальное значение, на которое происходит подстройка приема и передачи при работе на шине CAN. Приемник подстраивается на значение ошибки, но не более чем SJW. По умолчанию - CAN_PSEG_Mul_4TQ.
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 - Предделитель системной частоты – BRP - Предделитель системной частоты: CLK = PCLK/(BRP + 1); TQ(us) = (BRP + 1)/CLK(MHz). По умолчанию - 1.
Параметры
Блок не имеет параметров.