• Nenhum resultado encontrado

Figura 2.19: Diagrama temporal do AD9235.

ˆ t_s: atraso na sa´ıda, ´e o atraso entre o limiar l´ogico do rel´ogio e o momento em que todos os bits est˜ao dentro dos n´ıveis l´ogicos v´alidos.

ˆ t_l: tempo de latˆencia, ´e o tempo decorrido entre o momento em que o sinal ´e amos- trado na entrada e o instante em que se encontra dispon´ıvel a sua digitaliza¸c˜ao para leitura na sa´ıda. Como o conversor opera com ”pipelining”esta latˆencia s´o afecta a primeira convers˜ao; as restantes s˜ao terminadas ao ritmo de uma por ciclo.

Parˆametros Min Tip Max Unidades

t_a 1.0 ns

t_s 2.0 3.5 6.0 ns

t_l 7 ciclos

Tabela 2.3: Especifica¸c˜oes temporais do ADC AD9235. t l s´o penaliza a primeira con- vers˜ao do total de 16.

2.3

Conclus˜ao

Neste cap´ıtulo foi feita a apresenta¸c˜ao da electr´onica anal´ogica situada entre os detec- tores, realizados com os cristais cintiladores e os tubos foto-multiplicadores, e a FPGA que

implementa o controlo geral do sistema e permitir´a comunicar com o computador hospedeiro.

Este sistema electr´onico anal´ogico consiste em duas vias: a via lenta e a via r´apida. A primeira tem por fun¸c˜ao efectuar o condicionamento do sinal proveniente dos detectores,

Cap´ıtulo 2. Detector e electr´onica de front-end

mais concretamente: (i) a amplifica¸c˜ao, para melhorar a rela¸c˜ao sinal-ru´ıdo e acondicionar os n´ıveis para o integrador e, posteriomente, o ADC; (ii) a integra¸c˜ao, para ter uma estimativa do n´ıvel de energia associada aos fot˜oes que foram colectados pelo detector; e a convers˜ao

AD da tens˜ao de sa´ıda do integrador, para ser guardada digitalmente na FPGA e enviada

posteriormente para o computador.

A via r´apida faz o processamento qualitativo do impulso, que permite verificar se h´a

coincidˆencia entre os detectores, o que configura um evento v´alido em caso afirmativo. Este

processamento r´apido permite tamb´em preparar o processamento da via lenta. Neste canal

r´apido encontram-se um pr´e-amplificador e um discriminador (ou comparador).

Os n´ıveis de discrimina¸c˜ao e os ganhos dos pr´e-amplificadores em ambas as vias s˜ao program´aveis digitalmente atrav´es de sinais l´ogicos provenientes da FPGA.

Cap´ıtulo 3

Controlo digital

A electr´onica digital de controlo desempenha um importante papel no funcionamento do

MiniPET. ´E respons´avel pelo controlo de toda a electr´onica anal´ogica, realizando fun¸c˜oes tais como: defini¸c˜ao dos ganhos dos andares de pr´e-amplifica¸c˜ao; defini¸c˜ao dos limiares de discrimina¸c˜ao do andar de compara¸c˜ao; re-inicializa¸c˜ao (”reset”) dos integradores; selec¸c˜ao dos canais activos dos multiplexers; e gest˜ao dos ADCs. Tamb´em atesta a validade dos even- tos resultantes da detec¸c˜ao dos fot˜oes gama por cada detector, verificando a sobreposi¸c˜ao dos sinais das vias r´apidas dentro duma janela temporal pr´e-definida (t´ecnica das coincidˆencias).

Adicionalmente, efectua o armazenamento numa mem´oria FIFO1dos dados provenientes dos

ADCs referentes `a convers˜ao AD das sa´ıdas dos integradores, e estabelece comunica¸c˜ao com

o PC por uma interface USB, para o qual envia os dados armazenados naquela mem´oria

FIFO e do qual descarrega os parˆametros referentes `a configura¸c˜ao do sistema.

A arquitectura digital de controlo e gest˜ao do sistema ´e desenvolvida em l´ogica pro- gram´avel, utilizando-se para tal um dispositivo reconfigur´avel do tipo FPGA. Isto possibi- lita a explora¸c˜ao do conceito de reconfigurabilidade, pois as liga¸c˜oes entre os blocos l´ogicos b´asicos das FPGAs s˜ao reconfiguradas para implementar as fun¸c˜oes l´ogicas espec´ıficas ao projecto [22]. Esta reconfigura¸c˜ao da arquitectura ocorre imediatamente antes da execu¸c˜ao da aplica¸c˜ao, de forma semi-est´atica, sendo espec´ıfica ao projecto. A informa¸c˜ao para a

reconfigura¸c˜ao (um ficheiro em bin´ario) pode ser enviada por uma interface ligada a um

computador hospedeiro, via esta que ´e usada exclusivamente durante as fases de desenvolvi-

mento, de teste e de verifica¸c˜ao do projecto ou, ent˜ao, a partir duma mem´oria permanente 1

Primeiro a entrar, primeiro a sair (”First In, First Out”). Opera¸c˜ao semelhante `a das estruturas de dados do tipo fila de espera.

Cap´ıtulo 3. Controlo digital

(ROM, EEPROM ou FLASH) sempre que ´e energizado o sistema (i.e., ´e feito o ”power-up”).

O uso de uma FPGA para a implementa¸c˜ao da electr´onica digital confere ao projectista um suporte pr´atico, eficiente e flex´ıvel em termos da depura¸c˜ao, da manuten¸c˜ao e da evolu¸c˜ao do projecto, sendo o custo de reprojectar o sistema digital nela implementado virtualmente nulo (se excluirmos o custo da m˜ao-de-obra).

3.1

Circuitos reconfigur´aveis: a FPGA

As FPGAs s˜ao componentes que podem ser programados por forma a executar virtu-

almente qualquer opera¸c˜ao l´ogica. A sua apari¸c˜ao permitiu substituir o grande n´umero de componentes l´ogicos discretos utilizados em projectos digitais, e veio possibilitar a imple-

menta¸c˜ao expedita de componentes complexos, tais como processadores ou controladores

gr´aficos. A maior parte das FPGAs pode ser reprogramada virtualmente tantas vezes quan-

tas queiramos, tornando-as ideais para a realiza¸c˜ao de prot´otipos. A sua elevada capacidade, medida habitualmente em n´umero de portas l´ogicas equivalentes, e a abundˆancia de flip-flops, distinge-as de outros tipos de componentes l´ogicos program´aveis de anteriores gera¸c˜oes (e.g. PALs, PLAs e CPLDs).

Existem v´arios fabricantes, e consequentemente v´arias arquitecturas, mas a Fig. 3.1

mostra a estrutura b´asica de uma FPGA t´ıpica: uma matriz de blocos l´ogicos configur´aveis (CLBs)2 entremeados por liga¸c˜oes, e rodeados por blocos entrada-sa´ıda (I/O blocks).

Os CLBs s˜ao frequentemente unidades bastante complexas, podendo conter um ou mais

blocos de gera¸c˜ao de fun¸c˜oes l´ogicas combinat´orias, ligados a flip-flops. Aqueles blocos s˜ao fei- tos com LUTs3ou multiplexers, e em geral s˜ao capazes de realizar qualquer fun¸c˜ao Booleana com quatro ou menos entradas. As LUTs s˜ao mem´orias de 1 bit, endere¸cadas pelas ”entradas l´ogicas” que essencialmente memorizam (depois de programadas, ´e claro) a tabela de verdade

da fun¸c˜ao que realizam; tamb´em podem ser usadas para armazenamento, nos casos em que o

projecto necessita de muita mem´oria, n˜ao actuando nesse caso como fun¸c˜oes combinat´orias. A sa´ıda da LUT pode servir para implementar l´ogica combinat´oria, e combinar-se com outras LUTs para criar fun¸c˜oes complexas, ou pode ser dirigida directamente para um flip-flop que ir´a memorizar o sinal de sa´ıda da LUT.

2CLB – Configurable Logic Block. 3

LUT – Look-Up-Table.

3.1 Circuitos reconfigur´aveis: a FPGA

Os recursos de interliga¸c˜ao s˜ao compostos por linhas horizontais e verticais (”fios”) que

podem formar conex˜oes entre si atrav´es de interruptores program´aveis. Existem tamb´em

interruptores program´aveis que conectam as linhas aos CLBs. Os blocos de entrada-sa´ıda

(I/O) podem ser programados para permitir a opera¸c˜ao como terminal de entrada ou como

terminal de sa´ıda. As FPGAs modernas incluem frequentemente alguns componentes adici- onais, tais como gestores de rel´ogio, RAMs, componentes dedicadas a opera¸c˜oes aritm´eticas, e unidades especializadas em processamento digital de sinais.and dedicated circuitry for common arithmetic operations.

I/O Block CLB Wires Programmable Switch Fios Blocos Entrada/Saída Interruptores programáveis

Figura 3.1: Estrutura t´ıpica de uma FPGA.

Devido `a dimens˜ao e complexidade das FPGAs modernas, s˜ao necess´arias ferramentas

de desenvolvimento assistido por computador que permitam converter a descri¸c˜ao inicial do circuito numa cadeia de bits que sirva para programar (ou reconfigurar) as interliga¸c˜oes da

FPGA. Neste processo s˜ao realizados trˆes passos: o mapeamento, a coloca¸c˜ao e o enca-

minhamento. Durante o mapeamento, a descri¸c˜ao do circuito em termos de portas l´ogicas ´e traduzida de modo a ser entendida pelos geradores de fun¸c˜oes l´ogicas. Na fase da coloca¸c˜ao, ´e escolhida a localiza¸c˜ao no chip dos CLBs necess´arios ao bloco projectado, e s˜ao reconfiguradas as conex˜oes entre os CLBs. Um ficheiro de ”programa¸c˜ao”com aquela informa¸c˜ao ´e gerado

e descarregado na FPGA ap´os conclu´ıdos estes passos, o que pode demorar algum tempo

principalmente quando os recursos existentes na FPGA (CLBs ou blocos de I/O) s˜ao quase

Cap´ıtulo 3. Controlo digital