GPS-ATmega8-SD

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
gwiktor
Родился
Сообщения: 14
Зарегистрирован: Вс авг 31, 2008 11:24:47

GPS-ATmega8-SD

Сообщение gwiktor »

Приветствую всех кто заинтересовался. Есть большое желание сделать логгер на AVR (в наличии есть мега8, но в дальнейшем подумываю о tiny). У меги8 задействовать USART и SPI на первый подключить GPS модуль, а на второй SD карточку. Все что шлет GPS в USART (протокол NMEA) писать в файл например log.txt на карту памяти в системе Fat32. Немного програмирую на С, в CVAVR. Нашел опиисание и иисходник на С (на финском языке автора Jussi Saarijoki) логгер на мега128 с кнопочками и LCD диисплеем. Насколько понимаю написан в WinAVR. Вопрос к опытным програмистам (я больше по железу электронщик, в програмировании новичек) можно ли перенести код в CVAVR и если да то как. Для начала хотел бы выкинуть из имеющегося кода обслуживание LCD дисплея и кнопок, не обрабатывать получаемые данные, а как есть в формате NMEA отправлять в накопитель.
Вложения
GPS.c
исходный код Jussi Saarijoki с переводом части коментариев с финского на русский
(9.48 КБ) 1039 скачиваний
GPS-ATmega8-microSD.JPG
схема GPS логгера
(67.44 КБ) 1135 скачиваний
Последний раз редактировалось gwiktor Вс янв 24, 2010 17:50:21, всего редактировалось 1 раз.
Реклама
Аватара пользователя
foxit
Грызет канифоль
Сообщения: 262
Зарегистрирован: Пт ноя 16, 2007 00:40:17
Откуда: Украина

Сообщение foxit »

Какой GPS?
Реклама
Аватара пользователя
killboss
Открыл глаза
Сообщения: 78
Зарегистрирован: Вт окт 13, 2009 09:34:47

Re: GPS-ATmega8-SD

Сообщение killboss »

gwiktor писал(а):Приветствую всех кто заинтересовался. Есть большое желание сделать логгер на AVR (в наличии есть мега8, но в дальнейшем подумываю о tiny). У меги8 задействовать USART и SPI на первый подключить GPS модуль, а на второй SD карточку. Все что шлет GPS в USART (протокол NMEA) писать в файл например log.txt на карту памяти в системе Fat32.
Доброго времени суток! Тема весьма интересная и актуальная!
Эхолот+GPS по пртоколу NMEA на карту памяти и все это сливать в ози-экплорер!
Для рыбаков водомоторников возможность создавать свою лоцию
:)
gwiktor
Родился
Сообщения: 14
Зарегистрирован: Вс авг 31, 2008 11:24:47

Сообщение gwiktor »

Заказал GPS модуль в столице, но пока ожидаю, для отработки можно использовать симулятор GPS Simulator v3.3.1 если кому нужен вышлю на почту. Цель не столько повторить на другом камне сколько понять и научиться сохранять данные в файл на SD например с АЦП. Почему интерес к GPS просто люблю турпоходы, хочется собрать миниатюрное и экономичное в энергопотреблении и по цене устройство. Модуль с антенной на сайтах нахожу в пределах 1-1.5 т.р.
Нужна помошь в коде, не могу найти некоторые include описанные в коде, с WinAVR не работал.

Есть кому интересно проект в баскоме тоже мега128, но тоже с ним не работал можно ли его адаптировать под мегу8, просто С мне ближе.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
HeoH
Открыл глаза
Сообщения: 75
Зарегистрирован: Пт июл 20, 2007 12:49:45
Откуда: Novosibirsk
Контактная информация:

Сообщение HeoH »

gwiktor писал(а):хочется собрать миниатюрное и экономичное в энергопотреблении и по цене устройство. Модуль с антенной на сайтах нахожу в пределах 1-1.5 т.р.
Нужна помошь в коде, не могу найти некоторые include описанные в коде, с WinAVR не работал.

Есть кому интересно проект в баскоме тоже мега128, но тоже с ним не работал можно ли его адаптировать под мегу8, просто С мне ближе.
Если экономичное по энергопотреблению, то msp430 лучше будет. если вопрос по цене и времени, то делай на атмеле - он сейчас в любом киоске продается. у техаса, с другой стороны, можно ввиде семплов много чего заказать.

ps. делал гпс (navis) + мега128 - не логгер, просто "показывалку"...интересовал исключительно глонасс...поигрался и нах выкинул их 1,5Вт приемничек...у них(navis) кстати анонсировали в первой половине 2010 новый чипчик с 150мВт потребления...прикупить что ли..
<o> ёшкин кот
Реклама
Saadov
Нашел транзистор. Понюхал.
Сообщения: 155
Зарегистрирован: Вт авг 19, 2008 23:39:59
Откуда: г.Смоленск

Сообщение Saadov »

Уважаемый gwiktor, в CVAVR 2.04.4 есть портированная библиотека Елма Чана, для работы с FAT, стоит почитать HELP к компилятору, там много инфо. Так же очень будет вам полезно
http://instruct1.cit.cornell.edu/course ... index.html
http://instruct1.cit.cornell.edu/course ... /index.htm
http://instruct1.cit.cornell.edu/course ... /index.htm
http://instruct1.cit.cornell.edu/course ... index.html
Реклама
gwiktor
Родился
Сообщения: 14
Зарегистрирован: Вс авг 31, 2008 11:24:47

Сообщение gwiktor »

Подскажите что делать с функцией
DWORD get_fattime (void);
// 31-25: Year(0-127 org.1980),
// 24-21: Month(1-12),
// 20-16: Day(1-31) 15-11: Hour(0-23),
// 10-5: Minute(0-59), 4-0: Second(0-29 *2)

если у меня нет часов и где найти #include "rtc.h"
как быть? Я хочу открыть файл или создать новый перейти в конец и писать форматированные строки

disk_initialize(0);
f_mount(0, &fatfs);
f_open(&file1, "log.txt", (FA_OPEN_ALWAYS|FA_READ|FA_WRITE));
f_lseek(&file1,file1.fsize);
f_printf (&file1,"<test>");
f_close(&file1);

выдает ошибку

Linker error: ...\inc\ff.h(460): function 'get_fattime' declared, but never defined
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

gwiktor, Это из примера CVAVR ?
examples\SD Card Monitor

Если нет часов, а в примере это pcf8563 организуйте подсчет времени другим способом (например сам МК его считает), а функции чтении времени назовите как в примере rtc_get_time... и т.д. по тексту.

И тогда код править сильно не нужно.

Можно вообще для испытания подсчет времени не вести но функции чтения времени должны возвращать какое то значение.

Пример: если А локальная переменная то
B=A;
вызовет ошибку т.к. значение А еще не определено и присвоить В значение "мусор" компилятор не даст.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
igorkov
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вт дек 05, 2006 11:49:08
Контактная информация:

Сообщение igorkov »

По-моему у Elm-chan-а идеально подходит под описание и все готово:

http://elm-chan.org/works/glg/report_e.html
http://elm-chan.org/works/glg2/report_e.html

К тому же описана техника просмотра маршрута на Google Maps.
Исходники правда на GCC.
gwiktor
Родился
Сообщения: 14
Зарегистрирован: Вс авг 31, 2008 11:24:47

Сообщение gwiktor »

Спасибо Danko, вставил пока
DWORD get_fattime () { return 0; }
после компиляции минимального кода для теста программы

void main (void)
{
FATFS fatfs;
FIL file1 ;
disk_initialize(0);
f_mount(0, &fatfs);
f_open(&file1, "log.txt", (FA_OPEN_ALWAYS|FA_READ|FA_WRITE));
f_close(&file1);
}

получаю размер кода 9.8 Кбайт, что не помещается в память меги8.
Без f_open проходит но это не годится, либо нужно на 32 мегу переходить (а у меня ее нет), либо пытаться кромсать эти функции (как пока не знаю), либо использовать Petit FatFs чана но как я понимаю создавать новый файл не может. В принципи можно создать в корневом каталоге SD файл и в него дописывать данные контроллером. функции тогда принимают следующий вид
disk_initialize();
pf_mount(&fs);
pf_open("log.txt"); //открыть существующий файл
pf_lseek(0); //перейти в начало
pf_write(buff,16,&N); //записать массив из 16 чисел
pf_write(0, 0, &N); //закончить запись

но почему-то выдает ошибки на функции в diskio.c
Последний раз редактировалось gwiktor Пн фев 01, 2010 11:10:50, всего редактировалось 1 раз.
gwiktor
Родился
Сообщения: 14
Зарегистрирован: Вс авг 31, 2008 11:24:47

Сообщение gwiktor »

Да igorkov эти ссылки у меня есть, но я бы хотел сделать логгер (не обязательно GPS) данных например поступающих с АЦП или температурного DS18B20. Примеры что мне попадались написаны скорее всего в WinAVR, а я пытаюсь на CV т.к. хоть немного в нем разобрался. Все равно за ссылки спасибо.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»