SlideShare a Scribd company logo
1 of 20
Download to read offline
Навигатор GPS/GLONASS на базе
Sitara AM3517
2012 © Promwad Innovation Company
Иван Кутень
Руслан Филипович
Инновационная компания Promwad
page 2
Основные характеристики устройства
• Системы навигации: GPS/GLONASS
• Технологии сотовой сети: GSM/GPRS/EDGE/3G
• Центральный процессор: Sitara ARM AM3517, 600 МГц
• Графический акселератор: встроенный, SGX™ Graphics
Accelerator POWER VR
• Операционная система: Android (v2.2 Froyo)
• Устройство отображения: TFT LCD “5” (800х480)
• Память: MCP 256 МБ DDR2 + 512 МБ NAND
2012 © Promwad Innovation Company
page 3
Схема аппаратной платформы
2012 © Promwad Innovation Company
page 4
Описание аппаратной платформы
• Память: используется микросхема MCP K524G2GACG-B05
• Менеджер питания: TPS650732RSLR (I2C)
• EMMC: KLM4G1FE3B-B001 (MMC 8bit)
• GPS/GLONASS приемник: Geos-3M (UART)
• GSM/GPRS/EDGE/3G модем: SIMCOM SIM 5215E
• LCD + Touchscreen: KWH050TG08-F02 (DSS)
• Аудио кодек: TLV320AIC3007IRSBT (I2C + MCBSP)
2012 © Promwad Innovation Company
page 5
Структурная схема программной платформы
2012 © Promwad Innovation Company
page 6
X-Loader
• Копируется внутренним загрузчиком процессора из NAND во
внутренний RAM, после чего на него передается управление
• При старте:
=> инициализирует PIN MUX
=> инициализирует клоки и подготавливает DDR
=> копирует u-boot из NAND или SDCARD в SDRAM и передает
на него управление
2012 © Promwad Innovation Company
page 7
U-boot
• Получает управление от X-Loader
• При старте:
=> производит первичную подготовка менеджера питания (для
обеспечения функционала зарядки и управления подсветкой)
=> инициализирует подсистему вывода изображения и
отображает ход загрузки
=> проверяет необходимость обновления и производит
обновление прошивки
=> при необходимости предоставляет возможность обновления
прошивки модема по USB
=> подготавливает и передает управление ядру Linux
2012 © Promwad Innovation Company
page 8
Linux kernel
Для поддержки периферии потребовалось:
=> написать драйвер управления менеджером питания
TPS650732 (MFD)
=> драйвер управления питанием (зарядка, оценка уровня
заряда и т.д.)
=> написать прослойку SOC управления кодеком
TLV320AIC3007
=> конфигурационный файл дисплея
=> драйвер клавиатуры
=> драйвер PWM для управления яркостью кнопок
=> детектирование USB-подключение/USB-зарядка
2012 © Promwad Innovation Company
page 9
Драйвер TPS650732
• Драйвер в Kernel представлен в виде устройства со множеством
функций - MFD
• Используемые и реализованные функции:
=> управление напряжениями (core/periphery/etc)
=> поддержка функций резистивного тачскрина
=> управление функциями зарядки
=> управление внутренними ADC преобразователями
=> поддержка функций управления подсветкой дисплея (PWM)
=> обработка событий кнопки power
2012 © Promwad Innovation Company
page 10
Драйвер управления питанием
Служит для обеспечения следующего функционала:
=> детектирования подключения батареи
=> оценка уровня заряда батареи
=> оценка тока разряда
=> управление зарядкой и ее режимами (быстрой зарядки и
дозаряди, установка максимального тока зарядки)
=> предоставление информации о текущем состоянии питания
на уровень “user space” (Android)
2012 © Promwad Innovation Company
page 11
Аудио кодек TLV320AIC3007
• Для поддержки необходимого функционала был написана файл
поддержки управления кодеком под нашу платформу
• Обеспечивается следующий функционал:
=> вывод на внешний динамик (используется усилитель
класса D, выходной мощностью 1W)
=> вывод на внешний 3.5мм (стерео наушники)
=> автоматическое детектирование подключения наушников с
переключением вывод на них
=> аналоговый роутинг линейных входов на выход, для
поддержки GSM модема в режиме разговора
2012 © Promwad Innovation Company
page 12
Android libraries (“user space”)
Для поддержки нашей периферии со стороны Android
потребовалось:
=> написание библиотеки поддержки GPS/GLONASS модуля
Геос-3М libgps
=> написание библиотеки поддержки SIM5215E в подсистеме
ril (muxd)
=> написание библиотеки конфигурации поддержки кодека
подсистемой alsa
=> написание библиотеки управления подсветкой liblights
2012 © Promwad Innovation Company
page 13
Поддержка GPS/GLONASS модуля
• В устройстве используется GPS/GLONASS модуль Geos-3M
• Связь с модулем осуществляется по интерфейсу UART
• Реализация поддержки модуля сконцентрирована в библиотеке
libgps и содержит:
=> реализацию структуры GPSInterface,
=> функции управления модулем (работа в NMEA протоколе)
=> функции логирования получаемого NMEA трафика
=> функции пересчета получаемых значений
2012 © Promwad Innovation Company
page 14
Поддержка GSM/GPRS/EDGE/3G модуля
• В устройстве используется GSM/GPRS/EDGE/3G модуль
SIM5215E
• Связь с модулем осуществляется по интерфейсу UART (3686400
bps) с мультиплексирование потоков обмена (mux deman)
• Реализация содержит следующий функционал:
=> прием и отсылка вызовов
=> подключение/отключение канала передачи данных (в качестве
вспомогательного демона используется pppd)
=> получение статуса подключения GSM/GPRS/EDGE/3G
=> отправка SMS/EMMS сообщений
=> операции с sim картой
=> роуминг
2012 © Promwad Innovation Company
page 15
Немного о mux демоне
• Демон позволяет разделить программные потоки получаемые по
одному физическому UART
• Для использования нужна поддержка со стороны модема
• В нашем случае используется для разделения канала передачи
данных и канала управления модемом
2012 © Promwad Innovation Company
page 16
Поддержка ввода/вывода звука
• В Android работу со звуком принято реализовывать на основе
подсистемы ALSA ядра
• Для использовании нашего аудио устройства (кодека)
потребовалось написание функционала библиотек alsa.default и
acoustics.default
• Основная работа сосредоточена в файле alsa_module.cpp
функции setDefaultControls производящей переключение кодека
в различные режимы в зависимости от выполняемых функций
(вызов/проигрывание и другое)
• Для работы также требуется asound.conf содержащего основную
конфигурацию аудио устройства
2012 © Promwad Innovation Company
page 17
Библиотека управления подсветкой
• Код сосредоточен в библиотеке liblights и представляет собой
реализацию структур:
=> static struct hw_module_methods_t
=> const struct hw_module_t
• Библиотека реализует управление яркостью подсветки кнопок и
дисплея
2012 © Promwad Innovation Company
page 18
Результат
В результате разработки было получено устройство:
=> Работающее в навигационных система GPS/GLONASS
=> Способное извлекать необходимый контент с интернет
ресурсов
=> Выполняющее функции телефона
=> Имеющее функционал Android
=> Поддерживающее 3d ускорение графики
=> И довольно приличной экономичностью для своего класса
2012 © Promwad Innovation Company
page 19 2012 © Promwad Innovation Company
Вопросы?
page 20 2012 © Promwad Innovation Company
Центр разработок в Москве:
Ленинградский проспект, д. 68, стр. 16
Тел: +7(495) 642-82-43
Эл. адрес: promwad@promwad.ru
Сайт: www.promwad.ru
Центр разработок в Минске:
ул.Ольшевского, 22, 8-й этаж
Тел. +375 (17) 312–12–46
Эл. адрес: info@promwad.com
Сайт: www.promwad.com
Инновационная
компания
Promwad
Спасибо за внимание

More Related Content

Similar to Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instruments

описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутникАндрей Марин
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиCisco Russia
 
Virt2real - есть ли жизнь в железе?
Virt2real - есть ли жизнь в железе?Virt2real - есть ли жизнь в железе?
Virt2real - есть ли жизнь в железе?Maxim Krentovskiy
 
Новые возможности Cisco Video Communication Server (Expressway)
Новые возможности Cisco Video Communication Server (Expressway)Новые возможности Cisco Video Communication Server (Expressway)
Новые возможности Cisco Video Communication Server (Expressway)Cisco Russia
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...Cisco Russia
 
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...Cisco Russia
 
Организация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых средОрганизация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых средEkaterina Shelest
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаPositive Hack Days
 
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдера
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдераАвтономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдера
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдераCisco Russia
 
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)Ontico
 
VIT company profile (ru)
VIT company profile (ru)VIT company profile (ru)
VIT company profile (ru)VIT
 
Японские инновации или чем уникальны японские серверы Fujitsu
Японские инновации или чем уникальны японские серверы FujitsuЯпонские инновации или чем уникальны японские серверы Fujitsu
Японские инновации или чем уникальны японские серверы FujitsuFujitsu Russia
 
Модемы iRZ ATM2 & ATM3
Модемы iRZ ATM2 & ATM3Модемы iRZ ATM2 & ATM3
Модемы iRZ ATM2 & ATM3Radiofid
 
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеАлександр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеKaspersky
 
Лекция 9. Программирование GPU
Лекция 9. Программирование GPUЛекция 9. Программирование GPU
Лекция 9. Программирование GPUMikhail Kurnosov
 
Series a manual_rus
Series a manual_rusSeries a manual_rus
Series a manual_rusarpisz1
 
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...Cisco Russia
 
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...Cisco Russia
 

Similar to Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instruments (20)

описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутник
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сети
 
Virt2real - есть ли жизнь в железе?
Virt2real - есть ли жизнь в железе?Virt2real - есть ли жизнь в железе?
Virt2real - есть ли жизнь в железе?
 
Новые возможности Cisco Video Communication Server (Expressway)
Новые возможности Cisco Video Communication Server (Expressway)Новые возможности Cisco Video Communication Server (Expressway)
Новые возможности Cisco Video Communication Server (Expressway)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...
Архитектура, конфигурирование, поиск и устранение неисправностей функций Reco...
 
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...
Семейство мультисервисных маршрутизаторов Cisco ISR G2. Обзор интегрированных...
 
Организация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых средОрганизация автоматизированного развертывания ПО и создание тестовых сред
Организация автоматизированного развертывания ПО и создание тестовых сред
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны Разработчика
 
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдера
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдераАвтономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдера
Автономные Сети: упрощение развертывания уровня доступа в сети сервис-провайдера
 
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)
Протоколы уровня приложения в браузере, Илья Кутуков (Parallels)
 
VIT company profile (ru)
VIT company profile (ru)VIT company profile (ru)
VIT company profile (ru)
 
Японские инновации или чем уникальны японские серверы Fujitsu
Японские инновации или чем уникальны японские серверы FujitsuЯпонские инновации или чем уникальны японские серверы Fujitsu
Японские инновации или чем уникальны японские серверы Fujitsu
 
Модемы iRZ ATM2 & ATM3
Модемы iRZ ATM2 & ATM3Модемы iRZ ATM2 & ATM3
Модемы iRZ ATM2 & ATM3
 
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеАлександр Коротин. Безопасность систем управления турбинами в электроэнергетике
Александр Коротин. Безопасность систем управления турбинами в электроэнергетике
 
Лекция 9. Программирование GPU
Лекция 9. Программирование GPUЛекция 9. Программирование GPU
Лекция 9. Программирование GPU
 
Series a manual_rus
Series a manual_rusSeries a manual_rus
Series a manual_rus
 
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...
Управление инфраструктурой Центров Обработки Данных Cisco с помощью Cisco Pri...
 
Gpgpu
GpgpuGpgpu
Gpgpu
 
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
Планирование и оптимизация сети оператора связи IP/MPLS с Cisco WAN Orchestra...
 

More from Minsk Linux User Group

Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...
 Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P... Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...
Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...Minsk Linux User Group
 
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...Minsk Linux User Group
 
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасць
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасцьСвятлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасць
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасцьMinsk Linux User Group
 
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использования
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использованияТимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использования
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использованияMinsk Linux User Group
 
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSD
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSDАндрэй Захарэвіч - Як мы ставілі KDE пад FreeBSD
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSDMinsk Linux User Group
 
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
Vitaly  ̈_Vi ̈ Shukela - My FOSS projectsVitaly  ̈_Vi ̈ Shukela - My FOSS projects
Vitaly ̈_Vi ̈ Shukela - My FOSS projectsMinsk Linux User Group
 
Alexander Lomov - Cloud Foundry и BOSH: истории из жизни
Alexander Lomov - Cloud Foundry и BOSH: истории из жизниAlexander Lomov - Cloud Foundry и BOSH: истории из жизни
Alexander Lomov - Cloud Foundry и BOSH: истории из жизниMinsk Linux User Group
 
Vikentsi Lapa — How does software testing become software development?
Vikentsi Lapa — How does software testing  become software development?Vikentsi Lapa — How does software testing  become software development?
Vikentsi Lapa — How does software testing become software development?Minsk Linux User Group
 
Михаил Волчек — Свободные лицензии. быть или не быть? Продолжение
Михаил Волчек — Свободные лицензии. быть или не быть? ПродолжениеМихаил Волчек — Свободные лицензии. быть или не быть? Продолжение
Михаил Волчек — Свободные лицензии. быть или не быть? ПродолжениеMinsk Linux User Group
 
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPN
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPNМаксим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPN
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPNMinsk Linux User Group
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...Minsk Linux User Group
 
MajorDoMo: Открытая платформа Умного Дома
MajorDoMo: Открытая платформа Умного ДомаMajorDoMo: Открытая платформа Умного Дома
MajorDoMo: Открытая платформа Умного ДомаMinsk Linux User Group
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный мониторMinsk Linux User Group
 
Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewMinsk Linux User Group
 
Константин Шевцов - Пара слов о Jenkins
Константин Шевцов - Пара слов о JenkinsКонстантин Шевцов - Пара слов о Jenkins
Константин Шевцов - Пара слов о JenkinsMinsk Linux User Group
 
Ермакович Света - Операция «Пингвин»
Ермакович Света - Операция «Пингвин»Ермакович Света - Операция «Пингвин»
Ермакович Света - Операция «Пингвин»Minsk Linux User Group
 
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...Minsk Linux User Group
 
Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Minsk Linux User Group
 

More from Minsk Linux User Group (20)

Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...
 Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P... Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...
Vladimir ’mend0za’ Shakhov — Linux firmware for iRMC controller on Fujitsu P...
 
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...
Андрэй Захарэвіч — Hack the Hackpad: Першая спроба публічнага кіравання задач...
 
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасць
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасцьСвятлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасць
Святлана Ермаковіч — Вікі-дапаможнік. Як узмацніць беларускую вікі-супольнасць
 
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использования
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использованияТимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использования
Тимофей Титовец — Elastic+Logstash+Kibana: Архитектура и опыт использования
 
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSD
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSDАндрэй Захарэвіч - Як мы ставілі KDE пад FreeBSD
Андрэй Захарэвіч - Як мы ставілі KDE пад FreeBSD
 
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
Vitaly  ̈_Vi ̈ Shukela - My FOSS projectsVitaly  ̈_Vi ̈ Shukela - My FOSS projects
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
 
Vitaly ̈_Vi ̈ Shukela - Dive
Vitaly  ̈_Vi ̈ Shukela - DiveVitaly  ̈_Vi ̈ Shukela - Dive
Vitaly ̈_Vi ̈ Shukela - Dive
 
Alexander Lomov - Cloud Foundry и BOSH: истории из жизни
Alexander Lomov - Cloud Foundry и BOSH: истории из жизниAlexander Lomov - Cloud Foundry и BOSH: истории из жизни
Alexander Lomov - Cloud Foundry и BOSH: истории из жизни
 
Vikentsi Lapa — How does software testing become software development?
Vikentsi Lapa — How does software testing  become software development?Vikentsi Lapa — How does software testing  become software development?
Vikentsi Lapa — How does software testing become software development?
 
Михаил Волчек — Свободные лицензии. быть или не быть? Продолжение
Михаил Волчек — Свободные лицензии. быть или не быть? ПродолжениеМихаил Волчек — Свободные лицензии. быть или не быть? Продолжение
Михаил Волчек — Свободные лицензии. быть или не быть? Продолжение
 
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPN
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPNМаксим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPN
Максим Мельников — IPv6 at Home: NAT64, DNS64, OpenVPN
 
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...Слава Машканов — “Wubuntu”: Построение гетерогенной среды  Windows+Linux на н...
Слава Машканов — “Wubuntu”: Построение гетерогенной среды Windows+Linux на н...
 
MajorDoMo: Открытая платформа Умного Дома
MajorDoMo: Открытая платформа Умного ДомаMajorDoMo: Открытая платформа Умного Дома
MajorDoMo: Открытая платформа Умного Дома
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный монитор
 
Максим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overviewМаксим Мельников - FOSDEM 2014 overview
Максим Мельников - FOSDEM 2014 overview
 
Константин Шевцов - Пара слов о Jenkins
Константин Шевцов - Пара слов о JenkinsКонстантин Шевцов - Пара слов о Jenkins
Константин Шевцов - Пара слов о Jenkins
 
Ермакович Света - Операция «Пингвин»
Ермакович Света - Операция «Пингвин»Ермакович Света - Операция «Пингвин»
Ермакович Света - Операция «Пингвин»
 
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...
Михаил Волчек - Смогут ли беларусы вкусить плоды Творческих Общин? Creative C...
 
Vikentsi Lapa - Tools for testing
Vikentsi Lapa - Tools for testingVikentsi Lapa - Tools for testing
Vikentsi Lapa - Tools for testing
 
Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?Алексей Туля - А нужен ли вам erlang?
Алексей Туля - А нужен ли вам erlang?
 

Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instruments

  • 1. Навигатор GPS/GLONASS на базе Sitara AM3517 2012 © Promwad Innovation Company Иван Кутень Руслан Филипович Инновационная компания Promwad
  • 2. page 2 Основные характеристики устройства • Системы навигации: GPS/GLONASS • Технологии сотовой сети: GSM/GPRS/EDGE/3G • Центральный процессор: Sitara ARM AM3517, 600 МГц • Графический акселератор: встроенный, SGX™ Graphics Accelerator POWER VR • Операционная система: Android (v2.2 Froyo) • Устройство отображения: TFT LCD “5” (800х480) • Память: MCP 256 МБ DDR2 + 512 МБ NAND 2012 © Promwad Innovation Company
  • 3. page 3 Схема аппаратной платформы 2012 © Promwad Innovation Company
  • 4. page 4 Описание аппаратной платформы • Память: используется микросхема MCP K524G2GACG-B05 • Менеджер питания: TPS650732RSLR (I2C) • EMMC: KLM4G1FE3B-B001 (MMC 8bit) • GPS/GLONASS приемник: Geos-3M (UART) • GSM/GPRS/EDGE/3G модем: SIMCOM SIM 5215E • LCD + Touchscreen: KWH050TG08-F02 (DSS) • Аудио кодек: TLV320AIC3007IRSBT (I2C + MCBSP) 2012 © Promwad Innovation Company
  • 5. page 5 Структурная схема программной платформы 2012 © Promwad Innovation Company
  • 6. page 6 X-Loader • Копируется внутренним загрузчиком процессора из NAND во внутренний RAM, после чего на него передается управление • При старте: => инициализирует PIN MUX => инициализирует клоки и подготавливает DDR => копирует u-boot из NAND или SDCARD в SDRAM и передает на него управление 2012 © Promwad Innovation Company
  • 7. page 7 U-boot • Получает управление от X-Loader • При старте: => производит первичную подготовка менеджера питания (для обеспечения функционала зарядки и управления подсветкой) => инициализирует подсистему вывода изображения и отображает ход загрузки => проверяет необходимость обновления и производит обновление прошивки => при необходимости предоставляет возможность обновления прошивки модема по USB => подготавливает и передает управление ядру Linux 2012 © Promwad Innovation Company
  • 8. page 8 Linux kernel Для поддержки периферии потребовалось: => написать драйвер управления менеджером питания TPS650732 (MFD) => драйвер управления питанием (зарядка, оценка уровня заряда и т.д.) => написать прослойку SOC управления кодеком TLV320AIC3007 => конфигурационный файл дисплея => драйвер клавиатуры => драйвер PWM для управления яркостью кнопок => детектирование USB-подключение/USB-зарядка 2012 © Promwad Innovation Company
  • 9. page 9 Драйвер TPS650732 • Драйвер в Kernel представлен в виде устройства со множеством функций - MFD • Используемые и реализованные функции: => управление напряжениями (core/periphery/etc) => поддержка функций резистивного тачскрина => управление функциями зарядки => управление внутренними ADC преобразователями => поддержка функций управления подсветкой дисплея (PWM) => обработка событий кнопки power 2012 © Promwad Innovation Company
  • 10. page 10 Драйвер управления питанием Служит для обеспечения следующего функционала: => детектирования подключения батареи => оценка уровня заряда батареи => оценка тока разряда => управление зарядкой и ее режимами (быстрой зарядки и дозаряди, установка максимального тока зарядки) => предоставление информации о текущем состоянии питания на уровень “user space” (Android) 2012 © Promwad Innovation Company
  • 11. page 11 Аудио кодек TLV320AIC3007 • Для поддержки необходимого функционала был написана файл поддержки управления кодеком под нашу платформу • Обеспечивается следующий функционал: => вывод на внешний динамик (используется усилитель класса D, выходной мощностью 1W) => вывод на внешний 3.5мм (стерео наушники) => автоматическое детектирование подключения наушников с переключением вывод на них => аналоговый роутинг линейных входов на выход, для поддержки GSM модема в режиме разговора 2012 © Promwad Innovation Company
  • 12. page 12 Android libraries (“user space”) Для поддержки нашей периферии со стороны Android потребовалось: => написание библиотеки поддержки GPS/GLONASS модуля Геос-3М libgps => написание библиотеки поддержки SIM5215E в подсистеме ril (muxd) => написание библиотеки конфигурации поддержки кодека подсистемой alsa => написание библиотеки управления подсветкой liblights 2012 © Promwad Innovation Company
  • 13. page 13 Поддержка GPS/GLONASS модуля • В устройстве используется GPS/GLONASS модуль Geos-3M • Связь с модулем осуществляется по интерфейсу UART • Реализация поддержки модуля сконцентрирована в библиотеке libgps и содержит: => реализацию структуры GPSInterface, => функции управления модулем (работа в NMEA протоколе) => функции логирования получаемого NMEA трафика => функции пересчета получаемых значений 2012 © Promwad Innovation Company
  • 14. page 14 Поддержка GSM/GPRS/EDGE/3G модуля • В устройстве используется GSM/GPRS/EDGE/3G модуль SIM5215E • Связь с модулем осуществляется по интерфейсу UART (3686400 bps) с мультиплексирование потоков обмена (mux deman) • Реализация содержит следующий функционал: => прием и отсылка вызовов => подключение/отключение канала передачи данных (в качестве вспомогательного демона используется pppd) => получение статуса подключения GSM/GPRS/EDGE/3G => отправка SMS/EMMS сообщений => операции с sim картой => роуминг 2012 © Promwad Innovation Company
  • 15. page 15 Немного о mux демоне • Демон позволяет разделить программные потоки получаемые по одному физическому UART • Для использования нужна поддержка со стороны модема • В нашем случае используется для разделения канала передачи данных и канала управления модемом 2012 © Promwad Innovation Company
  • 16. page 16 Поддержка ввода/вывода звука • В Android работу со звуком принято реализовывать на основе подсистемы ALSA ядра • Для использовании нашего аудио устройства (кодека) потребовалось написание функционала библиотек alsa.default и acoustics.default • Основная работа сосредоточена в файле alsa_module.cpp функции setDefaultControls производящей переключение кодека в различные режимы в зависимости от выполняемых функций (вызов/проигрывание и другое) • Для работы также требуется asound.conf содержащего основную конфигурацию аудио устройства 2012 © Promwad Innovation Company
  • 17. page 17 Библиотека управления подсветкой • Код сосредоточен в библиотеке liblights и представляет собой реализацию структур: => static struct hw_module_methods_t => const struct hw_module_t • Библиотека реализует управление яркостью подсветки кнопок и дисплея 2012 © Promwad Innovation Company
  • 18. page 18 Результат В результате разработки было получено устройство: => Работающее в навигационных система GPS/GLONASS => Способное извлекать необходимый контент с интернет ресурсов => Выполняющее функции телефона => Имеющее функционал Android => Поддерживающее 3d ускорение графики => И довольно приличной экономичностью для своего класса 2012 © Promwad Innovation Company
  • 19. page 19 2012 © Promwad Innovation Company Вопросы?
  • 20. page 20 2012 © Promwad Innovation Company Центр разработок в Москве: Ленинградский проспект, д. 68, стр. 16 Тел: +7(495) 642-82-43 Эл. адрес: promwad@promwad.ru Сайт: www.promwad.ru Центр разработок в Минске: ул.Ольшевского, 22, 8-й этаж Тел. +375 (17) 312–12–46 Эл. адрес: info@promwad.com Сайт: www.promwad.com Инновационная компания Promwad Спасибо за внимание