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

Slave-адрес

Рис. 1.31. Структура байта адресации

Таблица 1.3. Служебные адреса

Slave-адрес

Описание служебного адреса

0000 000

Общий вызов

0000 ООО

Программный Start

0000 001

Адрес шины CBUS

0000 010

Зарезервирован для других форматов шины

0000 011

Зарезервирован на будущее

0000 1хх

Код режима Hs-mode

1111 1хх

Зарезервирован на будущее

1111 Охх

10-битная адресация slave-абонентов

Разберемся подробнее в функциональном назначении служебных адресов.

Общий вызов может адресовать все устройства, подключенные к шине I С, в этом случае при получении общего вызова устройства должны подтверждать прием выдачей сигнала АСК. Устройства, которые не нуждаются в сведениях, передаваемых при общем вызове, могут игнорировать этот адрес, не выставляя сигнал АСК. Если же устройство выполнено так, что обязательно требует данных общего вызова, оно ведет себя точно так же, как обыкновенный slave-абонент. Второй байт, следующий за общим вызовом, обычно содержит информационную часть. На рис. 1.32 представлен формат общего вызова.

Общий вызов

Рис. 1.32. Общий ВЫЗОВ

I Информационная часть АСК АСК



OopaiHie внимание - информационная часть содержит бит В, который в сочетании с битами 7...1 (обозначенными на рис. 1.32 символом laquo;X raquo;) регламентирует назначение информации, передаваемой в данном случае. Регламентируются следующие комбинации:

0000 0110 (06h) - аппаратный сброс. При получении этой комбинации все абоненты, реагирующие на общий вызов, производят внут55енний сброс (рестарт). Естественно, аппаратный сброс этих абонентов не должен блокировать шину;

0000 0100 (04h) - запись программируемой части адреса slave-абонента с помощью аппаратных средств. Все абоненты, ответившие на этот адрес, будут блокированы и не смогут быть сброшены;

0000 0000 (OOh) - этот код запрещается использовать;

,хххх XXX1 - используется, когда на шине присутствует много совмещенных master/slave-абонентов. В таких случаях часто необходимо генерировать запрос об адресе устройства, которому должна быть передана информация. К примеру, устройство laquo;А raquo;, получив от устройства laquo;Б raquo; данные, обработав их, передает информацию устройству laquo;В raquo; вместе с собственным адресом (обычно адреса laquo;raaster/slave raquo; в совмещенных абонентах совпадают).

На рис. 1.33 представлен формат передачи hardware general call.

00000000

DATA

DATA

Общий вызов в

Рис. 1.33. Формат hardware general call

Программный Start удобно использовать тогда, когда устройство, соединенное с шиной PC, не имеет аппаратного интерфейса. Собственно, если встроенный интерфейс PC есть, скажем, в микроконтроллере, его очень просто использовать. Достаточно запрограммировать микроконтроллер на прерывание от шины, и при наличии передачи будет выполняться программа обработки данных, поступающих с шины. Если встроенного интерфейса PC нет, микроконтроллер обязан постоянно опрашивать шину на предмет получения дагшых.



Процедура опознавания в таком случае выглядит следующим образом, отраженным на рис. 1.34.

SDA SCL

Аск;

-00000001

Освобождено для выдачи сигнала АСК

Рис. 1.34. Программный START

Из рисунка видно, что микроконтроллеру достаточно опрашивать линию SDA с низкой частотой, определяя один из нулей в стартовом бите. После обнаружения этого нуля на линии SDA микроконфолле-ру необходимо переключиться на более высокую частоту опроса, чтобы зафиксировать состояние laquo;повторный Start raquo; (Sr). Обычный аппаратный приемник игнорирует состояние S и дождется Sr.

Адрес шипы CBUS возможно использовать при работе с элементами, оснащенными этой шиной. В задачи этой книги не входит рассказ о шине CBUS, но тем не менее она по своей реализации достаточно близка к шине 1С, поэтому имеется возможность их совмещения.

В спецификации CBUS имеется третья линия, обозначаемая как DLEN. Диаграммы сигналюв, отражающие способ работы с этой шиной в условиях совмещения с 1С, приведены на рис. 1.35.

Следующие служебные адреса относятся к расширениям шины 1*С. Мы уже знаем, что первоначально шина имела 7-разрядную адре-


DLEN

START

ГХи-CDCXDCDCDCDC XDCDCJdX.

-JI-ri I l

R/ ACK

CBUS адрес /w Данные

Рис. 1.35. Совместимость с шиной CBUS

----.-11-I

CBUS STOP Импульс



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