Você está na página 1de 17

Universidade Federal do Paran

Departamento de Engenharia Eltrica Processamento Digital de Sinais Professor: Marcelo Rosa Aluno: Stefan Klaus Wolter

PROCESSADORES DE SINAIS DIGITAIS DSP

Junho de 2007

-1-

Sumrio
Parte I: O que um DSP................................................................. 3 1.1 1.2 1.3 A Histria dos DSP....................................................... 3 O que um DSP?........................................................ 4 Aplicaes para p DSP............................................... 1.3.1 Compresso e Descompresso de sinais........ 1.3.2 Filtros Digitais.................................................. 1.3.3 Equipamentos Eletrnicos............................... Parte II: Desenvolvimento de Projetos.......................................... Parte III: Viso Geral de um DSP.................................................. Parte IV: Exemplo de Aplicao.................................................... 5 5 6 7 8 9 14

4.1 Convoluo...................................................................... 15 Referncias..................................................................................... 17

-2-

Parte I: O que um DSP?


1.1. A histria dos DSP
O primeiro DSP a ser lanado no mercado foi o MAC 4 que surgiu no em 1979, fabricado pela Bell Labs, mediante a necessidade crescente do mercado de processadores especializados em processamento digital de sinais. Porm os DSPs ficaram populares quando a Texas Instruments (TI) lanou em 1983 o TMS32010, graas a inovadora ferramenta RTDX (Real Time Data Exchange) para processamento em tempo real dos sinais. Foi baseado na arquitetura Harvard, ento tinha dados de instrues separados dos dados de memria. Tambm j tinha um conjunto especial de funes, com instrues como carregar e acumular ou multiplicar e acumular. Trabalhava com nmeros de 16 bits e precisava de 390ns para calcular uma operao de multiplicao. A TI desde ento lider at hoje no mercado de DSPs. Mais tarde a Motorola tambm se tornara importante no desenvolvimento de DSPs com o lanamento do Motorola 56000. Por volta de 5 anos mais tarde comeou a surgir a segunda gerao de DSPs. Eles tinham 3 memrias para armazenar dois operandos simultaneamente e tinham incluso hardware para acelerar loops fechados e alguns j operavam com 24 bits. A operao multiplicar-acumular durava por volta de 21ns. O maior avano na terceira gerao foi o aumento na capacidade de processamento. Isso permitiu acelerao direta de hardware para problemas matemticos especficos e complexos, como transformada de Fourier e operaes de matrizes. Alguns chips at incluam mais de um processador trabalhando em paralelo. Isso por volta de 1995. A quarta gerao mais bem caracterizada pelas mudanas no conjunto de instrues e a instruo codificar/decodificar. Foram adicionadas as extenses SIMD (Single Instruction, Multiple Data) e MMX (MultiMedia eXtension or Multiple Math or

Matrix Math eXtension), VLIW (Very Long Instruction Word) e a arquitetura


superescalar apareceram. Como sempre a velocidade do clock tambm aumentou e uma operao de multiplicar e acumular passou a ser feita em 3ns. Os processadores de sinais atuais possuem uma performance muito maior. Isso graas os avanos na tecnologia e arquitetura como regras de design, fast-access two-level cache, circuito (E)DMA e um sistema bus maior. Claro que nem todos os DSPs provm a mesma velocidade e cada DSP existente melhor usado em uma aplicao especfica, custando de R$5,00 at R$800. Um C6000 da Texas Instruments

-3-

possui6 clock de 1GHz e capaz de fazer at 8000 MIPS (milhes de instrues por segundo)! Os pricipais fabricantes de DPS hoje so a Texas Instruments, a Motorola e a Analog Devices.

1.2. O que um DSP?


Os DSPs so microprocessadores com caractersticas prprias que podem ser programados e operam em tempo real, com velocidades muito superiores aos microprocessadores para aplicaes genricas. A capacidade de processar grandes quantidades de nmeros em pouco tempo um dos principais benefcios que os Processadores Digitais de Sinais oferecem ao mundo da eletrnica. DSP acima de tudo um dispositivo programvel, que detm seu prprio cdigo de instrues. Cada empresa que cria o seu processador cria tambm o seu ambiente de desenvolvimento (IDE) prprio para aquele tipo de chip, tornando dessa forma a manipulao do microprocessador muito mais fcil e rpida. Os DSPs foram projetados levando-se em considerao as operaes mais habituais em um processamento digital so as de adio, multiplicao e transferncia de memria, consecutivos. Para tal existem instrues de repetio que precedem tais operaes tomando possvel a execuo destas usando-se muitas vezes apenas um ciclo de memria. A capacidade de processamento em tempo real dos DSPs toma este processador perfeito para aplicaes onde o delay (tempo de resposta) no tolervel, como por exemplo em um telefone celular. A capacidade que os DSPs tm de repetir (com uma instruo prvia, por exemplo "RPT") em extrema velocidade uma instruo complexa (como por exemplo a "MPYA": "Multiply and Accumulate Previous Product") faz com que sejam rapidamente resolvidas, por exemplo, as Transformadas Rpidas de Fourier (FFT), permitindo a implementao de filtros digitais. Estes filtros so muito usados em telecomunicaes, por exemplo para decodificar a sinalizao (DTMF, MFC, etc). Um dos usos do DSP que chamaram a ateno da mdia foi a proposta do cancelamanto de rudos: atravs do sistema proposto um dispositivo captaria o rudo ambiente e geraria um "anti-rudo", com as ondas simtricas: a cada vale corresponderia um pico e vice-versa. Assim poderia se cancelar o rudo de um ambiente, por exemplo, dentro de um automvel.

-4-

Os DSPs ganharam popularidade na eletrnica de consumo em aparelhos como os teclados, que sintetizam os sons de diversos instrumentos, como por exemplo os rgo de tubos, o piano e o violo.

Figura 1: Exemplo simples de um processamento de sinal

1.3. Aplicaes para o DSP


A tecnologia DSP est presente atualmente em infinitos dispositivos como celulares, computadores multimdia, gravadores de vdeo, CD players, controladores de disco rgido, modems e televisores. Esta presente nas mais diversas reas, como militar, mdica, cientfica e automotiva.

1.3.1. Compresso e descompresso de sinais


Uma aplicao muito utilizada nos DSPs a compresso e decompresso de sinais. A compresso de sinal em banda usada larga escala em celulares, permitindo que um grande nmero de chamadas possa ser administrada simultaneamente por um nico aparelho. Outro exemplo bem caracterstico est presente em cmeras multimdia dos PCs, permitido que pessoas possam ver e transmitir imagens em tempo real pela internet. O uso dos DSPs associados a algoritmos de compresso permitiu a implementao de diversas tecnologias de CODECs. CoDec o acrnimo de Codificador/Decodificador, dispositivo de hardware ou software que codifica/decodifica sinais. Exemplos de chips DSP so o DSP542 e DSP549 fabricados pela Texas Instruments e usados pela CISCO Systems em seus gateways VoIP [CISCOCODEC1]. Cada CODEC prov certa qualidade de voz. A medida de qualidade da voz transmitida uma resposta subjetiva de um ouvinte. Uma medida comum usada para

-5-

determinar a qualidade do som produzido pelos CODECs especficos o MOS (Mean Opinion Score). Com o uso do MOS, um amplo range de ouvintes julgam a qualidade de uma amostra de voz (correspondendo a um CODEC particular) numa escala de 1 a 5. A partir desses resultados, calculada a mdia dos scores para atribuir o MOS para aquela amostra [CISCO-CODEC2]. Na tabela 1 so apresentados alguns scores MOS para os CODECs mais usados. Na Tabela 2 so descritos os scores MOS.

Mtodo de Compresso G.711 PCM G.726 ADPCM G.728 LD-CELP G.729 CS-ACELP G.729 x 2 Encodings G.729 x 3 Encodings G.729a CS-ACELP G.723.1 MP-MLQ G.723.1 ACELP

Bit Rate (kbit/s) 64 32 16 8 8 8 8 6.3 5.3

MOS Score 4.1 3.85 3.61 3.92 3.27 2.68 3.7 3.9 3.65

Delay (ms) 0.75 1 3 to 5 10 10 10 10 30 30

Tabela 1: Scores MOS de alguns CODEC's [CISCO-CODEC2]

Score 5 4 3 2 1

Definio Excelente Bom Razovel Pobre Ruim

Descrio Um sinal de voz perfeito gravado em um local silencioso Qualidade de uma chamada telefnica de longa distncia (PSTN) Requer algum esforo na escuta Fala de baixa qualidade e difcil de entender Fala no clara, quebrada Tabela 2: Scores MOS [UMSIS-MOS]

1.3.2. Filtros Digitais


No processamento de sinais o papel do filtro remover partes indesejveis do sinal, como rudos ou simplesmente extrair partes importantes do mesmo, como componentes de certa banda de freqncia. O filtro analgico utiliza circuitos eletrnicos analgicos feitos basicamente de resistores, capacitores e amplificadores operacionais. Muitos destes filtros so largamente usados em aplicaes como: reduo de rudo, realce de sinal de vdeo, equalizao grfica em sistemas hi-fi, entre outros.

-6-

Hoje em dia, entretanto, temos a preciso dos filtros digitais. Estes tipos de filtros utilizam um processador digital para realizar clculos numricos em cima de amostras de sinal. Atravs da entrada de um sinal analgico, um conversor analgicodigital (ADC) realiza a converso deste sinal para ser lido pelo DSP. Este ento fica encarregado de realizar os clculos necessrios para fazer a filtragem, multiplicando os valores da entrada por constantes e somando os produtos resultantes, alm de utilizar tcnicas matemticas, como Transformadas de Fourier e Hilbert. Caso seja necessrio, estes valores que agora representam o sinal filtrado, podem ser convertidos atravs de um conversor digital-analgico (DAC).

Figura 2: Esquema de configurao bsico de um filtro digital


Utilizar um filtro digital em DSP tem inmeras vantagens perante o filtro analgico. Entre elas est o fato dos filtros digitais serem programveis, ou seja, podese durante uma operao armazenar os dados na memria do processador, por exemplo. Os filtros analgicos, geralmente compostos por componentes ativos, esto sujeitos a variaes devido a alteraes de temperatura ou devido a outros componentes. Variaes cujos filtros digitais no esto sujeitos a sofrer, o que os tornam muito mais estveis. Em contraparte aos filtros analgicos, os filtros digitais suportam uma larga escala de trabalho em sinais de baixa freqncia. Com o avano da tecnologia dos DSPs a cada dia tem-se utilizado e aprimorado filtragens digitais tambm em alta freqncia, principalmente com ondas de rdio, que anteriormente s era realizada atravs da filtragem analgica. Outra caracterstica importante dos filtros digitais em DSPs a capacidade deste se adaptar automaticamente caracterstica de cada sinal, o que os torna muito mais versteis no processo de filtragem.

-7-

1.3.3. Equipamentos Eletrnicos


O uso de DSPs na fabricao de equipamentos eletrnicos hoje em dia muito grande. Vrios itens como celulares, equipamentos de laboratrio, automveis e computadores fazem parte do mundo DSP. Como anteriormente o DSP utilizado em larga escala na fabricao de telefones celulares, permitindo fluxo continuo das conversas, sem que haja interrupo do sinal enviado ou recebido em um determinado instante. Alguns automveis atualmente j dispem da tecnologia de processamento digital de sinais. Neste caso usa-se o microprocessador para gerar os mapas e rotas automaticamente, atravs do recebimento do sinal via GPS, bem como analisar seu consumo mdio de combustvel, gerenciar as estaes de radio digital, analisar as situaes onde o uso do air-bag se faz necessrio, entre outras finalidades. A fabricao de equipamentos eletrnicos utilizando a tecnologia DSP muito extensa. Hoje em dia para praticamente qualquer produto analgico existe seu equivalente digital.

Parte II: DESENVOLVIMENTO DE PROJETOS


Por ser um dispositivos programvel o DSP necessita de uma IDE prpria para o desenvolvimento de projetos. atravs das IDEs que so programados os DSPs. Em sua grande maioria estes trabalham com as principais linguagens de programao, como Assembly, C e C++. Cada fabricante fornece junto ao produto esta IDE de desenvolvimento que foi feita para trabalhar com as funes pr-definidas de cada DSP. Um IDE fornece o ambiente de trabalho necessrio para realizao de um projeto. Estes softwares so na verdade compiladores que trabalham ligados diretamente no DSP, gerenciando toda a execuo, simulao e depurao do cdigo. Como forma de ilustrao destes ambientes de desenvolvimento temos o IDE da Texas Instruments, o Code Composer Studio (CCP) e a IDE da Analog Devices, o visualDSP++. A realizao de um projeto envolve trs principais etapas: pesquisa, simulao e emulao. A pesquisa envolve basicamente o entendimento do problema, onde sero buscadas informaes se os dispositivo a ser utilizado envolve necessidade de clculos em ponto fixo ou em ponto flutuante.

-8-

Aps a etapa de pesquisa concretizada, parte-se para a etapa de simulao. Neste momento ocorrer a modelagem inicial do projeto, onde realizada as compilaes do cdigo bem como as modificaes e testes necessrios. Por fim temos a etapa de emulao, que envolve a realizao testes do projeto j dentro do seu ambiente de uso. Nesta parte o dispositivo submetido a anlises detalhadas, visando-se obter um equipamento o mais preciso possvel, que no apresente falha. Nesta fase que so corrigidos os bugs do programa. O DSP tem uma vantagem perante outros processadores, que neste caso a possibilidade de upgrade, sem que haja a necessidade da troca de equipamentos. Atravs da interface JTAG (Joint Test Action Group) pode-se a modificar qualquer momento o projeto.

Figura 3 exemplo de emuladores JTAG. (A) XDS560 PCI-BUSS JTAG SCAN_BASED EMULATOR (DSP8032U). (B) BLACKHAWK XDS560 USB EMULATOR (DSP11990U)

Parte III: VISO GERAL DE UM DSP


Para entender melhor como ocorre o processamento digital de sinais interessante analisar o que est por trs de um DSP, bem como as ferramentas e mecanismos que trabalham junto com o processador. Um DSP no funciona sozinho. Por trs do processador esto componentes importantes como registradores, unidades aritmticas lgicas (ALU), geradores de endereo e memria. O termo DSP pode tambm referenciar a placa onde se encontra o chip DSP juntamente com este grupo de mecanismos. No diagrama de blocos abaixo temos uma viso geral da formulao de uma placa de DSP. Composta por cinco blocos dominantes, os DSPs em sua maioria basicamente a mesma arquitetura: o processador principal (core processor), uma porta

-9-

SRAM, um emulador JTAG, uma porta para comunicao externa e um processador do tipo I/O, bem como seus componentes internos.

Figura 4- Diagrama de blocos de uma placa DSP

Dentro do core processor podemos encontrar subgrupos importantes. Os geradores de endereo (DAG) so responsveis por fornecer um endereamento imediato entre a memria e os registradores. As unidades Aritmticas Lgicas (ALU) realizam operaes aritimticas e lgicas, podendo estas serem em ponto fixo ou em ponto flutuante. A maioria das placas de DSP contam com um timer programvel, que poder ser usado para realizar interrupes peridicas, bem como ativar funes ou rotinas a cada novo ciclo. As unidades de DMA ( Direct Memory Access) podem operar de forma independente e invisvel ao processador principal. Alm de ser importante na comunicao entre a memria interna e as portas seriais ou link ports, o DMA pode ser usado em programas onde necessria a liberao do processador pricipal para a realizao de outras rotinas. Alguns DSPs ainda podem interagir diretamente com outros softwares, a fim de agilizar e dinamizar a execuo dos programas. A Texas Instruments disponibiliza no seu DSP TMS320C64x+ uma interface com o programa Matlab onde tanto o software quanto o DSP funcionam de forma bidirecional no envio e recebimento de dados.

- 10 -

Dependendo do tipo e modelo do DSP desejado pode-se encontrar placas especficas para processamento de udio ou de vdeo e imagem. Para tal so necessrios dispositivos especiais de codificao e decodificao de sinais. Cada DSP pode vir acompanhado de um respectivo CODEC, que realiza as converses necessrias para que ocorra seu processamento. A figura 4 ilustra o diagrama do ADSP-21160M da Analog Devices. Esse DSP possui as seguintes especificaes tcnicas

Onde:

- 11 -

A placa composta por 5 blocos dominantes:

Componentes do Core Processor: 1- DAG

- 12 -

2 Bus

3 Timer

4- ALU

- 13 -

5 Interrupts

Este um DSP eficiente para processar udio. Como dito antes, outros DSPs possuem outras especificaes e so eficientes para outras reas.

Parte IV: Exemplo de Aplicao


Neste exemplo foi utilizado o DSP da Analog Devices, modelo ADSP-21160M, cujo software de desenvolvimento foi o Visual DSP++ 3.5.

- 14 -

4.1. Convoluo

- 15 -

Figura 5- Resultado da convoluo dentro do ambiente da IDE

- 16 -

Referncias
[1] DSPTUTOR Website, www.dsptutor.freeuk.com [2] ANALOG DEVICES , Getting Started Guide, www.analog.com [3] TEXAS INSTRUMENTS website. www.ti.com [4] Wikipedia ingles, http://en.wikipedia.org/DSP [5] Wikipedia Portugus, http://pt.wikipedia.org/wiki/DSP [6] http://www.cbpf.br/~rastuto/main.html

- 17 -

Você também pode gostar