Модуль SIM8905

Высокоскоростные LTE-решения SIMCom Wireless Solutions

№ 1’2020
PDF версия
Стандарт LTE уже давно стал регламентом как для коммерческих, так и для индустриальных устройств. Деградация покрытия 3G сетей, прекращение производства 3G-чипсетов, а также общая тенденция использования сетей четвертого поколения делают LTE-решения единственным вариантом для применений, где необходимо обеспечить широкополосную передачу данных. В статье рассмотрены актуальные промышленные решения SIMCom Wireless Solutions, предназначенные для обеспечения максимально возможных скоростей передачи данных, а также приведен обзор технологии Open Linux, позволяющей использовать модуль для выполнения пользовательских приложений.

Модули LTE Cat.4

Четвертая категория LTE подразумевает работу на скоростях до 150/50 Мбит/c (скачивание/выгрузка) без агрегации частот.

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

Модули третьей категории (LTE Cat.3, 100/50 Мбит/c) потеряли актуальность, проигрывая как по скорости, так и по стоимости устройствам LTE Cat.4, на которые сейчас и приходится основной объем производства.

Текущая линейка модулей четвертой категории SIMCom Wireless Solutions представлена в таблице 1.

Таблица 1. LTE Cat.4-модули SIMCom Wireless Solutions

Характеристика

SIM7600E-H1C

SIM7600E-H

SIM7600E-H1C-PCIE

SIM7600E-H-PCIE

SIM7500E-H

 

SIM7600E-H1C

SIM7600E-H

SIM7600E-H1C-PCIE

SIM7600E-H-PCIE

SIM7500E-H

Корпус

LCC 30×30 мм

mPCIe 50,8×31×5,35 мм

LGA 24×27 мм

Работа в сетях GSM

900/1800 МГц

Работа в сетях WCDMA/HSPA

850/900/2100 МГц

Работа в сетях FDD-LTE

B1, B3, B5, B7, B8, B20

Работа в сетях TDD-LTE

B38, B40, B41

Макс. скорость загрузки/выгрузки

150 / 100 Мбит/с

Аудиоинтерфейс

PCM

Встроенный навигационный приемник

GPS/GLONASS

Интерфейсы управления

UART (до 4 Мбит/с), USB

Рабочий диапазон температур

–40…+85 °C

Поддержка пользовательских приложений (Open Linux)

+

Поддержка AUX-антенны

+

+

+

Возможность подключения внешнего Wi-Fi-модуля

+

+

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

SIM7500E-H — самое компактное решение за счет применения LGA-контактов, что позволяет вписать данный модуль даже в самые миниатюрные устройства.

Модули SIM7600E-H и SIM7600E-H1C выполнены в традиционном для SIMCom форм-факторе 30×30 с торцевыми контактами, упрощающими монтаж. Это обеспечивает преемственность с модулями SIM5320E, SIM5360E и SIM7100E и позволяет перейти на новые решения без существенных затрат.

Ключевое отличие между этими двумя решениями состоит в поддержке AUX-антенны у SIM7600E-H. Она предназначена для борьбы с эффектами замирания сигнала от базовой станции, обусловленными многолучевостью распространения. Следует отметить, что для устранения данного эффекта необходимо обеспечить пространственное разнесение антенн и/или их поляризационное разнесение (в этом случае антенны располагаются в разных плоскостях).

Учитывая, что антенна работает только на прием (влияет лишь на скорость скачивания), а также то, что при хороших условиях разница в приеме между модулями почти нивелируется, для ряда применений вполне оправдано использование модулей SIM7600E-H1C как менее дорогих.

Оба решения доступны и в форм-факторе mPCIe (-PCIE), который подойдет для опциональной установки модуля или для устройств, имеющих разъем под этот стандарт (роутеры, промышленные ПК).

Модуль SIM7600E-H также поддерживает возможность подключения внешнего Wi-Fi/Bluetooth-модуля W58 (рис. 1), который позволяет с помощью простых АТ-команд подключаться к Wi-Fi-сетям или выступать в качестве точки доступа, открывая прямой путь к сотовым данным. Подобная связка позволяет удешевить устройство и упростить работу хоста.

Wi-Fi/Bluetooth-модуль W58

Рис. 1. Wi-Fi/Bluetooth-модуль W58

Отдельный класс представляют собой так называемые SMART-модули. Это законченные решения, которые работают под управлением Android или Linux и содержат процессор, память и возможность подключения большого количества периферии. Фокусным модулем данного типа является SIM8905 (рис. 2).

Модуль SIM8905

Рис. 2. Модуль SIM8905

Внутри модуля четырехъядерный ARM Cortex-A7 1,1 ГГц, 8 Гбит LPDDR3, 8 Гбайт eMMC NAND-флэш. В качестве ОС используется Android или Linux. Мощностей модуля достаточно для декодирования видео до 1080p/30 fps. К модулю можно подключить дисплей (MIPI) и две камеры. Среди интерфейсов: SDIO, ADC, клавиатура, датчики, аналоговые аудиовыходы, UART, GPIO, USB, выходы LDO.

Модуль поддерживает все стандарты сотовой связи LTE Cat.4/3G/GSM, возможна работа с двумя сим-картами в режиме Dual Sim Dual Standby. Наряду с сотовой связью в модуле доступен двухчастотный (2,4/5 ГГц) Wi-Fi стандартов b/g/n, а также Bluetooth Classic и Low Energy.

В отличие от «классических» модулей сотовой связи, которые, по сути, выполняют одну задачу — передачу данных, SMART-модуль является центральным устройством в системе, и на его базе организована вся работа устройства. Типовое применение для таких модулей — носимые и стационарные устройства с дисплеем и передачей данных: POS-терминалы, вендинговое оборудование, устройства для передачи видео, различные терминалы.

 

LTE Advanced

Эволюция MIMO, а также агрегация частот в рамках одного модуля позволила увеличить скорости, как при передаче, так и при приеме, тем самым открыв дорогу быстродействующим решениям, объединенным под названием LTE Advanced.

Агрегация частот (чего не было в Cat.4) и поддержка MIMO до 8×8 позволяет достичь гигабитных скоростей в модулях самых высоких категорий.

Текущая линейка скоростных модулей SIMCom представлена в таблице 2.

Таблица 2. LTE Advanced-модули SIMCom Wireless Solutions

Характеристика

SIM7906E-PCIE

SIM7906E-M2

SIM7912G-M2

SIM7920G-M2

 

SIM7906E-PCIE

SIM7906E-M2

SIM7912G-M2

SIM7920G-M2

LTE

Cat.6

Cat.12

Cat.20

Форм-фактор

mPCIe

M.2

LTE (FDD)

B1/B3/B5/B7/B8/B20/B28/B32

B1/B2/B3/B4/B5/B7/B8/B12/B13/B17/B18/B19/B20/B21/B25/B26/B28/B29/B30/B32/B66

LTE (TDD)

B38/B40/B41

B38/B39/B40/B41

B38/B39/B40/B41/B42/B46(LAA)/B48(CBRS)

WCDMA

B1/B3/B5/B8

B1/B2/B3/B4/B5/B8

 

 

GPS/GLONASS

+

Максимальная скорость DL/UL

300/50 Мбит/c

600/75 Мбит/c

2000/150 Мбит/c

Максимальное количество полос для агрегации

2×CA

3×CA

7×CA

Аудиоинтерфейс

PCM

Интерфейс для обмена

USB 3.0/PCIE Gen.2

Рабочий диапазон температур

–30…+70 °С (работа также возможна в расширенном диапазоне –40…+85 °С)

Все приведенные решения совместимы между собой в рамках одинаковых форм-факторов. Программно и с точки зрения интеграции в систему все решения совместимы как между собой, так и с линейкой SIM7600x.

Почти все решения теперь доступны в форм-факторе M.2, который идет на смену mPCIe из-за компактных габаритов и унификации различных типов устройств. Другая важная особенность — наличие USB 3.0 и PCIE, двух высокоскоростных интерфейсов для передачи данных.

Модули SIM7912G и SIM7920G способны к тому же работать по всему миру, что позволяет выйти на рынки вне Европы с одним и тем же устройством.

Применение этих решений позволяет увеличить скорость скачивания в 2, 4 и в 14 раз по сравнению с модулями четвертой категории! Также следует отметить, что скорость выгрузки данных повышается не столь значительно и существенного увеличения по сравнению с четвертой категорией можно достичь, только применяя модуль SIM7912G и SIM7920G.

Все указанные модули будут идеальным выбором для стационарных и мобильных роутеров, а также CPE за счет высоких скоростей скачивания. В свою очередь, модули Cat.12 и Cat.20 могут применяться в системах передачи видео за счет увеличенной скорости выгрузки.

 

Open Linux

Описанные выше модули сотовой связи базируются на довольно мощных чипсетах, а потому в некоторых случаях их можно задействовать для выполнения пользовательских приложений. В зависимости от сложности реализуемой задачи модуль или становится центральным компонентом устройства, или берет часть функций на себя.

Это позволяет сделать технология Open Linux. Она предоставляет возможность выполнять пользовательские приложения внутренней ОС модуля. Процесс написания приложений, по сути, является разработкой под Linux для встраиваемых систем, и у тех, кто хорошо знаком с Embedded Linux, не должно возникнуть особых трудностей в освоении.

В качестве примера будет рассмотрен процесс работы с модулем SIM7600E-H. Так как средой разработки предоставляется довольно много возможностей, ниже мы коснемся лишь общих моментов, относящихся к процессу разработки.

Для начала потребуется пакет разработки, который можно запросить у официального дистрибьютора [2]. Он включает в себя SDK, специальное ПО для модуля, утилиты, документацию с описанием API и процесса разработки. В качестве компилятора можно использовать Sourcery CodeBench (для Windows) или один из дистрибутивов Linux, где процесс компиляции можно проводить встроенными средствами (именно этот способ и описан далее).

Структура модуля с точки зрения програм­мной части приведена на рис. 3.

Структура программной части модуля

Рис. 3. Структура программной части модуля

Модуль имеет три составляющие: бутлоадер (LK), ядро (kernel), файловая система (User Space), которая в свою очередь также разбивается на три части: используемая системой (только для чтения, sim_rootfs), раздел для хранения файлов и пользовательского приложения (sim_ursfs), а также кэш. Кэш предназначен для реализации обновлений по воздуху (FOTA) и динамически перезаписывается в случае нехватки места, поэтому помещать в него пользовательскую программу не рекомендуется.

Первым шагом является обновление модуля, для этого предоставляется утилита и специальное ПО. Отличительная черта данного ПО — наличие окончания “_OL” в названии, проверить версию можно командой ATI.

Для начала работы необходимо извлечь содержимое архива с SDK (содержимое показано на рис. 4).

Содержимое архива с SDK. sudo tar xzf simsdk.tar.gz

Рис. 4. Содержимое архива с SDK. sudo tar xzf simsdk.tar.gz

Назначение папок следующее:

  • helloworld — пустой пользовательский проект, можно использовать его как основу;
  • simcom-demo — демопроекты от SIMCom, в ней лежат готовые примеры для всех функций модуля;
  • sim_bootloader — бутлоадер;
  • sim_kernel — ядро;
  • sim_rootfs/ursfs — файловая система;
  • sim_crosscompile — инициализация переменных среды;
  • sim_ota — обновление по воздуху.

Перед компиляцией необходимо инициализировать переменные среды:

source sim_crosscompile/sim-crosscompile-env-init

Далее, вызвая make, можно собрать или проект полностью или каждую из его частей отдельно: make bootloader, make kernel и т. д.

В целом, для сложных приложений пользователю будет необходимо вносить изменения в ядро и память, чтобы добавить нужные библиотеки или поместить свое приложение. К примеру, пользовательское приложение можно интегрировать в файловую систему, и тогда оно будет включено в system. Все эти файлы затем нужно поместить в модуль для выполнения.

В общем случае на выходе мы получаем четыре файла в папке output: appsboot, boot, system и пользовательское приложение.

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

Для этого нужно перейти в папку simcom-demo и указать в makefile тот демопроект, который мы будем компилировать. Был использован simcom_test_main, так как он позволяет вызвать тест всех функций, на выбор пользователя.

Для компиляции пользовательского файла достаточно подать make demo, после чего файл появится в папке output.

Для заливки и отладки приложения используются две утилиты: adb и fastboot, которые идут вместе с SDK. Fastboot предназначена для заливки образов ядра, системы, бутлоадера. Работа с ней описана в соответствующей документации, на ней мы внимание заострять не будем. ADB предназначена для записи отдельных пользовательских файлов, а также отладки программы; она и понадобится для следующего этапа.

Модуль требуется включить, подать команду для отображения ADB-интерфейса, перезагрузить и подключить по USB. Все утройства из комбинации должны определиться.

Далее происходит работа с adb:

>adb devices
…
0123456789ABCDEF device //устройство подключено
>adb push helloworld /data/helloworld //помещаем приложение в ФС
919 KB/s (838900 bytes in 0.890s)

Процесс работы и отладки аналогичен работе с Linux, вызывается Linux-консоль (shell), в которой запускается приложение. Этот же механизм может использоваться и для отладки — приложение может выдавать туда отладочную информацию (printf):

>adb shell //вызываем консоль
/ # cd data //переходим в каталог с программой
cd data
/data # chmod a+x helloworld //задаем разрешения
chmod a+x helloworld
/data #./helloworld //выполняем
./helloworld

Результат выполнения программы приведен на рис. 5.

Результат выполнения программы

Рис. 5. Результат выполнения программы

Данный пример был выбран, чтобы проиллюстрировать наличие вариантов работы со всеми стеками и интерфейсами модуля.

В целом, для пользователей доступны:

  • UART, SPI, I2C, USB (+OTG), ADC, GPIO, SDIO, PCM.
  • Все возможности модуля: звонки, СМС, передача данных. Также доступны и встроенные в модуль стеки TCP/UDP, FTP, MQTT и т. д., шифрование для них.
  • Почти для всех функций есть API, также возможна работа и путем обработки АТ-команд внутри приложения.
  • Wi-Fi и Bluetooth 4.2 доступны при использовании вместе с сабмодулем W58. Работа возможна как в качестве точки доступа, так и клиента. Bluetooth — Classic и Low Energy.
  • Ethernet: по интерфейсу HSIC и/или SGMII (спецверсия модуля).
  • Возможная трансляция данных между Ethernet/Wi-Fi/сотовой сетью.
  • Работа с навигацией (GNSS).
  • Обновление прошивки и пользовательского приложения по воздуху (FOTA).

Как уже было отмечено, это лишь поверхностное описание всех возможностей Open Linux. Более подробную информацию о возможностях и применении конкретных функций можно уточнить у официального дистрибьютора [2]. В целом, для ряда применений (например, модемов и роутеров) данная технология позволяет сделать модуль центральным компонентом системы, исключив управляющий процессор. Для более сложных систем она сможет разгрузить центральное устройство, взяв часть функций на себя, что позволит упростить систему и снизить общую стоимость устройства.

Литература
  1. simcom.com.
  2. mt-system.ru.

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

Ваш адрес email не будет опубликован.