protocolo I2s

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

protocolo I2s

Mensagempor BolhaDigital » 05 Abr 2010 08:24

Eu tô me debatendo para implementar o protocolo i2s...

Alguém aí sabe como montar corretamente o frame desse protocolo,

No meu caso estou tentando fazer funcionar um DAC da philips TDA1311.

Eu tô fazendo o drive em assembler para agilizar as coisas...

O que tá acontecendo é que ainda não entendi direito, se alguém souber explicar eu agradeço,

muito obrigado,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor fabim » 05 Abr 2010 08:34

tio, c tem certeza mesmo que vai querer fazer o I2S via fw ?
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 BolhaDigital » 05 Abr 2010 09:23

oi fabim, tudo bem cara!

me perdõa a burrice, mas o que é fw?
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor Francesco » 05 Abr 2010 09:35

Significa Firmware.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor BolhaDigital » 05 Abr 2010 09:35

É o seguinte, eu fiz minha "batéra midi" e tô utilizando um DAC r2r, ficou beleza, tô usando um sample de 22.050hz....e um pic877a, num dá risada pô!

Então o "trem" é que eu queria entender melhor esse protocolo que a primeira vista parece ser bem simples, se alguém souber, veja se eu estou certo no raciocinio:

o buffer desse chip é de 16 bits e possui comandos, sendo clock, data e canal esquerdo/direito, pelo meu raciocinio a rotina ficaria assim:

- primeiro mantenho o pino de seleção de "canal" em nivel 0 (envia cn esquerdo)
- inicio o clock, sendo na primeira borda de subida mantenho o pino data em 1 ou 0 dependendo do dado que eu quero por no buffer do DAC...
- depois faço o mesmo para o canal direito.

Eu tô entendendo que é uma coisa mais ou menos parecida ou parecida mesmo com o envio de dados para um shift register, será que é isso mesmo?


Muito obrigado,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor fabim » 05 Abr 2010 09:47

firmwa = fw
hardware = hw

olha, vou ser sincero.. I2S não é complicado não.
Quero ver você dar conta de fazer tudo com um PICzinho.

olha só. imagina que quer tomar conta de uma I2S stereo, 16 bits, e a 22.050kshs.

Veja bem
16 * 2 * 22050 = 705600
Você acha que consegue gerar via FW uma SPI com exatos exatos exatos 705600 bits por segundo ? e ainda ficar fazendo latch com um pino a cada 16 bits ?

complicado né?rs


Abraços
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 BolhaDigital » 05 Abr 2010 09:57

Caramba, fabim não entendi bulhufas...

Como assim 705600 bits por segundo...

Bom eu imagino que eu tenho um DAC que contém um buffer de 16 bits estereo é só um DAC, eu acho que não preciso ficar em cima do DAC refrescando o buffer, certo?

Eu penso que só enviarei para o DAC a informação no tempo que eu desejar que no caso seria a cada 45u (1/22050), no meu caso especifico só utilizarei um canal (mono)...

Confesso que essa conta doida que vc fêz eu não entendi...

Muito obrigado,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor fabim » 05 Abr 2010 10:51

BolhaDigital escreveu:Caramba, fabim não entendi bulhufas...

Como assim 705600 bits por segundo...

Bom eu imagino que eu tenho um DAC que contém um buffer de 16 bits estereo é só um DAC, eu acho que não preciso ficar em cima do DAC refrescando o buffer, certo?

Eu penso que só enviarei para o DAC a informação no tempo que eu desejar que no caso seria a cada 45u (1/22050), no meu caso especifico só utilizarei um canal (mono)...

Confesso que essa conta doida que vc fêz eu não entendi...

Muito obrigado,


o titio. Veja só.
I2S, é um mesclado de SPI com LRclock.
Como ele funciona ?

Veja por exemplo a 16 bits stereo.

Se vai fazer um sample de 16 bits stereo em 22050 amostras por segundo. Qual é a velocidade de um clock "constante e sem parar para um DAC I2S" ?

Lembre-se bem, no tempo de 1/22050, eu envio 32 bits pois são 16 * 2...

ENTÃO, QUAL É O MEU bitRATE ?
Facil, 22050 samples de "2*16bits"
22050 samples * 32
= 705600 bits por segundo.

então você tem que enviar um BIT, setando o data e clock, a cada exatamente 1/705600... Pic da conta não mané...

Use um DAC de 16 bits da CIRRUS, ou se preferir, eu ja fiz e fica muitissimo bom, MCP4922. Configura o SPI do pic, um timer pra estourar a cada tempoX - (N *(8*(1/clock))uS. e pronto...

Abraços E desista, num da não, o pic num da conta.
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 BolhaDigital » 05 Abr 2010 11:13

valeu fabim, vc é o cara...
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20

Mensagempor fabim » 05 Abr 2010 11:16

hehehe, só pra atiçar.
tendeu porque parei com pic? e porque o proex me chingou tanto tempo pra eu poder parar ?

1° Arm em sua maioria é mais barato que pic
2° infinitamente mais rapido, e com mais perifericos
3° os 176X e os 23XX todos tem I2S in e out via hW...
4° sei lá, acho o arm bem mais simples que pic, o proex que o diga..

E da licensa, vou continuar o meu drive FTP para um cortexM3..
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 BolhaDigital » 05 Abr 2010 11:33

cara, por falar em arm.

eu baixei o eclipse e o gcc, instalei e aparentemente esta tudo correto...

me responde uma coisa!

Esse compilador e ide são os mais usados e são free de verdade?

Outra coisa, eu tô esquentando os motores para pegar no arm, me arruma aí uma rotininha basica tipo um pisca , para eu poder tentar entender de forma mais objetiva como inicializar esse treco...ainda não mexi em nada, já comprei kits e o caramba, tô com programas instalados e tudo mais, porém quero entender o maximo possível para poder por a mão na massa de fato, bom mexia com pic e pulou para arm, vc entende qual é o meu drama...nessa migração,

muito obrigado,
BolhaDigital
Bit
 
Mensagens: 47
Registrado em: 07 Mar 2010 12:20


Voltar para PIC

Quem está online

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

cron

x