Subsections

Plataforma

Como plataforma de desenvolvimento para o projeto estão sendo utilizados processadores da arquitetura Blackfin [1], mais especificamente um kit de desenvolvimento BF537-STAMP, da Analog Devices. Vários foram os motivos que levaram à escolha dessa plataforma. A família de processadores Blackfin é caracterizada por uma ótima funcionalidade DSP (Processamento Digital de Sinais), acompanhada de um microcontrolador RISC de baixo consumo.

Devido à boa performance do processador, ele consegue rodar vários sistemas operacionais, enquanto também é capaz de realizar tarefas numéricas complexas típicas de DSP. Existe, inclusive, uma versão do sistema uCLinux (Microcontroller Linux) disponível para a plataforma Blackfin, o que fornece ao desenvolvedor um ótimo suporte em termos de abstração de hardware e de bibliotecas, facilitando bastante o desenvolvimento.

uClinux

O uClinux (Microcontroller Linux) é uma variação do sistema operacional Linux, desenvolvido especialmente para sistema sem MMU4.1. A versão utilizada no projeto foi a 2009R1.1-RC4, a mais recente no início do projeto.

Um ponto muito interessante do uClinux é a presença da uClibc, a biblioteca padrão C para microcontroladores, já inclusa na distribuição. Além disso, existe uma vasta gama de aplicativos e uma boa documentação do sistema e da biblioteca, o que facilita sobremaneira a programação.

As peças chave do uClinux na realização do trabalho foram o subsistema de arquivos (VFS), a comunicação interprocessos, a pilha de rede, e a biblioteca padrão.

Blackfin

A Blackfin é uma plataforma facilmente utilizável, com processamento rápido, que possui todas as características desejadas para o projeto. Foram utilizados dois modelos da mesma família, o BF-537 STAMP e o BF-537 EZ-Kit Lite. O primeiro modelo utilizado foi o STAMP, mas logo foi substituido pelo EZ-Kit Lite, visto que aquele não possui um conversor analógico-digital, necessário captura do áudio.

Com o novo modelo, foi possível instalar e utilizar módulos do uClinux relativos a áudio, porém a captura não funcionou. Foram feitos diversos testes, inclusive com exemplos do próprio CD que acompanha o kit, e não obtivemos sucesso em nenhum destes. Assumimos que se tratava de um problema de hardware, e tendo em vista o pouco tempo disponível para a finalização do projeto, voltamos a utilizar o modelo da placa sem dispositivo de entrada de áudio e o escopo do projeto mudou de uma entrada capturada em tempo real para um arquivo previamente gravado e armazenado na placa.

João Paulo Pizani Flor 2010-07-12