[Разработка под Linux, Программирование микроконтроллеров, Схемотехника, Производство и разработка электроники] WSN-LTE шлюз на CC1310 и WP8548. Часть 1

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
04-Янв-2021 03:32

Приветствую, Habr! В данной статье рассмотрен процесс разработки Wireless Sensor Network (WSN) шлюза для передачи данных от беспроводных датчиков на сервер через мобильную связь. В качестве начинки будем использовать Sub-1GHz SoC CC1310 и программируемый модуль WP8548 от Sierra Wireless. AirPrime WP8548 - это промышленный модуль LGA-239. Его беспроводной модем обеспечивает передачу данных в сетях HSPA, WCDMA, EDGE и GPRS, а также прием GPS сигнала.Мотивация. Зачем это всё?Конечно, данную задачу можно было бы решить путем применения микроконтроллера CC1310 в связке с 3G модемом от SIMCOM или Quectel, но: модуль WP8548 лежит у меня в столе уже несколько лет. Рациональное применение данному модулю из-за его стоимости ($60, DigiKey) я так и не нашел, но зуд попробовать его на деле до сих пор мучает меня. Предупреждаю сразу:
  • Решение дороже аналогичных с Aliexpress
  • Я не решаю конкретную задачу, а пытаюсь оценить возможности данного модуля
Шаг 1. Блок-схема питанияСамый скучный этап проектирования схемы будущего устройства. Но отложим все свои вздохи и посмотрим параметры питания основных компонентов схемы. Открываем страницу 26 документации и видим, что диапазон напряжения питания WP8548 от 3.4 до 4.3 вольт (напрашивается питание от литиевого аккумулятора). CC1310 работает при напряжении питания от 1.8 до 3.8 вольт. Давайте предъявим к будущему устройству общие требования:
  • Работа от литиевого аккумулятора + его зарядка
  • Повышающий преобразователь на 5В для питания внешних устройств от литиевго аккумулятора.
  • Возможность отключения питания части схемы при переходе в спящий режим
  • Размер печатной платы не больше кредитной карты, конечно
Для начала прикинем, что у нас в целом будет на плате. WP8548 имеет возможнсть работы с MicroSD картой, которая требует 2,95В для своего питания. Логический уровень GPIO у модуля 1.8В, что не очень удобно для домашних поделок. Будем использовать микросхемы согласования уровня, которые требуют для своего питания напряжения 1.8В и 3.3В. Кроме того модуль имеет HSIC интерфейс. К нему будем подключать микросхему USB3503 (имеет внутренние LDO) для обеспечения работы с внешними USB устройствами. Для зарядки используем микросхему BQ24292. С ней мы получаем возможность использовать источник напряжения до 17В на случай, если захотим подключить наш шлюз к солнечной батарее с 12В АКБ. Ток заряда до 4А, что теоретически позволит нам заправлять параллельно два аккумулятора из PowerBank'ов на 20А. В качестве повышающего преобразователя мне понравилась микросхема TPS63802. Для запуска нужно всего 6 компонентов, а с учетом корпуса микросхемы и частоты преобразования в 2МГц мы получим минимальный по площади (и пригодный для ручной пайки) buck-boost конвертер. Микроконтроллер CC1310 будет выступать в качестве программируемого PMIC, то есть напряжение 3.3В на него будет подаваться всегда. Все остальные напряжения делаем отключаемыми.Итого нам надо:
  • 1.8В для микросхемы согласования (отключаемое)
  • 3.3В для микросхемы согласования (отключаемое)
  • 2.95В для MicroSD (отключаемое)
  • 3.3В для CC1310 (всегда включено)
Будем использовать программируемую (ADJ) микросхему линейного регулятора TPS79301 для всех четырех напряжений, чтобы не увеличивать количество позиций в перечне элементов. Суммарно имеем следующее:
Шаг 2. Схема электрическая. ПринципиальнаяПроцесс проектирования схемы расписывать я не буду, а лишь оставлю некоторые части схемы с комментариями. В конце статьи будет ссылка на полную схему. Схема заряда
Зарядка осуществляется от внешнего адаптера питания напряжением до 17В. При подключении питания по USB (высокий уровень на PSEL от +VBUS), микросхема BQ24292 будет ограничивать ток заряда так, чтобы не перегрузить USB порт ПК. Часть схемы согласования уровней
Предполагается отключение U5 и U10 при переходе в спящий режим. Для включения WP8548 необходимо кратковременно подать логический 0 на вывод PWR_ON, который имеет внутренний pull-up резистор. По сути, VT1 и VT2 включены по схеме с открытым коллектором для запуска и сброса модуля. Open-drain в CC1310 не используется для этих целей с точки зрения защиты от случайной перегрузки по напряжению. Питание MicroSD, питание CC1310, USB
USB необходимо для настройки и прошивки WP8548, дополнительно обеспечиваем для него ESD защиту. Шаг 3: Трассировка и пайка платыИ вот мы добираемся до трассировки платы. По классике жанра, берем кредитку и с линейкой переносим ее контур на слой keep-out. Затем импортируем схему и приступаем к разводке.
Верхний слой. Как видно, корпус модуля довольно неприятный для пайки феном. К счастью, у меня есть домашняя печка для групповой пайки SMD компонентов. Что посоветовать тому, кто собрался паять данный модуль без печки - увы, не знаю.
А вот и сам модуль с сокетом. Паять мы будем сокет.
3D модель платы. Что касается пайки. Я не заказывал трафарет для паяльной пасты, дабы сэкономить на его стоимости. Поэтому аккуратно наносим припой паяльником, наносим флюс, расставляем компоненты и отправляем плату в печку.Когда я собираю первую версию платы, то не паяю все компоненты сразу, а начинаю пайку с узлов питания. Например, паяю понижающий DC-DC преобразователь c 12В до 5В. Запускаю и с осциллографом проверяю, что всё работает корректно. Затем продолжаю пайку и собираю понижающий преобразователь с 5В до 2.8В и снова проверяю плату. И так далее, пока не будут собраны и проверены все цепи питания. Если пайка осуществляется на заводе, то на схеме между источниками и потребителями достаточно заложить перемычки.Делается это для безопасного запуска первой версии устройства и устранения повышенного/пониженного напряжения на цифровых микросхемах в случае неисправности. Возможно, такой подход к отладке спорный, но рабочий.
Отмывочной ванны у меня нет. Всё что смог оттереть щеткой со спиртом - оттёр :) Видим, что горит красный светодиод справа - модуль поймал сеть, синий светодиод слева - идет зарядка аккумулятора. Отлично, подключаем плату к ПК и видим три виртуальных COM-порта.
Кроме того в системе появляется сетевой интерфейс. Пробуем пинговать модуль по адресу 192.168.2.2
Здорово, пробуем подключиться по SSH к модулю. Пользователь root, пароль не требуется.
Видим, что модуль определил SIM-карту на втором слоте, сигнал сети сильный. Отлично, первый шаг к реализации шлюза сделан. В следующий раз будем писать прошивку для CC1310 и начнем собирать данные от беспроводных устройств.Ссылка на схему устройства тут.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_razrabotka_pod_linux (Разработка под Linux), #_programmirovanie_mikrokontrollerov (Программирование микроконтроллеров), #_shemotehnika (Схемотехника), #_proizvodstvo_i_razrabotka_elektroniki (Производство и разработка электроники), #_wp8548, #_shemotehnika (схемотехника), #_iot, #_cc1310, #_wireless, #_razrabotka_pod_linux (
Разработка под Linux
)
, #_programmirovanie_mikrokontrollerov (
Программирование микроконтроллеров
)
, #_shemotehnika (
Схемотехника
)
, #_proizvodstvo_i_razrabotka_elektroniki (
Производство и разработка электроники
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 15-Май 23:40
Часовой пояс: UTC + 5