SD + AVR
SD + AVR
Доброго времени суток, есть проблема.
схема включает в себя at mega 16 , sd карту > 4 Гб, GPS и плеер подключенный через DAC.
Нужно по определенным сигналам с GPS (неважно каким) загружать из карты звуковой файл и кидать его в плеер.
Вроде все просто - организовать на SD FAT32 , а потом считать нужный файл по сигналу и отправить в плеер.
На самом деле слдожности вознимают уже тут. Чтобы знать какой файл где находится надо считывать директории и файлы куда нибудь и потом , выбрав нужный файл начать считывание его адреса и уже собственно начать перекачку в плеер. но дело в том что эта инфа займет около 64 кб (файлов >2000) ,памяти катастрофически не хватит (SRAM) и ничего не получится. Возникла идея - поместить данные на карту в сыром формате одним куском , так чтобы считывая сектора SD карты один за другим мы бы двигались от 0001.wav до последнего. Здесь достаточно информации о длине файла и с пересчтетом на расположение данных в SD можно требуемый файл выцепить. Но вопрос в том как 1)Скомпоновать много аудио файлов в один файл друг за другом - требумый файл будет в районе 4 Гб и в винде понятное дело он читаться не будет, будут просто данные. 2) как залить его на SD без форматирования последней в FAT32 ? вот как то так, может кто нибудь знает или посоветует где искать и , возможно, что искать) заранее спасибо
схема включает в себя at mega 16 , sd карту > 4 Гб, GPS и плеер подключенный через DAC.
Нужно по определенным сигналам с GPS (неважно каким) загружать из карты звуковой файл и кидать его в плеер.
Вроде все просто - организовать на SD FAT32 , а потом считать нужный файл по сигналу и отправить в плеер.
На самом деле слдожности вознимают уже тут. Чтобы знать какой файл где находится надо считывать директории и файлы куда нибудь и потом , выбрав нужный файл начать считывание его адреса и уже собственно начать перекачку в плеер. но дело в том что эта инфа займет около 64 кб (файлов >2000) ,памяти катастрофически не хватит (SRAM) и ничего не получится. Возникла идея - поместить данные на карту в сыром формате одним куском , так чтобы считывая сектора SD карты один за другим мы бы двигались от 0001.wav до последнего. Здесь достаточно информации о длине файла и с пересчтетом на расположение данных в SD можно требуемый файл выцепить. Но вопрос в том как 1)Скомпоновать много аудио файлов в один файл друг за другом - требумый файл будет в районе 4 Гб и в винде понятное дело он читаться не будет, будут просто данные. 2) как залить его на SD без форматирования последней в FAT32 ? вот как то так, может кто нибудь знает или посоветует где искать и , возможно, что искать) заранее спасибо
Re: SD + AVR
1) Есть библиотеки для работы с файловыми системами.
2) Если файлы у вас называются 0001.wav и т.д. , то достаточно иметь счётчик... а библиотеку ФС просить открыть файл с нужным именем.
3) Не могу удержаться, напишу с юмором... Судя по тому, что вы не знаете как залить файл на носитель без файловой системы, то вы, осмелюсь предположить, достаточно хорошо не_знаете/не_видели/не_работали под unix/linux/bsd...
Посему советую ознакомиться с одной программой входящей во все дистрибутивы (хотя могут быть и исключения). Эта программа имеет очень короткое и легко запоминающееся имя из 2-х букв (юниксоиды тут уже должны заулыбаться). Более того, эти две буквы одинаковые. И программа эта называется "dd". Есть порт под винды. Но не радуйтесь сильно - как была она консольной (без графического интерфейса), такой и осталась.
Можно, конечно, взять что- типа WinHex - но это не так весело.
ЗЫ: Точно, сессия...
2) Если файлы у вас называются 0001.wav и т.д. , то достаточно иметь счётчик... а библиотеку ФС просить открыть файл с нужным именем.
3) Не могу удержаться, напишу с юмором... Судя по тому, что вы не знаете как залить файл на носитель без файловой системы, то вы, осмелюсь предположить, достаточно хорошо не_знаете/не_видели/не_работали под unix/linux/bsd...
Можно, конечно, взять что- типа WinHex - но это не так весело.
ЗЫ: Точно, сессия...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: SD + AVR
Kavka писал(а):1) Есть библиотеки для работы с файловыми системами.
2) Если файлы у вас называются 0001.wav и т.д. , то достаточно иметь счётчик... а библиотеку ФС просить открыть файл с нужным именем.
3) Не могу удержаться, напишу с юмором... Судя по тому, что вы не знаете как залить файл на носитель без файловой системы, то вы, осмелюсь предположить, достаточно хорошо не_знаете/не_видели/не_работали под unix/linux/bsd...Посему советую ознакомиться с одной программой входящей во все дистрибутивы (хотя могут быть и исключения). Эта программа имеет очень короткое и легко запоминающееся имя из 2-х букв (юниксоиды тут уже должны заулыбаться). Более того, эти две буквы одинаковые. И программа эта называется "dd". Есть порт под винды. Но не радуйтесь сильно - как была она консольной (без графического интерфейса), такой и осталась.
Можно, конечно, взять что- типа WinHex - но это не так весело.![]()
ЗЫ: Точно, сессия...
За своего рода совет спасибо, но не надо тут сарказм через слово, через букву даже ей Богу. Юмор Ваш понятен только Вам. Про сессию - я не понял - на кого вы намекали если честно.. А по сути - с чего мне линукс то знать, я его конечно не знаю и в галза не видел, потмоу что с какой стати мне для того чтобы флешку потрошить нужен линух ну вот скажите пож-та? Графический не графический - ну консоль я видал и не раз, не надо уж так то жестко, однако за совет спасибо , поищу. По поводу моей само собой нубской постановки вопроса - я занимаюсь avr-vb 3 недели, и программистом не разу не работал, так что уж извините.
Не принимайте близко к сердцу, не в гневе писал, просто я так общаюсь;)
С новым Годом кстати!! )
Re: SD + AVR
Всё нормально - без обид. Я же сразу предупредил, что с юмором буду писать. Извините, если получилось через чур саркастично.
Про линукс... Кто более-менее с юниксами знаком чуть больше чем просто пользователь, думаю, хоть раз да сталкивался с командочкой dd.
Юмор тут простой - кто знает про dd у того и не возникает вопроса как залить данные на не форматированный носитель.
Ну и dd есть практически в любом линуксе/юниксе, а под винду, как говориться, опять надо искать...
А про сессию... Сейчас сессия в ВУЗах, вот студенты и просят помощи на форумах, причём иногда массово
А ваш вопрос уж больно на студенческий смахивает. Извините, если не по адресу пришлось.
С Новым Годом!!!
Про линукс... Кто более-менее с юниксами знаком чуть больше чем просто пользователь, думаю, хоть раз да сталкивался с командочкой dd.
Юмор тут простой - кто знает про dd у того и не возникает вопроса как залить данные на не форматированный носитель.
Ну и dd есть практически в любом линуксе/юниксе, а под винду, как говориться, опять надо искать...
А про сессию... Сейчас сессия в ВУЗах, вот студенты и просят помощи на форумах, причём иногда массово
А ваш вопрос уж больно на студенческий смахивает. Извините, если не по адресу пришлось.
С Новым Годом!!!
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: SD + AVR
Я бы написал программу которая эти файлы по одному кидает в МК через UART. МК в свою очередь перекидывает их на карточку, один за другим. Не нужно никакого FAT, только запоминаем начальный адрес/длину.
Недостатки:
-нужно писать программу для ПК (если опыт есть пишется за час)
-нужно писать прошивку для МК (если прошивка уже позволяет работать с карточкой, добавить работу с UART элементарно)
-файлы будут заливаться оооочень долго...
Хотя наверно не пойдет, я тут прикинул сколько 4 гига передаваться будут
Недостатки:
-нужно писать программу для ПК (если опыт есть пишется за час)
-нужно писать прошивку для МК (если прошивка уже позволяет работать с карточкой, добавить работу с UART элементарно)
-файлы будут заливаться оооочень долго...
Хотя наверно не пойдет, я тут прикинул сколько 4 гига передаваться будут
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
1. FAT32 как-то ж работает даже на attiny45/85 - отчего бы у вас на atmega16 ей не работать?
2. если вы готовы к тому, чтобы заливать на флешку "сырые" данные - уж поименовать цифрами файлы и записать их без директорий на форматированную флешку для вас труда не составит наверняка, а реализация FAT32 для МК при этом может не иметь функций по сканированию каталогов и поиску файлов - ляпота!
2. если вы готовы к тому, чтобы заливать на флешку "сырые" данные - уж поименовать цифрами файлы и записать их без директорий на форматированную флешку для вас труда не составит наверняка, а реализация FAT32 для МК при этом может не иметь функций по сканированию каталогов и поиску файлов - ляпота!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: SD + AVR
ARV писал(а):1. FAT32 как-то ж работает даже на attiny45/85 - отчего бы у вас на atmega16 ей не работать?
2. если вы готовы к тому, чтобы заливать на флешку "сырые" данные - уж поименовать цифрами файлы и записать их без директорий на форматированную флешку для вас труда не составит наверняка, а реализация FAT32 для МК при этом может не иметь функций по сканированию каталогов и поиску файлов - ляпота!
c FAT 32 есть ряд сложностей на дальнейшей стадии проекта, поэтому от него уже отказался(не от проекта
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
простые пути - не для нас...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: SD + AVR
ARV писал(а):простые пути - не для нас...
а что по вашему запись на флеш карту в сыром виде -не сложность?) ну раз так укажите программу или алгоритм раз так все просто
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
я как раз и говорю, что вам сложный путь милее... я бы юзал фат32
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: SD + AVR
понял теперь)
в общем если кто подскажет как в виндах это организовать, юуду благодарен за помощь
в общем если кто подскажет как в виндах это организовать, юуду благодарен за помощь
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
можно сделать так: создать один файл, который все-все-все ваши данные вмещает в нужном порядке, затем записать его на свежеотформатированную флешку. а читать его путем обращения к флешке, как к обычной SPI-памяти: вычислить нужный адрес, зная размер сектора, число секторов под ФАТ и прочие служебные области - и вперед! единственный файл будет начинаться с первого доступного для данных сектора диска и далее по порядку будет записан последовательно. тогда и с сырой записью не надо париться, и с фатом тоже не надо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: SD + AVR
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
Если у вас не будет файловой системы - это ничем не будет отличаться от того что вам посоветовал уважаемый ARV. Где то надо будет хранить адреса файлов в любом случае. А это уже почти файловая система. Поэтому берите готовую и не морочьте себе голову. А данные в ЦАП как у вас передаваться будут?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
извиняюсь, - не в нашем, а в вашемHeLiO писал(а):1)в вашем случае ннеобходимо ли будет пользоваться FAT библиотеками или достаточно SD библиотеки?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: SD + AVR
Да он просто измором берёт, чтобы за него кто сделал, но сам никаких усилий приложить не хочет.
"Я не даю готовых решений, я заставляю думать!"(С)
Re: SD + AVR
HHIMERA писал(а):Да он просто измором берёт, чтобы за него кто сделал, но сам никаких усилий приложить не хочет.
внимательно читайте собсвенно вопросы, а потом уже делайте выводы.
собственно сам уже во всеми разобрался порывшись по другим форумам. Совета дали дельных два - как раз этого не дали тут, и не надо говорить что я измором тут пытаюст что то добиться.
вот советы : 1) запись в флешку - win apiю 2) своя фат под нужды проекта - не объясняли какуя просто рассказали почему FAT 32 не нужна. Всё. Далее создаю свою файлосистему - а почему тут нужно создавать свою а не пользоваться FAT уже рассказывать нет смысла хотя момент интересный и в плане оптимизации работы системы своя ФАТ лучше - далее просто пишу файлы прямо в сектора SD карты, а потом благодаря нужной организации таблицыв бстро всё вычитываю. Отдельные сложности с записью стиранием файлов, но они решаемы и пчти уже решены.
Вообще то непонятен мне Ваш настрой если честно. Вот к примеру зайдет человек - увидит что у него проблема похожая, ичто он вынесет из темы? - да ничего. только то что я сам до всего "догнал" ,а вынести что то полезное не сможет. Я многово не знал, но благодаря добрым людям с других форумов, быстрее р азобрался в теме, и смог сам принять нужное решение - а этого я собственно ждал в первую очередь от этого форума.. ну ладно , пойду спать, задолбался сегодня работать)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: SD + AVR
HeLiO писал(а):Вообще то непонятен мне Ваш настрой если честно. Вот к примеру зайдет человек - увидит что у него проблема похожая, ичто он вынесет из темы? - да ничего. только то что я сам до всего "догнал" ,а вынести что то полезное не сможет. Я многово не знал, но благодаря добрым людям с других форумов, быстрее р азобрался в теме, и смог сам принять нужное решение - а этого я собственно ждал в первую очередь от этого форума.. ну ладно , пойду спать, задолбался сегодня работать)
1. если вы не выложите свои достижения здесь, то вновь зашедший сюда действительно ничего не почерпнет.
2. понятие доброты разное. я не понимаю доброту, уводящую в проблемы. если лично вам такая помощь пришлась по душе - вы уникум, а остальным хочется попроще и полегче. поэтому ваше желание вместо готовых библиотек для работы с ФАТ32 написать: а)свою фат; б) библиотеки для работы со своей фат; в) приложение для записи на флешку данных в формате вашей фат, - желание это понятно, но кроме недоумения ничего не вызывает.
вы приняли решение, которое вас удовлетворяет, самостоятельно, однако сомневаюсь, что оно является правильным и/или оптимальным для вашей задачи, хотя об этом не мне судить...
P.S. в конечном итоге вы пришли к тому, что я и другие вам и советовали, только почему-то теперь считаете, что это вас кто-то другой с других форумов надоумил...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: SD + AVR
вот советы : 1) запись в флешку - win apiю 2) своя фат под нужды проекта - не объясняли какуя просто рассказали почему FAT 32 не нужна.
А вы нам расскажите на досуге если не трудно, какие же преимущества у вашей файловой системы перед поганой фат32 (:
Ибо потому что вы описали (может на других форумах вы написали побольше, да поконкретнее) там своя фат нафиг не нужна.
Re: SD + AVR
Извиняюсь что немного не по теме, но не ткнёт ли кто пальцем в грамотно и доходчиво изложенное описание для FAT32. Желательно на русском языке. Надо сохранять собранные данные в устройстве на SD с объёмом 4ГБ или более. Сейчас пока только разбираюсь с задачей и прикидываю варианты, использовать FAT32 или громоздить свою файловую систему.
Всех с наступающим. Это наш год, год кота.
Всех с наступающим. Это наш год, год кота.
Моя родина Советский Союз.