[Разработка под Linux, Программирование микроконтроллеров, Схемотехника, Производство и разработка электроники] WSN-LTE шлюз на CC1310 и WP8548. Часть 1
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Приветствую, 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
===========
Похожие новости:
- [Законодательство в IT, Производство и разработка электроники, IT-компании] Apple обвинили в работе с поставщиком, который использовал детский труд
- [Промышленное программирование, Программирование микроконтроллеров] OPC UA для CPU S7-1200 (FW4.4). Настройка сервера
- [Производство и разработка электроники, Гаджеты, Компьютерное железо, Электроника для начинающих] Hackboard 2: одноплатник для разработчиков с x86-процессором за $99
- [Информационная безопасность, Системное программирование, Разработка под Linux] Карантин для динамической памяти ядра Linux
- [IT-инфраструктура, Сетевые технологии, Разработка систем связи, Разработка под Linux] Безопасные города без зоопарка
- [Сетевые технологии, Беспроводные технологии, Сетевое оборудование] Конвергенция Wi-Fi и IoT для современных кампусных сетей
- [Хранилища данных, Производство и разработка электроники, Научно-популярное, Накопители, Электроника для начинающих] Вспомнить всё. Разбираемся в полупроводниковой памяти
- [Программирование микроконтроллеров, Электроника для начинающих] STM32 абстрагируемся от регистров CMSIS при настройке GPIO
- [Программирование, C, Программирование микроконтроллеров] К вопросу о сложении или как я нашел ошибку в gcc (на самом деле нет)
- [Настройка Linux, Разработка под Linux, Игры и игровые приставки] Linux портируют на Nintendo 64
Теги для поиска: #_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 (
Производство и разработка электроники
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:08
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Приветствую, 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) я так и не нашел, но зуд попробовать его на деле до сих пор мучает меня. Предупреждаю сразу:
Шаг 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 =========== Похожие новости:
Разработка под Linux ), #_programmirovanie_mikrokontrollerov ( Программирование микроконтроллеров ), #_shemotehnika ( Схемотехника ), #_proizvodstvo_i_razrabotka_elektroniki ( Производство и разработка электроники ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:08
Часовой пояс: UTC + 5