www.chms.ru - вывоз мусора в Балашихе |
Динамо-машины Однокристальные микроконтроллеры
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63
скважность 50%, если не осуществляется синхронизация с другими устройствами.
Блок синхронизации и управления генерирует синхросигналы для обеспечения обработки потока данных. Этот логический блок обеспечивает импульсами сдвига регистр SIDAT, компаратор сравнения slave-адреса, генерирует и обнаруживает состояния Start, Stop, генерирует сигнал АСК, управляет переключением master- и slave-режимов, имеет возможность запросить прерывание, контролирует состояние 1С шины.
Регистр управления S1C0N используется микроконтроллером для вынолнения следующих функций: запуска и перезапуска последовательной передачи, прекращения последовательной передачи, задания скорости передачи (bit rate), распознавания адреса, фиксации АСК.
Декодер статуса преобразует биты регистра состояния в 5-разрядный код. Этот код уникален для каждого состояния шины 1С. Он может использоваться для генерации адресов подпрограмм, с помощью которых осуществляется обработка возникающих ситуаций (выделяется 26 кодов). Код состояния помещается в регистр состояния и остается неизменным, пока флаг состоявшегося прерывания не будет очищен (естественно, при помощи соответствующих команд). Три младших бита регистра статуса S1STA всегда остаются нулями.
Блок-схема интерфейса 1С в микроконтроллерах 8ХС552 приведена на рис. 4.3.
Поговорим теперь подробнее о четырех названных регистрах (S1ADR, S1DAT, S1C0N, S1STA), с помощью которых осуществляется управление шиной.
Структура регистра slave-адреса показана на рис. 4.4.
Процессор может непосредственно адресовать этот регистр, помещать в него данные и читать их. Содержание этого регистра игнорируется в режиме master, а в режиме slave он обязательно должен быть зафужен необходимыми данными.
Структура регистра данных приведена на рис. 4.5.
Процессор может непосредственно адресовать этот регистр, помещать в него данные и читать их, но только тогда, когда не происходит процесса передачи (приема) байта. Данные в регистре S1DAT остаются устойчивыми, гюка установлен флаг SI в регистре S1C0N.
P1,7/SDA- lt;
Входной фильтр
Выход
Входной фильтр
Выход
S1ADR
Регистр Slave-адреса
Компаратор
S1DAT
Сдвиговый регистр данных
Арбитраж и синхронизация
Таймер 1 .
Генератор SCL
Управление
переполнение S1CON
-V 1
fosc*
Прерывание
Регистр управления
Шина : статуса ;
S1STA
Декодер статуса
Регистр | ||
статуса | ||
Рис. 4.3. Общая блок-схема интерфейса ГС в микроконтроллерах серии 8ХС.552
S1ADR
6 5 | ||||||
X 1 X |
Slave-адрес
Рис. 4.4. Регистр S1ADR
31 DAT SD7 SD6 SD5 SD4 SD3 SD2 SD1 SDQ [
Рис. 4.5. Регистр S1DAT
На рис. 4.6 показана схема фиксации данных в регистре S1DAT. Вместе с ячейкой АСК формируется 9-разрядный сдвиговый регистр, бит АСК задается аппаратно без обращения к центральному процессору. Данные сдвигаются при гю]южительных перепадах сип-
Внугрунняя шина
BSD? | s1dat | ||||
Рис. 4.6. Фиксрчия таимых в p.-intrpe SIDAT
xpoHH3npyiouuix импульсов, бит ЛСК передается на шину в течение 9-го сшгхронизнруюнхсго импульса. Имеется также буфер BSD7. данные из которого сдвигаются по OTpHuarejibHOMV перепа.ту синхро-и.мпульса SCL. Когда цептральпьп1 процессор записывает данные в S1DAT, бит 7 дантлх оказывается в ячейке BSD7 и он первым будет переда1Г па шину. После прохождения 9 нпyльcoв SCL дап1Нз1е в регистре S1DAT не изменятся (если осуществлена их передача). Структура управляющего регистра приведена на рис. 4,7.
LNS1 |
Рис. 4.7. Рси!стр S1C0N
Процессор может непосредствсино адресовать этот З-разряднын регисгр по (!перацпям чтения и ?аг!иси. Регистр имеет несколько битов с уникальными названиями, которые иснользуются в следующих случаях:
бит STO очищается, когда возникает условие Stop; этот бит также очищается, когда F.NS 0;
бит HNS1 - бит разрешения работы IC шины; когда ENS1 = О, на линиях SDA и SCL присутствуют высокие уровш! сигна.лов, линии не реагируют на внешние сигналы; интерфейс находится в нсадресуемом slave-состоянии, выводы Р 1.6 и Р 1.7 можно использовать как обычные порты ввода-вывода. Когда ENS1 = !. выходные уровни (port latches) портов PI.6 и PI.7 должны быть установлены в состояние с высоким уровнем. Бит ENS1 нельзя исполг gt;зовать для временной приостатювки обмена по нише !~С,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |