Главная страница  Комбинированное использование портов 

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

Шина PC использует только две сигнальные линии и обеспечивает обмен данными в последовательной форме со скоростью 100 Кбит/. (или 400 Кбит/с для самих последних версийV Это значение, конечно, далеко от скоростей передачи локальных информационных сетей в которых скорость доходит до 10 Мбит /си более.

Первоначально шина РС применялась для звуковьгх или тeлeвидew оприложений, для которых простота реализации была важнее, чем высокая пропускная способность.

Общие положения

Шина PC имеет следующие основные характеристики:

♦ это последовательная дв)хпроводная шина с линией передачи данных SDA (Serial Data) и линией передачи тактовых синхроимпульсов SCL (Serial Clock);

♦ данные могут передаваться в обоих направлениях межд) любыми двумя абонентами;

♦ предусмотрено мультиуправление передачей данных, то есть инициировать обмен и управлять им может любое подключенное устройство;

♦ каждый абонент шины имеет свой персональный семиразрядный служебный адрес. Таким образом, к шине может быть подключено до 128 абонентов;

♦ пересылка каждого байта данных завершается сигналом подтверждения приема;

♦ шина может работать с максимальной скоростью 100 Кбит/с, причем ее можно автоматически замедлять, чтобы приспосабливаться к скорости более медленных устройств-абонентов;

♦ максимальное число абонентов шины ограничено допустимой емкостной нагрузкой шины, которая не должна превьппать400 пф-Реальное число зависит от характеристик микросхем, используемых для подключения к шине, и дискретных полупроводниковых компонентов;

♦ электрические уровни шины допускают использование микросхем, изготовленных по технологиям 1СМОП, NMOIl или ТТЛ-

Рассмотрим принципы функционирования шины. Принцип обмена данными

Принцип работы входных и выходных каскадов устройств, подклЮ чаемых к шине PC, иллюстрируется рис. 5.6. Подключение к шйН<

JJ принципы работы приемных устройств комментариев не требует- Что касается передатчиков, то для них обязательна конфигурация с открытым коллектором или с открытым стоком. Соединение лередатчиков через шину эквивалентно их проводному И.

-о +V

SDA о-

SCL о-

Синхросиенала -

<1

Данные

I-<1

CuHXpOCUEHGflO -1

Донные

<1

Схемо подключения

Рис. 5.6 .................. .....

Принципы подключения к шине PC

Нагрузочные резисторы передатчиков линий SDA и SCL должны быть подсоединены к положительному напряжению. От этого напряжения зависят логические уровни сигналов шины. Мы будем говорить о положительной логике, при которой высокому уровню напряжения соответствует логическая единица, а низкому - логический ноль.

Если ни один из абонентов ничего не передает на шину, сигналы Линий SDA и SCL имеют высокие уровни.

Данные, передаваемые по шине, считаются достоверными, когда сигнал на линии SCL имеет высокий уровень (рис. 5.7). Передатчик Должен устанавливать данные на линию SDA при низком уровне ли-Ии SCL и поддерживать их в течение всего времени, когда уровень нии SCL высокий.

Так как передача осуществляется в последовательной форме, * Посылках должна содержаться информация о ее начале и конце.



Донние устаноблена

Данные устаноЬле!

HQ

/ Данные \ j должнь быпь [ j стабильньми j

/1 Данное должнь быть j стабильными

Временные диафоммы передачи битов данных по шине PC

Информация о начале называется здесь стартовьш условием (старт-условие) , а информация о конце - стоповьшуслови£м (стоп-условие).

Стартовому условию соответствует переход сигнала линии SDA от высокого уровня к низкому, в то время как сигнал линии SCL остается на высоком уровне. Стоповое условие выполняется, когда сигнал SDA переходит с низкого уровня к высокому, сигнал SCL при этом остается на высоком уровне.

Данные по шине передаются байтами. Старший бит каждого байта передается первым. За каждым байтом следует бит подтверждения от получателя. Временные диаграммы передачи данных по шине представлены на рис. 5.8.

Инициатором обмена является абонент, называемый master. Он формирует сигналы на линию SCL. Абонент, к которому обращается master, называется slave. Его задача - исполнить предписанные ему команды по приему и передаче данных.

Последовательность передачи следующая. Сначала master генерирует стартовое условие (рис. 5.8), затем осуществляет передачу семиразрядного служебного адреса, идентифицирующего абонента (slave), с которым он будет обмениваться информацией. Затем производится собственно передача данных байт за байтом. После пересылки байта принимающий абонент, которым может быть и master и slave, должен сформировать бит (девятый) подтверждения приема (низкий уровень).

Процесс может продолжаться до завершения передачи всех данных. Когда этот обмен заканчивается, master генерирует стоп-условие и шина освобождается.

ПерВьО байт

ПаследниО Второй байт байт

SCL-

I Точка [Отсчета

Cmapm-услоВие

Рис. 5.8

11 11 11 I I

Подтверждение первого баОта

Подтверждение последнеео байта

Временные диаграммы передачи данных по шине 1С Форматы передачи

Теперь мы знаем, как проходит обмен, и нам остается только рассмотреть формат передачи данных для того, чтобы понять, как осуществляется адресация и определение направления передачи данных,

Парис. 5,9 показано содержимое первого байта, который должен передаваться всегда в начале обмена. Семь старших битов первого байта содержат адрес получателя сообщения, что позволяет адресовать сообщение одному из 128 абонентов. Младший бит определяет

2 1

Адрес из семи бит

0 = запись (от Ведущего к Ведомому)

1 = чтение (от Ведомого к Ведущему)

Рис. 5.9

Формат первого бейта



операцию, которую собирается осуществить master - считывание или запись. Если этот бит равен нулю, master собирается записать данные в slave-устройство, т.е. посылает ему данные. Если бит равен единице - master собирается считать данные из slave-устройства, то есть собирается получить данные от подчиненного.

Когда master желает осуществлять несколько обменов с подчиненными устройствами, имеющими различные служебные адреса, ему не обязательно заканчивать первый обмен посылкой стоп-условия. Можно сразу начать новый обмен посылкой старт-условия, первое подчиненное устройство при этом автоматически отключится.

Наконец, существует процедура, называемая общим обращением, при которой служебный адрес, посланный абонентом master, равен нулю. Все микросхемы, подсоединенные к шине и способные ответить на такое общее обращение, должны это сделать, принимая данные, которые проходят в текущий момент по шине. Их действия зависят от бита команды (считывания/записи) первого байта. Действительно, если этот бит равен нулю, второй байт играет особую роль, которую мы не будем сейчас детально рассматривать. Скажем только, что благодаря этому любой из подчиненных абонентов получает возможность запрограммировать свой адрес с помощью программного обеспечения или аппаратных средств.

Когда этот бит равен единице, имеет место общее обращение, переданное абонентом master (например, контроллером клавиат)-ры). Такая микросхема неспособна генерировать адрес получателя информации, которому она должна ее посылать. В этих условиях еле дующий байт содержит адрес абонента master, чтобы инт&ллекту(1.1Ъг woподчиненное устройство, например микроконтроллер, его признал и принял переданную им информацию.

Схема реализации интерфейса 1С

В этом примере PIC-микроконтроллер 16С54 используется как абонент шины PC. Предлагаемая базовая схема может применяться в любом устройстве, работающем с интерфейсом PC в режиме подчиненного устройства (slave).

Схема устройства представлена на рис. 5.10. Две линии порта А использованы в качестве линий SDA и SCL. Резистор R2 необязателен и должен быть установлен, только если его нет в master-устройстве шины.

+ 5V

SDA V-

SCL >

16C54

RTCC

OSC I

MCLR

0SC2

lOOfijJ

20MHz

15рГф

Рис. 5.10

QeMO использования PIC 16C54 для реализации интерфейса IC

ф15рГ

Микросхема опознает сл)жебный адрес, опеределяемый величиной DEVICE ADDRESS (см. листинг 5.2), которгш выбрана по умолчанию равной D6 (и D7 для считывания). Это значение предусмотрено фирмой Philips для ИС типа PCF8573 (часы реального времени - календарь).

Используемый Р1С-микропроцессор 16С54 ведет себя как периферийное устройство шины PC, содержащее восемь доступных через субадреса внутренних регистров. Он реализует также так называемый каНсШ данных с нулевым субадресом, через который могут счи-тыватьс>1 последовательности символов.

Доступные через шину регистры в программе идентифицир}тот-ся как 12CR0 - I2CR7, при этом I2CR0 соответствует субадресу 8. При обращении по нулевому субадресу микросхема выдает последовательность идентификации.

Алгоритм, представленный на рис. 5.11, иллюстрирует принцип работы этой программы, а ее текст приведен в листинге 5.2. Она мо-*ет быть легко адаптирована к вашим приложениям с помощью соответств}тощих макрокоманд:



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

© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.