SIM 68. Миниатюрный приемник GPS координат

SIM 68. Миниатюрный приемник GPS координат

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

GPS — система глобального позиционирования. На сегодняшний момент существует несколько таких систем:

  • GPS
  • ГЛОНАСС
  • Бэйдоу
  • Galileo
  • DORIS

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

Ярким примером использования таких систем является микросхема SIM68 и ее модификации  китайской компании SIMCOM. В статье мы разберем работу с GPS приемником SIM68M.

Основные характеристики GPS приемника Sim68M

  • Навигационные системы ГЛОНАСС/GPS/Galileo/QZSS 
  • EASYTM аппроксимация эфемерид
  • EPOTM загрузка эфемерид
  • AGPS
  • SBAS (WAAS, EGNOS, GAGAN, MSAS)
  • Jamming Removing
  • Работа с активными и пассивными антеннами

Интерфейсы

  • UART
  • Цифровые выводы — PPS — EINT0
  • Протоколы — NMEA — PMTK. Отладочное средство
  • SIM68 EVB KIT с интерфейсом USB2.0 full speed 
  • Встроенный МШУ О
  • Размеры: 10.1мм Х 9.7мм Х 2.5мм
Функциональная схема SIM68M
Рисунок 1. Функциональная схема SIM68M

Подключение SIM68M к микроконтроллеру

SIM68M включает в себя два UART (UART0 и UART1) интерфейс для последовательной связи.

Подключение к микроконтроллеру осуществляется через UART0. Этот интерфейс используется как выход NMEA и ввод команд PMTK. Линия приема (RXD0) и линия передатчика (TXD0). Скорость передачи данных от 4800 до 921.6 Kbps.

UART1 используется в качестве входных данных RTCM.

Распиновка GPS приемника SIM68m
Рисунок 2. Распиновка чипсета SIM68M

Рассмотрим пример кода подключения и настройки модуля GPS навигации SIM68M к микроконтроллеру PIC 18. Схема подключения к микроконтроллеру представлена на рисунке 3.

Рисунок 3. Схема подключения SIM68M

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

procedure sim68_Init();
var strInit: String[55];
begin
    UART_Remappable_Init(115200);
    DelayMs200;

    strInit := '$PMTK314,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*34'+chr($0D)+chr($0A);
    UART_Remappable_Write_Text(strInit);

    // Включаем фитнес режим
    strInit := '$PMTK886,1*29'+chr($0D)+chr($0A);
    UART_Remappable_Write_Text(strInit);
    Delay_ms(5);

    //Включаем работу GPS и ГЛОНАСС
    strInit := '$PMTK353,1,1,0,0,0*2B'+chr($0D)+chr($0A);
    UART_Remappable_Write_Text(strInit);
    DelayMs40;
end;

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

procedure sim68_Sleep();
begin
   str := '$PMTK161,1*29'+chr($0D)+chr($0A);
   UART_Remappable_Write_Text(str);
end;

Внимание!

Каждая команда к модулю SIM68M должна заканчиваться символами $0D$0A. Указывающими что это конец команды.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии