Например TDA7294

Форум РадиоКот • Просмотр темы - Petit FatFs & воспроизведение wav файла
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 13:49:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вс янв 22, 2017 13:09:13 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
здравствуйте
не получается открыть файл
код
Спойлер
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>

#include "lcd_lib.h"
//----------
#include <stdio.h>   //  для ф-ции sprintf();
//----------
//----------
#include "diskio.h"
#include "integer.h"
#include "pff.h"
#include "pffconf.h"


FATFS fs;
const char f[] = "casablanca.wav";


#define LED_ON  (PORTC|=(1<<0))
#define LED_OFF (PORTC&=~(1<<0))


int main (void){

   DDRC=0b00000001;
//----------
   LCD_init();     // инициализация LCD
//----------
   ACSR = 0x80;    // Analog Comparator Disable
//----------
   sei();          // Global enable interrupts
//----------


   if(disk_initialize(0)==RES_OK) LCD_SendString("INIT mSD OK");
   else                           LCD_SendString("INIT mSD ERR");

   _delay_ms(3000);
   LCD_Clear();

   if( pf_mount(&fs) == RES_OK )  LCD_SendString("Mount OK");
   else                           LCD_SendString("Mount ERR");

   _delay_ms(3000);
   LCD_Clear();

   if(pf_open(f) == RES_OK) LCD_SendString("File is OPENED");
   else                     LCD_SendString("File not OPENED");

   while(1){



   }


}

инициализация и монтирование происходят успешно
подскажите где может быть ошибка

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вс янв 22, 2017 13:19:01 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс фев 20, 2011 21:05:17
Сообщений: 52
Рейтинг сообщения: 0
Если монтирование успешно, то, возможно, виновато имя файла. Оно слишком длинное для FAT (если не включен LFN). Можно попробовать что-то вроде CASABL~1.WAV.

Да и вообще, FRESULT неплохо бы получать при открытии файла, тогда бы понятно было в чём проблема.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 12:20:49 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
переименовал файл 1.wav
Спойлер
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>

#include "lcd_lib.h"
//----------
#include <stdio.h>   //  для ф-ции sprintf();
//----------
//----------
#include "diskio.h"
#include "integer.h"
#include "pff.h"
#include "pffconf.h"


FATFS fs;
const char file_name[] = "1.wav";
BYTE buff[16];


#define LED_ON  (PORTC|=(1<<0))
#define LED_OFF (PORTC&=~(1<<0))


int main (void){

   DDRC=0b00000001;
//----------
   LCD_init();     // инициализация LCD
//----------
   ACSR = 0x80;    // Analog Comparator Disable
//----------
   sei();          // Global enable interrupts
//----------


   if( disk_initialize(0) == RES_OK ) LCD_SendString("INIT mSD OK");
   else                               LCD_SendString("INIT mSD ERR");

   _delay_ms(3000);
   LCD_Clear();

   if( pf_mount(&fs) == RES_OK )  LCD_SendString("Mount OK");
   else                           LCD_SendString("Mount ERR");

   _delay_ms(3000);
   LCD_Clear();

   if      ( pf_open(file_name) == RES_OK )         LCD_SendString("File is OPENED");
   else if ( pf_open(file_name) == FR_NO_FILE )     LCD_SendString("FR_NO_FILE");
   else if ( pf_open(file_name) == FR_DISK_ERR )    LCD_SendString("FR_DISK_ERR");
   else if ( pf_open(file_name) == FR_NOT_ENABLED ) LCD_SendString("FR_NOT_ENABLED");

   while(1){



   }


}

ф-ция возвращает FR_NO_FILE
этот же файл открывал в другом проэкте где используется либа FatFs
опытным путем выяснил что файл в ней открывается успешно при длине имени не более 8 символов
куда копать дальше ?
неужто баг в библиотеке ?

_________________
Tell Me The Truth


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 14:00:30 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
FreshMan писал(а):
открывается успешно при длине имени не более 8 символов
куда копать дальше ?
А "1.wav" разве содержит более 8 символов ?


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 14:13:14 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
нет
но тем не мение файл не открывается

_________________
Tell Me The Truth


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 14:26:48 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс фев 20, 2011 21:05:17
Сообщений: 52
Рейтинг сообщения: 0
Попробуйте получить список файлов (http://elm-chan.org/fsw/ff/pf/readdir.html), может что-то вырисуется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 15:01:08 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
FreshMan писал(а):
но тем не мение файл не открывается
Что-то Вы запутались. И нас тоже путаете.
Сначала Вы пишите, что файл открывается если имя меньше 8 символов, потом сразу же пишите, что он совсем не открывается.
Дак открывается он или нет ?
8 символов - это максимальная длина файла при отключенной поддержки LNF. Плюс 3 символа на расширение.

ЗЫ: Попробуйте, как и писали выше, пройтись поиском и вывести все имена на дисплей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 23, 2017 15:32:02 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
у вас неверно сделана обработка ошибки: функцию надо вызывать один раз и запоминать код возврата, который затем анализировать.
Код:
switch(pf_open(file_name)){
case RES_OK: LCD_SendString("File is OPENED"); break;
case FR_NO_FILE: LCD_SendString("FR_NO_FILE"); break;
// и т.д.
}

ну и есть небольшое подозрение, что надо задать рабочий каталог, ибо указание имени файла без указания пути, возможно, и дает указанную вами проблему. сделайте аналог DOS-овской команды "cd \" перед тем, как открывать файл в корне флешки...

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 24, 2017 13:28:33 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
sporeon писал(а):
Сначала Вы пишите, что файл открывается если имя меньше 8 символов, потом сразу же пишите, что он совсем не открывается.
Дак открывается он или нет ?

есть два проэкта
в первом используется либа FatFs
в этом проэкте файл 1.wav открывается без проблем
лежит он в корне, не в папке, а в коне диска
во втором используется либа Petit FatFs
файл здесь 1.wav не открывается
лежит он тоже в корне диска

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Чт янв 26, 2017 11:52:41 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
предполагаю что ошибка сокрыта где-то в либе
на просторах инете нашол допиленную чановскую Petit FatFs
с ней пока трабл нет


Вложения:
Petit FatFs.rar [17.35 KiB]
Скачиваний: 185

_________________
Tell Me The Truth
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Пн янв 30, 2017 22:29:49 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
возник вопрос по настройке таймеров
Т0(8-ми разрядный) настраиваю на частоту дискретизации 32кГц
тоесть это та частота с которой будут обновляться значения ШИМ
Т1(16-ти разрядный) использую под сам ШИМ
на какую частоту надо настраивать Т1 ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 06:48:25 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
FreshMan писал(а):
на какую частоту надо настраивать Т1 ?
чем выше, тем лучше, будет проще отфильтровать. но при любом раскладе не ниже частоты Т0.

мне ваш подход представляется бессмысленно-избыточным: 32 кГц дискретизация явно ни к чему, если ШИМ будет 8-битный. качество ШИМ-модулированного сигнала определяется не только частотой дискретизации, но и разрядностью ШИМ.

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 08:44:32 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
мне ваш подход представляется бессмысленно-избыточным:

почему ?
частоту дискретизации выбираю оглядываясь на теорему Котельникова
мы слышим в диапазоне 20 - 20000Гц
как я понимаю, в таком случае частота дискретизации должна быть 40кГц
но мне ее из AVR не выжать
ШИМ будет 16 разрядный, потому как при 8 разрядном слышны заментые шумы в паузах
поправте если где-то заблуждаюсь :)

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 08:53:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
FreshMan писал(а):
поправте если где-то заблуждаюсь
ок.
16-битный ШИМ - это значит, частота будет в 65536 раз меньше тактовой частоты МК. AVR работают на 16МГц максимум, следовательно, частота ШИМ у вас будет не более 244 Гц. по теореме Котельникова вы сможете получить сигнал не более 122 Гц...

всё верно?

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 09:04:41 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
16-битный ШИМ

да, но он будет не на дискретизации а на разрядности
тоесть, Т0 - 8 разрядный - используется под дискретизацию, выборку сигнала
Т1 - 16 разрядный - под разрядность, тоесть он будет определять количество уровней сигнала
вы меня понимаете ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 09:49:54 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
FreshMan писал(а):
вы меня понимаете ?
я-то понимаю, а вот вы, похоже, не понимаете принцип ШИМ-генерации звука...

частота дискретизации у вас определяется частотой ШИМ, т.к. именно импульс ШИМ является аналогом "отсчета" сигнала. пока один период ШИМ не отработает, вы не сможете выдать новый отсчет, поэтому задавать частоту дискретизации БОЛЬШЕ частоты ШИМа - бессмысленно. меньше - можно, выше - нет.

отсюда и плясать

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 12:05:00 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
тогда я не пойму как правельно настроить таймера ?
выходит при 16 разрядном шиме это сделать не возможно ?

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 12:16:04 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Зачем вам 16-ти битный звук ? Вы что, собрались Бетховена слушать на Hi-End аппаратуре ? :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 12:41:46 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
когда конвертором делаеш 8 бит, 32кГц - в паузах слышен заметный шум
при 16 бит, 32кГц шума нет

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
СообщениеДобавлено: Вт янв 31, 2017 13:01:22 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
FreshMan писал(а):
тогда я не пойму как правельно настроить таймера ?
выходит при 16 разрядном шиме это сделать не возможно ?

в реализации на AVR - да, 16-битный звук в "привычном" понимании невозможно реализовать. не считать же трансформатороное гудение звуком?

метод расчетов параметров ШИМа в общих чертах выглядит примерно следующим образом.
1. изначально принимаем (смиряемся с фактом), что звук будет 8-битный.
2. разбираемся с частотой дискретизации. звук телефонного качества - это от 6 до 9 килосемплов в секунду, разумеется, чем больше, тем качественнее звук. по слухам при частоте 15-16 килосемплов звук имеет очень приличное качество, а при 32 - уже вполне адекватное FM-уровню. разумеется, рассуждения о качестве справедливы при "средних" уровнях громкости, т.к. тихие и громкие звуки при 8-битах - это скорее фантастика, чем реальность.
3. Если частота дискретизации совпадает с легкодостижимым значением частоты ШИМ (т.е. кратна деленной на 256 тактовой частоте МК, кратность совпадает с предделителями таймера), то выборки семплов можно делать по прерыванию переполнения таймера, генерирующего ШИМ. в противном случае надо использовать другой таймер для выбора семплов.

общие рассуждения.
частоту ШИМ следует выбирать максимально возможной, не обращая внимание на частоту дискретизации, т.к. потом эту частоту надо срезать фильтром. чем выше частота, тем проще фильтр.
существуют методы маскирования низкой разрядности такого звука, но это, как говорится, уже вопрос больше к ушам слушающего, чем к реальному качеству.

Добавлено after 38 seconds:
FreshMan писал(а):
когда конвертором делаеш 8 бит, 32кГц - в паузах слышен заметный шум
при 16 бит, 32кГц шума нет

это вы на своей аудиокарте компьютера слушали, или реально из AVR выжимали? ;)

Добавлено after 11 minutes 52 seconds:
вот, нашел у себя синтезированный на AVR 8-битный звук, можете послушать реальное качество (звук синтезирован протеусом с простейшим RC-фильтром). т.к. wav-запрещено - файл просто переименован - удалите расширение zip и слушайте.


Вложения:
snd.WAV.zip [301.51 KiB]
Скачиваний: 445

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

Мой уютный бложик... заходите!
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y