Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Интерфейсы связи с датчикамиСодержание книги
Поиск на нашем сайте
Сигнальные интерфейсы и цифровые интерфейсы Современные датчики представляют собой, как правило, сложное устройство, состоящее из следующих частей: чувствительный элемент, устройство корректировки сигнала (может выполнять коррекцию передаточной характеристики, термокомпенсацию, преобразование сигнала к удобному виду, преобразование в цифровой код), внешний формирователь выходного интерфейса. Соответственно, через этот интерфейс датчик подключается к вычислителю, которому нужны его показания.
Далее проведем некоторую классификацию. Эта классификация придумана мной на основе практического опыта, думаю, она лучше подходит для понимания сути вопроса, чем более общая академическая. Она более общая и как мне кажется, более наглядная.
Все выходные интерфейсы датчиков разобьем сначала на две большие подгруппы, которые назовем следующим образом: Сигнальные интерфейсы и цифровые интерфейсы передачи данных. Начнем со второй группы, поскольку она сводится к рассмотрению стандартных интерфейсов связи, о которых говорилось выше. Т.о. здесь мы перечислим наиболее часто встречающиеся цифровые интерфейсы связи (в порядке распространенности): SPI (SSI), I2C (I2S), RSxxx (232, 422, 485), 1-Wire, CAN, параллельный код (для датчиков угла поворота). По данному типу интерфейса осуществляется передача данных, содержащих значение показания датчика и дополнительной информации, по установленному протоколу и принимается в вычислителе соответствующим (как правило, встроенным) устройством коммуникации.
Разновидности же первой группы значительно более обширны. Они вынесены в первую группу, т.к. на настоящий момент наибольшее количество датчиков имеют такие интерфейсы.
Сигнальный интерфейс – передача информации производится значением какого-либо параметра сигнала: амплитуда, частота, фаза, скважность и т.п.
Сигнальные интерфейсы в свою очередь тоже можно разделить на две большие группы с точки зрения их последующей обработки: аналоговый сигнал (принимается АЦП) и дискретно-импульсный (принимается спец устройствами на основе счетчиков).
Аналоговые сигнальные интерфейсы, как правило, есть непрерывный гладкий сигнал, информационной характеристикой является текущая амплитуда сигнала.
Аналоговые интерфейсы в свою очередь делятся на: токовые и потенциальные.
Стоковыми интерфейсами все просто – существует общепринятый промышленный протокол т.н. «интерфейс 4-20ма» – токовый сигнал изменяется непрерывно по амплитуде от 4 мА до 20мА, значение тока соответствует показанию датчика – это стандарт промышленной электроники, так как токовый. Как правило, трансиверы для этого интерфейса могут быть настроены на любой из этих подвидов.
Для потенциальных сигналов какого-то единого выделенного интерфейса не существует – сигнал от датчика передается непрерывно и гладко изменяющимся напряжением. Существуют два главных подтипа сигналов: униполярный– сигнал одной полярности относительно общего провода, и биполярный – может иметь как положительное, так и отрицательное значение потенциала относительно общего провода.
Вне зависимости от полярности выходного сигнала, его величина может зависеть от напряжения питания датчика, а может и не зависеть (в указанном диапазоне).
Если изменение значения напряжения выходного сигнала прямо пропорционально изменению напряжения питания, то такой выход датчика в английской терминологии называются ratiometric (пропорциональный). Таким свойством обладают большинство датчиков. Диапазон значений выходного напряжения в этом случае как правило задается соответственно от напряжения питания, например: 0.25В .. 0.8 Vcc. Типовые напряжения питания датчиков таковы (в порядке распространенности): 5В 3.3В 3В 10В 12В 15В и симметричные биполярные.
Импульсно-дискретные сигналы. Информационным носителем является какая-либо временная или частотная характеристика сигнала. В настоящее время распространены датчики со следующими типами выходных сигналов: ШИМ, частотный выход – показания передаются соответственно скважностью (или длительностью импульса) и значением частоты (периода) – в зависимости от того, что удобнее мерить. Прием импульсно-дискретных сигналов Для приема и обработки импульсных сигналов в контроллерах используются устройства на основе счетчиков и таймеров. Сигналы подаются на т.н. вход захвата (Input Capture, ICP). Опорным сигналом для работы таймеров и счетчиков может являться деленная тактовая частота или внешний сигнал, поданный на внешний тактовый вход. Вот, например у ATmega128.
Демодуляция квадратурно-модулированного сигнала
Отдельно выделим здесь такие устройства, как энкодеры угла. Они бывают двух видов – абсолютные и инкрементальные. Первые возвращают абсолютную величину угла поворота с заданной точностью относительно своего нулевого положения Вторые – переключают состояние своего выхода при перемещении вала на заданный дискрет. Для того, чтобы можно было определить направление поворота энкодер имеет два выходных сигнала, смещенные на половину величины дискрета (или в терминах гармонических сигналов - по фазе на 90 градусов).
Такой сигнал носит название квадратурно-модулированный. Для того, чтобы его демодулировать (дешифрировать) в современный МК встраивают специальный блок.
Инкрементальные энкодеры, как правило, обладают более высокой точностью и более компактны, чем абсолютные, однако при работе с ними в качестве датчика положения возникают сложности, так как практически всегда необходимо иметь абсолютный угол.
Следовательно, нужно хранить в энергонезависимой памяти текущее значение угла, иметь алгоритмы выставки нуля (калибровки), и самое сложное – уметь обрабатывать квадратурный сигнал.
Демодулировать вручную этот сигнал тоже можно быстрой обработкой в контроллере на прерываниях. Для этого нужно сделать следующее. Для начала надо определить время, необходимое для этой операции – время входа в прерывание, частота следовании импульсов, требуемая разрядность. Поскольку частота вращения может быть высокой, а разрядность энкодера тоже высокой, вход в прерывание и выход из него – долгая операция
Поскольку для демодулирования нужна высокая скорость работы и прерываний, в микроконтроллеры, предназначенные для управления двигателями, квадратурные демодуляторы встраиваются как специальные устройства.
Если же все же необходимо демодулировать сигнал энкодера программными способами, то необходимо сделать следующее. Определить время обработки (демодуляции) одного события (реакция на фронт любого канала). Для этого необходимо взять максимальную скорость вращения вала энкодера n (допустим, в оборотах в минуту), разрешение энкодера R (отсчетов на оборот), коэффициент умножения исходя из режима точности определения координат k (1х 2х 4х), рассчитать время T между двумя событиями. Для k=1 T[с] = 1/(n * R * 60) Для k=2 T[с] = 1/(n * R * 60 * 2) Для k=4 T[с] = 1/(n * R * 60 * 4)
Рассмотрим пример. Дан инкрементальный энкодер с разрядностью 10 бит. Требуется осуществить прием координат с него с помощью МК ATmega128, работающей на частоте f_osc = 16МГц. Максимальная частота вращения вала энкодера n = 2000 об/мин. Рассчитаем требуемое время обработки сигнала для разных k. Для k=1 T[с] = 60/(n * R) = 1 / (2000 * 1024 * 60) = 29.29 мкс Для k=2 T[с] = 60/(n * R * 2) = 14.64 мкс Для k=4 T[с] = 60/(n * R * 4) = 7.32 мкс Один такт МК t = 1/f_osc = 62.5 нс = 0.0625 мкс Т.о. на обработку события можно потратить до 468, 234 и 117 тактов МК соответственно. Посчитаем количество инструкций, необходимых для обработки события энкодера, если обработчик написать на ассемблере, что дает оптимальное (и видимо максимальное) быстродействие. Вход в обработчик прерывания – 7 тактов, Чтение регистра порта ввода-вывода, куда подключен энкодер – 2 такт,
Проверка состояния линии, куда подключен смежный канал – 3 такта, Приращение счетчика угла в зависимости от направления вращения – 3 такта, Выход из прерывания – 4. Т.о. получается 19 тактов МК занимает обработка каждого фронта сигнала энкодера. Много это или мало? Зависит от задачи, ведь в оставшееся время до следующего события необходимо выполнить основную программу, которой остается 449, 215, 98 тактов соответственно. Надо иметь в виду, что процессор периодически и постоянно будет отвлекаться от выполнения основной программы для декодирования сигнала энкодера, а это может привести к затягиванию основного алгоритма во времени и, следовательно, потери режима работы в реальном времени. Прием аналоговых сигналов
Для приема аналоговых сигналов используются встроенные аналогово-цифровые преобразователи, АЦП. Основные характеристики АЦП: 1. Разрядность – степень, в которую надо возвести число 2, чтобы получить количество дискретных уровней числа, поставленного в соответствии уровню входного сигнала. Например, разрядность АЦП n = 8. Это значит, что уровни входных сигналов будут преобразованы в числа от 0 до 2^(n-1)=255. Встроенные АЦП МК обычно обладают разрядностью 10-12 бит. 2. Скорость преобразования – частота дискретизации: частота, с которой обновляется цифровое значение на выходе АЦП. Обычно измеряется в единицах преобразования в секунду (samples per second, SPS). Встроенные АЦП обычно обладают скоростью до 100-200 SPS. 3. Источник опорного напряжения (ИОН)– напряжение, в долях которого осуществляется приведение к коду входного напряжения. Например, если опорное напряжение Uоп=5В, а разрядность АЦП n=8, то входной сигнал будет преобразовываться с разрешением по напряжению dU = Uоп / 2^n = 19.5 мВ. Т.о. если на вход такого АЦП подано Uвх=2.72 В, то после преобразование получится код, равный Uвх / dU = 139. АЦП МК обычно имеют встроенные ИОН. Величины напряжений обычно бывают 2.5 В, 3.3В, 5В. Также обычно есть возможность подключения внешнего ИОН с любым нужным напряжением из допустимого конструкцией диапазона. dU также известно как значение младшего бита (last significant bit, LSB), то есть величина напряжения, изменение на которую входного сигнала АЦП изменит младший бит выходного кода. Если критерии выбора разрядности и величины опорного напряжения более или менее ясны, то вопросу частоты дискретизации следует уделить особое внимание. Теорема Котельникова в формулировке автора гласит: «Любую функцию f(t), состоящую из частот от 0 до fc, можно передавать с любой точностью при помощи чисел, следующих друг за другом через 1/(2*fc) секунд.»
Иными словами это означает, что для точного восстановления сигнала после его преобразования в цифровую форму частота дискретизации должна быть в два раза выше самой высокой частоты в спектре оцифровываемого сигнала. Если же это условие не будет выполнено, то возникнет вредное явление «наложение спектров» или «алиасинг» (aliasing), заключающееся в том, что составляющие сигнала с частотой выше частоты Найквиста после преобразования отразятся в область низких частот к частоте, равной разности исходной частоты и частоты Найквиста. Очевидно, что это приведет к искажению полученного сигнала, поэтому частота дискретизации должна выбираться исходя из спектра входного сигнала. Следует, однако, знать, что даже если спектр полезного сигнала удовлетворяет нашему критерию, то реальный физический сигнал всегда несет в себе некоторое количество вредных шумов (например, наводки от проходящих рядом сигналов), чей спектр может не удовлетворять критерию Найквиста. Для того, чтобы уменьшить их вредное влияние на преобразование, входной сигнал всегда подвергают фильтрации, т.е. пропускают через фильтр нижних частот (ФНЧ) (в простейшем случае – RC-фильтр), который располагают как можно ближе к входному выводу микросхемы МК. Параметры этого фильтра подбирают таким образом, чтобы действующее значение напряжения шумовой составляющей сигнала после прохождения фильтра было меньше значения напряжения младшего бита АЦП.
|
||||||||
Последнее изменение этой страницы: 2024-06-27; просмотров: 6; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.123.217 (0.012 с.) |