SD + AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

SD + AVR

Сообщение HeLiO »

Доброго времени суток, есть проблема.

схема включает в себя at mega 16 , sd карту > 4 Гб, GPS и плеер подключенный через DAC.
Нужно по определенным сигналам с GPS (неважно каким) загружать из карты звуковой файл и кидать его в плеер.
Вроде все просто - организовать на SD FAT32 , а потом считать нужный файл по сигналу и отправить в плеер.
На самом деле слдожности вознимают уже тут. Чтобы знать какой файл где находится надо считывать директории и файлы куда нибудь и потом , выбрав нужный файл начать считывание его адреса и уже собственно начать перекачку в плеер. но дело в том что эта инфа займет около 64 кб (файлов >2000) ,памяти катастрофически не хватит (SRAM) и ничего не получится. Возникла идея - поместить данные на карту в сыром формате одним куском , так чтобы считывая сектора SD карты один за другим мы бы двигались от 0001.wav до последнего. Здесь достаточно информации о длине файла и с пересчтетом на расположение данных в SD можно требуемый файл выцепить. Но вопрос в том как 1)Скомпоновать много аудио файлов в один файл друг за другом - требумый файл будет в районе 4 Гб и в винде понятное дело он читаться не будет, будут просто данные. 2) как залить его на SD без форматирования последней в FAT32 ? вот как то так, может кто нибудь знает или посоветует где искать и , возможно, что искать) заранее спасибо
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: SD + AVR

Сообщение Kavka »

1) Есть библиотеки для работы с файловыми системами.
2) Если файлы у вас называются 0001.wav и т.д. , то достаточно иметь счётчик... а библиотеку ФС просить открыть файл с нужным именем.
3) Не могу удержаться, напишу с юмором... Судя по тому, что вы не знаете как залить файл на носитель без файловой системы, то вы, осмелюсь предположить, достаточно хорошо не_знаете/не_видели/не_работали под unix/linux/bsd... :) Посему советую ознакомиться с одной программой входящей во все дистрибутивы (хотя могут быть и исключения). Эта программа имеет очень короткое и легко запоминающееся имя из 2-х букв (юниксоиды тут уже должны заулыбаться). Более того, эти две буквы одинаковые. И программа эта называется "dd". Есть порт под винды. Но не радуйтесь сильно - как была она консольной (без графического интерфейса), такой и осталась.
Можно, конечно, взять что- типа WinHex - но это не так весело. :)

ЗЫ: Точно, сессия... :))
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

Kavka писал(а):1) Есть библиотеки для работы с файловыми системами.
2) Если файлы у вас называются 0001.wav и т.д. , то достаточно иметь счётчик... а библиотеку ФС просить открыть файл с нужным именем.
3) Не могу удержаться, напишу с юмором... Судя по тому, что вы не знаете как залить файл на носитель без файловой системы, то вы, осмелюсь предположить, достаточно хорошо не_знаете/не_видели/не_работали под unix/linux/bsd... :) Посему советую ознакомиться с одной программой входящей во все дистрибутивы (хотя могут быть и исключения). Эта программа имеет очень короткое и легко запоминающееся имя из 2-х букв (юниксоиды тут уже должны заулыбаться). Более того, эти две буквы одинаковые. И программа эта называется "dd". Есть порт под винды. Но не радуйтесь сильно - как была она консольной (без графического интерфейса), такой и осталась.
Можно, конечно, взять что- типа WinHex - но это не так весело. :)

ЗЫ: Точно, сессия... :))

За своего рода совет спасибо, но не надо тут сарказм через слово, через букву даже ей Богу. Юмор Ваш понятен только Вам. Про сессию - я не понял - на кого вы намекали если честно.. А по сути - с чего мне линукс то знать, я его конечно не знаю и в галза не видел, потмоу что с какой стати мне для того чтобы флешку потрошить нужен линух ну вот скажите пож-та? Графический не графический - ну консоль я видал и не раз, не надо уж так то жестко, однако за совет спасибо , поищу. По поводу моей само собой нубской постановки вопроса - я занимаюсь avr-vb 3 недели, и программистом не разу не работал, так что уж извините.

Не принимайте близко к сердцу, не в гневе писал, просто я так общаюсь;)
С новым Годом кстати!! )
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: SD + AVR

Сообщение Kavka »

Всё нормально - без обид. Я же сразу предупредил, что с юмором буду писать. Извините, если получилось через чур саркастично.

Про линукс... Кто более-менее с юниксами знаком чуть больше чем просто пользователь, думаю, хоть раз да сталкивался с командочкой dd.
Юмор тут простой - кто знает про dd у того и не возникает вопроса как залить данные на не форматированный носитель.
Ну и dd есть практически в любом линуксе/юниксе, а под винду, как говориться, опять надо искать...

А про сессию... Сейчас сессия в ВУЗах, вот студенты и просят помощи на форумах, причём иногда массово :)
А ваш вопрос уж больно на студенческий смахивает. Извините, если не по адресу пришлось.

С Новым Годом!!!
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: SD + AVR

Сообщение Engineer_Keen »

Я бы написал программу которая эти файлы по одному кидает в МК через UART. МК в свою очередь перекидывает их на карточку, один за другим. Не нужно никакого FAT, только запоминаем начальный адрес/длину.
Недостатки:
-нужно писать программу для ПК (если опыт есть пишется за час)
-нужно писать прошивку для МК (если прошивка уже позволяет работать с карточкой, добавить работу с UART элементарно)
-файлы будут заливаться оооочень долго...
Хотя наверно не пойдет, я тут прикинул сколько 4 гига передаваться будут :(
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

1. FAT32 как-то ж работает даже на attiny45/85 - отчего бы у вас на atmega16 ей не работать?
2. если вы готовы к тому, чтобы заливать на флешку "сырые" данные - уж поименовать цифрами файлы и записать их без директорий на форматированную флешку для вас труда не составит наверняка, а реализация FAT32 для МК при этом может не иметь функций по сканированию каталогов и поиску файлов - ляпота!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

ARV писал(а):1. FAT32 как-то ж работает даже на attiny45/85 - отчего бы у вас на atmega16 ей не работать?
2. если вы готовы к тому, чтобы заливать на флешку "сырые" данные - уж поименовать цифрами файлы и записать их без директорий на форматированную флешку для вас труда не составит наверняка, а реализация FAT32 для МК при этом может не иметь функций по сканированию каталогов и поиску файлов - ляпота!

c FAT 32 есть ряд сложностей на дальнейшей стадии проекта, поэтому от него уже отказался(не от проекта :)). Сейчас вот ищу как элементарно залить на SD карту с компа данные в сыром виде. Флешка не отфоматирована. Просто к примеру взять wav файл, залить в самое начало - и тупо по блокам считать инфу, отправить по уарт и посмотреть то что надо пришло или нет - это типа теста будет. А вообще надо будет залить такую инфу на SD : в начало сведения о длине каждого файла для быстрого доступа к ним, потом один txt файл для нужд проекта, потом подряд все вавки. Соответственно минимум действий - открыть txt и все вавки, запомнить длину. Далее - создать файл куда будет записана эта длина. В конце - запись этого файла, txt дял нужд проекта, всех вавок. Вот ищу библиотеку под это дело, если знаете где найти буду благодарен
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

ARV писал(а):простые пути - не для нас...

а что по вашему запись на флеш карту в сыром виде -не сложность?) ну раз так укажите программу или алгоритм раз так все просто
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

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

Мой уютный бложик... заходите!
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

понял теперь)
в общем если кто подскажет как в виндах это организовать, юуду благодарен за помощь
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

можно сделать так: создать один файл, который все-все-все ваши данные вмещает в нужном порядке, затем записать его на свежеотформатированную флешку. а читать его путем обращения к флешке, как к обычной SPI-памяти: вычислить нужный адрес, зная размер сектора, число секторов под ФАТ и прочие служебные области - и вперед! единственный файл будет начинаться с первого доступного для данных сектора диска и далее по порядку будет записан последовательно. тогда и с сырой записью не надо париться, и с фатом тоже не надо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

ARV писал(а):можно сделать так: создать один файл, который все-все-все ваши данные вмещает в нужном порядке, затем записать его на свежеотформатированную флешку. а читать его путем обращения к флешке, как к обычной SPI-памяти: вычислить нужный адрес, зная размер сектора, число секторов под ФАТ и прочие служебные области - и вперед! единственный файл будет начинаться с первого доступного для данных сектора диска и далее по порядку будет записан последовательно. тогда и с сырой записью не надо париться, и с фатом тоже не надо...

и как вы это себе представляете? напомню- в рамках проекта нужно обратиться в какой то момент времени к определенному wav файлу, - то есть считать его и передать на DAC. если все будет лежать одним файлом , то нужно в этот файл еще запихнуть скоко то байт указывающие где какой файл лежит и сколько он занимает, чтобы потом прочитав эти данные скакнуть к конкретному блоку флешки и начать двигаться согласно инфе о длине файла. Тут придется по любому поключать библиотеки поп FAT (а мне бы с SD-ными разобраться еще бы успеть.. )). хотя.. может и не надо ничего, а просто считав эти начальные байты с длинами - в начале file data , сразу обращаться к нужному сектору через SD библиотеку.. если так можно то было бы замечательно. И последний помент - чтобы соединить все файлы в один (кстати как вариант это тоже рассматривалось) - да еще впихнуть в начало байты с длинами- нужно проделать почти весь путь из " запись в сыром виде", а потом еще и разбираться в служебных байтах FAT - в общем пока неясно как то это всё.. Подытожу чтобы было яснее -
1)в вашем случае ннеобходимо ли будет пользоваться FAT библиотеками или достаточно SD библиотеки?

это раз и второе

2)как посчитать длины и запихнуть эту инфу+wav в один файл - тоже интересно(вавок больше чем на 4 гб будет кстати)
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: SD + AVR

Сообщение BCluster »

Если у вас не будет файловой системы - это ничем не будет отличаться от того что вам посоветовал уважаемый ARV. Где то надо будет хранить адреса файлов в любом случае. А это уже почти файловая система. Поэтому берите готовую и не морочьте себе голову. А данные в ЦАП как у вас передаваться будут?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

HeLiO писал(а):1)в вашем случае ннеобходимо ли будет пользоваться FAT библиотеками или достаточно SD библиотеки?
извиняюсь, - не в нашем, а в вашем :))) я, как уже говорил, узал бы фат в полный рост и не жужжал.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: SD + AVR

Сообщение HHIMERA »

Да он просто измором берёт, чтобы за него кто сделал, но сам никаких усилий приложить не хочет.
"Я не даю готовых решений, я заставляю думать!"(С)
HeLiO
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн дек 27, 2010 14:37:38

Re: SD + AVR

Сообщение HeLiO »

HHIMERA писал(а):Да он просто измором берёт, чтобы за него кто сделал, но сам никаких усилий приложить не хочет.

внимательно читайте собсвенно вопросы, а потом уже делайте выводы.

собственно сам уже во всеми разобрался порывшись по другим форумам. Совета дали дельных два - как раз этого не дали тут, и не надо говорить что я измором тут пытаюст что то добиться.
вот советы : 1) запись в флешку - win apiю 2) своя фат под нужды проекта - не объясняли какуя просто рассказали почему FAT 32 не нужна. Всё. Далее создаю свою файлосистему - а почему тут нужно создавать свою а не пользоваться FAT уже рассказывать нет смысла хотя момент интересный и в плане оптимизации работы системы своя ФАТ лучше - далее просто пишу файлы прямо в сектора SD карты, а потом благодаря нужной организации таблицыв бстро всё вычитываю. Отдельные сложности с записью стиранием файлов, но они решаемы и пчти уже решены.
Вообще то непонятен мне Ваш настрой если честно. Вот к примеру зайдет человек - увидит что у него проблема похожая, ичто он вынесет из темы? - да ничего. только то что я сам до всего "догнал" ,а вынести что то полезное не сможет. Я многово не знал, но благодаря добрым людям с других форумов, быстрее р азобрался в теме, и смог сам принять нужное решение - а этого я собственно ждал в первую очередь от этого форума.. ну ладно , пойду спать, задолбался сегодня работать)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: SD + AVR

Сообщение ARV »

HeLiO писал(а):Вообще то непонятен мне Ваш настрой если честно. Вот к примеру зайдет человек - увидит что у него проблема похожая, ичто он вынесет из темы? - да ничего. только то что я сам до всего "догнал" ,а вынести что то полезное не сможет. Я многово не знал, но благодаря добрым людям с других форумов, быстрее р азобрался в теме, и смог сам принять нужное решение - а этого я собственно ждал в первую очередь от этого форума.. ну ладно , пойду спать, задолбался сегодня работать)

1. если вы не выложите свои достижения здесь, то вновь зашедший сюда действительно ничего не почерпнет.
2. понятие доброты разное. я не понимаю доброту, уводящую в проблемы. если лично вам такая помощь пришлась по душе - вы уникум, а остальным хочется попроще и полегче. поэтому ваше желание вместо готовых библиотек для работы с ФАТ32 написать: а)свою фат; б) библиотеки для работы со своей фат; в) приложение для записи на флешку данных в формате вашей фат, - желание это понятно, но кроме недоумения ничего не вызывает.

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

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

Мой уютный бложик... заходите!
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: SD + AVR

Сообщение BCluster »

вот советы : 1) запись в флешку - win apiю 2) своя фат под нужды проекта - не объясняли какуя просто рассказали почему FAT 32 не нужна.


А вы нам расскажите на досуге если не трудно, какие же преимущества у вашей файловой системы перед поганой фат32 (:
Ибо потому что вы описали (может на других форумах вы написали побольше, да поконкретнее) там своя фат нафиг не нужна.
Аватара пользователя
Morse
Встал на лапы
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Re: SD + AVR

Сообщение Morse »

Извиняюсь что немного не по теме, но не ткнёт ли кто пальцем в грамотно и доходчиво изложенное описание для FAT32. Желательно на русском языке. Надо сохранять собранные данные в устройстве на SD с объёмом 4ГБ или более. Сейчас пока только разбираюсь с задачей и прикидываю варианты, использовать FAT32 или громоздить свою файловую систему.

Всех с наступающим. Это наш год, год кота.
Моя родина Советский Союз.
Закрыто

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