Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Интерфейсы связи с датчиками



Сигнальные интерфейсы и цифровые интерфейсы

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

 

Далее проведем некоторую классификацию. Эта классификация придумана мной на основе практического опыта, думаю, она лучше подходит для понимания сути вопроса, чем более общая академическая. Она более общая и как мне кажется, более наглядная.

 

Все выходные интерфейсы датчиков разобьем сначала на две большие подгруппы, которые назовем следующим образом:

Сигнальные интерфейсы и цифровые интерфейсы передачи данных.

Начнем со второй группы, поскольку она сводится к рассмотрению стандартных интерфейсов связи, о которых говорилось выше.

Т.о. здесь мы перечислим наиболее часто встречающиеся цифровые интерфейсы связи (в порядке распространенности): 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-фильтр), который располагают как можно ближе к входному выводу микросхемы МК.

Параметры этого фильтра подбирают таким образом, чтобы действующее значение напряжения шумовой составляющей сигнала после прохождения фильтра было меньше значения напряжения младшего бита АЦП.

 



Схемотехника АЦП

 

Рассмотрим две схемы применения встроенного АЦП на примере известного нам уже датчика давления и МК ATmega128 фирмы Atmel. Первая очевидная, но неправильная, вторая приемлемая.

 

У АЦП этого МК есть следующие выводы – выводы т.н. аналогового питания – питание, которое подается непосредственно на АЦП. Вывод внешнего опорного напряжения – сюда подается напряжение в масштабе, которого будет производиться преобразование. Как правило, у МК существует внутренний источник опорного напряжения.

 

Первой важной вещью при работе с АЦП является обеспечение низкошумящего питания для блока АЦП. Кроме этого для источника опорного напряжения необходима также его стабильность (отсутствие дрейфа) в пределах значения младшей единицы АЦП.

 

Крайне нежелательно, а вообще говоря, противопоказано использовать в качестве ИП АЦП тот же источник, что и для питания цифровой части МК.

 

Для рассматриваемой нами схемы мы имеем следующее – напряжение питания и выходной сигнал датчика таковы, что в качестве опорного нам следует использовать напряжение питания AVCC.

 

Мы помним, что у датчика давления выход пропорционален напряжению питания. Следовательно, все дрейфы и шумы ИП будут переданы на выход датчика и попадут на вход АЦП. С другой стороны, поскольку в качестве опорного напряжения у нас используется напряжение питания, соответственно все шумы и дрейфы этого источника попадут, также в АЦП и в итоге помимо полезного сигнала мы получим полезный сигнал + суперпозиция шумов источников. Избежать этого можно очень просто – использовать для всей аналоговой части схемы общий источник ИП, тогда указанные дрейфы будут скомпенсированы.

 

Для того, чтобы заглушить ВЧ наводки по цепям питания, следует около каждого компонента около его выводов питания ставить т.н. развязывающие конденсаторы – керамические ВЧ конденсаторы малой емкости 0.01-0.1 мкФ.

 

Заканчивая разговор об ИП, отметим последнюю вещь. Как правило, при изготовлении ПП свободное от проводников площадь заливается земляным полигоном. Крайне важно, чтобы земляной полигон аналоговой земли и цифровой были соединены только в одной точке на общем источнике питания и желательно через небольшое (единицы Ом) сопротивление. В общем, топология должна быть такой, как будто вы присоединяете аналоговую схему двумя проводами к ИП – это должно быть ясно видно.

 

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

Для того, не нарушать теорему, на входе АЦП ставят простой RC-фильтр, который давит частоты, выше частоты Котельникова. Расчет параметров этого фильтра производится следующим образом:

 

В нашем случае мы имеем самую простую схему использования АЦП. Современные производители стремятся делать продукцию, сводимую к ней, но в реальности из-за необходимости согласования сигналов схемотехника будет гораздо более сложной – необходимы масштабирующие стабильные усилители-фильтры и прочая мутота, которая выходит за рамки курса. Как правило, все параметры, типовые схемы и номиналы элементов указываются в документации на компоненты (datasheet) и в т.н. указаниях к применению (application notes). Эти документы всегда доступны у производителя.

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 1083; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.03 с.)
Главная | Случайная страница | Обратная связь