- •Раздел I. Общие сведения о микроконтроллерах. Тема 1.1. Понятие микроконтроллера.
- •Тема 1.2. Типы микроконтроллеров.
- •Встраиваемые микроконтроллеры.
- •16-И 32-разрядные микроконтроллеры (микроконтроллеры с внешней памятью).
- •Цифровые сигнальные процессоры.
- •Тема 1.3. Архитектура процессоров. Cisc и risc процессоры.
- •Гарвард против принстона.
- •Тема 1.4. Типы памяти микроконтроллеров
- •Память программ
- •Память данных
- •Тема 1.5. Регистры микроконтроллера. Пространство ввода-вывода
- •Внешняя память
- •Раздел II. Аппаратные средства микроконтроллеров Тема 2.1. Корпуса устройств
- •Тема 2.2. Питание микроконтроллеров.
- •Потребляемая мощность.
- •Подключение питания.
- •Тема 2.3. Запуск микроконтроллера (сброс в начальное состояние). Тактирование системы.
- •Тактирование системы
- •Тема 2.4. Командные циклы. Программный счетчик. Алу. Командные циклы.
- •Программный счетчик.
- •Арифметико-логическое устройство
- •Тема 2.5. Сторожевые таймеры. Прерывания. Сторожевые таймеры.
- •Прерывания.
- •Раздел III. Средства обмена в микроконтроллерах. Тема 3.1. Таймеры.
- •Тема 3.2. Параллельный ввод-вывод данных. Преобразование логических уровней. Параллельный ввод-вывод данных
- •Преобразование логических уровней.
- •Тема 3.3. Последовательный ввод-вывод данных.
- •Асинхронный последовательный обмен.
- •Синхронный последовательный обмен.
- •Тема 3.4. Протоколы передачи данных. Протокол microwire.
- •Протокол spi.
- •Протокол i2с
- •Раздел IV. Микроконтроллеры семействаMcs-51 Тема 4.1. Фирмы-производители микроконтроллеров. Типовые характеристики семейства mcs-51.
- •Тема 4.2. Структура микроконтроллеров mcs-51 и функции выводов
- •Тема 4.3. Организация памяти и программно доступные ресурсы.
- •Тема 4.4. Синхронизация, магистральные циклы.
- •Тема 4.5. Методы адресации и система команд.
- •Методы адресации
- •Регистровая адресация.
- •Прямая адресация.
- •Косвенно-регистровая адресация.
- •Непосредственная адресация.
- •Система команд семейства mcs-51
- •Арифметические команды.
- •Логические команды.
- •Команды пересылки данных.
- •Команды работы с битами.
- •Команды передачи управления.
- •Тема 4.6. Система прерываний
- •Особенности запросов внешних прерываний.
- •Тема 4.7. Параллельные порты
- •Обновление данных в портах
- •Операции типа «чтение-модификация-запись»
- •Тема 4.8. Таймеры-счетчики
- •Тема 4.9. Последовательный порт
- •Синхронный обмен (режим 0)
- •Асинхронный обмен (режимы 1, 2, 3)
- •Обмен в многопроцессорных системах
Протокол spi.
Протокол SPI похож на протокол Microwire, но имеет несколько отличий.
SPI способен передавать данные со скоростью до 3 Мбит в секунду.
Разрядность данных в SPI пакете равна 8 бит.
Передатчик в SPI имеет возможность приостановить передачу данных.
Данные в SPI могут передаваться в виде множества байтов, которые называются «блок» или «страница».
Как и в протоколе Microwire, в SPI сначала передается байт, который содержит команду для принимающего устройства. Затем идет необязательный 16-разрядный адрес, после чего следуют 8-разрядные данные. Как было указано выше, протокол SPI позволяет передавать несколько байтов (рис. 3.17). В протоколе SPI используется симметричный тактовый сигнал, который имеет одинаковую длительность высокого и низкого уровня. Выходные данные должны быть выданы на линию по крайней мере за 30нс до поступления переднего фронта тактового сигнала, а считывание должно происходить за 30нс до заднего фронта.
Рис. 3.17 - Запись данных в протоколе SPI.
При реализации протоколов Microwire или SPI можно упростить схему соединения, если подключить вход Din и выход Dout к одной линии (рис. 3.18). При таком способе соединения микроконтроллер должен отключить свой выходной драйвер, когда закончит последовательную передачу данных. После этого он может принимать данные, поступающие от другого устройства. Резистор между выводами данных служит для ограничения тока в тех случаях, когда и микроконтроллер, и периферийное устройство выдают данные на линию связи.
Рис. 3.18 - Подключение входа «Din» и выхода «Dout» к одной линии.
Сети.
Когда термин «сеть» употребляется применительно к микроконтроллерам, то имеются ввиду шины, которые используются для подключения дополнительных устройств и для обеспечения связи между микроконтроллерами. Таким образом, сеть микроконтроллеров отличается от локальной сети, такой как «Ethernet», которая вероятно приходит на ум при слове «сеть».
Существует множество стандартов (в число которых входят описанные выше Microwire и SPI), которые могут привести в недоумение по поводу того, что является, и что не является сетью. Далее под микроконтроллерной сетью будем понимать отдельную линию связи (провод) и множество подключенных к ней устройств, которые могут инициировать передачу сообщений и посылать соответствующий отклик на полученное сообщение.
В таких сетях имеется «ведущий» («master») - интеллектуальное устройство, которое может инициировать передачу данных. Устройства, которые отвечают на запросы, но не могут их инициировать, называются «ведомые» («slaves»). Микроконтроллерная сеть может иметь несколько «ведущих» устройств, В этом случае сетевой протокол требует включения схемы арбитража, которая позволит различным «ведущим» устройствам передавать данные, не нарушая других сообщений.
Обычно в микроконтроллерной сети передается относительно мало данных, поэтому требуемая для них пропускная способность весьма скромна по сравнению с сетью Ethernet. Часто микроконтроллерная сеть имеет пропускную способность порядка нескольких байт в секунду, тогда как сеть персональных компьютеров может передавать несколько Мбайт в секунду.