Файл: Конспект лекций (дополнительный, обновленный).doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.12.2024

Просмотров: 1966

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • D0 – разрешение на передачу (при нулевом значении разряда передача не возможна, при единичном – возможна);

  • D1 – запрос готовности передатчка (при единичном значении разряда на выводе микросхемы устанавливается ноль);

  • D2 – разрешение приема (при нулевом значении разряда прием не возможен, при единичном – возможен);

  • D3 – конец передачи (при нулевом значении разряда – нормальная работа канала передачи, при единичном – установка высокого уровня на выходе TxD микросхемы);

  • D4 – сброс меток ошибок (при единичном значении разряда сбрасываются все флажки-признаки ошибок);

  • D5 - запрос готовности приемника терминала (при единичном значении разряда на выводе микросхемы устанавливается ноль);

  • D6 – программный сброс (единичное значение разряда равноценно подаче сигнала RESET);

  • D7 – поиск синхроимпульсов (при единичном значении разряда выполняется поиск синхроимпульсов в синхронном режиме).


13.5.2. Интерфейс usb.

В настоящее время стандарт последовательной передачи RS-232 считается морально устаревшим. На многих современных персональных компьютерах он даже не предусмотрен. На смену ему пришел интерфейс USB (universal serial bus или универсальная последовательная шина). Этот интерфейс широко применяется для связи внешних периферийных устройств с персональным компьютером. Он может быть полезен, когда необходимо подключить прибор, построенный на базе микропроцессора или микроконтроллера как внешнее устройство к персональному компьютеру. USB предствляет собой шину. Т.е. к одному физическому каналу можно подключать несколько устройств. Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель. При этом два провода «USB-» и «USB+» (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода «+5 В» и «Общий» - для питания периферийного устройства. Благодаря встроенным линиям питания интерфейс USB позволяет подключать периферийные устройства без собственного источника питания. Максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА. Существует несколько версий стандарта шиныUSB, отличающихся режимами работы и пропускной способностью, но схемотехническое подключение устройств к этой шине одинаковое для всех версий (кроме последней версии 3.0).

Шина USB строго ориентирована, имеет понятие «главное устройство» (хост, он же USB контроллер), и «периферийные устройства». Шина имеет древовидную топологию, т.е. периферийным устройством может быть разветвитель (хаб), к которому в свою очередь могут подключаться другие периферийные устройства. Разветвитель всегда активный и представляет собой сложное электронное устройство. К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда», в том числе и разветвители. На одной шине USB может быть до 5 уровней каскадно включенных разветвителей.

USB поддерживает «горячее» подключение периферийных устройств в режиме Plug&Play. Это означает, что подключаемое к контроллеру шины USB периферийное устройство должно быть опознано персональным компьютером и должна автоматически запуститься программа обработки этого подключения. Попутно решается историческая проблема нехватки ресурсов на внутренних системных шинах персонального компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине USB устройств. Для этого каждое периферийное устройство должно иметь уникальный код, который считывается контроллером USB (хостом) при подключении этого устройства.


Несмотря на то, что стандарт RS-232 на сегодняшний момент считается устаревшим и во многих новых моделях персональных компьютеров не используется вовсе, существует огромный парк периферийных устройств, имеющих интерфейс RS-232. Поэтому возникает задача стыковки периферии, имеющей интерфейс RS-232, с новыми моделями персональных компьютеров, в особенностями с переносными типа Notebook. Для этих целей разработаны микросхемы преобразователей RS-232 (с асинхронным режимом работы) в стандарт шины USB. Примером такой микросхемы является микросхема FT232R фирмы Future Technology Devices International Ltd., условное графическое обозначение и типовая схема включения которой приведены на рис.13.6.

Рис. 13.6. УГО и схема включения микросхемы FT232R.

В микросхеме имеются все сигналы и линии стандарта RS-232 со стороны периферийного устройства, рассмотренные ранее и дополнительные линии (обнаружен вызов) и(обнаружена несущая), задействованные обычно в работе модема. Для связи периферийного микропроцессорного устройства с персональным компьютером достаточно использовать только линииTxD и RxD. В микросхему FT232R запрограммирован индивидуальный идентификационный код, что позволяет использовать ее без каких-либо специальных процедур программирования. Если предусматривается возможность подключения нескольких устройств через несколько микросхем FT232R к одному хосту, то в каждую из них нужно запрограммировать индивидуальный номер, чтобы хост мог корректно идентифицировать устройство и запустить необходмую процедуру обработки. Для этих целей микросхема имеет встроенное перепрограммируемое ПЗУ, программирование которого осущетсвляется через выводы CBUS0…CBUS4. Выводы OSCi и OSCo используются в опциональных применениях и в обычном режиме не задействованы. Вывод TEST также используется в специальных режимах, в обычном режиме на него подается логичеий ноль. Вывод 3,3Vout может быть использован как стабилизированный источник напряжения для подключения дополнительных потребителей с потребляемым током не более 50 мА, если такие есть в схеме.


13.5.3. Интерфейс i2c.

Другим примером интерфейса, широко применяемым в цифровой микропроцессорной технике, является интерфейс I2C (часто встречается обозначение «I2C»). Этот интрефейс представляет собой шину, поддерживающую мультиплексный синхронный последовательный обмен данными. Название интерфейса расшифровывается как «Inter IC», т.е. «межмикросхемная шина». Интерфейс I2C был предложен фирмой Philips в начале 90-х годов прошлого века специально для связи различных цифровых микросхем между собой. Сегодня эта шина широко применяется для простой, не требующей большого количества выводов и сигнальных линий, стыковки микроконтроллеров с микросхемами памяти, АЦП, ЦАП, часами реального времени, таймерами, различными преобразователями, индикаторами и прочей периферией. В периферийных устройствах протокол шины I2C обычно реализуется аппаратно, в микроконтроллерах и микропроцессорах он может реализовываться как аппаратно, так и программно.

Шина I²C использует две двунаправленные линии, подтянутые к напряжению питания резисторами Rп (рис.13.7). На шину параллельно подключаются все микросхемы и функциональные блоки микропроцессорной системы. Выходы всех устройств, подключаемых к шине, должны быть организованы по схеме с открытым коллектором или открытым стоком. Одна линиия имеет обозначение SDA (Serial Data) и предназначена для последовательной передачи/приема данных, а вторая имет обозначение SCL (Serial Clock) и предназначена для последовательного тактирования. Поскольку в шине прием и передача данных организована по одной линии SDA в обоих направлениях, то выводы SDA и SCL микросхем должны быть как входами, так и выходами. Стандартные напряжения логических уровней соответствуют ТТЛ-уровням, однако допускаются и другие значения напряжений. Основной режим работы реализуется на скорости 100 кбит/с, режим с пониженной скоростью - 10 кбит/с. В более поздних спецификациях появились ускоренный режим со скоростью 400 кбит/с и режим повышенной скорости 3,4 Мбит/с. Стандарт шины допускает также приостановку тактирования для работы с медленными устройствами.

Рис.13.7. Организация шины I2C.

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


В исходном состоянии на выходах SDA и SCL всех микросхем, подключенных к шине I2C, должны быть установлены логические единицы. Благодаря схеме с открытыми коллекторами, в которой транзисторные ключи выходов SDA и SCL оказываются закрытыми, через резисторы Rп потенциалы указанных выходов подтягиваются к напряжению питания. Внутренние сопротивления закрытых транзисторов выходов микросхем оказываются большими и все микросхемы находятся в режиме чтения. Если какое-либо устройство начнет процесс передачи, остальные устройства окажутся приемниками. Открывающиеся под управлением синхроимпульсов и импульсов передаваемых данных выходные транзисторы передающего устройства будут подсаживать потенциалы линий SDA и SCL шины на землю. Переданные сигналы данных и синхронизации поступят на входы всех остальных микросхем. Каждая микросхема, работающая в режиме приемника, считает переданный сигнал.

Кроме самих передаваемых данных, в каждой посылке закладывается адрес устройства, для которого эти данные предназначены. Каждое подключаемое к шине I2C периферийное устройство имеет свой уникальный адрес. В стандартном режиме для адресации периферийного устройства используется 7 бит информации с 16 зарезервированными адресами. Это означает, что к шине может быть подключено до 112 ведомых устройств. В более поздних спецификациях шины для адресации стали использовать 10 бит, что увеличило количество подключаемых устройств до 1008. Если передаваемый адрес совпадет с индивидуальным адресом микросхемы, то эта микросхема примет предназанченные для нее данные и обработает их. Остальные микросхемы текущую посылку проигнорируют. Адрес в ведомых микросхемах в зависимости от их типа может быть задан жестко производителем или может программироваться разработчиком устройства. Возможен случай, когда микросхема содержит неизменияемую честь адреса в старших разрядах и часть адреса в младших разрядах, доступную для программирования разработчиком. В этом случае упрощается адресация при подключении однотипных микросхем.

Информация по шине I2C передается побайтно, последовательно бит за битом. Передача каждого бита по линии SDA сопроводается синхроимпульсом на линии SCL. Процедура обмена начинается с того, что ведущий передатчик формирует состояние «СТАРТ», обозначаемое в спецификации шины символом «S». Для этого он генерирует переход сигнала линии SDA из высокого «отпущенного» состояния в низкое «подсаженное» при высоком уровне SCL (рис.13.8). Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Генерация синхросигнала - всегда обязанность ведущего устройства. Каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Процедура обмена завершается тем, что ведущий формирует состояние «СТОП» (обозначаемое символом «P»), в котором осуществляет переход линии SDA из низкого уровня в высокое «отпущенное» при высоком уровне линии SCL. Состояния «СТАРТ» и «СТОП» всегда вырабатываются ведущим. Считается, что шина занята после фиксации состояния «СТАРТ» и свободна через некоторое время после фиксации состояния «СТОП». После формирования состояния «СТАРТ», ведущий опускает уровень линии SCL в низкое состояние и выставляет на линию SDA старший бит первого байта сообщения. Передача байта по спецификации шины I2C всегда происходит начиная со старшего бита. Количество байт в сообщении не ограничено. Спецификация шины I2C при передаче данных разрешает изменения на линии SDA только при низком уровне сигнала на линии SCL. Данные действительны и должны оставаться стабильными только во время высокого состояния синхроимпульса. Исключение составляют состояния «СТАРТ» и «СТОП», когда уровень линии SDA меняется при высоком уровне линии SCL. Для подтверждения приема байта от ведущего передатчика ведомым приемником в протоколе обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDA после приема последнего младшего бита данных. Для этого передатчик устанавливает логическую единицу на выходе SDA, тем самым «отпускает» эту линию, и передает девятый синхроимпульс по линии SCL. В ответ на этот синхроимпульс, приемник должен сам «подсадить» линию SDA. Если это произойдет, передатчик считает низкий уровень с линии SDA и продолжит или окончит передачу в зависимости от того, все ли байты переданы. Если от приемника подтверждения не последует, передача приостановится.