• Nenhum resultado encontrado

Qualidade 3M Conecte-se com a

No documento Detector de Radiação com BPW34 (páginas 27-30)

Bretas

mm (Figuras 2 e 3). Esta placa integra todos os componentes essenciais para um leitor MP3 moderno: porta USB, suporte para um cartão MMC/SD, um display OLED monocromático, botões, entrada de linha e um DAC de áudio com saídas para fones. Todo o conjunto é alimentado pela porta USB. O programa pode ser arma-zenado numa memória FLASH NOR, que permite que a placa possa funcionar auto-nomamente. Durante a fase de desenvol-vimento o emulador XDS100 integrado garante a interface entre o PC e a placa.

O kit de iniciação [4] inclui um mini-CD com as ferramentas de software necessá-rias, neste caso, o Code Composer Studio V.4 com uma interface gráfica baseada no Eclipse. O sistema operacional em tempo real para o DSP e para a BIOS está também incluído neste CD.

Gerador clock/PLL

Gestão de energia Pinos de multiplexagem Interface JTAG

64 KB DARAM 256 KB SARAM 128 KB ROM

Recursos centrais de comutação (SCR) Entrada

clock

Acelerador de hardware FFT CPU DSP C55x Sistema DSP

BridgeLCD Display (x4)I S

2 I C2 SPI UART

Interfaces série

ADCSAR 10 bits App-Spec

USB 2.0 PHY (HS) Conectividade Periféricos

DMA(x4) Interligação

NAND, NOR, SRAM, mSDRAM

Armazenamento Programa/Dados

MMC/SD (x2) Sistema

GP Timer

RTC (x2) GP Timer

ou WD LDOs

Figura 1. diagrama de blocos do processador digital de sinal TMS320C5515.

Software

Como todos sabemos, um processador só pode ser tão bom quanto o software que exista para ele. Nos dias de hoje grande parte do esforço de desenvolvimento vai para o software de sistemas embarcados.

Neste aspecto, a melhor abordagem é reu-tilizar tanto quanto possível os componen-tes de software que já existem, para mini-mizar o tempo gasto no desenvolvimento.

O desenvolvimento de um bom algo-ritmo para a decodificação MP3 é uma tarefa nada trivial. Apesar de existirem diversos projetos semelhantes na Inter-net, possíveis de portar para um pro-cessador específico, com a ajuda de um compilador C, é sempre necessária investir bastante tempo na otimização do código, se quisermos tirar partido de todas as vantagens de um proces-sador. Caso contrário, o algoritmo vai usar bastantes recursos que poderiam ser evitados. Outra vantagem da otimi-zação é permitir reduzir a frequência de

clocks, que se traduz numa menor dis-sipação de potência.

Projeto MP3

A Texas Instruments oferece bastante suporte para quem desenvolve aplica-ções baseadas nos seus integrados. O algoritmo para MP3, por exemplo, pode ser baixado gratuitamente na forma de uma biblioteca de software [5] e utili-zado quase diretamente no projeto, uti-lizando uma API standard para chamar as diversas funções presentes na biblio-teca. Um stream de dados MP3 codifica-dos a 128 kbps necessita de mais de 20 milhões de ciclos de clock por segundo à amplitude máxima.

O algoritmo necessita também comuni-car-se com o dispositivo de onde provêm os dados e também com o dispositivo para onde estes devem seguir depois de deco-dificados. Neste caso, os dados provêm de um cartão SD, acessado pela unidade peri-férica integrada para a comunicação com

cartões MMC/SD. Também aqui pode ser utilizado software já existente. A biblio-teca Chip Support Library (CSL) [6] da Texas Instruments possui controladores para todos os periféricos integrados no DSP. Vem com código fonte completo, diversos exemplos e uma biblioteca já compilada. Esta biblioteca é integrada no projeto do mesmo modo que a biblioteca de decodificação.

Neste ponto, já conseguimos ler dados de um cartão SD utilizando a CSL e passá-los para o algoritmo de decodificação MP3.

Contudo, falta ainda saber a localização dos dados no cartão SD. Os dados são armazenados no cartão recorrendo a um sistema de arquivos composto por dire-tórios e arquivos. Os sistemas de arquivos mais comuns são os sistemas de alocação FAT16 e FAT32 e o NTFS (New Technology File System). Tem de existir algo entre o cartão e o decodificador para permitir acessar aos dados. Mais uma vez, não é preciso reinventar a roda. Existem

diver-Figura 2. A placa do kit de iniciação está equipada com todo o

hardware necessário para um leitor de MP3. Figura 3. o leitor de cartões MMC/Sd está colocado na parte de trás da placa.

Rua Eliza Ribeiro da Costa, 166 Bairro Família Andrade Santa Rita do Sapucaí - MG

(35) 3471-1211 [email protected]

www.cirvale.com.br sos softwares já escritos para efetuar esta

função, que podem ser encontradas facil-mente na Internet. Optamos pelo FATFs [7]. Este software foi escrito em C e, em teoria, pode rodar em qualquer proces-sador e trabalhar com qualquer disposi-tivo de armazenamento de dados (disco rígido, CD-ROM ou SD Card). O código vem com funções vazias que proporcio-nam uma grande flexibilidade de utiliza-ção. Estas funções terão de ser comple-tadas com o código correspondente ao hardware que vai ser utilizado. Neste pro-jeto é constituído por funções CSL para a

comunicação com o car-tão SD. No lado da apli-cação, o FATFs disponi-biliza um conjunto de funções de alto nível, como a Read File ‘test.

mp3’. O FATFs trans-forma esta função em chamadas para os ende-reços corretos e utiliza as funções da biblioteca CSL para iniciar a opera-ção de leitura do cartão SD. A aplicação passa, depois, os dados rece-bidos para o algoritmo de decodificação MP3.

Deste modo garante-se que os dados contidos no cartão SD são passa-dos para o algoritmo de decodificação de modo correto.

Sempre que o algoritmo decodifica um quadro, passam a existir 2 x 576 valores de 16 bits com informação áudio (no caso de um sinal esté-reo). Estes dados ficam disponíveis no buffer de saída prontos para o processamento pos-terior. Estes dados são enviados por uma inter-face I2S diretamente para a próxima etapa, neste caso um DAC TLV320AIC3204. Aqui a aplicação utiliza um controlador para todas as comunica-ções com este integrado. Estes controla-dores de baixo nível, muitas vezes desig-nados como mini-controlador, são utili-zados para simplificar a troca de dados no barramento I2S. Quando o buffer de dados fica vazio, significa que todos os dados já foram enviados via I2S para o DAC de áudio. Nesta hora a aplicação toma novamente controle do buffer e preenche-lo com novos dados. O objetivo é desacoplar a aplicação do controlador para o TLV320AIC3204, utilizando buffers Figura 5. Programação da memória FLASH NoR para o

funcionamento autônomo.

Figura 4. diagrama de blocos das componentes de software utilizadas no projeto.

para todas as comunicações de dados. A Figura 4 apresenta um diagrama de blo-cos com os componentes de software.

As modificações no sinal, após a deco-dificação, são muitas vezes desejáveis.

Também para isto existe uma biblioteca disponível: a TMS320C55x DSP Library [8]. Esta biblioteca contém muitos dos algoritmos utilizados normalmente no processamento de sinais de áudio, como por exemplo filtros adaptativos, transfor-madas FFT e funções matemáticas stan-dard. Se desejar simplesmente alterar o volume ou efetuar alguma alteração na resposta em frequência, como por exem-plo aumentar a intensidade dos graves, o TLV320AIC3204 pode fazê-lo. Possui fil-tros IIR e FIR integrados, que liberam o processador DSP deste tipo de tarefas. O DAC possui também uma PLL integrada para gerar a frequência de amostragem para o sinal de áudio. Os valores mais uti-lizados são 44,1 kHz e 48 kHz. O DAC de áudio utiliza este clock para gerar o clock de bit e de quadro para a interface I2S.

Deste modo o DSP pode funcionar a uma velocidade de clock diferente da frequên-cia de clock de amostragem.

A frequência de amostragem é conhecida após a decodificação do primeiro quadro do sinal MP3 e é ajustado por uma inter-face I2C para o DAC. A mesma interface I2C é utilizada para controlar o display OLED. Os dois botões são lidos através da entrada analógica do DSP em vez das portas GPIO. Estes botões são ligados em paralelo, fazendo com que seja suficiente apenas um pino para os ler.

No documento Detector de Radiação com BPW34 (páginas 27-30)

Documentos relacionados