Новые функции ПО модулей EHS5 и EHS6 Rel 03.001

Рассмотрим программные изменения модулей EHS5/6.

Команда AT^SCFG — Configure undervoltage threshold — новая в Rel 03, предназначенная для установки порогов бросков напряжения питания при пакетной передаче. Формат команды:

AT^SCFG= "MEShutdown/sVsup/threshold", <vthresh>, <PowerSupplyDomain>.

Параметр <vthresh> определяет следующие границы напряжения питания:

  • “–4“ — 3,10 В;
  • “–3“ — 3,15 В;
  • “–2“ — 3,20 В;
  • “–1“ — 3,25 В;
  • “0“ — 3,30 В;
  • “1“ — 3,35 В;
  • “2“ — 3,40 В;
  • “3“ — 3,45 В;
  • “4“ — 3,50 В.

Допустимый диапазон входных напряжений разбит на восемь областей с шагом 5 мВ. Полная ширина диапазона составляет 400 мВ. В зависимости от конкретной задачи, ширина допустимого диапазона может быть уменьшена (минимальное значение 10 мВ). Новые параметры вступают в силу после перезагрузки модуля.

Параметр <PowerSupplyDomain> используется только для модулей Rel 2.28, 03. Значение «0» указывает на то, что контролируется напряжение питания на линии BATT+BB.

Команда AT^SCFG — также новая в Rel 03. Она использующаяся для управления 2G аудиокодеком во время голосового вызова в соответствии со стандартом 3GPP TS 24.008.

Формат команды:

AT^SCFG="Call/Speech/Codec", <scc>.

Параметр <scc> определяет конфигурацию голосового кодека (Speech Codec Configuration) и принимает следующие значения: «0» — во время голосового вызова доступны все поддерживаемые модулем аудиокодеки; «1» — голосовые кодеки GSM HR, GSM HR AMR, GSM AMR отключены во время голосового звонка.

Параметр вступает в силу после полной перезагрузки модуля с отключением и повторным включением питания.

Еще одна новая подкоманда — AT^SIND: "lsta". Она предназначена для расширенного контроля уровня радиосигнала в сетях UMTS и GSM и позволяет также определять наличие подавляющего сигнала (Jamming Detection).

Подробно ^SIND рассмотрена в первой части этой статьи [18]. Формат команды:

AT^SIND: "lsta", <mode>, <lstaLevel>.

Параметр <mode>: «0» — все индикаторы событий отключе-

ны; «2» — формируется запрос статуса регистра-

ции; «1» — все индикаторы событий включены,

их параметры задаются командой +CMER. Команда AT+CMER определяет структуру

URC-сообщений. Параметр <lstaLevel> принимает значе-

ния от 0 до 11, задаваемые пользователем в качестве характеристики индикатора ошибок радиосвязи, в соответствии с которыми модуль генерирует соответствующее URS. Коды URC запрашиваются командой AT+CIEV. Значение параметра <lstaLevel>, равное «11», определяет первый уровень ошибки, фиксируемой модулем при приеме радиосигнала. Значение «0» соответствует предпоследнему уровню радиосигнала, который был получен модулем до момента потери связи. Таким образом, резкие скачки качества связи позволяют обнаружить подавляющий сигнал.

В команде AT^SISW в Rel 03 добавлены новые опции контроля переданной информации. Эта сложная комплексная команда контролирует процесс загрузки (отправки) данных через Интернет и запрашивает количество данных, которые были переданы, но не получили подтверждения на уровне TCP.

Формат команды:

AT^SISW= <srvProfileId>, <reqWriteLength>, <eodFlag>, [ <Udp_RemClient>, <cnfWriteLength>, <unackData>, <urcCauseId>].

Параметр <srvProfileId> определяет тип и объем услуг интернет-сервиса и устанавливается пользователем в диапазоне от 0 до 9. Конкретный вид сервиса выбирается в дополнительных настройках с помощью команд ^SISO, ^SISR, ^SIST, ^SISH, ^SISC.

Параметр <reqWriteLength> определяет количество байтов, которые могут быть переданы (1–1500 байт). При значении параметра, равном нулю, количество переданных байтов не ограничивается. В этом случае в конце загрузки выполняется запрос на количество неподтвержденных байтов. Если используется UDP-протокол, то значение параметра «0» можно применять для того, чтобы послать пустой UDP-пакет.

Параметр <eodFlag> — это индикатор окончания передачи данных. Значение «0» соответствует тому, что окончание загрузки не фиксируется, и следующая загрузка может быть сразу продолжена. Значение «1» означает, что интернет-сервис получит сигнал на окончание загрузки. Значение <eodFlag> = 1 нужно обязательно использовать в следующих случаях: FTP "cmd","put" (отправка одного файла

на FTP-сервер); SMTP "cmd","at" (отправка прикрепленного

файла через интерфейс АТ-команд); HTTP "cmd","post" if "hcContLen" is not equal zero

(отправка больших объемов информации). Параметр <Udp_RemClient> применяется для

случаев, когда используется передача по протоколу. Этот параметр определяет IP-адрес и порт удаленного хоста.

Параметр <cnfWriteLength> подтверждает количество байтов (от 1 до 1500), которые могут быть переданы через конкретный интернет-сервис, определенный параметром <srvProfileId>. Значение этого параметра может не совпадать с <reqWriteLength>.

Параметр <unackData> определяет количество байтов, которые уже были переданы, но пока не получили подтверждения по протоколу TCP. Он включает в себя данные об объеме предстоящей передачи, определенные в <cnfWrite длина>. Поэтому самая первая операция записи загрузки возвращает одинаковые значения для <cnfWriteLength> и <unackData>. Такой механизм позволяет хост-приложению проверить, насколько успешно были переданы данные. Этот параметр нужно выставлять равным нулю в случаях, когда используется протокол UDP.

Параметр <urcCauseId> может принимать два значения: «1» соответствует тому, что интернет-сервис готов принимать новые данные от пользователя, а «2» говорит о том, что передача данных успешно завершена, и сессия может быть закрыта без потери данных. Следует обратить внимание на то, что правильная работа команды AT^SISW может быть реализована в модулях EHS5/6 через интерфейс АТ-команд только совместно с последнейверсией WTK (Wireless Toolkit). Также нужно учитывать, что в случае потери связи в процессе передачи данных, время, необходимое для завершения HTTP POST, не должно превышать 60 с. Подробно эта сложная команда описана в [21]. Команда AT^SISS имеет в Rel 03 дополнительные новые параметры для описания TCP-соединения. Формат команды:

AT^SISS= <srvProfileId>, <srvParmTag>, <srvParmValue>.

Параметр <srvProfileId> имеет такие же значения, как и в рассмотренной выше команде ^SISW. Параметр <srvParmValue> устанавливаеттип и контент в зависимости от установок, заданных параметром <srvParmTag>, который детально описывает такие свойства интернетсервиса, как, например, профиль подключения к Интернету, ID пользователя и пароль для соединения с серверами FTP, HTTP, SMTP и т. д.

Среди новых значений параметра <srvParmTag>в Rel 3 введены две новые характеристики.

  • keepcnt — параметр TCP-соединения TCP_ KEEPCNT игнорируется, если опция keepidle не устанавливается в интервале 1–127с (RFC1122);
  • keepintvl — параметр TCP-соединения KEEPINTVL игнорируется, если опцияkeepidle не устанавливается в интервале1–255 с (RFC1122). В команде AT^SSCNT в Rel 3 изменен режим добавления счета. В том случае, когда AT^SSCNT=1, счетчик сразу после чтения не увеличиваетзначение до тех пор, пока не закончится процесс формирования следующего импульса. Эта команда предназначена для чтения, запуска, перезапуска и остановки счетчика импульсов.

Формат команды: AT^SSCNT= <action>. Параметр <action> может принимать следующие значения:

  • «0» означает перезапуск счетчика и новый старт с нуля;
  • «1» перезапускает счетчик и продолжаетотсчет от последнего зарегистрированного события;
  • «2» — чтение текущего значения импульса<pulse>. Ёмкость счётчика импульсов составляет 32 бита.

В команде AT^SFSA в Rel 3 устранены наблюдавшиеся ранее сбои режимов Close и Remove. Команда ^SFSA обеспечивает доступ к системе файловой памяти (Flash File System) и поддерживает такие функции, как, например, чтение общей информации о состоянии памяти и файлов; созданиеи удаление файлов и каталогов; переименованиекопирование и изменение контента файлов; чтение и запись произвольного количества данных(максимальный объем не должен превышать1500 байт на один вызов).

В соответствии с отмеченными функциями команда ^SFSA переводит модуль в один из перечисленных ниже режимов:

  • ^SFSA: "open";
  • ^SFSA: "read";
  • ^SFSA: "close";
  • ^SFSA: "remove";
  • ^SFSA: "rename";
  • ^SFSA: "rmdir";
  • ^SFSA: "seek";
  • ^SFSA: "stat";
  • ^SFSA: "write".

Команда AT^SFSA="close", <f h> предназначена для того, чтобы закрыть предварительно успешно открытый файл. Параметр <f h> соответствует тому, что дескриптор файла возвращается системой в открытый доступ с последующей возможностью чтения, записи и коррекции. Количество открытых файлов ограничено до 23-х.

Команда AT^SFSA="remove", <path> удаляет файл. Параметр <path> указывает путь к директории и файлу, который нужно удалить.

Команда AT^SAFH при воспроизведении записи voiceprompt больше не отключает активный голосовой звонок, как это наблюдалось в предыдущих версиях EHS5. Эта команда была подробно рассмотрена в первой части статьи.

Команда AT+CUSD отрабатывается в новых модулях значительно быстрее. Эта команда, позволяющая управлять функцией Unstructured Supplementary Service Data (USSD), разработана в соответствии с требованиями 3GPP TS 22.090. Функции этой команды могут выполняться как АТ-командами, передаваемыми через последовательный порт модуля, так и через мидлеты, записанные в USIM [39].

В новой версии модулей EHS5/6 USSD требуется не больше трех секунд для реализации сервиса USSD. При этом время отработки не зависит от того, выполняется последовательность команд с использованием AT+CUSD=1,"*120# или с использованием SEND_USSD proactive command в режиме SIM Application Toolkit (SAT) с поддержкой Explicit Response (ER) и SAT Automatic Response mode (AR).

Команда +CUSD не является новой. Это стандартная, хорошо известная команда, описанная многократно, в том числе и в русскоязычных изданиях. Структура и её функции остались без изменения по сравнению с предыдущей версией (Rel 2), поэтому не рассматривается в данной статье. Обновление предыдущих версий ПО до последний версии Rel 03.001 производится бесплатно. Исполнительный файл можно загрузить по запросу с сайта дистрибьютора. Следует подчеркнуть, что обновление прошивки до версии Rel. 03.001 больше не стирает пользовательские настройки, такие, например, как AT^SCFG: "Serial/Interface/Allocation" и SMS "ME" memory. Кроме того, обновление до новой версии не изменяет настроек, заданных командой AT+CSCS для UCS2.

© ЕвроМобайл, журнал «Беспроводные технологии», №3, 2015
©Денис Можайков
Виктор Алексеев, к. ф.-м. н.