Система измерения давления на основе PSoC CY8C29466 фирмы Cypress и MPX5010 (MPX2010) фирмы Freescale

№ 7’2006
В статье рассмотрен вариант создания устройства, контролирующего давление, в частности при проведении медицинского обследования, полосных операциях, а также в медицинском оборудовании, когда давление меняется от атмосферного до 10 кПа. Устройство реализовано на основе датчиков давления фирмы Freescale и программируемой системы на кристалле PSoC фирмы Cypress.

В статье рассмотрен вариант создания устройства, контролирующего давление, в частности при проведении медицинского обследования, полосных операциях, а также в медицинском оборудовании, когда давление меняется от атмосферного до 10 кПа. Устройство реализовано на основе датчиков давления фирмы Freescale и программируемой системы на кристалле PSoC фирмы Cypress.

Полупроводниковые датчики давления компании Freescale Semiconductor изготавливаются с использованием технологии МЭМС (формирование микромеханических структур на поверхности кристалла кремния). Датчики разработаны для измерения относительного, дифференциального, абсолютного вакуумного давлений влажных и сухих газов в диапазонах от 2,0 кПа до 0–1 МПа. Устройства созданы на основе чувствительного элемента (преобразователя) X-ducer, представляющего собой Х-образную тензорезистивную структуру на кремниевой мембране. X-ducer имеет хорошие показатели линейности, чувствительности и отношения сигнал/шум. Он монтируется в пластмассовый корпус, который в зависимости от типа измеряемого давления имеет один или два порта подвода давления или выполнен без порта подвода давления. Большинство датчиков давления Freescale Semiconductor содержат элементы температурной компенсации характеристики, калибровки смещения и диапазона, а также схемы нормализации выходного сигнала, реализованные на том же кристалле, что и X-ducer.

В качестве датчиков давления в соответствии с требованиями были выбраны два типа MPX5010 и MPX2010. Такие датчики являются относительными, они измеряют разность между абсолютным давлением и местным атмосферным давлением. Поскольку MPX5010 имеет встроенный усилитель, то обработка выходного сигнала не представляет особой сложности. Выходной сигнал для этого датчика, соответствующий диапазону от 0 до 10 кПа, находится в диапазоне 0,2–4,7 В при напряжении питания 5 В. В случае использования датчика MPX2010 обработка его выходного сигнала немного усложняется. Датчик MPX2010 оснащен двумя дифференциальными выходами, изменяющимися относительно половины напряжения питания. Выход датчика является масштабируемым и зависит от напряжения питания. При напряжении питания 10 В полный диапазон выходного напряжения, соответствующий диапазону 10 кПа, составляет 25 мВ, а при питании 5 В – 12,5 мВ [1, 2].

Рис. 1
Рис. 1

С появлением программируемых систем на кристалле (PSoC) фирмы Cypress разработчики получили мощный инструмент для проектирования (систему на кристалле по цене 8-битного микроконтроллера). В чипах PSoC встроены массивы аналоговых и цифровых блоков, на порядок более функциональных, чем фиксированная периферия. Такие стандартные элементы микроконтроллеров, как АЦП, ЦАП, таймеры, счетчики, ШИМ, UART, легко реализуются в PSoC. Кроме того, элементы, обычно не входящие в состав 8-битных микроконтроллеров, например фильтры, усилители, генераторы случайных чисел также можно разместить в этих чипах. Соответственно, одна микросхема PSoC заменяет несколько компонентов схемы, построенной на стандартных микроконтроллерах. Все функции, внутренние соединения, внутренняя конфигурация и даже контакты ввода/вывода перепрограммируются пользователем. Данные системы — идеальный вариант для обработки сигналов с различных типов датчиков. Аналоговая периферия PSoC фирмы Cypress позволяет легко усиливать и оцифровывать аналоговые сигналы. Кроме того, наличие в библиотеке готовых модулей API-функций для управления LCD-индикатором со стандартным протоколом Hitachi HD44780 позволяет без труда осуществить отображение измеряемых величин. Присутствие USB-контроллера в одном кристалле с PSoC позволяет создать гибкую систему с минимальным набором внешних компонентов и реализовать три независимых канала измерения давления на трех датчиках давления MPX5010 или MPX2010 и выводить значения на ЖК-индикатор, сравнивать давление по трем независимым каналам в режиме реального времени на экране PC через USB-интерфейс [3], [4].

Схема оцифровки в PSoC элементарна (рис. 1): 8-битный АЦП интегрирующего типа и буферный усилитель для передачи сигнала от контакта микросхемы к АЦП, что обусловлено архитектурой PSoC.

Зависимость выходного напряжения от давления для датчика MPX5010 имеет следующий вид: Vout = Vs (0,09 × P + 0,02), где Vs — напряжение питания. При Vs, равном 5 В, определить давление по выходному напряжению датчика можно следующим образом: P = (Vout – 0,2)/0,45. Эту зависимость легко задать в программе в табличном виде, предварительно рассчитав значения P для всех выходных значений АЦП. Опорные напряжения для аналоговых блоков и, соответственно, диапазон входных напряжений устанавливается параметром Vref в среде PSoC Designer как Vref = (Vdd/2)±(Vdd/2), то есть размах входного сигнала равен напряжению питания [5]. Библиотечный модуль ADCINC настроен как 8-разрядный АЦП. Выход модуля ADCINC может быть сконфигурирован либо как число со знаком в дополнительном коде (от –127 до +127), либо как беззнаковое двоичное число (от 0 до 254). В данном случае удобен второй вариант, тогда выбор соответствующего значения давления из таблиц осуществляется инструкцией Index процессора M8C. Шаг дискретизации давления при использовании 8-битного АЦП составляет примерно 0,0437 кПа.

Рис. 2
Рис. 2
Рис. 3
Рис. 3

В случае использования датчика MPX2010 обработка его выходного сигнала немного усложняется. Датчик MPX2010 имеет два дифференциальных выхода, изменяющихся относительно половины напряжения питания. Выход датчика является масштабируемым и зависит от напряжения питания. При напряжении питания 10 В полный диапазон выходного напряжения, соответствующий диапазону 10 кПа, составляет 25 мВ, а при питании 5 В — соответственно 12,5 мВ. Рекомендованная схема включения, приведенная в [6], реализуется внутри микросхемы PSoC без использования каких-либо внешних элементов (рис. 2).

Библиотечный модуль инструментального усилителя INSAMP реализует первую ступень усиления с коэффициентом 8, а модуль программируемого усилителя PGA — вторую, с коэффициентом усиления 48. Результирующий коэффициент усиления равен 384, при этом диапазон входного сигнала АЦП составляет Vcc /2 ±2,4 В. Соответственно значение давления в килопаскалях можно определить по формуле: P = (Vin – 0,1)×10/4,9. При использовании датчика MPX2010 программа практически не изменится — добавится лишь включение модуля INSAMP инструкциями mov A, INSAMP_MEDPOWER и call INSAMP_Start, а также изменится содержимое таблицы рассчитанных значений давления. Шаг дискретизации давления в данном случае составляет примерно 0,0402 кПа.

Схема устройства с датчиком MPX2010 и макет устройства приведены на рис. 3 и 4 соответственно. Авторы статьи не ставили перед собой цели описать готовое устройство, а хотели показать на основе практического примера идеологию и преимущества использования систем на кристалле фирмы Cypress, предназначенных для сенсорики и обработки сигналов с различных датчиков. Сейчас изготавливается установочный трехканальный вариант образца устройства с USB-интерфейсом для передачи и обработки данных на PC. Тестирование модели пройдет в Военно-медицинской академии в Санкт-Петербурге.

Рис. 4
Рис. 4

Литература

  1. www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPX5010&nodeId=01126990368716
  2. www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPX2010&nodeId=01126990368710
  3. www.macro-peterburg.ru/cypress/PSoC/PSoC.html
  4. www.cypress.com
  5. Килочек Д. Проектирование на программируемых системах на кристалле PSoC Cypress // Компоненты и технологии. 2006. № 4.
  6. Freescale Semiconductor Application Note AN4010. Low-pressure sensing using MPX2010 series pressure sensors.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *