GPS
|
|
DNM |
Дата: Вт, 17.02.2015, 23:06 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
75
Замечания:
±
На сайте с 29.09.2011
Статус:
Offline
|
притащили тут эту хреновину
при подключении к компьютеру в u-blox все работает нормально автоматически определяет скорость - 9600. НО, когда пытаюсь считывать на этой скорости контроллером - нет связи. предполагаю, что скорость должно быть другая. вот код
Device = 16F877 Config XT_OSC , WDT_OFF , PWRTE_ON , BODEN_OFF , CP_OFF , DEBUG_OFF Include "modedefs.bas" ' Include serial modes
Xtal 4
' ================================Настройка LCD =============================================== 'Declare Serial_Baud 9600 Declare LCD_Type=0 ' Тип ЖКИ - буквенно-цифровой Declare LCD_DTPin PORTB.4 ' Порт данных ЖКИ Declare LCD_ENPin PORTB.3 ' Управление цепью E Declare LCD_RSPin PORTB.2 ' Управление цепью RS Declare LCD_Interface 4 ' 4-х битная разрядность шины данных Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды Declare LCD_DataUs 50 ' Задержка перед посылкой данных Declare LCD_Lines 2 ' Количество строк ЖКИ All_Digital = true TRISD = %00000000 TRISB = %00000000 TRISC = %00000000 TRISA=%00000100 Symbol RS232_in = PORTA.2 Symbol RS232_out = PORTA.1
Dim gpsdata As Byte Dim hh As Byte 'hours Dim mm As Byte 'minutes Dim j As Byte 'day Dim m As Byte 'month Dim a As Byte 'year Dim knots As Word 'speed in knots (units) Dim knotsten As Byte 'speed in knots (tens) Dim course As Word 'heading Dim latdeg As Byte 'degrees latitude Dim latmin As Byte 'minutes latitude Dim NS As Byte 'north or south Dim londeg As Byte 'degrees longitude Dim lonmin As Byte 'minutes longitude Dim EW As Byte 'east or west Dim fix As Word 'GPS fix
'initialize variables hh=0 mm=0 j=0 m=0 a=0 knots="0" knotsten=0 course=0 latdeg=0 latmin=0 NS="N" londeg=0 lonmin=0 EW="S"
DelayMS 1000
PORTA.3=0 PORTA.0=1 ' включить питание модуля Cls Print At 1 , 1, "GPS - ON"
GPS: 'read GPS
SerIn2 RS232_in,T9600,[Wait("$GPRMC"),Wait(","),Dec2 hh,Dec2 mm,Wait(","),fix,Wait(","),Dec2 latdeg,Dec2 latmin] If fix="V" Then GoTo Nofix
' Cls lsd: Print At 1, 2, Dec2 hh,":" ,Dec2 mm
GoTo GPS Nofix: Cls 'display last valid from GPS Pause 1000 Print At 1, 1, "NO GPS fix" GoTo GPS
вобщем чесать в затылке только остается
кто-нибудь имел с ними дело?
Более подробно здесь: http://asemlab.net/
Сообщение отредактировал
DNM - Вт, 17.02.2015, 23:42
|
|
|
|
anatol |
Дата: Ср, 18.02.2015, 09:40 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Как в басне Крылова: - "...Уж сколько раз твердили миру...". Как можно вам помочь, если неизвестно с каким устройством вы пытаетесь соединиться. По фото можно только гадать. Где ссылка на описание. Второе - прежде чем просить - сами пытались разобраться? В вашем случае все упрощено - при связи с компьютером через преобразователь (USB - COM) и виртуальный COM-порт все работает. С помощью какой-то программы. Так вот эта программа что-то делает в начальный момент, а не тупо пытается сразу прочесть данные. И называется это инициализацией. Я не работал с чем-то подобным, но несколько лет назад стыковал программу с подобным трекером. Поэтому и слышал про протокол обмена. Читайте, думайте и все получится.
|
|
|
|
ADMIN |
Дата: Ср, 18.02.2015, 12:04 | Сообщение # 3 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Я этот документ размещу в каталоге файлов на сайте, однако. Не против?
|
|
|
|
anatol |
Дата: Ср, 18.02.2015, 14:24 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Если вопрос ко мне - я буду только рад. Правда Истоки назвать не могу. В моей файлопомойке безадресно лежал. Максим Александрович, считаю что выложенное на сайте без предупреждений о ограничениях, доступно всем и всегда.
|
|
|
|
ADMIN |
Дата: Ср, 18.02.2015, 15:29 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Согласен
|
|
|
|
AndrF |
Дата: Ср, 18.02.2015, 16:01 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Цитата anatol ( ) Как можно вам помочь, если неизвестно с каким устройством вы пытаетесь соединиться. По фото можно только гадать. Где ссылка на описание. Ну, если вглядеться, то на фото можно разобрать что это вот этот модуль. Хотя, конечно, лучше писать, если на фото явно не видно...
Цитата DNM ( ) НО, когда пытаюсь считывать на этой скорости контроллером - нет связи. предполагаю, что скорость должно быть другая. Выводы не попутали? К компу на том же месте подключали - то есть на конкретном месте спутник точно ловит?
|
|
|
|
DNM |
Дата: Ср, 18.02.2015, 16:59 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
75
Замечания:
±
На сайте с 29.09.2011
Статус:
Offline
|
Цитата anatol ( ) Где ссылка на описание. В основе лежит модуль u-bloxNEO-6M-0-001. Модуль оснащен U-FL разъемом для подключенияантенны. В комплекте с модулем идет активная керамическая антенна (22 х 22 мм) Интерфейс подключения к CraftDuino - UART. Основные характеристики модуля: - размер модуля: 23 х 30 мм (длина х ширина) - размер антенны: 22 х 22 мм (длина х ширина) - вес: 18 гр (вместе с антенной) - монтажные отверстия - 4 шт, d = 3 мм - питание - 3.3-5В Основные преимущества: - EEPROM для сохранения настроек - Встроенная батарея для сохранения данных вслучае отключения питания - Светодиод индикации наличия связи; - Возможность подключить антенну на ваш выбор кразъему U-FL Интерфейс передачи данных: - UART 9600 8N1 3.3V - Протокол - NMEA - При подаче питания модуль сразу же начинаетпередавать данные по UART с частотой 1 Гц В комплект входит 1. Модуль GY-NEO-6MV2 - 1 шт. 2. Керамическая антенна - 1 шт. Области использования: 1. Flight controllers для коптеров 2. Определение положения малоподвижных объектов(оборудования) 3. Определение положения транспорта Цитата AndrF ( ) Выводы не попутали? К компу на том же месте подключали - то есть на конкретном месте спутник точно ловит? НЕТ не перепутал, определяет сначала какие спутники доступны, потом, если их достаточное количество доступно и качество связи хорошее - определяет координаты. Время показывает даже при наличии 1-3 - спутников (1 этаж 9 этажки если высунуть за окно - сразу видит несколько и быстро настраивается)
Цитата anatol ( ) сами пытались разобраться? пытался, есть подозрение, что при кварце 4 МГЦ - не достигается нужная скорость, хотя должна по идее. или скорость другая ... в общем, спасибо за участие. за описание протокола на русском - спасибо.
Более подробно здесь: http://asemlab.net/
|
|
|
|
AndrF |
Дата: Ср, 18.02.2015, 18:18 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
145
Замечания:
±
На сайте с 03.02.2012
Статус:
Offline
|
Цитата DNM ( ) пытался, есть подозрение, что при кварце 4 МГЦ - не достигается нужная скорость, хотя должна по идее. или скорость другая ... У вас Uart-то работает - с тем же компом по нему микроконтроллер связывали?
А то кварцы встречались такие что на корпусе одна чистота написано, а реальная отличается в несколько раз...
|
|
|
|
anatol |
Дата: Ср, 18.02.2015, 18:38 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
DNM, на русском сайте microchip.ru в разделе документация http://www.microchip.ru/lit/?mid=1x0 в "Reference Manual - Справочник по среднему семейству микроконтроллеров PICmicro" в "Раздел 18. Модуль USART" есть документ http://www.microchip.ru/files/d-sheets-rus/pic16_18.pdf. В нем на стр. 9 в средней таблице в крайнем справа столбце есть интересующая вас информация. Если не понять почему такие цифры (в таблице) получаются, на грабли, при передаче данных, наступать придется часто.
|
|
|
|
DNM |
Дата: Ср, 18.02.2015, 20:38 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
75
Замечания:
±
На сайте с 29.09.2011
Статус:
Offline
|
Цитата anatol ( ) Если не понять почему такие цифры (в таблице) получаются, на грабли, при передаче данных, наступать придется часто. посмотрел, значит лучше на 20 МГц кварц использовать? а на 4 при таких скоростях не использовать. (хотя по букварю В.Н. Хилинского это возможно - там четко 9600 - максим. скорость при 4МГц )
Более подробно здесь: http://asemlab.net/
Сообщение отредактировал
DNM - Ср, 18.02.2015, 20:40
|
|
|
|
anatol |
Дата: Чт, 19.02.2015, 11:53 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
DNM, на стр 11 пункт 18.4 расписан режим работы. на стр.7 п.18.3 указан выбор частоты генератора. Причем число Х только целое от 0 до 255. При программировании в Протоне вы неосознанно пользуетесь "заготовками". И если вы чего-то не указываете то применяется режим по умолчанию. В вашем случае низкоскоростной режим работы (т.е. коээф. деления =64) и стандартный режим работы NRZ ([старт, 8 бит, стоп] = 10 бит). Тогда минимальная частота кварца = 9600*64*10 = 6 144 000 = 6,144 мГц. Причем вышесказанное относится к условию выбора внутреннего USART и соответствующих ему ножек (выводов порта). При программном USART частота кварца еще больше. Частота кварца подбирается из условия что число Х целое. В таком случае ошибки рассогласования между передатчиком и приемником (крайне важны при длинных передачах) - стремятся к нулю. Цитата DNM ( ) хотя по букварю В.Н. Хилинского это возможно Посмотрите на высокоскоростной режим работы, правильно настройте регистры TXSTA и SPBRG и карты в руки. В общем - дерзайте.
|
|
|
|
DNM |
Дата: Пт, 20.02.2015, 10:03 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
75
Замечания:
±
На сайте с 29.09.2011
Статус:
Offline
|
Цитата anatol ( ) Причем вышесказанное относится к условию выбора внутреннего USART и соответствующих ему ножек (выводов порта). При программном USART частота кварца еще больше. Частота кварца подбирается из условия что число Х целое. В таком случае ошибки рассогласования между передатчиком и приемником (крайне важны при длинных передачах) - стремятся к нулю. спасибо, теперь начинаю понимать
Более подробно здесь: http://asemlab.net/
|
|
|
|