Введение
Применение хорошо известного метода передискретизации и осреднения [1] для увеличения разрешающей способности АЦП к встроенному в микроконтроллер Silicon Laboratories C8051F067 16-разрядному АЦП [2] позволило довести его разрешение до 19 разрядов. Тем самым оказалось возможным приблизиться к характеристикам 24-разрядного DS-АЦП Texas Instruments ADS1210 при одном и том же темпе вывода результатов (от 0,1 до 1 с). За последние 6 лет цена данных микросхем удвоилась до $60 и $20 соответственно. В связи с этим применение микроконтроллера C8051F067 (далее – F067) могло привести к существенному удорожанию устройства и снижению его конкурентоспособности. В 2016 году компания Silicon Laboratories выпустила новый микроконтроллер EFM8LB12 (далее – LB12), оснащённый 14-разрядным SAR-АЦП. Автором было выполнено несколько экспериментальных работ по использованию данных микроконтроллеров в преобразователях интерфейсов USB-SPI на базе ещё одного микроконтроллера EFM8UB10 (далее – UB10) [3, 4]. В этих экспериментах LB12 связывался с микроконтроллером UB10 по интерфейсу SPI, a UB10 – с компьютером по интерфейсу USB. В настоящее время цена LB12 на порядок ниже, чем у F067, что и явилось причиной проведения исследований, представленных в данной статье, с целью выяснить, может ли АЦП LB12 составить конкуренцию АЦП F067.
Преимущества LB12 перед F067 состоят не только в его стоимости. Во-первых, этот микроконтроллер имеет в 3 раза бо¢льшую максимальную тактовую частоту (75 МГц), чем у F067 (25 МГц). Это означает, что время расчёта суммы для осреднения результатов АЦП может быть в 3 раза меньше. Во-вторых, при максимальной тактовой частоте АЦП 18 МГц время его аналого-цифрового преобразования составляет не более 1,11 мкс, т.е. он способен производить аналого-цифровые преобразования с частотой дискретизации 900 кГц. В предыдущих экспериментах с F067 эта частота не превышала 400 кГц. Таким образом, АЦП LB12 в 2 раза быстрее АЦП F067. В-третьих, корпус C8051F067-GQ (TQFP-64) имеет размеры 12´12 мм, тогда как корпус EFM8LB12F64E (QFN32) – всего 4´4 мм, что существенно экономит место на плате устройства и повышает его надёжность. Наконец, LB12 – современный микроконтроллер, имеющий некоторые возможности, отсутствующие в F067. Среди них, например, возможность подключения таймеров Т3 и T4 одного за другим. Это означает, что источником тактирования Т4 может служить переполнение Т3, что позволяет получить 32-разрядный аппаратный таймер и использовать его для измерений или заданий точных временны¢х интервалов. Кроме того, LB12 оборудован специализированным блоком логики (CLU), позволяющим производить над входными сигналами операции «И», «ИЛИ», а также триггерные и другие операции, что даёт возможность исключить дополнительные аппаратные средства и существенно упростить конструкцию устройства.
Основным недостатком LB12 является 14-разрядный АЦП (против 16-разрядного АЦП F067). Кроме того, в LB12 реализован несколько иной принцип заполнения ОЗУ (XRAM) результатами измерений АЦП (2-байтными словами) без участия процессора микроконтроллера. Если F067 позволяет записать в XRAM сразу 2048 2-байтных слов с помощью устройства прямого доступа к памяти (DMA), то LB12 может заполнить только буфер из 64 2-байтных слов, а для дальнейшего заполнения требуется изменить адрес начала в памяти для следующего буфера, т.е. увеличить адрес на 128. Эту операцию необходимо проводить уже с участием процессора микроконтроллера. Данный режим в LB12 называется автосканированием. Однако, как будет показано далее, за счёт утроенной тактовой частоты LB12 и удвоенного быстродействия АЦП LB12 эти недостатки компенсируются. Мало того, если максимальный темп вывода результатов АЦП по 8 каналам у F067 составляет 0,1 с (т.е. частота вывода результатов не превышает 10 Гц), то темп аналогичного вывода у LB12 может достигать 0,025 с (40 Гц), правда, с несколько увеличенной погрешностью (см. далее).
Аппаратные средства
Схема устройства (см. рис. 1) для тестирования АЦП LB12 не отличается особой сложностью.
Расположение выводов микроконтроллера LB12 (DD1), показанное на рисунке 1, продиктовано следующими соображениями. С одной стороны, необходимо минимизировать влияние друг на друга входных и выходных сигналов, подключаемых к выводам микроконтроллера, а с другой – обеспечить максимальное удобство компоновки периферийных устройств, расположенных вокруг него. За конкретное расположение выводов микроконтроллера отвечает матрица соединений, которая будет подробно описана во второй части статьи.
На 1-й вывод (P0.0/Vref) из микроконтроллера выводится внутреннее опорное напряжение 2,4 В (сигнал Vref). Это напряжение подключено к входу повторителя на одном из ОУ сдвоенного ОУ OPA2335 (3-й вывод DA3). Конденсаторы C4 и C5 необходимы для обеспечения штатного режима работы внутреннего генератора опорного напряжения 2,4 В микроконтроллера. Выходное напряжение повторителя (1-й вывод DA3) подаётся на верхний по схеме вывод переменного резистора R3. Нижний по схеме вывод R3 заземлён. Движок R3 подключён к входу 2-го повторителя на ОУ (5-й вывод DA3). Выходной сигнал повторителя (6-й вывод DA3) подключён к входу ADC0.18 (12-й вывод DD1). Резистор R3 – 2-движковый потенциометр СП5-35Б, движки которого расположены соосно. Один из движков предназначен для грубой настройки, второй – для точной. Номинал R3 4,7 кОм является достаточно малым для штатной работы генератора опорного напряжения Vref микроконтроллера и достаточно большим, чтобы его можно было напрямую подключать к входу АЦП. Поэтому в схеме использованы два повторителя на ОУ (выводы 1–3 DA3 и выводы 5–7 DA3).
Выводы VIO и VDD (2-й и 3-й выводы DD1) подключены к выходному напряжению стабилизированного источника питания напряжением +3,3 В на базе стабилизатора LP2950Z3.3 (3-й вывод DA1). Конденсатор C6 служит для обеспечения штатного режима работы DD1, а конденсаторы C2 и C3 – для работы DA1. Этим же напряжением +3,3 В питается сдвоенный ОУ OPA2335 (8-й вывод DA3), штатный режим работы которого обеспечивают конденсаторы C7 и C8. Входное стабилизированное напряжение +5 В с двухконтактного разъёма X1 подаётся на вход стабилизатора (1-й вывод DA1), 2-й вывод которого заземлён. Для индикации наличия питания +5 В использован светодиод LD1 зелёного свечения с токоограничительным резистором R4.
Максимальная системная тактовая частота микроконтроллера LB12 составляет 75 МГц. Частота может быть получена либо с внутреннего тактового генератора (72 МГц), либо с внешнего. В качестве последнего были протестированы три типа генераторов. Первые два – стандартные кварцевые CMOS тактовые генераторы: 50 МГц Sunny Electronics SCO22350ADSR и 72 МГц EPSON SG-8002CE. Схема их подключения показана в пунктирном прямоугольнике в левой нижней части рисунка 1. Третий генератор – 72 МГц Silicon Laboratories SI560CAA72M0000ABG. Схема его включения показана в правой нижней части рисунка 1. Сигнал с внешнего тактового генератора подключается к 30-му выводу DD1 (сигнал EXTCLK). Для этих целей использован 3-контактный разъём SIP3 (X4). С 3-го контакта X4 поступает тактовая частота (сигнал EXTCLK), 2-й контакт X4 заземлён, а на 1-й контакт подаётся стабилизированное напряжение +3 В. Это напряжение вырабатывается стабилизатором КР1158ЕН3Б, рассчитанным на максимальный ток 0,5 А, (3-й вывод DA2). На вход стабилизатора (1-й вывод DA2) с разъёма X1 подаётся стабилизированное напряжение +5 В, 2-й вывод DA2 заземлён. Конденсаторы C9 и C10 обеспечивают штатный режим работы DA2. Применение отдельного стабилизатора (DA2) для питания генераторов вызвано двумя причинами. Во-первых, это сделано для снижения шума сигнала Ain, подаваемого на вход АЦП, а во-вторых, если генераторы SCO22350ADSR и SG-8002CE потребляют только 10–15 мА тока, то генератор SI560CAA72M0000ABG потребляет уже 75 мА, и максимального тока 100 мА стабилизатора DA1 (LP2950Z3.3) может уже не хватить.
Для связи платы с компьютером используются 4-проводный интерфейс SPI и преобразователи интерфейсов USB-SPI с гальванической развязкой, подробно описанные в [3, 4]. Сигналы интерфейса SPI (MISO, MOSI, NSS и SCK) и сигнал сброса LB12 (RSTLB1) подаются на микроконтроллер LB12 (DD1) с 8-контактного разъёма X3. К устройству преобразователи интерфейса USB-SPI подключаются разъёмом X3, а к компьютеру – кабелем microUSB-USB.
В устройстве использованы 2 изолированных преобразователя 4-проводного SPI в интерфейс USB. В первом с помощью цифрового изолятора SI8662 изолируется интерфейс SPI, во втором с помощью цифрового изолятора ADUM3160 – интерфейс USB. В обоих преобразователях используется микроконтроллер UB10. Поскольку преобразователь интерфейсов USB-SPI на базе ADUM3160 требует питания +5 В, а преобразователь на базе SI8662 – +3 В, на схеме (см. рис. 1) установлена 3-контактная перемычка P1. При установке джампера на P1 между сигналами +5 В и VDDSPI на 7-й вывод разъёма X3 подаётся напряжение +5 В. В этом случае используется преобразователь на базе ADUM3160. Если установить джампер на P1 между сигналами +3,3 и VDDSPI, то на 7-й вывод разъёма X3 подаётся напряжение +3,3 В. В этом случае используется преобразователь на базе SI8662. Преобразователи интерфейсов и их конструкция подробно описаны в [3, 4].
Следует отметить, что в 2017 году компанией Silicon Laboratories выпущена новая микросхема EFM8UB30 с улучшенными характеристиками. Данная микросхема может быть использована вместо UB10, однако ввиду различий в названиях регистров и библиотечных функций потребуется написание другой, отличной от версии для UB10 программы.
Аналоговая «земля» LB12 (32-й вывод DD1) подключена к общему «земляному» проводу. Металлическая пластина на дне микросхемы LB12, условно показанная на схеме как 33-й вывод, также соединена с этим проводом.
Для программирования микроконтроллера LB12 (DD1) используется интерфейс C2 (сигналы RSTLB1 и C2D, 4-й и 5-й выводы DD1 соответственно). Сигналы для программирования подаются с 3-х контактного разъёма X2: с 3-го вывода X2 сигнал RSTLB1 подаётся на 4-й вывод DD1, а со 2-го вывода X2 сигнал C2D подаётся на 5-й вывод DD1. 1-й контакт X2 заземлён. Для корректного выполнения операций программирования используется RC-цепочка R1, C1, R2. Программирование LB12 производится с помощью адаптера USB-DEBUG. Для программирования используется кабель связи адаптера USB-DEBUG с платой устройства (см. рис. 2а). Одним концом этот кабель подключается к разъёму выходного шлейфа адаптера USB-DEBUG (X1), вторым (X2) – к разъёму X2. Кроме этого, необходим кабель питания (см. рис. 2б), который одним концом X1 подключается к ИП +5 В, а вторым (X2) – к разъёму питания X1. Этот кабель и ИП используются и в штатном режиме работы устройства. При программировании LB12 преобразователи интерфейса USB-SPI необходимо отключить.
Устройство собрано на макетной плате, все соединения выполнены вручную проводом МГТФ-0,03. Однако, поскольку микроконтроллер LB12 имеет миниатюрный корпус с малым размером и расположением выводов, для макетирования он непригоден. Аналогичная ситуация имеет место с генераторами и ОУ OPA2335 в корпусе SOIC8. В связи с этим были разведены и изготовлены соответствующие платы-переходники.
Разводка необходимых плат-переходников выполнена в программе Sprint-Layout 6.0, а технология изготовления плат с высоким разрешением подробно описана в [5, 6]. Файл с разводкой плат представлен в дополнительных материалах к статье на сайте журнала (www.soel.ru).
Разводка платы-переходника для LB12 (см. рис. 3а) и расположение его выводов (см. рис. 3б), представляющих собой цанговые штыри с расстоянием между ними 2,54 мм, дают возможность относительно простого макетирования. На боковых гранях корпуса LB12 по углам имеются технологические контакты, соединённые с «земляной» квадратной пластиной, расположенной на дне корпуса. Один из таких контактов, расположенный рядом с 32-м выводом LB12 (AGND), соединён с ним и выведен на 32-й контакт переходника на соответствующий цанговый штырь. 17-й контакт LB12 не используется, а технологический контакт, расположенный рядом с 17-м контактом LB12, соединён с 17-м контактом переходника. Для надёжности металлическая «земляная» пластина, расположенная на дне микросхемы, соединена проводом МГТФ-0,03 с 17-м контактом переходника. На самой макетной плате расположены цанговые гнёзда, в которые вставлена плата-переходник, и к которым припаяны провода МГТФ-0,03.
Разводка плат-переходников для генераторов 50, 72 МГц и ОУ OPA2335 показана на рисунке 4. В платах-переходниках также используются цанговые штыри, а на макетной плате – цанговые гнёзда, в которые вставляются платы-переходники. Для распайки ОУ OPA2335 его выводы следует подогнуть под дно корпуса. В этом случае он легко помещается на плате, которая совместима с корпусом DIP8. Это сделано для того, чтобы можно было использовать другой ОУ в корпусе DIP8.
На рисунке 5 к макетной плате подключено устройство преобразователя интерфейсов USB-SPI на базе цифрового изолятора ADUM3160 и UB10, а преобразователь интерфейсов USB-SPI на базе SI8662 лежит рядом. Джампер на перемычке в нижней части платы установлен слева (на +5 В). На рисунке также видны платы-переходники для LB12, генератора 72 МГц и ОУ OPA2335. Переменный резистор СП5-35Б (R3) припаян к плате тремя жёсткими отрезками медного провода диаметром 1 мм, на которые надета трубка из ПВХ. На дно резистора приклеена жёсткая пластмассовая трубка жёлтого цвета, служащая опорой при регулировании входного напряжения, подаваемого на АЦП.
Во второй части статьи речь пойдёт о программных средствах и результатах испытаний для различных режимов работы АЦП LB12.
Литература
- Improving ADC Resolution by Oversampling and Averaging. AN118: www.silabs.com
- Кузьминов А. Как заставить встроенный в микроконтроллер АЦП поразрядного уравновешивания работать с разрешением дельта-сигма-АЦП. Современная электроника. 2012. № 3.
- Кузьминов А. Преобразователь интерфейсов USB-SPI на базе нового 51-совместимого микроконтроллера EFM8UB1. Современная электроника. 2017. № 1–3.
- Кузьминов А.Ю. Связь между компьютером и микроконтроллером. Современные аппаратные и программные средства. – М.: Перо, 2018.
- Кузьминов А. Изготовление устройств на печатных платах с высоким разрешением в домашних условиях. Технологии в электронной промышленности. 2010. № 8–10. 2011. № 1, 2.
- Кузьминов А. Технология изготовления печатных плат с высоким разрешением в любительских условиях. Радио. 2017. № 10.
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!