Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2005 №1

Портативный регистратор аналоговых сигналов на микроконтроллере серии ADuC8xx компании Analog Devices

Новицкий Александр  
Сигалова Екатерина  

В статье приводится описание разработки регистратора аналоговых сигналов для полевой многоканальной регистрации сигналов, получаемых от пьезодатчиков в ходе акустического зондирования конденсированных сред (земная толща, строительные конструкции и т. п.).

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

Примеры применений, где требуются подобные системы:

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

У широкого класса подобных систем имеется достаточно много общих свойств:

  1. необходимо периодически производить измерения величин сигналов от различных датчиков, выходным сигналом которых в значительной части применений является напряжение;
  2. требуемые частоты дискретизации могут варьироваться в широких пределах (от малых долей герца до сотен килогерц и выше);
  3. количество непрерывно регистрируемых отсчетов (без возможности передачи зарегистрированных данных на другие устройства хранения) может составлять значительные величины (сотни тысяч и миллионы отчетов);
  4. необходимость осуществлять многоканальную регистрацию с различной частотой дискретизации по разным каналам;
  5. система должна обеспечивать длительное время работы от автономных источников питания без возможности подзарядки или замены элементов.

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

Набор требуемых эксплуатационных характеристик разрабатываемой системы был приблизительно следующим:

  1. количество регистрируемых отсчетов для одной выборки: 103...105;
  2. количество одновременно регистрируемых выборок — одна или две (как организована двухканальная регистрация, будет пояснено далее);
  3. диапазон частот дискретизации: 1...105 Гц для непрерывной выборки;
  4. общее количество выборок, регистрируемых в ходе одной рабочей смены (без возможности сохранения зарегистрированных системой данных на внешних носителях): 102...103;
  5. время непрерывной работы без замены источников питания: 10...15 часов;
  6. массогабаритные характеристики: носимый прибор массой менее 1 кг.

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

Перечислим эти свойства и характеристики микроконтроллеров ADuC8xx со встроенным 12-разрядным АЦП:

  • Производительность от 1 до 20 MIPS.
  • Встроенная Flash-память программ от 4 до 62 кбайт.
  • Встроенная память данных от 256 до 2304 байт.
  • Встроенная Flash-память данных от 640 до 4096 байт, что позволяет реализовывать достаточно сложные алгоритмы управления регистрацией и обеспечивать необходимые сервисные функции.
  • Встроенный узел аппаратного отладчика (InCircuit Debugger), позволяющий загружать с персональной ЭВМ в Flash-память контроллера и в комфортной интегрированной среде с графическим инте фейсом отлаживать программы, написанные как на ассемблере, так и на С.
  • Встроенный 12-разрядный АЦП с прецизионными характеристиками и максимальной частотой дискретизации 420 кГц. Благодаря встроенному аналоговому мультиплексору на входе АЦП микроконтроллер может обрабатывать до 8 аналоговых сигналов без использования внешнего мультиплексора.
  • Возможность подключения внешней статической памяти данных с максимальным адресным пространством 16 Мбайт.
  • Встроенный контроллер прямого доступа (ПДП) к внешней памяти, позволяющий регистрировать в этой памяти поток отсчетов с подсистемы АЦП с максимальной для данного микроконтроллера частотой дискретизации параллельно с выполнением программы.
  • Возможность предварительного программирования контроллера ПДП путем задания произвольной последовательности опрашиваемых каналов АЦП. Это позволяет (с некоторыми ограничениями) реализовать одновременную регистрацию нескольких сигналов с различными частотами дискретизации (реализация параллельной обработки нескольких сигналов будет объяснена ниже).
  • Набор последовательных интерфейсов, в частности UART с максимальной скоростью обмена до 130 кбод, SPI с максимальной скоростью до 8 Мбит/с. Это позволяет с малыми затратами подключать к системе много дополнительных периферийных узлов.

Ток, потребляемый различными представителями семейства на полной скорости (при максимальной тактовой частоте) составляет 30...40 мА. Однако для большей части представителей семейства возможно программное управление тактовой частотой и снижение ее в 2...128 раз, когда не требуется максимальная скорость. При этом потребляемый ток уменьшается практически пропорционально снижению частоты. Это, а также наличие нескольких режимов энергосбережения позволяет получить в разрабатываемой системе средний потребляемый ток от источника питания (для всего прибора) около 10...12 мА и время непрерывной работы от 4 аккумуляторов типоразмера ААА (0,7 А·ч) до 50 часов.

Во время разработки системы авторам пришлось решать ряд проблем, связанных с особенностями семейства ADuC8xx. В данной публикации в основном обращается внимание на способы решения этих проблем.

Структура комплекса, предназначенного для сбора экспериментальных данных геофизического сейсмопрофилирования, приведена на рис. 1.

ris 1Структурная схема комплекса акустического зондирования
Рис. 1. Структурная схема комплекса акустического зондирования

В системе сбора данных предполагается использовать микроконтроллеры типов ADuC832 либо ADuC842. Эти контроллеры полностью совместимы по выводам и отличаются друг от друга в основном производительностью.

Схема подключения внешней памяти к микроконтроллерам ADuC8xx
Рис. 2. Схема подключения внешней памяти к микроконтроллерам ADuC8xx

Далее описаны особенности реализации перечисленных подсистем с использованием ресурсов микроконтроллеров ADuC8xx.

    1. Подсистема регистрации сигнала. Основная функция подсистемы: регистрация потока отсчетов с заданной частотой дискретизации. При частотах дискретизации до 20 кГц используется программное управление АЦП, при более высоких частотах дискретизации задействован контроллер ПДП.

Для записи отсчетов в ходе регистрации используется внешняя память данных, реализованная на одной или на двух микросхемах статической памяти типа K6X4008T1F объемом соответственно 512 или 1024 кбайт. Этот объем определяет максимальную длину непрерывно регистрируемой выборки (256 К или 512 К двухбайтовых отсчетов).

В частности, при частоте дискретизации 100 кГц и использовании ИС памяти объемом 1024 кбайт время непрерывной регистрации составит около 5 с. Для подключения к микроконтроллеру упомянутых микросхем в систему добавлены два регистра-защелки типа 74HC573 с целью демультиплексирования адресной шины.

Внешняя магистраль микроконтроллера использует два из трех двунаправленных байтовых портов (P0 и P2) по стандартной схеме подключения, показанной на рис. 2. [1], однако в интервалы времени, когда не происходит обращения к микросхемам памяти, эти порты используются для обмена с другими периферийными устройствами.

При выборе частоты дискретизации следует учитывать полосу частот регистрируемого сигнала, чтобы избежать «наложения» частот (aliasing). Для этого принято перед дискретизацией подавлять высокочастотные составляющие сигнала. Если же требуется для одного и того же сигнала выполнять дискретизацию с различной частотой (как это имеет место в рассматриваемой системе), может понадобиться фильтр с перестраиваемой частотой среза.

Однако при разработке данного регистратора был использован другой прием. Входная аналоговая цепь системы регистрации кроме пред- варительного аналогового усилителя содержит «гребенку» из шести простых фильтров нижних частот, выходы которых поданы на разные входы встроенного аналогового мультиплексора микроконтроллера (см. рис. 3.). Нужная полоса пропускания достигается программным выбором входа мультиплексора и, следовательно, выбором используемого фильтра.

Структурная схема входных аналоговых цепей комплекса акустического зондирования
Рис. 3. Структурная схема входных аналоговых цепей комплекса акустического зондирования

Это же решение позволяет легко организовать одновременную регистрацию по двум и более каналам с различными частотами дискретизации.

Поясним, как это осуществляется. Одновременно регистрируемые при сейсмопрофилировании выборки существенно различаются по частотам дискретизации (типовое соотношение для двух каналов 1:32) и по длительности регистрации (по ВЧ-каналу — в 32 раза короче). Если частота дискретизации ВЧ-канала не превышает 20 кГц, двухканальный режим нетрудно реализовать чисто программно.

Если же по ВЧ-каналу требуется регистрация с более высокой частотой, на помощь приходит встроенный в микроконтроллеры ADuC8xx канал прямого доступа к внешней памяти из подсистемы аналого-цифрового преобразования с возможностью предварительного программирования последователь- ности переключения каналов аналогового мультиплексора, по которым будут осуществляться отсчеты. Программирование заключается в предварительной записи в двухбайтовые элементы участка внешней памяти ([1], стр. 24), предназначенного для двухканальной записи, номеров требуемых каналов аналогового мультиплексора. Для двухканальной регистрации каждый 32-й элемент содержит номер НЧ-канала, а все остальные элементы— номер ВЧ-канала.

Таким образом, регистрация производится в режиме ПДП одновременно по двум различным каналам, имеющим различные полосы пропускания, чтобы соблюдалось условие тео- ремы отсчетов Котельникова. При этом в высокочастотном канале каждый 32-й отсчет оказывается пропущенной (в эти моменты регистрируется отсчет низкочастотного канала), что учитывается и компенсируется в ходе последующей совместной обработки зарегистрированных последовательностей в программе, работающей на обычном персональном компьютере.

Аналогично можно реализовать и более чем двухканальную регистрацию.

    2. Подсистема энергонезависимого хранения зарегистрированных выборок содержит микросхему Flash-памяти типа AT45DB161B компании Atmel объемом 16 Мбайт. Эта микросхема имеет последовательный интерфейс SPI и обеспечивает скорости обмена до 20 Мбит/с.

Таким образом, ее можно подключить прямо к микроконтроллеру, используя всего лишь три стандартных линии SPI (MISO, MOSI, SCLK), еще один выход микроконтроллера нужен для выбора микросхемы. Могут быть также использованы и микросхемы Flash большего объема, вплоть до 512 Мбайт. Упомянутые ИМС выпускаются и в конструктиве DataFlash Card и могут быть использованы каксменные носители данных.

    3. Интерфейс с оператором. Основная функция подсистемы — управление процессом и параметрами регистрации, звуковая и светодиодная индикация. В состав подсистемы входит матричный графический ЖК-индикатор типа FDCG12864H компании Fordata размером 128Y64 пикселей, 9-клавишная пузырьковая клавиатура, организованная в матрицу 3Y3, три сигнальных светодиода и пьезоэлектрический звукоизлучатель. Для организации сканирования «строк» клавиатурной матрицы использованы в мультиплексном режиме (в моменты времени, когда они не используются для других целей) три вывода двунаправленного порта P2, а для опроса столбцов матрицы — три входа порта P0.
    4. Графический индикатор используется для отображения регистрируемых аналоговых сигналов, а также информации о состоянии системы. Для последней цели используются также световые и акустические сигналы, которые генерируются программно.
    5. Согласование логических уровней цифровых сигналов. При подключении модуля ЖКИ пришлось решать задачу сопряжения логических узлов с различным напряжением питания (5 и 3,3 В), решение кратко описано в разделе, посвященном подсистеме питания регистратора.
    6. Интерфейс со стандартным персональным компьютером на базе UART либо USB. Основная функция подсистемы—передача зарегистрированных данных в персональный
компьютер по окончании регистрации. Это может осуществляться как в лабораторных условиях по окончании рабочего дня, так и «в поле». В последнем случае предполагается использовать компьютеры класса ноутбук или палмтоп.

Для связи с ПК через COM-порт используется штатная подсистема UART микроконтроллера, максимальная скорость передачи составляет 115200 бод (около 10 кбайт/с). В этом случае для «перекачки» полного объема 16 Мбайт Flash-памяти потребуется не менее 30 минут.

Для реализации интерфейса USB в системе использована микросхема USB-контроллера типа FT245BM компании Future Technology [2], которая имеет простой байтовый параллельный интерфейс и подключена в мультиплексном режиме к порту Р0 микроконтроллера.

В программном обеспечении на ПК использован свободно распространяемый фирмой Future Technology для своей микросхемы драйвер «виртуального COM-порта», который позволяет приложению, работающему на ПК, «видеть» интерфейс USB как дополнительный скоростной COM-порт и однотипным способом обмениваться данными с системой регистрации как через COM-порт, так и через USB (заменяя только номер порта). Максимальная скорость обмена с ПК при использовании драйвера «виртуального COM-порта» составляет около 300 кбайт/с, а время передачи полного объема 16 Мбайт Flash-памяти не превысит 1–2 минут.

    7. Дополнительные средства отладки. На этапе макетирования и отладки подсистем устройства применялся набор разработчика начального уровня ADuC8хx QuickStart. В нем для связи инструментального компьютера с отладочным модулем использован стандартный UART микроконтроллера ADuC8хx.

Чтобы иметь возможность отлаживать подсистему коммуникации регистратора, на ADuC832 был программно реализован дополнительный UART (низкоуровневый протокол асинхронного обмена), совместимый с протоколом RS-232 стандартного COM-порта персонального компьютера.

Для этого использованы два вывода порта Р3, один из которых работает как выход Tx, а второй как вход Rx. Программные модули передатчика и приемника были написаны на языке ассемблера. Модуль передатчика не использует прерываний, временные соотношения (длительности интервалов между битами) обеспечены путем аккуратного учета времен выполнения команд. Модуль приемника реализован как обработчик аппаратного прерывания nt1 и использует вывод P3.3 (вход запроса Int1).

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

ADuC832 в режиме обмена через UART работает на максимальной для него тактовой частоте ядра 16,8 МГц. В обоих случаях авторы старались получить максимально возможную скорость передачи данных, были реализованы версии для скоростей 115200 и 57600 бод.

Проведенные в обычных лабораторных условиях испытания показали, что реализованный таким образом программный UART надежно работает на линию связи длиной 1,5 м с персональным компьютером со скоростью передачи 115200 бод: в течение нескольких часов непрерывной передачи тестовых последовательностей не было зарегистрировано ни одной ошибки.

    8. Подсистема питания комплекса. Большая часть компонентов комплекса — микроконтроллер, внешняя статическая память с регистрами-защелками, драйвер линий интерфейса RS-232, микросхема Flash-памятиработает при пониженном напряжении питания (2,7–3,6 В). Только два модуля (графический ЖК-индикатор и приемопередатчики интерфейса USB в микросхеме FT245BM) требуют питания 5 В ±10%. Таким образом, в системе пришлось решать задачу сопряжения цифровых элементов с различными напряжениями питания.

Для питания регистратора использована ба- тарея из четырех аккумуляторов NiMH, которая имеет напряжение около 5,5 В в заряженном состоянии и около 4,6 В в состоянии полного разряда. Графический индикатор получает питание непосредственно от батареи. Приемопередатчики ИМС FT245BM требуют питания, только когда устройство подключено к персональному компьютеру, они питаются от его шины USB. Все прочие элементы устройства питаются через линейный стабилизатор типа ADP3309-ART3.6 компании Analog Devices с выходным напряжением 3,6 В.

Сопряжение сигналов контроллера ЖКИ (с 5-вольтовым питанием) и прочих элементов (с 3,3-вольтовым питанием) выполнено следующим образом. Входы внешнего интерфейса контроллера ЖКИ (микросхема S6B0108 компании Samsung) в соответствии со спецификацией на микросхему воспринимают как логическую «единицу» напряжение 2,0 В и выше, поэтому все управляющие сигналы можно подавать на ЖКИ непосредственно от 3,3-вольтовой логики, для которой указано напряжение логической «единицы» ≥2,4 В.

Выходные сигналы ЖКИ, поступающие на входы 3,3-вольтовой логики (в рассматриваемой системе это только линии шины данных) не могут быть поданы «напрямую», поэтому для сопряжения уровней была использована микросхема канального приемопередатчика типа SN74LVC245, которая при напряжении питания 3,3 В допускает входные напряжения до 5,5 В и специально предназначена для сопряжения логики 3,3 и 5 В. Для управления микросхемой SN74LVC245 потребовалось формировать дополнительно два логических выходных сигнала.

Подзарядка аккумуляторов производится при подключении устройства к шине USB персонального компьютера. Регистратор содержит DC/DC-преобразователь типа AM1D-0512S компании Aimtec, питаемый напряжением 5 В от шины USB и формирующий напряжение +12 В ±10%. Зарядка батареи NiCd-аккумуляторов производится через балластный резистор стандартным током заряда в течение 12–14 часов. Если включено питание регистратора, микроконтроллер может осуществлять контроль уровня заряда.

Рассмотрим вопрос обеспечения в системе достаточного количества дискретных входов/ выходов.

Таблица 1. Необходимое количество входов/выходов микроконтроллера
Необходимое количество входов/выходов микроконтроллера

В таблице 1 приведен перечень периферийных узлов системы, представляющих собой внешние по отношению к однокристальному микроконтроллеру ADuC8хx компоненты, а также количество дискретных входов и выходов микроконтроллера, которые требуются для обмена данными с этими узлами.

Таким образом, для обслуживания входов управления периферией необходимо иметь в микроконтроллере 39 выходных линий, для приема однонаправленных выходных сигналов периферии в микроконтроллере требуется 6 входных линий, а кроме того, надо обеспечить двунаправленный обмен по байтовой ине с тремя абонентами.

Как видно из таблицы 1, наибольший дефицит в системе наблюдается в выходных линиях микроконтроллера для формирования входных управляющих сигналов периферии. Если не учитывать узлы, подключаемые стандартным образом (микросхемы XRAM к внешней магистрали и Flash-память к SPI), для управления остальными периферийными узлами требуется 12 выходных линий.

Рассмотрим теперь особенности и количество линий ввода-вывода в микроконтроллере ADuC8хx.

Двунаправленный порт Р0 используется микроконтроллером при обращении к внешней магистрали как мультиплексированная шина «Адрес7:0/Данные7:0. Выходная схемотехника порта выполнена по комплементарной схеме, но выходы работают в двухтактном (комплементарном) режиме только при обращении к магистрали (командой movx либо при выборке команд из внешней памяти). Кроме того, при любом обращении к магистрали все разряды регистра этого порта принудительно устанавливаются в 1. В остальное время выходные каскады порта P0 имеют поведение «открытый сток» (верхний транзистор каскада всегда закрыт).

Эти две особенности затрудняют использование выводов порта P0 как программно управляемых выходов (требуется наличие pull-up резисторов на выходах порта и восстановление содержимого регистра P0 после выполнения команд movx). Однако вследствие этих же причин (отсутствие pull-up резисторов на выходах порта и принудительная установка разрядов порта в 1 командой movx) оказывается удобным использование выводов P0 как высокоимпедансных входов.

Восемь выводов порта P1 используются как входы аналоговых сигналов. Хотя эти же входы можно использовать для ввода дискретных сигналов, в данной разработке предполагается задействовать все без исключения аналоговые входы.

Двунаправленный порт P2 при обращении к магистрали используется как мультиплексированная шина адреса («Адрес23:16» в адресной фазе канального цикла и «Адрес15:8» в фазе данных). Поведение порта P2 отличается от P0 наличием внутрикристальных pull-up резисторов, подключенных к выводам порта, а также отсутствием влияния канального цикла на содержимое регистра порта P2. Поэтому линии порта P2 одинаково удобно использовать в качестве как входных так и выходных

Двунаправленный порт P3 по своим свойствам аналогичен порту P2 (отличается повышенной нагрузочной способностью). Однако большая часть линий порта P3 мультиплексирована с выводами других встроенных периферийных узлов (см. табл. 2.)

Таблица 2. Назначение выводов порта P3
Назначение выводов порта P3

Из таблицы 2 видно, что в порте P3 для ввода или вывода дискретных сигналов свободны лишь две линии. Таким образом, в системе наблюдается дефицит выходных линий. Этот дефицит преодолен следующим образом.

Во-первых, для подключения стандартным образом внешней памяти в систему включены два регистра-защелки, выходы которых вместе с портом P2 образуют адресную 24-разрядную шину. Запись нового значения в регистры-защелки происходит всякий раз при выполнении команды movx.

Микросхемы XRAM объемом 512 К из 24 разрядных линий используют только 19, а оставшиеся 5 линий (соответствующих содержимому пяти старших битов регистра DPP) могут быть использованы для включения (активации) других ИМС, то есть для формирования сигналов выбора кристалла. Для безопасного обновления содержимого регистров-защелок можно использовать «холостое» чтение произвольного адреса XRAM, предварительно обновив нужным образом регистр DPP.

Кроме того, для увеличения количества выходных линий к порту P2 подключен еще один регистр-защелка. Этот регистр стробируется сигналом тактирования SCLOCK последовательного порта SPI (используемого также при обмене с Flash-памятью). Выходные линии дополнительного регистра используются для формирования управляющих сигналов ЖКИ и приемопередатчика SN74LVC245. Такое «мультиплексное» использование сигнала SCLOCK вполне возможно, так как формируя дополнительные сигналы («выбор кристалла» для Flash памяти и «строб» для ЖКИ), можно выбрать, с каким устройством происходит обмен.

В настоящее время завершено макетирование взаимодействия с микроконтроллером всех периферийных элементов, для чего были использованы наборы разработчика QuickStart Development System ADuC812 и ADuC832. Для регистратора разрабатывается специализированная печатная плата, которая позволит изготовить устройство в габаритах 150Y90Y40 при суммарной массе не более 500 г.

Литература

  1. ADuC842 Microconverter, 12-Bit ADCs and DAC with Embedded 62 kBytes Flash MC. Data Sheet. Analog Devices, Inc. 2004. http:// www.analog.com.
  2. FT245BM USB FIFO (USB — Parallel) I.C. Data Sheet. http://www.ftdichip.com.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке