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 |