Регулятор громкости и прочего на TEA6320 и PIC16F84




Регулятор громкости и прочего на TEA6320 и PIC16F84 - часть 3


Для управления линиями применяются выходные каскады с открытым стоком или открытым коллектором, чтобы устройства можно было соединять по схеме "Монтажное ИЛИ". Для обеспечения высокого уровня при отсутствии на шине активного устройства используются внешние подтягивающие резисторы к источнику питания +5 В сопротивлением 1...10 кОм, в зависимости от физической длины линии и скорости передачи данных.

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

В начальный момент времени - в режиме ожидания, обе линии SCL И SDA находятся в состоянии лог. "1", так как притянуты подтягивающими резисторами  (транзистор выходного каскада с открытым стоком или открытым коллектором закрыт). Начало и конец передачи данных определяют условия START и STOP. Условие START определяется как переход SDA из высокого уровня в низкий при высоком уровне SCL, а условие STOP - как переход SDA из низкого уровня в высокий при высоком уровне SCL (см. ниже рисунок 1). Ведущий генерирует эти условия в начале и конце передачи данных. Ввиду такого способа определения START и STOP при передачи данных линия SDA может изменять свое состояние только при низком уровне SCL.

Для управления применен процессор PIC16F84. Приведена схема для отладки передачи данных по шине I2C.

 

Печатная плата:

Две кнопки регулируют громкость, светодиод индицирует ошибку передачи по шине I2C. Частота передачи около 50 кГц.




Содержание  Назад  Вперед