- •Программируемые цифровые устройства (часть 1) содержание
- •1 Микропроцессор. Основные сведения
- •Основные характеристики мп
- •1.2 Архитектура микропроцессора. Основные понятия
- •1.2.2 Состав типичного микроконтроллера
- •1.3 Структура мп устройства.
- •1.3.1 Мп с микропрограммным управлением (микропрограммируемая архитектура)
- •Структурная схема устройства микропрограммного управления
- •Структура микро эвм с микропрограммным управлением
- •1.4 Запоминающие устройства.
- •1.4.1 Оперативное запоминающее устройство
- •Статическое озу на биполярных и полевых транзисторах
- •1.4.2 Постоянные зу
- •Однократно программируемое пзу
- •1.5 Команды, форматы команд, система команд
- •1.6 Принцип работы микропроцессора.
- •1.6.1 Модель программирования микропроцессора.
- •1.7 Способы адресации
- •1.8 Основы программирования. Ассемблер.
- •1.9 Организация передачи информации в мпс. Интерфейс.
- •2 Архитектура 8- разрядных микроконтроллеров.
- •2.1 Последовательные интерфейсы микропроцессорных систем
- •2.1.1 Последовательный интерфейс rs-232c
- •2.1.2 Шина 1-Wire
- •Формат команды 1-Wire протокола
- •2.1.3 Интерфейс can4
- •Топология сети can.
- •Data frame стандарта can 2.0a.
- •Побитовый арбитраж на шине can.
- •2.2 Организация портов ввода/вывода
- •2.3 Таймеры и процессоры событий
- •2.4 Ввод/вывод аналоговых сигналов
- •Структурная схема типового модуля ацп
- •Цап на основе таймера в режиме шим
- •2.5 Контроллеры последовательного ввода/вывода
- •2.5.1 Модуль последовательного обмена uart
- •Упрощенная структура модуля uart.
- •2.5.2 Последовательный периферийный интерфейс spi
- •2.5.3 Синхронный последовательный интерфейс i2c
- •Временные диаграммы шины i2c
- •Взаимосинхронизация на шине i2c
- •2.6 Минимизация потребления энергии
- •2.7 Повышение надежности работы мк
- •2.7.1 Мониторинг напряжения питания мк
- •Временные диаграммы работы схемы por
- •Переход мк в состояние сброса по сигналам схемы por и модуля пониженного напряжения питания
- •2.7.2 Сторожевой таймер
- •Структурная схема сторожевого таймера
- •Принцип действия сторожевого таймера
- •3 Периферийные устройства
- •3.1 Генератор и схема начального сброса
- •3.2 Кнопки и датчики
- •3.3 Подключение светодиодных индикаторов
- •3.4 Подключение жидкокристаллических индикаторов
- •3.5 Комбинированное использование портов
- •3.6 Подключение реле и электромагнитных исполнительных устройств
- •3.7 Подключение мк к компьютеру через последовательный порт
- •3.8 Подключение интегрального датчика температуры с интерфейсом 1- Wire
- •4 Микроконтроллеры с архитектурой mcs-51
- •4.1 Особенности архитектуры mcs-51
- •4.2 Структура микроконтроллеров mcs-51
- •4.2.1 Внутренняя структура mcs-51
- •Структура микроконтроллера mcs-51
- •4.2.2 Организация памяти и программно доступные ресурсы
- •Организация памяти в микроконтроллерах семейства 8051
- •4.2.3 Система команд и методы адресации
- •4.3 Современные мк с архитектурой mcs-51
- •5 Микроконтроллеры с risc- архитектурой
- •5.2 Однокристальные risc- контроллеры avr
- •5.2.1 Способы адресации в микроконтроллерах avr
- •5.3 Микроконтроллеры семейства msp430
- •5.3.1 Архитектура
- •5.3.2 Система тактирования
- •5.3.3 Встроенная эмуляция
- •5.3.4 Адресное пространство
- •5.4 Сравнение микроконтроллеров различных семейств
- •6 Разработка систем на бис программируемых цифровых устройств
- •6.1 Основы проектирования систем на микроконтроллерах и плис
- •6.2 Технология разработки микропроцессорных контроллеров
- •6.2.1 Основные этапы цикла разработки микропроцессорного контроллера
- •Литература
Data frame стандарта can 2.0a.
Remote Frame - это Data Frame без поля данных и с выставленным битом RTR (1 – рецессивные бит). Основное предназначение Remote кадра - это инициация одним из узлов сети передачи в сеть данных другим узлом. Такая схема позволяет уменьшить суммарный трафик сети. На практике Remote Frame сейчас используется редко (например, в DeviceNet Remote Frame вовсе не используется).
Error Frame – сообщение которое явно нарушает формат сообщения CAN. Передача такого сообщения приводит к тому, что все узлы сети регистрируют ошибку формата CAN-кадра, и в свою очередь автоматически передают в сеть Error Frame. Результатом этого является автоматическая повторная передача данных в сеть передающим узлом. Error Frame состоит из поля Error Flag, которое состоит из 6 бит одинакового значения (таким образом Error frame нарушает проверку Bit Stuffing), и поля Error Delimiter, состоящее из 8 рецессивных битов. Error Delimiter дает возможность другим узлам сети обнаружив Error Frame послать в сеть свой Error Flag.
Overload Frame - повторяет структуру и логику работы Error кадра, с той разницей, что он используется перегруженным узлом, который в данный момент не может обработать поступающее сообщение, и поэтому просит при помощи Overload-кадра о повторной передаче данных. Используется для задержки передачи данных. В отличие от кадра ошибок не влияет на счетчик ошибок. В настоящее время Overload-кадр практически не используется.
Контроль доступа к среде передачи (побитовый арбитраж).
Так как всем узлам позволено начинать передачу кадров после того, как шина окажется свободной, это может привести к тому, что в одно и то же время сразу несколько узлов начнут передачу (рис.) Арбитраж CAN-шины основан на схеме c неразрушающим (не деструктивным) соперничеством.. Суть метода заключается в следующем. В случае, когда несколько контроллеров начинают одновременную передачу CAN кадра в сеть, каждый из них сравнивает, бит, который собирается передать на шину с битом, который пытается передать на шину конкурирующий контроллер. Если значения этих битов равны, оба контроллера передают следующий бит. И так происходит до тех пор, пока значения передаваемых битов не окажутся различными. Теперь контроллер, который передавал логический ноль (более приоритетный сигнал) будет продолжать передачу, а другие контроллеры прервут передачу до того времени, пока шина вновь не освободится. Если шина в данный момент занята, то контроллер не начнет передачу до момента её освобождения.
Побитовый арбитраж на шине can.
Методы обнаружения ошибок.
CAN протокол определяет пять способов обнаружения ошибок в сети:
Bit monitoring
Bit stuffing
Frame check
ACKnowledgement Check
CRC Check
Bit monitoring – каждый узел во время передачи битов в сеть сравнивает значение передаваемого им бита со значением бита, которое появляется на шине. Если эти значения не совпадают, то узел генерирует ошибку Bit Error. Естественно, что во время арбитража на шине (передача поля арбитража в шину) этот механизм проверки ошибок отключается.
Bit stuffing – когда узел передает последовательно в шину 5 бит с одинаковым значением, то он добавляет шестой бит с противоположным значением. Принимающие узлы этот дополнительный бит удаляют. Если узел обнаруживает на шине больше 5 последовательных бит с одинаковым значением, то он генерирует ошибку Stuff Error.
Frame Check – некоторые части CAN-сообщения имеют одинаковое значение во всех типах сообщений. Т.е. протокол CAN точно определяет, какие уровни напряжения и когда должны появляться на шине. Если формат сообщений нарушается, то узлы генерируют ошибку Form Error.
ACKnowledgement Check – каждый узел получив правильное сообщение по сети посылает в сеть доминантный (0) бит. Если же этого не происходит, то передающий узел регистрирует ошибку Acknowledgement Error.
CRC Check – каждое сообщение CAN содержит CRC сумму, и каждый принимающий узел подсчитывает значение CRC для каждого полученного сообщения. Если подсчитанное значение CRC суммы, не совпадает со значением CRC в теле сообщения, принимающий узел генерирует ошибку CRC Error.
При обнаружении ошибки нарушается трафик сети, и все узлы сбрасывают принятое сообщение.
Физический уровень протокола CAN
Существует несколько физических уровней протокола CAN (ISO 11898, ISO 11519, SAE J2411). Физической средой передачи в CAN может служить витая пара, оптоволокно, радиоканал, линия электропередачи.
В большинстве случаев используется физический уровень CAN определенный в стандарте ISO 11898. ISO 11898 в качестве среды передачи определяет двухпроводную дифференциальную линию с импедансом 120 Ом (допускается колебание импеданса в пределах от 108 до 132 Ом. Физический уровень CAN реализован в специальных чипах - CAN приемо-передатчиках (transceivers), которые преобразуют обычные TTL уровни сигналов используемых CAN-контроллерами в уровни сигналов на шине CAN. Наиболее распространенный CAN приемо-передатчик – Phillips 82C250 полностью соответствует стандарту ISO 11898. Разъемы для сети CAN до сих пор НЕ СТАНДАРТИЗОВАНЫ. Каждый протокол высокого уровня обычно определяет свой тип разъемов для CAN-сети.
Максимальная скорость сети CAN в соответствие с протоколом равна 1 Mbit/sec. При скорости в 1 Mbit/sec максимальная длина кабеля равна примерно 40 метрам. Ограничение на длину кабеля связано с конечной скоростью распространения электромагнитного поля и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, т.е. сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети). Соотношение между скоростью передачи и максимальной длиной кабеля приведено в таблице:
скорость передачи |
максимальная длина сети |
1000 Кбит/сек |
40 метров |
500 Кбит/сек |
100 метров |
250 Кбит/сек |
200 метров |
125 Кбит/сек |
500 метров |
10 Кбит/сек |
6 километров |