ci para falar as cooerdenadas com pic[RESOLVIDO]

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor Vonnilmam » 18 Fev 2010 13:25

MEU DEUS<


Eu aconselho o cristian a basear seus testes em memórias paralelas por causa da velocidade....VELOCIDADE:

As memórias seriais do tipo 24lc são lentas demais para quando se fala em leitura de dados...por esse motivo vc não esta conseguindo reproduzir waves com maior qualidade...

Sei lá é minha opnião...

Quanto ao formato .snd e pcm é o mais aconselhavel do que vc gravar diretamente o .wav diretamente na memória por que aí vc estará gravando também o protocolo do windows...
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor msamsoniuk » 18 Fev 2010 14:33

mas audio de 8KHz x 8 bits requer uma banda de apenas 64kbit/s... essas memorias SPI sera que nao aguentam o tranco? acho que conseguem algo na faixa de Mbit/s hein... soh tem mesmo eh q estruturar direito o software, senao nao funciona!

Vonnilmam escreveu:MEU DEUS<


Eu aconselho o cristian a basear seus testes em memórias paralelas por causa da velocidade....VELOCIDADE:

As memórias seriais do tipo 24lc são lentas demais para quando se fala em leitura de dados...por esse motivo vc não esta conseguindo reproduzir waves com maior qualidade...

Sei lá é minha opnião...

Quanto ao formato .snd e pcm é o mais aconselhavel do que vc gravar diretamente o .wav diretamente na memória por que aí vc estará gravando também o protocolo do windows...
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor cristian » 18 Fev 2010 14:58

galera ainda estou lutando aqui

o problema esta sendo o tempo de leitura da memoria coloquei um led n ainterrupçao e outro no leitura da memoria sem leitura a int ocorre em exatos 122us ...com a rotina de leitura este valor vai para 280us .... é onde esta o problema

sisceramente achei q fosse mais facil.

estou fazendo uma loucura aqui tentando utilizar um sdcard pois o tempo de leitura é maior
ja que conseguir o basico q foi fazer ele falar a 4khz

nao sei nao sei nao sei nao sei ....tudo pra mim é mais complicado


ja estou querendo ate pagar a alguem pra mim dar estas rotinas prontas ....
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor barboza » 18 Fev 2010 15:02

cristian escreveu:galera ainda estou lutando aqui

o problema esta sendo o tempo de leitura da memoria coloquei um led n ainterrupçao e outro no leitura da memoria sem leitura a int ocorre em exatos 122us ...com a rotina de leitura este valor vai para 280us .... é onde esta o problema

sisceramente achei q fosse mais facil.

estou fazendo uma loucura aqui tentando utilizar um sdcard pois o tempo de leitura é maior
ja que conseguir o basico q foi fazer ele falar a 4khz

nao sei nao sei nao sei nao sei ....tudo pra mim é mais complicado


ja estou querendo ate pagar a alguem pra mim dar estas rotinas prontas ....



Como o tempo da int pode mudar com ou sem as funções de leitura?
Você esta desligando a int para ler?
Você testou o código que enviei?
Audio a 4KHz de amostragem a qualidade vai ficar a desejar...
AS rotinas I2C usa hardware do mcu ou é loop de software?
Poste o que esta testando ai.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor cristian » 18 Fev 2010 15:44

BARBOSA eu deixei so a int funcionando e medir o tempo entre uma interrupçao e outra tenho um frequencimetro e achei o valor de 256us o q dar a cada int 128us

ai fui medir o tempo de leitura da memroia chegava a 170us


agora mudei para o MIKROC e funcionou no tempo certo entao a rotina de tratamernto do i2c do ccs esta com bugs

...com o cartao sd nao conseguir converter os arquivos para o pic ler , como la so abro textos salvei a tabela em ascii no cartao e fui lendo pra depois transformar em hex ...mas nao sei o q deu errado ...

ai decidir colocar a memoria no mikorc e fucninou ....

vou tentar com o cartao agora

vc pode me dar uma ideia de como fazer para ler direto um arquivo .wav ou pode ser ate com txt mesmo ....

estou tentando
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor vtrx » 18 Fev 2010 16:12

sisceramente achei q fosse mais facil.

Tudo pela primeira vez é assim mesmo,depois fica mamão com açucar..hehe.

ja estou querendo ate pagar a alguem pra mim dar estas rotinas prontas ....

Se toda vez que voce tiver um problema for pagar alguém,é melhor voce só revender um produto...
Não desita,só vai passar por isso uma vez!

agora mudei para o MIKROC e funcionou no tempo certo entao a rotina de tratamernto do i2c do ccs esta com bugs

Não vou encher o saco dizendo que esse tipo de circuito deve-se programar em ASM,pelo menos a rotina citada,sei que termos uma solução em C...,Claro.

mas audio de 8KHz x 8 bits requer uma banda de apenas 64kbit/s... essas memorias SPI sera que nao aguentam o tranco? acho que conseguem algo na faixa de Mbit/s hein... soh tem mesmo eh q estruturar direito o software, senao nao funciona!

Concordo.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor cristian » 19 Fev 2010 10:11

Bom galera as novidades ... ja funciona bem com 2R/R ate chegeui a colocar o pWM e funcionou mas baixou o sample rate ...esta lib do mikroc para dutycycle perde muito tempo , mas mesmo assim funcionou

estou tentando achar uma maneira de calcular o duty para jogar direto nos registradores e ate agora nada

pensei : pegar o valor de 8 bits testar os bits 0,1 pegar o resultado e jogar no ccpcon:4,5 , e zerar os bits0,1 do valor depois jogar no ccprl

sera que estou certo vou ter o duty com 8 bits certinho??

ja peguei o valor e jogeui direto no ccprl mas o som ficou rouco
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor barboza » 19 Fev 2010 10:19

cristian escreveu:Bom galera as novidades ... ja funciona bem com 2R/R ate chegeui a colocar o pWM e funcionou mas baixou o sample rate ...esta lib do mikroc para dutycycle perde muito tempo , mas mesmo assim funcionou

estou tentando achar uma maneira de calcular o duty para jogar direto nos registradores e ate agora nada

pensei : pegar o valor de 8 bits testar os bits 0,1 pegar o resultado e jogar no ccpcon:4,5 , e zerar os bits0,1 do valor depois jogar no ccprl

sera que estou certo vou ter o duty com 8 bits certinho??

ja peguei o valor e jogeui direto no ccprl mas o som ficou rouco



Bem, nos atualize com o que esta fazendo, senão não conseguimos acompanhar.
Ficou algumas perguntas sem resposta pra tras.
Conseguiu com I2C, SPI ou SD?
Que software esta usando? FIFO, 2 buffer ou outra opção?
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor cristian » 19 Fev 2010 10:27

Conseguiu com I2C, SPI ou SD?

R.I2C com mikroc

Que software esta usando? FIFO, 2 buffer ou outra opção?

R.lei direto da memoria e jogo no portd sem buffer

ligeui no canal PWM
atualizava com este comando o duty: PWM1_Set_Duty(dute);
onde dute é o valor lido da memoria ..mas esta instruçao aumenta o tempo do sample de 125us para 139us ...quero calcular o duty e fazer na mao e nao usar o PWM1_Set_Duty(dute);


estou desde ontem usnado o cartao SD resultados:
tentei fazer o pic ler o arquivo .wav direto pelo camando

Código: Selecionar todos
 Mmc_Fat_Assign("audio.wav",0x80); // Assign the file
 Mmc_Fat_Reset(&file_size);
 for(i=0; i<file_size; i++)
{
Mmc_Fat_Read(&character);
Uart1_Write(character);
}


mas nao leu, nao faz nada
exportei o hex do audio no formato txt ai consigo ler pélo mesmo codigo acima porem é em ascii nao em hex tipo 80 é o caractere '8'+'0' entao fiz isso :
d1=d1-0x30;d2=d2-0x30;//converte em init
dute=(d1*10)+d2;//valor convertido de ascii em decimal
mas ainda nao tive sucesso

estou usando o cartao no modo fat16 nao teria como ler direto o hex do audio ???
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor cristian » 19 Fev 2010 13:50

conseguir ler o cartao e tocar ...falta ajustar o tempo


ate+
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor vtrx » 19 Fev 2010 14:41

Excelente Cristian,viu como vale a pena?
Ja tive projetos que demoraram semanas,mas no final ficaram perfeitos,como disse,só apanhamos uma vez para aprender algo,depois é só alegria (suponho...).
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor cristian » 19 Fev 2010 14:46

cara eu tava fazendo um arrodeio enorme pra chegar onde queria ..nem interrupçao estou usando é so ler e tocar o sd é tao rapido com o som ta tocando rapido e afina a voz ...entao basta melhorar este tempo e pronto


ah ja com pwm viu ...mas tenho q qcertr o filtro corta muito as frequencias altas .... vou ajustando .........................

vcs ja viram o TDA1311 o que acham???

AGRADEÇO A TODOS VCS PELA AJUDA
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor barboza » 19 Fev 2010 15:02

cristian escreveu:cara eu tava fazendo um arrodeio enorme pra chegar onde queria ..nem interrupçao estou usando é so ler e tocar o sd é tao rapido com o som ta tocando rapido e afina a voz ...entao basta melhorar este tempo e pronto


ah ja com pwm viu ...mas tenho q qcertr o filtro corta muito as frequencias altas .... vou ajustando .........................

vcs ja viram o TDA1311 o que acham???

AGRADEÇO A TODOS VCS PELA AJUDA



Cara, com audio você deve usar int, pois o tempo de amostragem deve ser respeitado.

Neste caso, o ideal é usar um buffer intermediário entre o cartão e a int. Tente usar aquela idéia da FIFO que lhe passei.
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor Vonnilmam » 19 Fev 2010 22:48

oi cristian,


sim eu conheço o tda1311 é um dac de 16bits estereo para audio, eu utilizei muito esse dac...funciona muito bem e tem baixo nivel de ruido é fabricado pela philips.

eu estou implementando via software um drive para controlar esse dac num projeto novo que estamos desenvolvendo, eu e o blackmore, estamos tentando fazer uma bateria midi através de samples...

se vc puder me envia a rotina que utilizou para ler o sdcard...

se precisar de alguma ajuda quanto ao protocolo posso te enviar informações,
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial

Mensagempor cristian » 19 Fev 2010 22:52

OK Vonnilmam ..qual seu nome..rsrsr

deixa eu melhorar este ponto pois nao tava usando interrupçao e o som ta meio rouco ...amanha termino isso mas

onde vc comprou este tda

ok?
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

AnteriorPróximo

Voltar para PIC

Quem está online

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

cron

x