DA de 16bits para fazer um tocador wave

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

DA de 16bits para fazer um tocador wave

Mensagempor cristian » 13 Mai 2010 11:08

achei numa palca aqui um ci de DA de 16bits e queria saber qual a real situaçao para se fazer um tocador de wave lendo o cartao SD ode estara as musicas

tipo assim

PIC ler cartao SD ---> manda para o ci q faz a conversao ...este ci tem um sample rate de ate 44khz

ja fiz o pic falar com 8khz e PWM queria ir mais longe ter uma qualidade melhor

estou usando o pic18f252 com 25mhz

e ai da certo ...lenbrando q o pic vai fazer varias outras coisas
Editado pela última vez por cristian em 13 Mai 2010 11:56, em um total de 2 vezes.
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor fabim » 13 Mai 2010 11:40

o Proex. me explicou uma vez. hehe

Que o MP3 é um formato de audio codificado, e comprimido. Onde são separadas varias bandas de audio, e jogada em tabelas XY. onde hoffman explica.
O problema é que um pic, pelo seuclock e emulaçao de palavra de 16 e 32 bits, perde um tempo enorme pra poder dar os resultados.

O mesmo é diferente para um processador de 32 bits, e de pelo menos uns 30mips reais!!..
Haja visto, que nao é um 2368 ou sei lá o que da NXP que vai conseguir..
Dias atras vi um projeto com um stelaris decodificando audio MP3-1,2,4"MP4".. ele tem 28 DMIPS e roda a 68mhz maximo..


MP3 é em base de header + N bytes, que compreendem frame de audio de 10mS..
Ele foi criado para tal fim, de não ser perder, e ter um tamanho bem reduzido.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor cristian » 13 Mai 2010 11:56

ah nemme toquei q coloquei MP3 estava falando de wave nao para musicas mas para frases tipo telefonista...secretaria eletronica


e ai tem como tocar a 44khz ou pelo menos 22khz
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor proex » 13 Mai 2010 11:59

Bá, isso é moleza então com PIC.

.
proex
Dword
 
Mensagens: 2101
Registrado em: 11 Out 2006 14:05
Localização: São Paulo

Mensagempor cristian » 13 Mai 2010 14:42

alguem poderia me dar uma direçao

ja tenho :

pic lendo arquivo wave a 8khz e mandando por pwm para um filtro simples
isso a 8 bits mono


agora quero a 22khz 16bits mono

entao o pic le o valor do sd a cada 125us e manda para o pwm

agora tem q ser 45.4us e mandar por serial .... vai dar tempo ?
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor Guri » 13 Mai 2010 22:37

caro cristian,


eu acho que é por isso que inventaram o I2S via hardware, dá uma olhada no dspic4013, ele tem esse driver interno, justamente para comandar um dac de audio...

eu acho melhor vc partir para um dspic com esse tipo de driver embutido, audio e video são coisas que exigem muita velocidade...entendeu,
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor Mersin » 05 Jun 2010 08:29

Oi Cristian,

Penso que tem jeito sim, porém, não tenho experiência em leitura de dados em cartão SD, mas tenho experiência em DA e SOM.

Você está usando um DA serial? qual o modelo? se for paralelo, pode utilizar de Shift Registers para montar o byte 16 bits e colocar no DA, se for serial, basta ler o Byte 16 bits e enviar bit-a-bit para ele.

Você tem esquema elétrico? quer ajuda no código?

Coloco-me a disposição para ajudar a desenvolver.

Grato!
Mersin
Mersin
Byte
 
Mensagens: 121
Registrado em: 22 Out 2006 13:07
Localização: Goiânia

Mensagempor cristian » 05 Jun 2010 23:08

sim preciso de ajuda ....


ja sei ler SD e o DA é serial


agora nao tenho mais detalhes mas amanha eu te passoo os dados
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor ivan braga » 06 Jun 2010 03:28

Olá cristian.

Quando estive tentando algo parecido com o que você precisa, me deparei com o seguinte problema.

A medida que a quantidade de arquivos ia crescendo dentro do cartão SD, este utilizando tanto o sitema fat32 como o fat16 começava a dar problema de sincronismo, pois fazia com que fosse necessario mais tempo para atualizar a lista de arquivos.

Não sei qual biblioteca você está usando, quando eu tentei usei a do CCS e foi com ele que tive este problema. Acho que implementando um buffer circular daria para resolver, mais não testei.

Solução. Gravei o que queria em setores específicos do cartão, e quando preciso leio direto sem usar as funções fat.

O camarada deste site tem uma ideia interessante para reprodução de uma wave a 16bits usando 2 pinos PWM, não testei por falta de tempo, mais acho que funciona. Se puder testa e dá um retorno.

http://www.k9spud.com/traxmod/pwmdac.php

Espero que ajude.

Ivan Braga
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."
Avatar do usuário
ivan braga
Nibble
 
Mensagens: 60
Registrado em: 15 Dez 2006 18:02
Localização: Rio de Janeiro

Mensagempor cristian » 06 Jun 2010 19:03

estou usando a lib do mikroc ... acho ela bem rapida
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x