Изучаем микроконтроллеры Z8

Журнал "Радио", номер 1, 2000г.
Автор: М. Гладштейн, г. Рыбинск

Окончание. Начало см. в "Радио",1999,#7 "Радио",1999,#8 "Радио",1999,#9 "Радио",1999,#10 "Радио",1999,#11 "Радио",1999,#12

    ЧАСТЬ 7. ИНТЕРФЕЙС

    7.1. ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС

    МК модификациии 06 содержит последовательный периферийный интерфейс SPI (Serial Peripheral Interface), предназначенный для обмена данными с другими процессорами, запоминающими и иными устройствами.

    Принцип реализуемого в МК Z8 последовательного обмена данными, получивший название "Master-Slave" (буквально - "Хозяин-раб" или "Ведущий-ведомый"), иллюстрируется схемой, показанной на рис.7.1. Одно из устройств, участвующих в обмене, является ведущим, другое - ведомым. Обмен осуществляется по четырем сигнальным линиям. Их назначение и используемые при этом физические выводы портов МК указаны в таблице.

Таблица Наименование Назначение Вывод DI Data-in (Вход данных) Р20 DO Data-Out (Выход данных) Р27 __ SS Slave Select (Выбор ведомого) Р35 SK SPI-Clock (Синхронизация) Р34

    Оба устройства, участвующие в обмене данными, содержат сдвиговый регистр. Регистры соединяются в кольцо, как показано на рис. 7.1, с использованием соответствующих входов Dl и выходов DO. Сдвиг осуществляется по фронту импульса синхронизации, при этом ведущий передает ведомому один бит из своего сдвигового регистра, получая взамен бит из регистра последнего. Очевидно, если ведущий подаст на шину синхронизации SK число импульсов, равное разрядности регистров, то информация из его регистра полностью передастся ведомому, и наоборот. Разрядность передаваемых слов - 8 бит. В МК Z8 принят способ передачи старшими разрядами вперед, поэтому применяются регистры со сдвигом влево.

    Для того чтобы можно было аппаратно выбирать одного из нескольких ведомых, используется дополнительная линия интерфейса __ SS. Помимо этого, выбор ведомого может также осуществляться передачей ведущим адресного байта. Последний принимается всеми ведомыми и сравнивается с присвоенными им адресами. При совпадении ведомый активирует линии своего интерфейса и осуществляет требуемый обмен данными.

    Структурная схема интерфейса SPI МК изображена на рис.7.2. Он содержит четыре основных регистра:
    - управления SCON (SPI Control Register);
    - сравнения SCOMP (SPI Compare Register);
    - приема/буфера RxBUF (SPI Receive/Buffer Register);
    - сдвиговый регистр.

    Первые три размещены в расширенном регистровом файле, группа С. Кроме этого, SPI использует устройство управления портами, делитель частоты и коммутатор сигнала синхронизации, а также счетчик битов с устройством управления прерываниями. Назначение разрядов и их состояния после сброса и в процессе работы регистра управления SCON приведено на рис. 7.3.

    Для разрешения работы SPI прежде всего необходимо установить в 1 бит DO регистра SCON. Режим работы "Ведущий/ведомый" устанавливают программированием бита D7 SCON. Если выбран режим "Ведущий", то необходима настройка следующих параметров: источник синхронизации - TCLK или выход таймера ТО (бит D6 регистра SCON), фронт сигнала синхронизации, по которому происходит передача очередного бита информации падающий или нарастающий (бит D5 SCON). Кроме того, если в качестве источника синхронизации используется TCLK, то необходимо задать коэффициент деления частоты TCLK (биты D2 и D1 SCON в режиме "Ведущий").

    При работе в режиме "Ведущий" до начала передачи необходимо установить на одном из выходов, в частности на Р35, активный низкий уровень сигнала __ SS. Загрузка данных в RxBUF инициирует передачу. За каждый период сигнала синхронизации передается один бит. По окончании передачи 8 бит счетчик битов переполняется, генерируется запрос прерывания IRQ3 и устанавливается флаг "Символ принят" (D4 SCON). Соответствующая подпрограмма обработки прерывания должна сохранить принятый от ведомого символ, загрузить в RxBUF следующий байт для передачи и т. д. По окончании сеанса связи процессор снимает сигнал __ SS с соответствующего выхода порта. Этот алгоритм должен поддерживаться программно, в то время как сама передача обеспечивается аппаратными средствами SPI.

    При работе МК в режиме "Ведомый" соединение его выхода DO с общей шиной входа DI ведущего устройства осуществляется программным путем с использованием бита 02 SCON. Если сравнение запрещено (бит D3 SCON установлен в 1), то обмен информацией начинается сразу после того, как сигнал __ SS становится активным. После приема 8 бит счетчик битов переполняется, генерируется прерывание IRQ3 и устанавливается флаг "Символ принят" (D4 SCON). В процессе прерывания МК должен прочитать RxBUF (и может перезагрузить в него символ). Чтение RxBUF сбрасывает флаг "Символ принят". Пока процессор это делает, SPI может принимать следующий символ. Если к моменту окончания его приема буфер оказывается непрочитанным (т. е. флаг "Символ принят" все еще установлен), то принятые данные перезаписываются в RxBUF и устанавливается дополнительно флаг "Переполнение буфера" (бит D1 SCON в режиме "Ведомый").

    При работе в режиме "Ведомый" МК можно выбирать сравнением адреса. Разрешение сравнения осуществляется в прикладной программе сбросом в 0 бита D3 регистра SCON. Цикл сравнения начинается, когда __ SS становится активным. Выход DO при этом автоматически отключен от входа DI ведущего. По завершении приема каждого очередного символа запрос прерывания не генерируется, а принятый символ сравнивается аппаратно с содержимым регистра сравнения SCOMP. Если они не совпадают, то выход DO остается в неактивном состоянии. Так продолжается до тех пор, пока не наступит совпадение переданного адреса ведомого с адресом, заданным в регистре SCOMP. При этом генерируется сигнал восстановления из режима STOP (SPI Compare) и активизируется выход DO (если он не запрещен состоянием бита D2 SCON). Далее работа SPI происходит в соответствии с описанным выше алгоритмом работы в режиме "Ведомый".

    Если SPI запрограммирован как ведомый, он может работать во всех режимах - RUN, HALT и STOP. При использовании режима сравнения адреса М К может быть восстановлен в режим RUN из режимов HALT и STOP. Таким образом, аппаратные средства SPI позволяют МК при соответствующим образом написанной программе реализовать различные стандартные и нестандартные протоколы обмена данными.

    7.2. ИНТЕРФЕЙС ВНЕШНЕЙ ПАМЯТИ

    МК модификации 40 допускает расширение используемых ОЗУ и ПЗУ путем подключения внешней памяти программ и данных объемом до 60 Кбайт каждая. С этой целью в нем предусмотрены специальные выводы стробов адреса __ AS и данных __ DS, чтения/записи     __ R/W, задействуются порты РО (старшие разряды адреса А15-А8) и Р1 (мультиплексированная шина младших разрядов адреса А7-АО и данных D7-DO), а также исп1ользуется вывод порта Р34 в качестве сигнала выбора памяти данных __ DM. Конфигурация интерфейса внешней памяти осуществляется программированием регистров режимов Р01М и РЗМ.

    Обращение к внешней памяти программ производится при считывании команд, если значение адреса команды в PC больше или равно 4096, и выполнении специальных инструкций LDC и LDCI. Обращение к внешней памяти данных реализуется при выполнении стековых операций (если стек определен как внешний, т. е. бит D2 регистра РЗМ установлен в 0) и специальных команд LDE и LDEI. Стековые операции вызывают- ся командами CALL, RET, IRET, PUSH, POP. При обращении к внешней памяти программ __   DM = 1, к внешней памяти данных - __   DM = 0.

    Обобщенная схема интерфейса внешней памяти (а) и временные диаграммы сигналов показаны на рис. 7.4 (б - при считывании, в - при записи). Применяемые микросхемы памяти должны иметь регистры-защелки для фиксации младших разрядов адреса. Учитывая, что порт РО программируется потетрадно, возможны следующие конфигурации внешней памяти: 256 байт (РО не используется), 4096 байт (используется младшая тетрада РО) и 60 Кбайт (порт РО используется полностью).

    Если сигнал DM не используется, то внешняя память программ и внешняя память данных будут иметь общее адресное пространство. Программист может разделять их по значению адреса.

    Стандартный машинный цикл обращения к внешней памяти содержит три такта внутренней синхронизации (Т1, Т2, ТЗ). Для обращения к "медленной" памяти в МК предусмотрена расширенная синхронизация. В этом случае в цикл вставляется дополнительный такт ожидания ТХ. Такой режим обеспечивается установкой в 1 бита D5 регистра Р01М.

    Для надежной работы интерфейса внешней памяти изготовитель рекомендует вставлять в программу команду NOP между командами программирования регистров режима Р01М, РЗМ и командами обращения к внешней памяти, если они следуют одна за другой.

    7.3. КОНСТРУКТИВНОЕ ИСПОЛНЕНИЕ

    Микроконтроллеры Z8 выпускаются в различном конструктивном исполнении. Наиболее дешевым и удобным для большинства применений является корпус DIP (Dual In Line Package). Расположение выводов МК в корпусах этого типа показано на рис. 7.5.

    Большинство модификаций МК имеет также вариант исполнения в корпусе SOIC (Smal Outline Package), предназначенном для поверхностного монтажа. Модификация 40 выпускается также в квадратном 44-выводном корпусе PLCC (Plastic Chip Carrier) и QFP (Quad Flat Pack), a 30, 31 и 40 (с возможностью многократного перепрограммирования) - в корпусах CerDIP Window Lid, имеющих кварцевое окно для оптического стирания.

    Полное обозначение микросхемы, кроме шифра модификации, содержит дополнительно две цифры, соответствующие максимальной частоте в мегагерцах, три буквы и необязательный буквенно-цифровой код партии. Первая буква обозначает тип корпуса (Р пластмассовый DIP, S - SOIC и т. д.), вторая - температурный диапазон (S - стандартный - от 0 до +70°С, Е расширенный - от -40 до +105°С), третья - защитную оболочку от воздействия окружающей среды (С стандартная пластмассовая, Е - стандартная герметичная). Например, полное обозначение МК Z86E02 может быть следующим: Z86E0208PSC.







Рекомендуемый контент




Copyright © 2010-2018 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.