RTL8711AM — Схемотехника портативного устройства с АКБ, USB, NFC, Wi-Fi, MPU6050

Привет! Сегодня мы рассмотрим довольно подробно создание небольшого устройства для измерительных целей и аттестации определённого рода продукта. Название, как и само назначение, оглашать не буду, зато опишу, как и почему вышла такая схема и плата. Да, кстати, качество изготовления печатной платы уже рассматривал в обзоре ранее. Устройство требовалось как можно менее весомым (крайний предел — 15 грамм вес всего устройства), поэтому было принято решение сделать всё на одной плате, без использования готовых модулей на этих SoC.

B38-0

Документации по применению на эти SoC нет в открытом виде, только заключать NDA с Realtek, поэтому прийдется дербанить готовые модули, реверсить схему и уже на основе этого можно городить свою схему. Нам это не в новинку, реверсинженерить умеем. ;)

Дело, по факту, в данном случае не хитрое, берём модули, сдуваем все чипы (нам их всё равно паять на свою плату), распечатываем распиновку RTL8711AM с даташита и вначале прозваниваем всё питание по ножкам (1,2В, 3,3В, SDRAM, IO) и потом по порядку оставшиеся ножки и видимые резисторы-подтяжки. Вот пациенты-доноры:

B38-1

Одна из плат при нагреве заметно покрылась пузырями, видимо, текстолит не очень хорошего качества…хотя на других модулях (не только RAK473) такого замечено не было.

B38-2

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

Начнём с основного — подключение SoC и его подтяжек:

B38-3 MCU

Розоватым помечены пины, отвечающие за режимы загрузки SoC при подаче питания, и их необходимо подтягивать к земле или питанию в зависимости от желаемого режима. Часть подтяжек вынесена отдельно или идёт в составе нужного интерфейса на этих пинах (как I2C3 на GPIOB2, GPIOB3):

B38-4 MCU2

Все критичные пины:

  • GPIOA 7SD_DEV_SEL, если 1 — SDMMC Host mode, если 0 — SDIO device mode (не поддерживается RTL8711AM), этот пин оставлен в воздухе.
  • GPIOB 0 — BOOT_SCENARIO, если 0 — загрузка с флеш (внешней), если 1 — загрузка с встроенной памяти (в RTL8711AM нет встроенной флеш);
  • GPIOB 2 — NORMAL_MODE_SEL, подтянув к 0 при старте, включается тестовый режим;
  • GPIOF 5 — EEPROM_SEL, подтягивать к 0 (Internal NV memory select).

Да, элементы без номера (как R? выше на схеме) — это элементы, которые я добавил уже после макетирования, т.е. что-то прошляпил или они потребовались. В случае выше — для стабильной работы SWD потребовалась подтяжка на самой плате при питании от АКБ.

Питание SoC довольно простое, только требуется немало фильтрующих ёмкостей:

B38-5 MCU PWR

Т. к. в RTL8711AM есть дополнительная встроенная SDRAM, то для неё требуется отдельное питание (пины 41, 48) от встроенного LDO в SoC (пин 45).

По разводке печатной платы тоже ничего специфичного, получается на 4-х слоях вполне лаконично. Заливка основного питания VCC3P3:

B38-6 3P3

Отдельно заливка питания VCC1P2 встроенного в SoC LDO:

B38-7 1P2

И заливка питания SDRAM еще проще:

B38-8 SDRAM

Далее на очереди FLASH микросхема, тут тоже никаких особенностей. Если её располагать близко к SoC, то никаких выравниваний длин не требуется, скорости не те. Схема подключения:

B38-9 FLASH

Кнопочка\светодиод, конечно же, для Hello World! :)

B38-10 BT_LED

Далее по очереди пойдут беспроводные интерфейсы. Начнём с Wi-Fi. Схема RF части в модуле в несколько раз более сложная, я не хотел её сдирать и тем более нет желания точно узнавать номиналы 0402 емкостей\индуктивностей и еще какого-то фильтра в 0603. Я поступил проще, посмотрел примеры на SoC от Texas Instruments и подобрал по примерно аналогичному SoC номиналы для керамической многослойной антенны (тоже важно, т. к. места на разрабатываемой плате немного и позволить себе антенну проводником на печатной плате не мог). Получилась следующая схема:

B38-11 WIFI

Все компоненты 0402 типоразмера (пометка DNIDo Not Install). Антенна — AN3216 от RainSun Corporation. Входной импеданс 50 Ом (требуется согласовать), максимальная мощность 1 Вт (подходит более чем, т. к. в устройстве главное не дальность или чувствительность, а максимальное время работы от АКБ) и конечно же малые размеры.

Для расчета волнового сопротивления проводников на плате нам потребуется:

  • Saturn PCB Design Toolkit — прекрасный софт, имеющий большое количество калькуляторов;
  • Elecrow 4 layer PCB stock — документ от производителя (или для него, в случае необходимости изготовления специфичной платы), в котором послойно указаны толщины диэлектриков и проводящих слоёв.

Смотрим на спецификацию от производителя плат, в моём случае плата будет толщиной 1 мм и параметры её слоёв будут следующими:

B38-27.PNG

Запускаем Saturn PCB Design Toolkit и выбираем Conductor Impedance, вносим Conductor Height = 0,195 (не 0,5 и тем более не 1! т.к. у нас дорожка на верхнем слое и следующий за ней экранирующий слой — это заливка общего во внутреннем слое) и рабочую частоту = 2400 МГц (Wi-Fi):

B38-12

С шагом 0,05 мм я подобрал параметр Conductor Width (0,3 мм), чтобы волновое сопротивление дорожки  (параметр Zo) было около 50 Ом. Сильно стараться подбирать ровно 50 Ом не требуется, даже +\- 2 Ом не шибко повлияют на итоговую работу такого маломощного устройства. В итоге дорожка, которая идёт к антенне, должна быть шириной 0,3 мм для конкретно этого случая.

Разводка не имеет каких-либо жестких правил, главное, не делать прямых углов дорожкой и разводить скругёным типом (выделена на скриншоте):

B38-13 WIFI-PCB

Пространство около дорожки нужно экранировать заливками общего и по краю максимально снизить импеданс заливки переходными отверстиями до внутренней заливки общего. Так же на скриншоте выше есть 4 нюанса:

  1. Узкое место, где нет возможности между питающей дорожкой и дорожкой RF разместить заливку — так делать только в крайнем случае и если примыкающая дорожка к RF именно питающая, а не IO.
  2. Недалеко от RF части выводы тактового кварцевого резонатора, в этом случае со стороны RF (или любого другого скоростного цифрового интерфейса) кварцевый резонатор необходимо взять в петлю заливки (или дорожкой толстой) общего провода, дополнительно экранируя цепи XI, XO кварца. Если такое не делать, то можно получить неожиданные и непредсказуемые сбои или сброс SoC во время работы.
  3. Заливка под антенной в Top слое — так нельзя делать… во внутренних слоях я убрал по контуру Bottom слоя, а в последний момент, когда добавил дополнительную заливку общим на Top слой, совсем забыл сделать вырез под Wi-Fi антенну. Это плохо влияет на эффективность работы антенны и общую дальность работы (наглядный пример, так сказать, когда спешишь).
  4. Опять про заливки и свободное место от проводников около антенны — это есть в даташите на выбранную вами антенну и для максимальной эффективности это необходимо соблюдать, в моём случае я просто освободил максимально, сколько можно вокруг антенны свободного места.

Следующий беспроводной интерфейс на рассмотрение — NFC. Тут проще. Для общего понимания можно поглядеть документ AN2972 от STMicroelectronics, так же пригодится инструмент от них же — eDesignSuite (работает на Adobe Flash Player!) в разделе RF Design есть расчёт NFC антенны:

B38-15

Я ввёл параметры своей печатной платы, количество витков, параметры дорожки и зазоров, что я могу уместить на ней:

  • Turns — 4
  • Antenna Length — 40 мм
  • Antenna Width — 30 мм
  • N of Layer — 1
  • Width — 0,2 мм
  • Spacing — 0,3 мм
  • Thickness (conductor) — 35 мкм
  • Thickness (pcb) — 1 мм

И получил итоговую индуктивность для частоты работы NFC 13,56 МГц — 1,56 мкГн. Это понадобится для расчёта LC колебательного контура для рабочей частоты 13,56 МГц, точнее для расчёта ёмкости конденсатора, остальное мы то уже знаем. Формула для нахождения ёмкости колебательного контура LC:

C = 1/(4𲃲L)

Можно посчитать самостоятельно или воспользоваться любым онлайн-калькулятором, к примеру, вот тут есть и подробное описание и калькуляторы внизу. Для частоты 13, 56 МГц и индуктивности 1,58 мкГн ёмкость конденсатора получается ~ 87,19 пф. Я поступил просто — предусмотрел 2 посадочных места под конденсатор и набрал близкую к необходимой ёмкости из имеющихся в наличии — 47 + 33 пф.

B38-14 NFC

На плате выводы NFC не очень удачно расположились, но это не особо критично, просто выводим их к катушке-антенне в виде дифференциальной пары и около переходных к катушке ставим конденсаторы LC контура:

B38-16 NFC-PCB

Сама же катушка-антенна должна находится по контуру платы (её размеры и вводили выше для расчета индуктивности) и под ней НЕ должно быть никаких заливок и в идеале вообще проводящих проводников. Вид с Top слоя:

B38-17 NFC-ANT

Осталось по большей части всё, что связанно с питанием. Подключение АЦП к АКБ через простейший фильтр-делитель для показометра примерного оставшегося заряда АКБ:

B38-18 ADC

Зарядный контроллер MCP73831T-2ACI/OT для Li-Ion \ Li-Po АКБ крайне прост в применении и дёшев:

B38-19 CHR

Заливка VBAT шины питания:

B38-20 VBAT

Для зарядки установлен MicroUSB разъём:

B38-21 USB_CONN

Заливка VCC5P0 шины питания:

B38-22 5P0

Раз уж есть USB, то можно в отладочных целях поставить USB-UART на основе CP2102-GM преобразователь для отладочных целей, подключив к UART_LOG:

B38-23 USB

Питание же собрано на основе Buck-Boost преобразователя TPS63000DRCR, который специализирован для такого применения и стоит недорого:

B38-24 PWR

Ну и из оставшегося, это набор контрольных точек:

B38-25 KT

И дополнительная периферия на основе MPU6050, подключение которой стандартно и практически копия из даташита:

B38-26 MPU6050

На этом всё. Постарался осветить вкратце все основные моменты по схемотехнике и разводке печатной платы с применением SoC RTL8711AM на основе прошлого опыта или даже своих же ошибок в проектировке этой платы.

B38-28

Спасибо, что прочитали! Удачного прототипирования. ;)

 

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s