Сборочная линия
За прошедшие годы были разработаны несколько широко используемых стандартов цифровых интерфейсов для соединения компьютеров с периферийными устройствами. Данный раздел описывает несколько самых распространенных стандартов и кратко обсуждает, как они работают. Каждый стандарт имеет свой собственный набор оборудования, программного обеспечения, и компромиссов производительности. Обычно во встроенном устройстве можно найти несколько таких интерфейсов. Большое число периферийных устройств и интегральных схем используют эти стандарты.
Стандарт параллельного интерфейса принтера был разработан в 1970-х гг. и является широко используемым стандартом для передачи 8-битных параллельных данных. Большинство ПК и многие встроенные компьютеры имеют параллельный порт принтера. Данные пересылаются параллельным образом, используя восемь битов данных и стандартные уровни напряжения цифровой логики. Требуются линии квитирования для синхронизации каждой передачи данных. Линии квитирования соединяются с портами управления и статуса В/В. В ПК параллельный порт принтера соединяется с тремя 8-битными портами В/В на процессоре. Один порт В/В используется для 8-битной передачи данных, следующий адрес В/В содержит порт В/В для статуса, и третий адрес содержит порт В/В для битов управления, которые используются для сигналов квитирования.
Передача значения одного байта данных показана на рисунке 3.1. На шаге 1 компьютер ожидает пока сигнал busy (занят) принтера не станет низким (Low). На шаге 2 компьютер выводит восемь битов данных, и затем компьютер задает стробирующий сигнал низким (Low) как минимум на 500 ns на шаге 3. Затем компьютер ожидает от принтера сигнал Ack Low. Компьютер должен получить сигнал Ack Low, прежде чем изменить данные или стробировать линии. Компьютер может перейти в состояние Busy после задания сигнала Ack.
(рис 3.1) Передача параллельным портом 8-битного значения данных на принтер
Линии квитирования от принтера могут заставить компьютер ждать в связи с такими событиями как отсутствие бумаги, прогон бумаги, или переполнение буфера. Иногда в программном обеспечении используются циклы ожидания, так что пользователю посылаются уведомления, когда принтер занят слишком долго.
Другие устройства специального назначения часто используют интерфейс параллельного порта для
Первоначально параллельный порт принтера был однонаправленным. Более новые стандарты параллельного порта поддерживают двунаправленную и более быстрые передачи данных между внешним устройством и компьютером (например, стандарты
Параллельные кабели должны быть достаточно короткими. Последовательный интерфейс, описанный в следующем разделе, может использовать более длинные кабели, которые требуют меньшего количества проводов, но он имеет также меньшие скорости передачи данных и меньшую полосу пропускания.
Большинство операционных систем предоставляют драйверы устройств для параллельного порта принтера. В системах X86 параллельные порты принтера имеют обычно имя LPTx:, где x является номером порта принтера. Протоколы двунаправленности подробно описаны в Стандарте параллельного порта
Если драйвер принтера реализован на платформе Windows Embedded CE, то для отправки данных на принтер можно использовать вызовы функций PrinterOpen, PrinterSend, и PrinterClose, или можно использовать вызовы В/В API файловой системы с именем устройства LPT. Используемый по умолчанию драйвер принтера WRITE_PORT_UCHAR, и считывая биты статуса с помощью функции READ_PORT_UCHAR, имеющиеся в CEDDK.
Большинство последовательных интерфейсов поддерживают стандарт EIA
Генератор скорости передачи не синхронизируется с сигналом генератора провода, соединяющего посылающее и принимающее устройства, это скорее асинхронная передача, и происходит с помощью машины состояний, которая наблюдает за последовательными перемещениями битов данных, происходящими у получателя.
В последовательном интерфейсе RS-232 не существует синхронизирующего соединения генераторов между отправителем и получателем. Передатчик и получатель должны первоначально быть настроены для работы с одной тактовой частотой. Машина состояний используется для настройки фазы синхронизации. Даже хотя они имеют одну частоту синхронизации, фаза генератора должна, тем не менее, синхронизироваться для последовательного передатчика и приемника, анализируя входящие последовательные данные. Для реализации последовательного интерфейса требуется оборудование, которое называется универсальный асинхронный приемопередатчик (
Передача отдельного символа ASCII показана на рисунке 3.2. Последовательный бит имеет два состояния. Mark является состоянием высокого уровня сигнала (>3V), а Space является состоянием низкого уровня сигнала (<-3V). Последовательные устройства более старого поколения могут иметь для Mark и Space уровни около +12V и -12V. Отметим, что для правильных уровней напряжения RS-232 стандартный бит вывода цифровой логики должен будет иметь свои уровни напряжения преобразованными для использования в последовательном интерфейсе. Для преобразования к уровням напряжения RS-232 существуют специальные ИС. ИС преобразования уровня RS-232 может также генерировать напряжения питания постоянного тока из стандартных источников питания постоянного тока цифровой логики.
(рис 3.2) Передача последовательным интерфейсом RS-232C 8-битного значения данных. Уровни напряжения >3 для mark и <-3 для space. Это несовместимо с уровнями стандартной логики, и требуется преобразование
Нерабочим является состояние высокого уровня сигнала (Mark). Как только интерфейс начинает посылать новое 8-битное значение данных, линия переходит в низкое состояние сигнала (Space) на один тактовый цикл (генератора скорости передачи). Это называется стартовый бит. Восемь битов данных затем пересылаются в течение следующих восьми тактовых циклов в порядке от младшего к старшему биту. Самый старший бит данных иногда используется в качестве контрольного бита четности для обнаружения ошибок, когда вместо восьми используется только семь битов данных. После пересылки битов данных состояние бита становится высоким на один такт. Это называется стоп-битом (Stop). Иногда при очень низких частотах передачи используются два бита Stop. Отметим, что требуется как минимум 10 тактов генератора для передачи каждого 8-битного значения данных.
Процессор значительно быстрее, чем скорости последовательной передачи, поэтому биты статуса должны сравниваться в программном обеспечении или оборудовании с правильными значениями, прежде чем происходит передача каких-либо данных. Дополнительные биты статуса могут также фиксировать условия ошибки.
Внутри передатчика
Приемник на другом конце кабеля является другим
Когда он видит границу данных на входящих последовательных данных, он перенастраивает фазу такта. Несколько битов могут иметь одно и то же значение, и границы данных может не быть. Машина состояний имеет счетчик для обнаружения и исправления этого состояния.
Машина состояний внутри
Можно использовать дополнительные линии квитирования в последовательных кабелях для запуска и останова потока данных. Они обычно включают RTS (запрос на передачу), CTS (готовность к приему),
Устройство RS-232 может быть одного из двух типов, оборудование терминала данных (
Когда Ebox 2300 соединяется непосредственно с последовательным портом ПК, должен использоваться null-модемный кабель, так как оба последовательных коннектора устройства настроены как DCE. Существуют также дешевые устройства анализаторы RS-232, созданные для помощи в определении различных вариантов для null-модема и точной настройки квитирования. Они будут полезны, если существуют проблемы при соединении двух последовательных устройств. Также доступно специальное программное обеспечение ПК, которое выводит дополнительную информацию о последовательном порте, которая помогает осуществлять мониторинг и отладку последовательной передачи данных.
Большинство операционных систем предоставляют драйверы устройств для последовательных портов. В системах X86 последовательные порты обычно имеют имя устройства COMx:, где x является номером последовательного порта. В Windows Embedded CE в C/C++ можно открыть порт COM с помощью функции CreateFile, прочитать данные с помощью , и записать последовательные данные с помощью WriteFile. Чтобы закрыть последовательный порт, используйте CloseHandle. Скорость передачи, число битов данных, четность и другие параметры можно прочитать и задать с помощью функций GetCommStatus и SetCommStatus. COM1: часто используется для отладочной информации в Windows Embedded CE. Если обе операции последовательной передачи и получения нужны одновременно, обычно используются потоки. Один поток посылает последовательные данные, а другой поток получает последовательные данные. В этих потоках обычно используется специальная функция синхронизации WaitCommEvent.
Интерфейс Personal System 2 (PS/2) основывается на стандарте, который использовался для мыши и клавиатуры в первом ПК IBM в 1984 г. Многие встроенные компьютерные платы поддерживают использование мыши или клавиатуры с помощью коннектора PS/2 на плате. Сигнальный коннектор PS/2 имеет 6 контактов, включая заземление, питание (5V-
Линия последовательных данных PS/2 несколько похожа на сигналы RS-232, но в этом случае тактовый сигнал пересылается между устройством и компьютером для синхронизации, и используются стандартные уровни напряжения
Линии синхронизации и данных PS/2 являются открытыми коллекторами выхода и двунаправленными. В системах с мышью и клавиатурой имеется набор линий синхронизации и данных PS/2 для каждого устройства. Линия синхронизации обычно управляется клавиатурой (или мышью), но также может управляться компьютерной системой, когда она захочет остановить передачу данных с клавиатуры. Клавиатура (или мышь) и компьютер могут управлять линией данных. Единственная линия данных передает все данные между двумя устройствами. Клавиатура (или мышь) и компьютер могут обмениваться несколькими командами и сообщениями.
Для кодирования клавиатуры переключатели клавиш организуются в матрицу строк и столбцов. Все строки и столбцы периодически проверяются схемой, называемой кодировщиком клавиатуры. Кодировщик клавиатуры сканирует клавиши с высокой скоростью, чтобы определить изменение состояния любой клавиши. Данные клавиш передаются последовательно в компьютер с клавиатуры, используя так называемый скан-код. Каждая клавиша клавиатуры имеет для идентификации нажатой клавиши уникальный скан-код на основе адреса строки и столбца матрицы переключателей клавиш.
Скан-коды клавиатуры PS/2 состоят из последовательностей кодов "Make" и "Break". Каждый раз при нажатии клавиши посылается код make. Код break посылается, когда клавиша освобождается. Для многих клавиш код break является потоком байтов 0xF0, за которым следует код make для клавиши. При печати распространено удерживание нажатыми нескольких клавиш одновременно, прежде чем освобождается первая клавиша. С помощью кодов make и break, компьютер может решить, была ли нажата клавиша, и что нажато более одной клавиши. Он может также различить, какая клавиша была освобождена. Это также происходит, когда используются клавиши shift или control. Когда нажимается клавиша shift, клавиша '1' должна вернуть значение для символа '!' вместо значения для символа '1'. 8-битные скан-коды передаются последовательно по линиям данных PS/2 с помощью 11-битного формата. Когда оба устройство PS/2 и компьютер не посылают никакие данные, линия данных PS/2 и линия синхронизации PS/2 будут в состоянии High (неактивными).
Рисунок 3.3 показывает передачу одного байта скан-кода клавиатуры, и он состоит из следующих битов:
Во время передачи данных из устройства PS/2 происходит следующее:
(рис 3.3) Передача PS/2 скан-кода клавиатуры
На рисунке 3.3 клавиатура посылает скан-код 16 для клавиши "1", и он имеет нулевой бит четности.
Клавиатура PS/2 и мышь PS/2 используют один и тот же протокол синхронной последовательной коммуникации. Внутренне первоначальная мышь содержала шарик, который вращал два колесика с прорезями. Колесики были соединены с двумя оптическими датчиками положения. Два оптических датчика сообщали о движении по осям x и y, подсчитывая импульсы при движении колесиков. Она содержала также две или три кнопки для нажатия, которые могут считываться системой и однокристальным микроконтроллером. После включения питания посылается команда PS/2, приказывающая мыши начать посылать специальные пакеты данных. Встроенная в микроконтроллер программа в мыши затем начинает периодически посылать в компьютер 3-байтные пакеты данных по сигнальным линиям PS/2. Трехбайтные пакеты данных мыши сообщают относительные движения XY и статус кнопок.
Операционные системы обычно включают стандартные драйверы устройств клавиатуры и мыши PS/2. Драйвер клавиатуры преобразует последовательности скан-кодов клавиш в символы, а драйвер мыши использует информацию об относительном перемещении, содержащуюся в пакетах данных мыши, для вычисления положения выводимого указателя мыши и для мониторинга статуса кнопок мыши.
В настольной ОС Windows и в Windows Embedded CE, активность ввода клавиатуры и мыши автоматически создают посылаемое событие Windows, которое обрабатывается функцией обратного вызова приложения окна. Приложение обрабатывает сообщения, которые ему посланы. Он не читает непосредственно ввод клавиатуры и мыши.
Шина последовательного периферийного интерфейса (SPI) была создана в 1980-е годы. SPI использовалась для последовательной коммуникации между микропроцессором и его периферийными ИС. SPI имеет следующие четыре сигнальные линии: Serial Clock (SCLK),
Несколько устройств SPI могут соединяться в одно двумя способами. При каскадном соединении используется только один сигнал выбора элемента памяти. Микропроцессор выводит
(рис 3.4) Варианты конфигурации двух подчиненных устройств SPI
Во второй конфигурации SPI каждое устройство имеет свой собственный сигнал выбора элемента памяти, и все они функционируют как независимые сдвиговые регистры. Вспомните, что если устройство не выбрано, оно определяет для своего выхода третье состояние. Выходы можно соединить вместе, но только одно устройство в данный момент может быть активировано. Это обеспечивает независимое чтение и запись устройств SPI. Недостатком является то, что требуется больше линий выхода для сигналов выбора элементов памяти. SPI поддерживает также несколько ведущих устройств шины. Скорости генераторов устройств SPI могут изменяться от 30
SPI называют также
Чтобы соединять интегральные схемы на одной монтажной печатной плате также в 1980-е годы появилась шина Inter IC (
Шина
С помощью дополнительных
Устройства
Когда микропроцессору (контроллеру) необходимо соединиться с устройством
На рисунке 3.5 отметим, что только во время старт-последовательности SDA изменятся из высокого низким при высоком SCL. Отметим также, что только во время стоп-последовательности SDA изменяется из низкого в высокий при высоком SCL. Это позволяет специальной логической схеме обнаружить старт и стоп.
Микропроцессор управляет линиями синхронизации SCL для передачи каждого последовательного бита SDA. Устройства
Проверяйте детали в техническом описании каждого устройства.
Каждая передача адреса и данных содержит всего девять битов. Восемь битов данных с битом подтверждения (ACK), который используется для квитирования. Биты посылаются в порядке от старших к младшим битам, по одному за такт. Используются семь битов адреса, и последний восьмой бит является битом чтения/записи (R/W).
Некоторые технические описания описывают это как восемь адресных битов, где четные адреса используются для чтения, а нечетные адреса для записи, исключая бит R/W.
Подчиненный посылает последний бит подтверждения (ACK) в каждый адрес, и данные пересылаются. Низкое состояние ACK указывает, что подчиненный готов. Когда состояние ACK не будет низким, микропроцессор может послать стоп-последовательность.
Когда микропроцессор хочет послать данные на устройство
Low (т.е., операция записи)
(рис 3.5) Последовательная передача интерфейса I2C 8-битного значения данных
Как показано на рисунке 3.5, когда микропроцессор хочет прочитать данные из устройства
Low.High (т.е., операция чтения).В одном из стандартов
Некоторые устройства
Оба стандарта SPI и
Некоторые микроконтроллеры общего назначения и многие микроконтроллеры USB включают интерфейсы
Системы, которым требуется аналоговый вход используют аналогово-цифровые (A/D) преобразователи, а системы с аналоговым выходом используют цифро-аналоговые (D/A) преобразователи. Все эти устройства требуют временной задержки во время выполнения операции преобразования и обладают точностью определенного числа битов. Обычно время преобразования находится в диапазоне микросекунд, а точность в диапазоне от 8 до 20 битов. Обычно более быстрые устройства являются более дорогими, а устройства с большим количеством битов точности стоят дороже. Помните, что многие датчики и сигналы в действительности имеют высокие уровни шума и/или ограниченный набор частот, поэтому не каждый сигнал нуждается в большом числе битов точности и самом быстром возможном времени преобразования. Разумный выбор точности и частота дискретизации является важным вопросом проектирования. Частоты сэмплирования также ограничены реакцией системы в реальном времени. Нет ничего необычного в том, чтобы встроенное устройство имело аналоговые сигналы с различными частотами сэмплирования. Кроме микросхем A/D и D/A обычно требуются некоторые схемы согласования аналогового сигнала для буферизации аналоговых сигналов и настройки их уровней напряжения.
Многие микросхемы A/D и D/A для требуемых цифровых линий В/В устройства имеют интерфейсы типа SPI, а некоторые имеют интерфейсы параллельного типа.
Кроме линий данных устройства A/D и D/A имеют обычно сигнал входа для запуска преобразования и сигнал выхода, который указывает, когда преобразование завершается. Эти сигналы обычно используются для битов готовности В/В устройства.
Доступны готовые коммерческие системы сбора данных (
(рис 3.6) 10-битная 200Ks/sec A/D микросхема MCP3008, используемая в модулях Phidget, имеет интерфейс SPI
Точность MCP3008 определяется на уровне ±1
Спецификация 1.0 универсальной последовательной шины (USB) 1.0 была выпущена в 1996 г. USB 2.0 является более новым стандартом с более высокой скоростью, которая поддерживает также устройства USB 1.0. Как предполагает название, USB является последовательной шиной, которая была создана для поддержки широкого спектра периферийных устройств. Она передает данные пакетами, аналогично сети, но так как максимальная длина ограничена несколькими футами, то технически она считается внешней шиной, а не сетью.
Кабели USB содержат питание +5V и соединение заземления и два сигнальных провода витой пары (D+,D-). Два сигнальных провода действуют в несимметричном и в дифференциальном режиме (один сигнал вычитается из другого). При этом используется схема кодирования
USB поддерживает три скорости передачи, высокую скорость (только USB 2.0) равную 480Mb/s, полную скорость равную 12Mb/s, и низкую скорость равную 1.5Mb/s. USB управляется хостом и на шине обычно допускается только один хост. Хост отвечает за инициирование всех транзакций и распределение полосы пропускания. С одной шиной USB можно соединить до 127 различных устройств.
Шина USB допускает горячее подключение. Если посмотреть на конец коннектора USB, то можно заметить, что внешние контакты питания и заземления длиннее, чем два внутренних сигнальных контакта. Когда коннектор включается, питание и земля соединяются до соединения сигнальных линий. Если бы сигнальные провода были соединены до установления общего заземления, то это могло бы привести к повреждению устройства.
(рис 3.7) В устройствах USB обычно используется недорогой микроконтроллер USB
Устройства USB реализуются обычно с помощью недорогих микроконтроллеров USB, как показано на рисунке 3.7 выше. Кроме микропроцессора общего назначения с памятью ROM и RAM, они содержат дополнительный интерфейс USB, необходимый оборудованию. Специальная встроенная программа в ROM микроконтроллера используется для управления каждым устройством USB. Эти микроконтроллеры стоят только несколько долларов и могут даже быть дешевле, чем кабель и коннекторы, необходимые для некоторых более старых стандартов, таких как кабель параллельного порта принтера.
USB пересылает информацию в пакетах. Существует четыре типа пакетов, пакеты маркеры, пакеты данных, пакеты квитирования, и периодические пакеты начала кадра. Типичная транзакция USB, показанная на рисунке 3.8, состоит из пакета маркера (заголовка, определяющего, что должно последовать), необязательного пакета данных (содержащего полезную нагрузку данных), и пакет квитирования (подтверждение транзакции для обнаружения ошибок и исправления). Используется циклический избыточный код (CRC) для проверки каких-либо ошибок передачи.
(рис 3.8) Процессор последовательного интерфейса USB (SIE) выполняет высокоскоростные преобразования из последовательного в параллельное представление на пакетах USB, так как скорости последовательных данных слишком высокие для большинства микроконтроллеров
Скорости последовательных данных, необходимые для USB, слишком высокие, чтобы дешевый микропроцессор обрабатывал их программным образом. Специальное оборудование для преобразования из последовательного в параллельное представление, называемое процессором последовательного интерфейса (SIE), включается в большинство схем микроконтроллеров USB. SIE содержит логику для управления протоколом на уровне битов и кодирование шины. Микропроцессор затем пересылает байты (а не биты) в SIE с более медленной скоростью данных.
Пакет маркера содержит идентификатор пакета, адрес, и конечную точку. Идентификатор пакета в примере ниже является маркером OUT. Адрес каждого устройства (ADDR) может иметь несколько конечных точек (ENDP). Конечная точка является буфером (обычно 8 байтным), который соединяет оборудование SIE устройства и встроенную программу, выполняющуюся на микропроцессоре в устройстве USB.
Когда подключается новое устройство USB, используя специальный процесс, называемый перечислением, хост обнаруживает добавление нового устройства и опрашивает подключенное устройство, чтобы определить его ID продукта USB и ID поставщика (PID/
Операционные системы обычно включают драйвер для инициализации устройства USB, а затем ищут нужный драйвер специфического устройства USB. Стандартные драйверы обычно поставляются с ОС для устройств памяти, устройств интерфейса с человеком (UID), таких как клавиатура и мышь, и иногда базового последовательного устройства USB. Другие устройства обычно требуют специфического драйвера устройства от производителя. В CE идентификаторы PID/
(рис 3.9) Анализатор протокола USB захватывает и выводит пакеты USB, обмен которыми происходит с флеш-устройством USB (www.usbdeveloper.com)
Многие встроенные устройства имеют теперь средства для аудио.
AC97 поддерживает скорости данных до 96
(рис 3.10) Блочная диаграмма аудио устройства Realtek ALC202 AC97
В устройствах Windows Embedded CE с поддержкой аудио доступно большое число функций API для программистов приложений. PlaySound (для файлов *.wav по одному за раз), WaveIn, и WaveOut являются некоторыми из наиболее широко используемых функций API. Вместе с Windows Embedded CE поставляется некоторая версия Windows Media Player и несколько примеров прикладных программ аудио включено вместе с Windows Embedded CE в подкаталоге \SDK\SAMPLES\AUDIO. Для этой ОС определен стандарт API речи, но дополнительное программное обеспечение сторонних поставщиков процессоров речи по прежнему требуется для синтеза речи и распознавания голоса.
Для использования цифрового выхода для управления сильноточными устройствами, такими как моторы, реле, сирены, электромагниты, громкоговорители, или светильники, требуется специальная управляющая схема, которая предоставляет дополнительный управляющий ток.
Даже хотя уровни напряжения могут быть совместимыми, типичный контакт цифрового выхода, находящийся в порте В/В обеспечивает только несколько миллиампер тока, но мотору или реле могут требоваться амперы тока. Управление большой индуктивной нагрузкой, такой как мотор или реле, непосредственно из контакта цифровой логической ИС, может легко взорвать внутренний управляющий транзистор в типичной схеме цифрового вывода.
Для моторов и реле доступны специальные управляющие схемы, которые имеют более мощные транзисторы, которые предоставляют больший управляющий ток. Управляющая схема размещается между контактом обычного вывода цифровой логики и сильноточным устройством для обеспечения требуемых более высоких уровней тока. H-мост является полезным устройством, созданным для управления и реверсирования моторов постоянного тока (DC). Схемы H-моста доступны в ИС или небольших предварительно собранных модулях. H-мост содержит четыре больших мощных транзистора. Для одиночного контакта вывода можно добавить небольшую схему, используя отдельный мощный транзистор для управления устройством. Диоды иногда соединяются через нагрузку на индуктивных устройствах, таких как моторы, реле и соленоиды. Когда ток в индуктивной нагрузке отключается, то генерируется пик обратного напряжения (обратный
Управление скоростью моторов DC с помощью управляющей схемы можно реализовать, изменяя время включения/выключения (
При мгновенном реверсировании моторов DC, генерируются большие обратные напряжения
При управлении механическими системами с вентилями, соленоидами, и реле, может понадобиться добавление гестерезиса, чтобы сократить число циклов включения/выключения. В качестве примера, термостат с гистерезисом, используемый для управления температурой нагревателя, будет отключаться при температуре на пару градусов выше температуры, при которой он включается. Если бы одна и та же температура использовалась для включения/выключения, то он бы постоянно циклически включался и выключался. Время жизни многих механических приводных механизмов оценивается числом циклов, поэтому меньшее количество циклов удлиняет их жизнь. Постоянное циклическое переключение может также в некоторых системах увеличивать шум и уменьшать производительность.
Это тип шины с несколькими контроллерами с обнаружением конфликтов и арбитражем шины, похожая несколько на Ethernet. Вместо хранения адресной информации сообщения CAN содержат уникальный номер сообщения, и меньшие номера сообщений имеют более высокий приоритет, когда двум контроллерам шина требуется одновременно. Контроллеры Part-A CAN поддерживают 11-битные сообщения, а Part-B поддерживает 11 или 29-битные идентификаторы сообщений. Каждое устройство на шине проверяет номер сообщения и определяет, нужно ли ему читать сообщение с шины.
(рис 3.11) Кадр сообщения CAN 2.0A
Кадр сообщения CAN версии 2.0A, показанный на рисунке 3.11, состоит из семи различных битовых полей:
CAN идеально подходит для приложений, которым требуется высокоскоростные передачи с короткой длиной сообщений . Она имеет более высокие скорости данных, лучше защищена от шума, и имеет дополнительное обнаружение ошибок, чем более старые последовательные стандарты, такие как RS-232. Поврежденный узел пытается также изолировать себя от шины. Используется две сигнальные линии, CAN-high и CAN-low. Они действуют в дифференциальном режиме. Провода могут иметь в длину десятки метров при самым высоких скоростях передачи, а концы шины завершаются резистором (обычно 120 ом), чтобы уменьшить отражения.
Существует также более новый более дешевый, использующий меньшее напряжение, и меньшие скорости передачи данных (20Кбод) стандарт последовательной шины, предназначенной для использования в автомобилях на уровнях ниже CAN. Она называется Локальной сетью коммутации (LIN). LIN предназначена для взаимодействия процессора подсистемы с его интеллектуальными датчиками, в то время как CAN используется для соединения подсистем вместе на более высоком уровне. LIN может поддерживаться с помощью стандартного последовательного
(рис 3.12) Типичный кадр LIN, состоящий из Synch Break, Synch Field, Identifier, Data Field и Checksum
Каждый байт данных в кадре, как видно на рисунке 3.12 следует стандартному 10-битному последовательному формату (т. е., старт-бит, восемь битов данных, стоп-бит). Кадр состоит из следующих полей:
(рис 3.14) Tektronix DPO7000 1-4 Channel Oscilloscope является встроенным устройством, которое использует Windows XP. Показанный выше вывод создается дополнительным программным пакетом для осциллографа, который декодирует и выводит сигналы шины I2С. Изображения с разрешения Prodigy Test Solutions
Сборочная линия
За прошедшие годы были разработаны несколько широко используемых стандартов цифровых интерфейсов для соединения компьютеров с периферийными устройствами. Данный раздел описывает несколько самых распространенных стандартов и кратко обсуждает, как они работают. Каждый стандарт имеет свой собственный набор оборудования, программного обеспечения, и компромиссов производительности. Обычно во встроенном устройстве можно найти несколько таких интерфейсов. Большое число периферийных устройств и интегральных схем используют эти стандарты.
Стандарт параллельного интерфейса принтера был разработан в 1970-х гг. и является широко используемым стандартом для передачи 8-битных параллельных данных. Большинство ПК и многие встроенные компьютеры имеют параллельный порт принтера. Данные пересылаются параллельным образом, используя восемь битов данных и стандартные уровни напряжения цифровой логики. Требуются линии квитирования для синхронизации каждой передачи данных. Линии квитирования соединяются с портами управления и статуса В/В. В ПК параллельный порт принтера соединяется с тремя 8-битными портами В/В на процессоре. Один порт В/В используется для 8-битной передачи данных, следующий адрес В/В содержит порт В/В для статуса, и третий адрес содержит порт В/В для битов управления, которые используются для сигналов квитирования.
Передача значения одного байта данных показана на рисунке 3.1. На шаге 1 компьютер ожидает пока сигнал busy (занят) принтера не станет низким (Low). На шаге 2 компьютер выводит восемь битов данных, и затем компьютер задает стробирующий сигнал низким (Low) как минимум на 500 ns на шаге 3. Затем компьютер ожидает от принтера сигнал Ack Low. Компьютер должен получить сигнал Ack Low, прежде чем изменить данные или стробировать линии. Компьютер может перейти в состояние Busy после задания сигнала Ack.
(рис 3.1) Передача параллельным портом 8-битного значения данных на принтер
Линии квитирования от принтера могут заставить компьютер ждать в связи с такими событиями как отсутствие бумаги, прогон бумаги, или переполнение буфера. Иногда в программном обеспечении используются циклы ожидания, так что пользователю посылаются уведомления, когда принтер занят слишком долго.
Другие устройства специального назначения часто используют интерфейс параллельного порта для
Первоначально параллельный порт принтера был однонаправленным. Более новые стандарты параллельного порта поддерживают двунаправленную и более быстрые передачи данных между внешним устройством и компьютером (например, стандарты
Параллельные кабели должны быть достаточно короткими. Последовательный интерфейс, описанный в следующем разделе, может использовать более длинные кабели, которые требуют меньшего количества проводов, но он имеет также меньшие скорости передачи данных и меньшую полосу пропускания.
Большинство операционных систем предоставляют драйверы устройств для параллельного порта принтера. В системах X86 параллельные порты принтера имеют обычно имя LPTx:, где x является номером порта принтера. Протоколы двунаправленности подробно описаны в Стандарте параллельного порта
Если драйвер принтера реализован на платформе Windows Embedded CE, то для отправки данных на принтер можно использовать вызовы функций PrinterOpen, PrinterSend, и PrinterClose, или можно использовать вызовы В/В API файловой системы с именем устройства LPT. Используемый по умолчанию драйвер принтера WRITE_PORT_UCHAR, и считывая биты статуса с помощью функции READ_PORT_UCHAR, имеющиеся в CEDDK.
Большинство последовательных интерфейсов поддерживают стандарт EIA
Генератор скорости передачи не синхронизируется с сигналом генератора провода, соединяющего посылающее и принимающее устройства, это скорее асинхронная передача, и происходит с помощью машины состояний, которая наблюдает за последовательными перемещениями битов данных, происходящими у получателя.
В последовательном интерфейсе RS-232 не существует синхронизирующего соединения генераторов между отправителем и получателем. Передатчик и получатель должны первоначально быть настроены для работы с одной тактовой частотой. Машина состояний используется для настройки фазы синхронизации. Даже хотя они имеют одну частоту синхронизации, фаза генератора должна, тем не менее, синхронизироваться для последовательного передатчика и приемника, анализируя входящие последовательные данные. Для реализации последовательного интерфейса требуется оборудование, которое называется универсальный асинхронный приемопередатчик (
Передача отдельного символа ASCII показана на рисунке 3.2. Последовательный бит имеет два состояния. Mark является состоянием высокого уровня сигнала (>3V), а Space является состоянием низкого уровня сигнала (<-3V). Последовательные устройства более старого поколения могут иметь для Mark и Space уровни около +12V и -12V. Отметим, что для правильных уровней напряжения RS-232 стандартный бит вывода цифровой логики должен будет иметь свои уровни напряжения преобразованными для использования в последовательном интерфейсе. Для преобразования к уровням напряжения RS-232 существуют специальные ИС. ИС преобразования уровня RS-232 может также генерировать напряжения питания постоянного тока из стандартных источников питания постоянного тока цифровой логики.
(рис 3.2) Передача последовательным интерфейсом RS-232C 8-битного значения данных. Уровни напряжения >3 для mark и <-3 для space. Это несовместимо с уровнями стандартной логики, и требуется преобразование
Нерабочим является состояние высокого уровня сигнала (Mark). Как только интерфейс начинает посылать новое 8-битное значение данных, линия переходит в низкое состояние сигнала (Space) на один тактовый цикл (генератора скорости передачи). Это называется стартовый бит. Восемь битов данных затем пересылаются в течение следующих восьми тактовых циклов в порядке от младшего к старшему биту. Самый старший бит данных иногда используется в качестве контрольного бита четности для обнаружения ошибок, когда вместо восьми используется только семь битов данных. После пересылки битов данных состояние бита становится высоким на один такт. Это называется стоп-битом (Stop). Иногда при очень низких частотах передачи используются два бита Stop. Отметим, что требуется как минимум 10 тактов генератора для передачи каждого 8-битного значения данных.
Процессор значительно быстрее, чем скорости последовательной передачи, поэтому биты статуса должны сравниваться в программном обеспечении или оборудовании с правильными значениями, прежде чем происходит передача каких-либо данных. Дополнительные биты статуса могут также фиксировать условия ошибки.
Внутри передатчика
Приемник на другом конце кабеля является другим
Когда он видит границу данных на входящих последовательных данных, он перенастраивает фазу такта. Несколько битов могут иметь одно и то же значение, и границы данных может не быть. Машина состояний имеет счетчик для обнаружения и исправления этого состояния.
Машина состояний внутри
Можно использовать дополнительные линии квитирования в последовательных кабелях для запуска и останова потока данных. Они обычно включают RTS (запрос на передачу), CTS (готовность к приему),
Устройство RS-232 может быть одного из двух типов, оборудование терминала данных (
Когда Ebox 2300 соединяется непосредственно с последовательным портом ПК, должен использоваться null-модемный кабель, так как оба последовательных коннектора устройства настроены как DCE. Существуют также дешевые устройства анализаторы RS-232, созданные для помощи в определении различных вариантов для null-модема и точной настройки квитирования. Они будут полезны, если существуют проблемы при соединении двух последовательных устройств. Также доступно специальное программное обеспечение ПК, которое выводит дополнительную информацию о последовательном порте, которая помогает осуществлять мониторинг и отладку последовательной передачи данных.
Большинство операционных систем предоставляют драйверы устройств для последовательных портов. В системах X86 последовательные порты обычно имеют имя устройства COMx:, где x является номером последовательного порта. В Windows Embedded CE в C/C++ можно открыть порт COM с помощью функции CreateFile, прочитать данные с помощью , и записать последовательные данные с помощью WriteFile. Чтобы закрыть последовательный порт, используйте CloseHandle. Скорость передачи, число битов данных, четность и другие параметры можно прочитать и задать с помощью функций GetCommStatus и SetCommStatus. COM1: часто используется для отладочной информации в Windows Embedded CE. Если обе операции последовательной передачи и получения нужны одновременно, обычно используются потоки. Один поток посылает последовательные данные, а другой поток получает последовательные данные. В этих потоках обычно используется специальная функция синхронизации WaitCommEvent.
Интерфейс Personal System 2 (PS/2) основывается на стандарте, который использовался для мыши и клавиатуры в первом ПК IBM в 1984 г. Многие встроенные компьютерные платы поддерживают использование мыши или клавиатуры с помощью коннектора PS/2 на плате. Сигнальный коннектор PS/2 имеет 6 контактов, включая заземление, питание (5V-
Линия последовательных данных PS/2 несколько похожа на сигналы RS-232, но в этом случае тактовый сигнал пересылается между устройством и компьютером для синхронизации, и используются стандартные уровни напряжения
Линии синхронизации и данных PS/2 являются открытыми коллекторами выхода и двунаправленными. В системах с мышью и клавиатурой имеется набор линий синхронизации и данных PS/2 для каждого устройства. Линия синхронизации обычно управляется клавиатурой (или мышью), но также может управляться компьютерной системой, когда она захочет остановить передачу данных с клавиатуры. Клавиатура (или мышь) и компьютер могут управлять линией данных. Единственная линия данных передает все данные между двумя устройствами. Клавиатура (или мышь) и компьютер могут обмениваться несколькими командами и сообщениями.
Для кодирования клавиатуры переключатели клавиш организуются в матрицу строк и столбцов. Все строки и столбцы периодически проверяются схемой, называемой кодировщиком клавиатуры. Кодировщик клавиатуры сканирует клавиши с высокой скоростью, чтобы определить изменение состояния любой клавиши. Данные клавиш передаются последовательно в компьютер с клавиатуры, используя так называемый скан-код. Каждая клавиша клавиатуры имеет для идентификации нажатой клавиши уникальный скан-код на основе адреса строки и столбца матрицы переключателей клавиш.
Скан-коды клавиатуры PS/2 состоят из последовательностей кодов "Make" и "Break". Каждый раз при нажатии клавиши посылается код make. Код break посылается, когда клавиша освобождается. Для многих клавиш код break является потоком байтов 0xF0, за которым следует код make для клавиши. При печати распространено удерживание нажатыми нескольких клавиш одновременно, прежде чем освобождается первая клавиша. С помощью кодов make и break, компьютер может решить, была ли нажата клавиша, и что нажато более одной клавиши. Он может также различить, какая клавиша была освобождена. Это также происходит, когда используются клавиши shift или control. Когда нажимается клавиша shift, клавиша '1' должна вернуть значение для символа '!' вместо значения для символа '1'. 8-битные скан-коды передаются последовательно по линиям данных PS/2 с помощью 11-битного формата. Когда оба устройство PS/2 и компьютер не посылают никакие данные, линия данных PS/2 и линия синхронизации PS/2 будут в состоянии High (неактивными).
Рисунок 3.3 показывает передачу одного байта скан-кода клавиатуры, и он состоит из следующих битов:
Во время передачи данных из устройства PS/2 происходит следующее:
(рис 3.3) Передача PS/2 скан-кода клавиатуры
На рисунке 3.3 клавиатура посылает скан-код 16 для клавиши "1", и он имеет нулевой бит четности.
Клавиатура PS/2 и мышь PS/2 используют один и тот же протокол синхронной последовательной коммуникации. Внутренне первоначальная мышь содержала шарик, который вращал два колесика с прорезями. Колесики были соединены с двумя оптическими датчиками положения. Два оптических датчика сообщали о движении по осям x и y, подсчитывая импульсы при движении колесиков. Она содержала также две или три кнопки для нажатия, которые могут считываться системой и однокристальным микроконтроллером. После включения питания посылается команда PS/2, приказывающая мыши начать посылать специальные пакеты данных. Встроенная в микроконтроллер программа в мыши затем начинает периодически посылать в компьютер 3-байтные пакеты данных по сигнальным линиям PS/2. Трехбайтные пакеты данных мыши сообщают относительные движения XY и статус кнопок.
Операционные системы обычно включают стандартные драйверы устройств клавиатуры и мыши PS/2. Драйвер клавиатуры преобразует последовательности скан-кодов клавиш в символы, а драйвер мыши использует информацию об относительном перемещении, содержащуюся в пакетах данных мыши, для вычисления положения выводимого указателя мыши и для мониторинга статуса кнопок мыши.
В настольной ОС Windows и в Windows Embedded CE, активность ввода клавиатуры и мыши автоматически создают посылаемое событие Windows, которое обрабатывается функцией обратного вызова приложения окна. Приложение обрабатывает сообщения, которые ему посланы. Он не читает непосредственно ввод клавиатуры и мыши.
Шина последовательного периферийного интерфейса (SPI) была создана в 1980-е годы. SPI использовалась для последовательной коммуникации между микропроцессором и его периферийными ИС. SPI имеет следующие четыре сигнальные линии: Serial Clock (SCLK),
Несколько устройств SPI могут соединяться в одно двумя способами. При каскадном соединении используется только один сигнал выбора элемента памяти. Микропроцессор выводит
(рис 3.4) Варианты конфигурации двух подчиненных устройств SPI
Во второй конфигурации SPI каждое устройство имеет свой собственный сигнал выбора элемента памяти, и все они функционируют как независимые сдвиговые регистры. Вспомните, что если устройство не выбрано, оно определяет для своего выхода третье состояние. Выходы можно соединить вместе, но только одно устройство в данный момент может быть активировано. Это обеспечивает независимое чтение и запись устройств SPI. Недостатком является то, что требуется больше линий выхода для сигналов выбора элементов памяти. SPI поддерживает также несколько ведущих устройств шины. Скорости генераторов устройств SPI могут изменяться от 30
SPI называют также
Чтобы соединять интегральные схемы на одной монтажной печатной плате также в 1980-е годы появилась шина Inter IC (
Шина
С помощью дополнительных
Устройства
Когда микропроцессору (контроллеру) необходимо соединиться с устройством
На рисунке 3.5 отметим, что только во время старт-последовательности SDA изменятся из высокого низким при высоком SCL. Отметим также, что только во время стоп-последовательности SDA изменяется из низкого в высокий при высоком SCL. Это позволяет специальной логической схеме обнаружить старт и стоп.
Микропроцессор управляет линиями синхронизации SCL для передачи каждого последовательного бита SDA. Устройства
Проверяйте детали в техническом описании каждого устройства.
Каждая передача адреса и данных содержит всего девять битов. Восемь битов данных с битом подтверждения (ACK), который используется для квитирования. Биты посылаются в порядке от старших к младшим битам, по одному за такт. Используются семь битов адреса, и последний восьмой бит является битом чтения/записи (R/W).
Некоторые технические описания описывают это как восемь адресных битов, где четные адреса используются для чтения, а нечетные адреса для записи, исключая бит R/W.
Подчиненный посылает последний бит подтверждения (ACK) в каждый адрес, и данные пересылаются. Низкое состояние ACK указывает, что подчиненный готов. Когда состояние ACK не будет низким, микропроцессор может послать стоп-последовательность.
Когда микропроцессор хочет послать данные на устройство
Low (т.е., операция записи)
(рис 3.5) Последовательная передача интерфейса I2C 8-битного значения данных
Как показано на рисунке 3.5, когда микропроцессор хочет прочитать данные из устройства
Low.High (т.е., операция чтения).В одном из стандартов
Некоторые устройства
Оба стандарта SPI и
Некоторые микроконтроллеры общего назначения и многие микроконтроллеры USB включают интерфейсы
Системы, которым требуется аналоговый вход используют аналогово-цифровые (A/D) преобразователи, а системы с аналоговым выходом используют цифро-аналоговые (D/A) преобразователи. Все эти устройства требуют временной задержки во время выполнения операции преобразования и обладают точностью определенного числа битов. Обычно время преобразования находится в диапазоне микросекунд, а точность в диапазоне от 8 до 20 битов. Обычно более быстрые устройства являются более дорогими, а устройства с большим количеством битов точности стоят дороже. Помните, что многие датчики и сигналы в действительности имеют высокие уровни шума и/или ограниченный набор частот, поэтому не каждый сигнал нуждается в большом числе битов точности и самом быстром возможном времени преобразования. Разумный выбор точности и частота дискретизации является важным вопросом проектирования. Частоты сэмплирования также ограничены реакцией системы в реальном времени. Нет ничего необычного в том, чтобы встроенное устройство имело аналоговые сигналы с различными частотами сэмплирования. Кроме микросхем A/D и D/A обычно требуются некоторые схемы согласования аналогового сигнала для буферизации аналоговых сигналов и настройки их уровней напряжения.
Многие микросхемы A/D и D/A для требуемых цифровых линий В/В устройства имеют интерфейсы типа SPI, а некоторые имеют интерфейсы параллельного типа.
Кроме линий данных устройства A/D и D/A имеют обычно сигнал входа для запуска преобразования и сигнал выхода, который указывает, когда преобразование завершается. Эти сигналы обычно используются для битов готовности В/В устройства.
Доступны готовые коммерческие системы сбора данных (
(рис 3.6) 10-битная 200Ks/sec A/D микросхема MCP3008, используемая в модулях Phidget, имеет интерфейс SPI
Точность MCP3008 определяется на уровне ±1
Спецификация 1.0 универсальной последовательной шины (USB) 1.0 была выпущена в 1996 г. USB 2.0 является более новым стандартом с более высокой скоростью, которая поддерживает также устройства USB 1.0. Как предполагает название, USB является последовательной шиной, которая была создана для поддержки широкого спектра периферийных устройств. Она передает данные пакетами, аналогично сети, но так как максимальная длина ограничена несколькими футами, то технически она считается внешней шиной, а не сетью.
Кабели USB содержат питание +5V и соединение заземления и два сигнальных провода витой пары (D+,D-). Два сигнальных провода действуют в несимметричном и в дифференциальном режиме (один сигнал вычитается из другого). При этом используется схема кодирования
USB поддерживает три скорости передачи, высокую скорость (только USB 2.0) равную 480Mb/s, полную скорость равную 12Mb/s, и низкую скорость равную 1.5Mb/s. USB управляется хостом и на шине обычно допускается только один хост. Хост отвечает за инициирование всех транзакций и распределение полосы пропускания. С одной шиной USB можно соединить до 127 различных устройств.
Шина USB допускает горячее подключение. Если посмотреть на конец коннектора USB, то можно заметить, что внешние контакты питания и заземления длиннее, чем два внутренних сигнальных контакта. Когда коннектор включается, питание и земля соединяются до соединения сигнальных линий. Если бы сигнальные провода были соединены до установления общего заземления, то это могло бы привести к повреждению устройства.
(рис 3.7) В устройствах USB обычно используется недорогой микроконтроллер USB
Устройства USB реализуются обычно с помощью недорогих микроконтроллеров USB, как показано на рисунке 3.7 выше. Кроме микропроцессора общего назначения с памятью ROM и RAM, они содержат дополнительный интерфейс USB, необходимый оборудованию. Специальная встроенная программа в ROM микроконтроллера используется для управления каждым устройством USB. Эти микроконтроллеры стоят только несколько долларов и могут даже быть дешевле, чем кабель и коннекторы, необходимые для некоторых более старых стандартов, таких как кабель параллельного порта принтера.
USB пересылает информацию в пакетах. Существует четыре типа пакетов, пакеты маркеры, пакеты данных, пакеты квитирования, и периодические пакеты начала кадра. Типичная транзакция USB, показанная на рисунке 3.8, состоит из пакета маркера (заголовка, определяющего, что должно последовать), необязательного пакета данных (содержащего полезную нагрузку данных), и пакет квитирования (подтверждение транзакции для обнаружения ошибок и исправления). Используется циклический избыточный код (CRC) для проверки каких-либо ошибок передачи.
(рис 3.8) Процессор последовательного интерфейса USB (SIE) выполняет высокоскоростные преобразования из последовательного в параллельное представление на пакетах USB, так как скорости последовательных данных слишком высокие для большинства микроконтроллеров
Скорости последовательных данных, необходимые для USB, слишком высокие, чтобы дешевый микропроцессор обрабатывал их программным образом. Специальное оборудование для преобразования из последовательного в параллельное представление, называемое процессором последовательного интерфейса (SIE), включается в большинство схем микроконтроллеров USB. SIE содержит логику для управления протоколом на уровне битов и кодирование шины. Микропроцессор затем пересылает байты (а не биты) в SIE с более медленной скоростью данных.
Пакет маркера содержит идентификатор пакета, адрес, и конечную точку. Идентификатор пакета в примере ниже является маркером OUT. Адрес каждого устройства (ADDR) может иметь несколько конечных точек (ENDP). Конечная точка является буфером (обычно 8 байтным), который соединяет оборудование SIE устройства и встроенную программу, выполняющуюся на микропроцессоре в устройстве USB.
Когда подключается новое устройство USB, используя специальный процесс, называемый перечислением, хост обнаруживает добавление нового устройства и опрашивает подключенное устройство, чтобы определить его ID продукта USB и ID поставщика (PID/
Операционные системы обычно включают драйвер для инициализации устройства USB, а затем ищут нужный драйвер специфического устройства USB. Стандартные драйверы обычно поставляются с ОС для устройств памяти, устройств интерфейса с человеком (UID), таких как клавиатура и мышь, и иногда базового последовательного устройства USB. Другие устройства обычно требуют специфического драйвера устройства от производителя. В CE идентификаторы PID/
(рис 3.9) Анализатор протокола USB захватывает и выводит пакеты USB, обмен которыми происходит с флеш-устройством USB (www.usbdeveloper.com)
Многие встроенные устройства имеют теперь средства для аудио.
AC97 поддерживает скорости данных до 96
(рис 3.10) Блочная диаграмма аудио устройства Realtek ALC202 AC97
В устройствах Windows Embedded CE с поддержкой аудио доступно большое число функций API для программистов приложений. PlaySound (для файлов *.wav по одному за раз), WaveIn, и WaveOut являются некоторыми из наиболее широко используемых функций API. Вместе с Windows Embedded CE поставляется некоторая версия Windows Media Player и несколько примеров прикладных программ аудио включено вместе с Windows Embedded CE в подкаталоге \SDK\SAMPLES\AUDIO. Для этой ОС определен стандарт API речи, но дополнительное программное обеспечение сторонних поставщиков процессоров речи по прежнему требуется для синтеза речи и распознавания голоса.
Для использования цифрового выхода для управления сильноточными устройствами, такими как моторы, реле, сирены, электромагниты, громкоговорители, или светильники, требуется специальная управляющая схема, которая предоставляет дополнительный управляющий ток.
Даже хотя уровни напряжения могут быть совместимыми, типичный контакт цифрового выхода, находящийся в порте В/В обеспечивает только несколько миллиампер тока, но мотору или реле могут требоваться амперы тока. Управление большой индуктивной нагрузкой, такой как мотор или реле, непосредственно из контакта цифровой логической ИС, может легко взорвать внутренний управляющий транзистор в типичной схеме цифрового вывода.
Для моторов и реле доступны специальные управляющие схемы, которые имеют более мощные транзисторы, которые предоставляют больший управляющий ток. Управляющая схема размещается между контактом обычного вывода цифровой логики и сильноточным устройством для обеспечения требуемых более высоких уровней тока. H-мост является полезным устройством, созданным для управления и реверсирования моторов постоянного тока (DC). Схемы H-моста доступны в ИС или небольших предварительно собранных модулях. H-мост содержит четыре больших мощных транзистора. Для одиночного контакта вывода можно добавить небольшую схему, используя отдельный мощный транзистор для управления устройством. Диоды иногда соединяются через нагрузку на индуктивных устройствах, таких как моторы, реле и соленоиды. Когда ток в индуктивной нагрузке отключается, то генерируется пик обратного напряжения (обратный
Управление скоростью моторов DC с помощью управляющей схемы можно реализовать, изменяя время включения/выключения (
При мгновенном реверсировании моторов DC, генерируются большие обратные напряжения
При управлении механическими системами с вентилями, соленоидами, и реле, может понадобиться добавление гестерезиса, чтобы сократить число циклов включения/выключения. В качестве примера, термостат с гистерезисом, используемый для управления температурой нагревателя, будет отключаться при температуре на пару градусов выше температуры, при которой он включается. Если бы одна и та же температура использовалась для включения/выключения, то он бы постоянно циклически включался и выключался. Время жизни многих механических приводных механизмов оценивается числом циклов, поэтому меньшее количество циклов удлиняет их жизнь. Постоянное циклическое переключение может также в некоторых системах увеличивать шум и уменьшать производительность.
Это тип шины с несколькими контроллерами с обнаружением конфликтов и арбитражем шины, похожая несколько на Ethernet. Вместо хранения адресной информации сообщения CAN содержат уникальный номер сообщения, и меньшие номера сообщений имеют более высокий приоритет, когда двум контроллерам шина требуется одновременно. Контроллеры Part-A CAN поддерживают 11-битные сообщения, а Part-B поддерживает 11 или 29-битные идентификаторы сообщений. Каждое устройство на шине проверяет номер сообщения и определяет, нужно ли ему читать сообщение с шины.
(рис 3.11) Кадр сообщения CAN 2.0A
Кадр сообщения CAN версии 2.0A, показанный на рисунке 3.11, состоит из семи различных битовых полей:
CAN идеально подходит для приложений, которым требуется высокоскоростные передачи с короткой длиной сообщений . Она имеет более высокие скорости данных, лучше защищена от шума, и имеет дополнительное обнаружение ошибок, чем более старые последовательные стандарты, такие как RS-232. Поврежденный узел пытается также изолировать себя от шины. Используется две сигнальные линии, CAN-high и CAN-low. Они действуют в дифференциальном режиме. Провода могут иметь в длину десятки метров при самым высоких скоростях передачи, а концы шины завершаются резистором (обычно 120 ом), чтобы уменьшить отражения.
Существует также более новый более дешевый, использующий меньшее напряжение, и меньшие скорости передачи данных (20Кбод) стандарт последовательной шины, предназначенной для использования в автомобилях на уровнях ниже CAN. Она называется Локальной сетью коммутации (LIN). LIN предназначена для взаимодействия процессора подсистемы с его интеллектуальными датчиками, в то время как CAN используется для соединения подсистем вместе на более высоком уровне. LIN может поддерживаться с помощью стандартного последовательного
(рис 3.12) Типичный кадр LIN, состоящий из Synch Break, Synch Field, Identifier, Data Field и Checksum
Каждый байт данных в кадре, как видно на рисунке 3.12 следует стандартному 10-битному последовательному формату (т. е., старт-бит, восемь битов данных, стоп-бит). Кадр состоит из следующих полей:
(рис 3.14) Tektronix DPO7000 1-4 Channel Oscilloscope является встроенным устройством, которое использует Windows XP. Показанный выше вывод создается дополнительным программным пакетом для осциллографа, который декодирует и выводит сигналы шины I2С. Изображения с разрешения Prodigy Test Solutions
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.