Июн 102013
 

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

L50_top

Ниже будет дано описание характеристик модуля, устройства и схемы подключения.


О компании.

Компания Quectel была основана совсем недавно — в мае 2009 года, но за такое короткое время сумела стать одним из ведущих производителей с множеством дистрибьюторов по всему миру. Пока генеральная линия компании – производство GPS и GSM модулей, но в планах расширение линейки продуктов и в других областях беспроводных технологий. Штаб-квартира находится в Шанхае. Основатель компании Patrick Qian имеет степень магистра в области электроники и технологий связи Шанхайского Университета, работал на руководящих должностях в таких известных компаниях как UTStarcom, Motorola, Alcatel, ZTE, заместителем генерального директора компании Simcom.

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

Характеристики модуля Quectel L50.

Модуль GPS основан на чипсете семейства SIRFstar IV, разработанном компанией Cambridge Silicon Radio. Данный модуль может работать только с навигационной системой GPS. Краткие характеристики модуля Quectel L50:

  • 48 спутниковых каналов
  • Продолжительность «холодного старта» < 33 сек
  • Продолжительность «горячего старта» < 1 сек
  • Чувствительность в режиме поиска -148 dBm
  • Чувствительность в режиме навигации -160 dBm
  • Интерфейс UART 1200 — 115200 бит/сек (4800 по дефолту)
  • Интерфейс I2C (master/slave) до 400 кбит/сек
  • Напряжение питания 1.71 – 1.89V
  • Ток потребления 48mA (поиск) и 38mA (навигация)
  • Режимы энергосбережения
  • Диапазон рабочих температур от -40 до +85 градусов Цельсия

Более подробно с характеристиками данного модуля можно ознакомиться в документации производителя, которую можно загрузить по ссылкам в конце статьи. Блок-схема модуля приведена на рисунке:

Блок-схема

Следующий рисунок отображает расположение выводов модуля. Это вид с нижней стороны модуля (Bottom)!

Выводы

Назначение выводов:

Выводы питания:

  • VCC — напряжение питания модуля. V=1.71-1.89V, Vnom=1.8V. Источник питания должен обеспечивать ток не менее 100mA.
  • VIO/RTC — напряжение питания RTC и портов ввода/вывода модуля. V=1.71-1.89V, Vnom=1.8V
  • GND – общий вывод

Входы/выходы общего назначения:

  • RESET — Внешний сброс, активный уровень – низкий. На вход можно подавать напряжение до 3.6V. В рабочем режиме должен быть подтянут через резистор к «+» напряжения питания.
  • EINT0 — Вход внешнего прерывания. На вход можно подавать напряжение до 3.6V. Должен быть подключен напрямую к GND.
  • ON_OFF — Управление режимом работы, перевод в режим энергосбережения. На вход можно подавать напряжение до 3.6V. Импульс низкого уровня длительностью не менее 1mS переключает модуль между режимами работы и энергосбережения («спящим» режимом)
  • 1PPS — 1 импульс/сек. Выдает импульсы раз в секунду для установки времени

Последовательные интерфейсы:

  • DR_I2C_DIO — Интерфейс I2C для связи с внешней EEPROM. На вывод можно подавать напряжение до 3.6V. Если не используется, можно оставить свободным
  • DR_I2C_CLK — Интерфейс I2C для связи с внешней EEPROM. На вывод можно подавать напряжение до 3.6V. Если не используется, можно оставить свободным
  • CFG0/SCK — Вывод конфигурации 0. На вывод можно подавать напряжение до 3.6V. При использовании интерфейса UART этот вывод должен быть подключен к «+» питания через резистор 10 кОм
  • CFG1/SCS — Вывод конфигурации 1. На вывод можно подавать напряжение до 3.6V. При использовании интерфейса I2C этот вывод должен быть подключен к GND через резистор 10 кОм
  • RXD/MOSI/SDA — Основной интерфейс, по которому выдаются все данные и принимаются управляющие команды. RXD UART или SDA I2C в зависимости от подключения выводов конфигурации CFG0 и CFG1 (SPI в данном модуле не поддерживается). На вывод можно подавать напряжение до 3.6V
  • TXD/MISO/SCL — Основной интерфейс, по которому выдаются все данные и принимаются управляющие команды. TXD UART или SCL I2C в зависимости от подключения выводов конфигурации CFG0 и CFG1 (SPI в данном модуле не поддерживается). На вывод можно подавать напряжение до 3.6V
  • Выводы 8, 16 не используются (зарезервированы)

Сразу после включения модуль находится в режиме гибернации («спящем» режиме). Для перевода его в рабочий режим необходимо подать импульс низкого уровня на вход ON_OFF. При этом необходимо выдержать минимальные временные интервалы: после подачи питания должно пройти не менее 400.4mS, а длительность переключающего импульса должна быть не менее 1mS. Чтобы снова перевести модуль в «спящий» режим надо опять подать такой же импульс на этот вход, при этом интервал между переключениями из одного режима в другой должен быть не чаще 1 секунды. На рисунке продемонстрированы все необходимые временные интервалы для переключений между режимами работы модуля:

Временная последовательность сигналов переключения режимов

А на следующем рисунке изображены возможные варианты переключений модуля между режимами работы после включения питания:

Режимы модуля

Подключение модуля.

Схема, по которой в дальнейшем была разведена плата, приведена ниже.

Принципиальная схема

D1 – это довольно мощный регулируемый линейный стабилизатор в корпусе D2PAK, с максимальным выходным током до 1.5А. Можно применить другой стабилизатор, с максимальным выходным током не менее 100mA, а также не в таком габаритном корпусе. У меня под рукой оказался именно такой, поэтому привожу схему, как она есть. Транзистор VT1 установлен для того, чтобы при включении питания высокий уровень напряжения на входе ON_OFF появлялся одновременно с напряжением питания. Поскольку управляющий сигнал на выходе микроконтроллера установится не сразу в высокий уровень, а потребуется некоторое время для инициализации порта и установки на выходе высокого уровня. Возможно, эта задержка после подачи питания будет несущественной, я не проверял, перестраховался заранее. Обмен данными между модулем и микроконтроллером ведется по интерфейсу UART, поэтому конфигурационный вход CFG0 подтянут к «+» питания через резистор 10кОм. С остальными внешними компонентами, думаю, разъяснять особо не надо, достаточно посмотреть описание назначения выводов модуля, приведенное выше.

Управляющий микроконтроллер STM32, плата с модулем GPS была подключена к плате STM32L-DYSCOVERY, с нее же было взято напряжение 5V, приходящее с порта USB компьютера, которое подано на вход линейного стабилизатора D1 (поскольку этот стабилизатор не Lowdrop, то 3V с платы DISCOVERY оказалось недостаточно). Управляющий контроллер формирует импульс ON_OFF для перевода модуля GPS в рабочий режим после включения питания, а затем всего лишь работает ретранслятором между модулем GPS и компьютером. Для связи с модулем GPS в микроконтроллере задействован USART1, при приеме данных они тут же передаются через USART2 и преобразователь USB-USART в компьютер. Поскольку на моем ноутбуке нет COM-порта, для этой цели и используется преобразователь USB-USART на микросхеме FT232RL. В предыдущей статье есть фото, на котором видно все эти три платы, соединенные между собой.

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

Документация:

Спецификация L50

L50 hardware design

Другие статьи:

  12 Responses to “Модуль GPS Quectel l50”

  1. Собрал схемку с выводом данных на ПК через FT232RL.
    Смотрю в терминалке и вижу:
    FD AB EF 7F FE FF F7 DF 6F AF 7D EB FF FF AF BB | э«пюячЯoЇ}ляяЇ»
    FD BD FF FE FF 7F FF FF FD FB BF 7D EF FF DE DF | эЅяюяяяэыї}пяЮЯ
    FE FF BF DB FB 7B FB FF 77 5B D7 AB FF 7F 77 BB | юяїЫы{ыяw[Ч«яw»
    Подумал, что это SiRF Binary protocol, но нет, в массиве байт не обнаружил
    Start Sequence = 0xA0, 0xA2. Так же не наблюдаю импульсов 1PPS на выв. 3.
    Что посоветуете?

  2. Извиняюсь, сам не разобрался.
    Думал, что при плохом сигнале идентификатор сообщения протокола NMEA в терминалке будет виден,
    и только данные будут отсутствовать. Оказывается при плохом сигнале с НКА модуль выдаёт
    полную чушь.

    • При старте или отсутствии сигнала со спутников модуль выдает посылки, начинающиеся с $PSRF. При настройках по умолчанию, после нахождения достаточного количества спутников, модуль будет 1 раз в секунду слать несколько сообщений на скорости 4800 бод. У вас 16 символов в посылке, похоже на сообщение «System turn off». Да и символы из расширенного набора ASCII, скорость обмена точно совпадает в терминале? Из режима Turn Off точно вышли, подавали импульс на вывод ON_OFF как на рисунке выше?

      • Добрый вечер.
        Проблема была решена путем вывешивания приемника за окно. Иначе сообщение содержит мусор как я писал ранее.
        Ни $PSRF, ни каких других идентификаторов в просто нет.

        • Странно, у меня мусора в сообщениях не было. Тоже вывешивал за окно, в панельном доме не берет сигнал.

          • Решил еще раз отписаться, вдруг кому пригодится.
            По документации на L50 Supply voltage 1.71 — 1.89v. Изначально у меня получилось питание 1.73 и как я писал выше, при отсутствии спутников приемник гнал мусор.
            Подняв U пит. до 1.8 в. с удивлением обнаружил, что приемник вдали от окна, сразу после включения стал выдавать такие данные (скрин из прогр. GeoSDemo):
            $GPGGA,000022.018,,,,,0,00,,,M,0.0,M,,0000*5F
            $GPGSA,A,1,,,,,,,,,,,,,,,*1E
            $GPRMC,000022.018,V,,,,,,,080810,,,N*45
            $GPGGA,000023.018,,,,,0,00,,,M,0.0,M,,0000*5E
            Вблизи окна прием также стал уверенней.

  3. 1. долго пытаюсь получить что-нибудь со своего L50, не получается. сходил,посмотрел пин TX осциллографом-там молчание. либо миливольты, либо примерно 1 В, никакого намёка на UART. должно ли что-нибудь быть там в первые же секунды после включения, если он ни разу не ловил спутники? постоянка-признак того, что пора идти за новым модулем?
    2. автор, вы указали про толерантность цифровых входов модуля к 3.6 CMOS логике. а как вы реализовали согласование 1.8В выхода TX с приёмником UART на SMT32? там же нужно минимум 0.7Vdd, это выше питания L50?

    • У меня сразу после сброса и импульса на ON_OF на выводе TX импульсы. Смотрел осциллографом. Приемник далеко от окна, так, что сигналы с сателитов отсутствуют.

  4. 1. Насчет первых секунд не помню точно. Сейчас у меня как раз проект на этом модуле, как соберу плату, посмотрю это.
    2. Я там ставил простейший преобразователь уровней на транзисторе. В дальнейшем делал другую плату с этим модулем, там уже использовал на всех входах и выходах преобразователи уровней на микросхемах SN74LVC1T45.

    • спасибо, разобрался. сделал нормальную плату с ключами на цифровых транзисторах, нашёл косяк в инициализации USART на STM32, теперь получаю пакеты GGA,GSA,RMC,GSV.
      но проблема в том, что очень слабый приём. ловит только на подоконнике прямо у окна. выкладывал на подоконник за окном-то же самое. признак достоверности данных «A» в RMC присутствует.. редко. широта и долгота ловятся редко и неправильно. 1PPS вообще ни разу не видел,чтобы работал. в чём может быть проблема?
      хотел построить часы без кнопок с синхронизацией по GPS, так с таким приёмом сигнала ни о какой синхронизации не может быть и речи :(

  5. P.S. все опыты были поздно вечером или ночью. сейчас тестирую (4 часа дня) время исправно как в GGA так и RMC, постоянно стоит флаг инвалидности V, случаются по два RMC подряд, а в GGA всё,кроме времени, по нулям.. что за мистика? USART вроде исправен, результаты смотрю как с помощью парсера из сети, так и непосредственно в буфере (на 200 байт), куда циклически скидывается весь UART.
    интерфейс ON_OFF работает: в спящем режиме жпс шлёт время, но от собственного RTC.
    напряжение на VCC\RTC 1.77 В, на ON_OFF 1.83 В

    • Это нормально, V появляется в посылках когда уже спутники ловит. Но их видимо недостаточное количество для навигации.
      Как раз вчера программу для платы с L50, тестировал в помещении, так как нужен был осциллограф и компьютер. Тоже сначала долго идут посылки без навигации, потом полноценные. Но это зависит от видимости спутников, попробуйте любой навигатор дома, тоже не факт что будет прием уверенный.