convers˜ao AD. Medindo o sinal do canal que sofreu integra¸c˜ao e o sinal na sa´ıda do multiple- xer, obteve-se o gr´afico da Figura 4.15. Aqui ´e poss´ıvel observar que o sinal do integrador, (CH2), aparece na sa´ıda do multiplexer (CH3) apenas durante o per´ıodo de tempo em que
o respectivo canal ´e seleccionado. Durante o varrimento sequencial dos quatro canais, cada
um deles ´e exposto ao ADC durante um per´ıodo do rel´ogio de controlo deste conversor (83
ns).
Figura 4.15: Monitoriza¸c˜ao do sinal proveniente dos integradores `a sa´ıda do multiplexer 4:1 (CH3), numa situa¸c˜ao em que ocorre um evento mas s´o um dos integradores se encontra carregado. O sinal CH2 representa o sinal do canal activado na entrada do multiplexer.
O ru´ıdo introduzido durante a medi¸c˜ao do sinal r´apido na sa´ıda do multiplexer, dificulta a leitura do gr´afico na Fig. 4.15. No entanto, ´e poss´ıvel observar que o sinal `a sa´ıda do multiplexer tem aproximadamente 90 ns de dura¸c˜ao.
4.4
Desempenho temporal do sistema electr´onico
O desempenho temporal do sistema electr´onico do MiniPET corresponde ao tempo ne-
cess´ario para processar um evento v´alido, desde que este ´e detectado at´e ser armazenada na mem´oria FIFO a digitaliza¸c˜ao da informa¸c˜ao a ele associada. Durante o processamento de um evento v´alido, os processos que requerem mais tempo de realiza¸c˜ao, e por isso s˜ao mais relevantes, s˜ao:
a integra¸c˜ao dos sinais das vias lentas provenientes dos 32 canais dos PMTs. Esta integra¸c˜ao decorre enquanto o sinal a integrar existir, o que corresponde `a largura do sinal proveniente dos pr´e-amplificadores. Este valor varia quer com a forma do sinal dos
Cap´ıtulo 4. Testes e Resultados
o sinal modelo apresentado no cap´ıtulo 2.1.3 e os resultados obtidos da simula¸c˜ao no TopSPICE da via lenta a responder a este sinal (representados na figura 2.16), o tempo de integra¸c˜ao ser´a aproximadamente de 150 ns;
a multiplexagem 16:1 dos canais provenientes das vias lentas para os ADCs. Dado que o controlo dos multiplexers ´e feito pela FPGA, o ajuste do sinal de selec¸c˜ao dos multiplexers est´a dependente do seu sinal de rel´ogio, que opera a uma frequˆencia de 48
MHz, o que se traduz num per´ıodo de aproximadamente 20 ns. O tempo de selec¸c˜ao de
cada canal dura dois ciclos de rel´ogio, 40 ns, tal como ´e explicado no cap´ıtulo 3.3.4.3. Assim, o processo sequencial de multiplexagem dos 16 canais de cada via lenta requer um total de ≈16×40=640 ns;
a convers˜ao anal´ogico-digital dos valores de integra¸c˜ao por parte dos ADCs. Por forma a sincronizar o funcionamento do ADC com o rel´ogio da FPGA, o sinal de rel´ogio do ADC ´
e fornecido pela FPGA, resultando da divis˜ao por dois do rel´ogio desta. Deste modo, a frequˆencia do rel´ogio do ADC ´e 24 MHz, o que se traduz num per´ıodo de amostragem de ∼ 40 ns. No entanto, dado que a convers˜ao anal´ogico-digital se processa em paralelo com o processo de multiplexagem 16:1, apenas adiciona um tempo de atraso referente `
a latˆencia do ADC. Assim, o processo de convers˜ao anal´ogico-digital apenas requer um tempo adicional de 7 ciclos de rel´ogio (ver sec¸c˜ao 2.2.2.5), ou seja ≈7×40=280 ns.
Existem ainda outros pequenos atrasos, que somados s˜ao relevantes para o tempo total
necess´ario ao processamento de um evento v´alido. Nestes atrasos destacam-se: o atraso de
1 ciclo de rel´ogio associado ao sincronismo dos sinais provenientes dos PMT pelo m´odulo
Sinchronize Gama; o atraso devido `as transi¸c˜oes das m´aquinas de estado (principalmente
das ME do tipo Moore, em que as sa´ıdas dependem apenas do estado da m´aquina), que exige
alguns ciclos de rel´ogio; o atraso associado ao sincronismo da ME do m´odulo Mux ADC
Controller com o rel´ogio de controlo do ADC que, consoante o estado do rel´ogio do ADC,
requer 0.5 ou 1.5 ciclos de rel´ogio; o tempo necess´ario para a descarga dos integradores, que se processa durante 1 ciclo de rel´ogio; e o atraso que medeia a activa¸c˜ao do sinal de selec¸c˜ao dos multiplexers e a disponibilidade das suas sa´ıdas para serem lidas.
No gr´afico representado na Figura 4.16 ´e poss´ıvel medir o tempo decorrido desde a ac- tiva¸c˜ao do sinal da via r´apida (CH1), que indica a ocorrˆencia de um evento v´alido, at´e `a activa¸c˜ao do sinal que acciona a re-inicializa¸c˜ao dos integradores (CH3), que indica a con-
clus˜ao do processamento de um evento v´alido. Aqui, ao contr´ario do que acontece com as
4.4 Desempenho temporal do sistema electr´onico
medi¸c˜oes feitas na sec¸c˜ao anterior, utilizou-se a vers˜ao da arquitectura da electr´onica digi-
tal projectada para controlo do instrumento MiniPET com 32 canais. Da placa prot´otipo,
que implementa a electr´onica anal´ogica, utilizaram-se apenas os sinais provenientes das vias r´apidas para gerar eventos v´alidos. Deste modo, ´e poss´ıvel medir o desempenho temporal do sistema MiniPET na sua vers˜ao final, conforme est´a concebido.
Figura 4.16: Medi¸c˜ao do tempo decorrido desde a activa¸c˜ao do sinal proveniente da via r´apida (CH1) at´e `a activa¸c˜ao do sinal de re-inicializa¸c˜ao dos integradores (CH3).
O tempo necess´ario para processar um evento v´alido depende n˜ao s´o dos processos de convers˜ao e armazenamento dos 32 canais, mas tamb´em da largura dos sinais provenientes dos PMTs, pois os processos de convers˜ao e armazenamento s´o se iniciar˜ao depois de conclu´ıda a integra¸c˜ao de todos os canais activos. Na Fig. 4.16, o sinal proveniente da via r´apida (CH1) apresenta uma largura de aproximadamente 130 ns, de acordo com o sinal previsto para os
PMTs. Nesta figura observa-se que o tempo necess´ario para processar um evento v´alido,
desde a chegada do sinal r´apido at´e `a activa¸c˜ao do sinal de re-inicializa¸c˜ao dos integradores, ´
e de aproximadamente 1.3 µs. Com base neste resultado, o sistema est´a apto para operar
com taxas m´edias de eventos de aproximadamente 770 mil eventos por segundo.
Se o tempo decorrido entre eventos consecutivos for menor que os 1.3 µs necess´arios para processar um evento v´alido, os eventos come¸cam a sobrepor-se (”pile-up”). Nesta situa¸c˜ao, os eventos s˜ao descartados, para evitar o armazenamento de valores de integra¸c˜ao adulterados
pela chegada de um segundo evento durante o per´ıodo de processamento dum evento v´alido.
Na Figura 4.17 ´e poss´ıvel observar como se processa a re-inicializa¸c˜ao dos integradores quando ocorre sobreposi¸c˜ao de eventos. Nesta figura, s˜ao gerados eventos v´alidos (CH1) a uma taxa acima de 770 mil eventos por segundo, obrigando a que estes se sobreponham. O
Cap´ıtulo 4. Testes e Resultados
Figura 4.17: Observa¸c˜ao do sinal de re-inicializa¸c˜ao dos integradores `a sa´ıda da FPGA(CH3), e do sinal proveniente de uma das vias r´apidas, numa situa¸c˜ao em que ocorre sobreposi¸c˜ao de eventos e ´e detectado um evento inv´alido. O sinal de re-inicializa¸c˜ao dos integradores sucede-se `a detec¸c˜ao de um segundo evento ocorrido durante o processo de
convers˜ao AD de um evento v´alido.
sinal de re-inicializa¸c˜ao dos integradores (CH3), ´e activado imediatamente ap´os os eventos ocorridos durante o per´ıodo de processamento de um evento v´alido.
Nas Figuras 4.18 e 4.19 ´e vis´ıvel uma janela onde se executa o programa do interface com o utilizador. Aqui o utilizador pode escolher os parˆametros de configura¸c˜ao da electr´onica anal´ogica (estes parˆametros permitem ajustar o ganho dos pr´e-amplificadores e os n´ıveis de discrimina¸c˜ao dos comparadores). Esta aplica¸c˜ao permite ainda: ver toda a informa¸c˜ao disponibilizada pela API da CESYS sobre o dispositivo com que estabelece comunica¸c˜ao; ver o valor dos parˆametros de configura¸c˜ao que s˜ao carregados para a FPGA e o valor da leitura do mesmos, de modo a verificar o sucesso da traferˆencia; e ver a taxa m´edia de transferˆencia
de dados conseguida durante a leitura da mem´oria FIFO. Esta taxa ´e calculada com base no
n´umero de bytes transferido desde o in´ıcio da leitura da mem´oria FIFO.
A janela do programa de interface com o utilizador representada na Fig. 4.18 mostra a taxa de transferˆencia de dados durante a leitura da mem´oria FIFO numa situa¸c˜ao em que s˜ao
gerados eventos v´alidos a uma taxa de 10 mil eventos por segundo. Por cada evento v´alido
gerado, s˜ao carregados para a mem´oria FIFO (do lado FPGA) os dados referentes `a convers˜ao
AD dos 32 canais pelo ADC de 12 bits. Daqui, obt´em-se o resultado de que por cada evento
v´alido gerado s˜ao carregados (12×32)/8 = 48 bytes de dados. Como se pode ver pela taxa de transferˆencia de dados apresentada nesta figura (Fig. 4.18), concretamente pelo parˆametro
’Async read - rate:’, o sistema consegue enviar os dados para o PC aproximadamente `a
mesma velocidade a que estes s˜ao gerados.
4.4 Desempenho temporal do sistema electr´onico
Figura 4.18: Velocidade de transferˆencia de dados registada pela API para uma taxa de 10 Keventos/s.
Figura 4.19: Velocidade de transferˆencia de dados registada pela API para uma taxa de 750 Keventos/s.
Na Figura 4.19 a janela do programa de interface com o utilizador mostra a taxa de dados enviados para o PC numa situa¸c˜ao em que s˜ao gerados eventos v´alidos a uma taxa de 750
mil eventos por segundo. Neste caso a taxa de dados gerados pelo sistema MiniPET ´e de
750000 × 48 bytes = 36000 Kbytes/s. Como se pode observar nesta figura, a velocidade com que os dados lidos da mem´oria FIFO s˜ao tranferidos para o PC, ´e muito inferior a esse valor.
A taxa de 750 mil eventos gerados por segundo aproxima-se muito do limite m´aximo da
Cap´ıtulo 4. Testes e Resultados
se infere que esta velocidade de transferˆencia dados, pr´oxima do m´aximo, n˜ao ´e suport´avel.
No entanto, este facto n˜ao ´e minimamente preocupante para as taxas m´edias de eventos a
que o sistema MiniPET ser´a sujeito, que n˜ao ir˜ao al´em de algumas dezenas de eventos por segundo.