Микропроцессорные системы - Александров Е.К.
ISBN 5-7325-0516-4
Скачать (прямая ссылка):
распознавания формата фрейма IDE (ID Extension) имеет доминантный уровень
для стандартного формата фрейма и рецессивный - для расширенного. Биты гО
и г1 - резервные.
В поле управления (Control Field) содержится 4-разрядный код, задающий
длину поля данных (0-8 байт) - DLC - Data Lenght Code. Поле контрольной
суммы CRC Field включает в себя контрольную сумму сообщения (15 бит) и
бит-разделитель. В поле подтверждения АСК (Acknowledgement) передающий
узел всегда выставляет рецессивный уровень. В случае, если передача
прошла успешно, приемный узел сигнализирует об этом установкой в этом
поле доминантного уровня.
Начинается фрейм доминантным битом SOF (Start of Frame), служащим также
для синхронизации битового потока, а заканчивается семью битами
рецессивного уровня поля EOF (End of Frame) и 3-битным того же уровня
промежутком между фреймами. Для нестандартный формат
Поле
управления
IDE | гО
Расширенный формат
Попе
данных
Поле арбитража
Поле управления
I SOF
11 бит ID 1 SRR | IDE
18 бит ID I RTR I r1 I rO ) DLC
Рис. 4.31. Формат сообщения CAN-протокола
328
СТРУКТУРА СОВРЕМЕННЫХ 8-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ
ключения потери синхронизации при передаче длинной последовательности
одинаковых битов в пределах полей начала фрейма, арбитража, управления,
данных и контрольной суммы используется битстаффинг - вставка
дополнительного бита противоположного значения после подряд идущих пяти
одинаковых. При приеме производится обратная (дебитстаффинг) операция.
Для запроса данных от удаленного узла служит фрейм запроса данных Remote
Frame, также имеющий стандартный и расширенный форматы. Отличия фрейма
запроса данных от фрейма данных - в отсутствии поля данных и рецессивном
уровне бита RTR. При получении фрейма запроса данных запрашиваемый узел
отвечает передачей фрейма данных.
Сигнализация об ошибках происходит посредством передачи фрейма Error
Frame. Он инициируется любым узлом (в CAN правильность передачи
контролируется каждым узлом), обнаружившим ошибку.
Шесть доминантных бит флага ошибки (активный флаг ошибки) перекрывают
остаток ошибочно переданного фрейма и создают глобальную ошибку в сети -
ошибку битстаф-финга, которая воспринимается остальными узлами, еспи им
не удалось обнаружить первоначальную (локальную) ошибку. Далее они
выставляют свои флаги ошибки. Ввиду этого обстоятельства
последовательность доминантных бит (суперпозиция флагов ошибки) может
иметь длину от 6 до 12 бит. Ненадежным или частично поврежденным узлам
(см. ниже) при обнаружении ошибки разрешено посылать лишь пассивный флаг
ошибки - последовательность шести рецессивных бит.
Для задержки передачи данных или посылки фрейма запроса данных (при
неготовности приемника или наличии доминантных бит в промежутке между
фреймами) служит фрейм перегрузки Overload Frame. В отличие от фрейма
ошибки он не влияет на счетчик ошибок и не вызывает повторную передачу
сообщения.
Несколько необычно решается проблема коллизий (столкновений в сети),
присущая шинной топологии. В этом случае снова используется идентификатор
сообщения в сочетании со схемой подключения к шине типа "монтажное ИЛИ",
где узел, выставляющий на шину "О" - доминантный уровень, подавляет "1" -
рецессивный уровень, выставленный другим узлом. Победителем в арбитраже
является узел, имеющий идентификатор с наименьшим численным значением и,
как следствие, наивысший приоритет. Только победивший узел продолжает
передачу данных, остальные пытаются сделать это позже. На рис. 4.68
наглядно отражена процедура арбитража при попытке передачи сообщений
одновременно четырьмя узлами сети.
Подобный режим доступа к шине известен как CSMA/CD+AMP (Carrier Sense
Multiple Access with Collision Detection and Arbitration on Message
Priority) - множественный доступ с контролем несущей, обнаружением
коллизий и арбитражем на основе приоритета сообщений. Этот режим не
позволяет поспорившим узлам устраивать столкновение на шине, а сразу
выявляет победителя. CAN-протокол, изначально разработанный специально
для систем управления жизненно важными узлами автомобилей, критичных к
уровню безопасности и степени достоверности передаваемых данных, обладает
эффективными средствами обнаружения ошибок.
В отличие от других сетевых протоколов, в CAN не используются
подтверждающие сообщения, а при обнаружении одной или более ошибок хотя
бы одним узлом (в CAN все узлы принимают все сообщения и участвуют в
проверке сообщения на наличие ошибок -вычисляют контрольную сумму и т.
п.) текущая передача прерывается (при условии, что ошибку обнаружил как
минимум один узел со статусом Error Active) генерацией фрейма ошибки с
флагом ошибки. Передатчик, сообщение которого было прервано, повторяет
передачу.
329
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
4.2. СЕМЕЙСТВО МК MCS-51 ФИРМЫ "INTEL"
4.2.1. АРХИТЕКТУРА МК 8051 АН
На рис. 4.32 приведена внутренняя структура МК 8051 АН фирмы "Intel", с
которого началось семейство MCS-51 (отечественный аналог 1816ВЕ51).