Functional tester for high voltage boards of the TILECAL calorimeter
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/41488 |
Resumo: | Tese de mestrado integrado, Engenharia Física, Universidade de Lisboa, Faculdade de Ciências, 2019 |
id |
RCAP_e1209c2a09566e20f429b1fd45534021 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/41488 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Functional tester for high voltage boards of the TILECAL calorimeterTileCalHV RemoteRaspberry PiPythonSPITeses de mestrado - 2019Domínio/Área Científica::Ciências Naturais::Ciências FísicasTese de mestrado integrado, Engenharia Física, Universidade de Lisboa, Faculdade de Ciências, 2019Este trabalho foi realizado no âmbito de um projeto de desenvolvimento de um sistema remoto de distribuição e controlo da alta tensão fornecida aos fotomultiplicadores usados no TileCal, na experiência ATLAS no CERN. O sistema consiste num conjunto de 256 pares de cartas eletrónicas: uma para controlo e distribuição das altas tensões individuais aos PMTs, denominada HV Remote, e outra de alimentação, denominada de Power Supplies. A carta de alimentação fornece um de dois possíveis valores de alta tensão para a HV Remote, sendo eles -830 V ou -950 V. Para além disso ela fornece também a baixa tensão que a HV Remote necessita para funcionar, que são ± 12 V para os componentes analógicos e 3.3 V para os componentes digitais, bem como as suas respetivas massas. A carta HV Remote tem as seguintes funções: ▪ Regular individualmente o valor de alta tensão fornecido aos fotomultiplicadores, sendo isto possível com um conjunto de conversores digitais-analógicos (DACs); ▪ Monitorizar as suas altas tensões, realizando leituras de tensão nos seus canais com um conjunto de multiplexadores (MUXs) e um conversor analógico-digital (ADC); ▪ Ativar/desativar os canais dos fotomultiplicadores, para o caso de haver alguma avaria. Isto permite que as medições realizadas nos fotomultiplicadores funcionais não sejam perturbadas pelos que apresentam um mau funcionamento; ▪ Realizar leituras de sensores de temperatura, que permitem ter um melhor controlo do aumento de temperatura das placas em regiões mais densamente povoadas por componentes. As 256 cartas serão agrupadas em grupos de 16, sendo cada grupo controlado por uma FPGA no sistema final, quando as cartas forem enviadas para o CERN. Neste momento as cartas estão em fase de produção, e posteriormente terão de ser alvo de testes funcionais e testes de temperatura. Nesta fase, um Raspberry Pi (o modelo usado é o 3b+), substitui as FPGA. O Raspberry Pi (e no futuro a FPGA) controlará as cartas, estabelecendo um protocolo de comunicação SPI, que é uma interface de comunicação em série baseada uma arquitetura mestre-escravo, em que o dispositivo mestre (o Raspberry Pi) controla toda a comunicação, que envolverá transferências de palavras de 8 bits. Como o controlador tem de comunicar com vários componentes, e o protocolo de comunicação escolhido é do tipo série, expansores série-paralelo (“port expanders”) foram usados para converter as palavras digitais enviadas em série, para 16 portas de saída que permitem a comunicação com todos os circuitos integrados. Alguns dos expansores foram também usados para implementar a funcionalidade de ativação/desativação dos canais dos fotomultiplicadores. O protocolo SPI assenta em 3 sinais principais: MOSI (“Master Output Slave Input” ou saída do mestre e entrada do escravo), MISO (“Master Input Slave Output” ou entrada do mestre e saída do escravo) e SCLK (sinal de relógio). Adicionalmente um sinal, geralmente representado pela sigla CS (“Chip Select” – selecionador de chip) ou SS (“Slave Select” – selecionar de dispositivo escravo), é usado para ativar a comunicação com os componentes digitais. Na carta HV Remote cada componente é associado a um sinal CS e os três sinais principais do SPI serão partilhados por todos eles. O Raspberry poderá posteriormente comunicar com um computador através de uma ligação ethernet, sendo assim controlado remotamente ou poderá ser ele próprio usado como um computador, conectando-o a um ecrã. Este trabalho foi sempre desenvolvido diretamente no Raspberry Pi, montando-o como um computador convencional. Este trabalho é sobre o desenvolvimento do software que permitirá a comunicação entre o Raspberry e a HV Remote e no desenvolvimento de uma interface gráfica (GUI) que será executada no Raspberry Pi para testar as placas HV Remote quando forem produzidas. O programa de controlo foi escrito usando a linguagem Python 3, seguindo o formalismo da programação orientada para objetos, que envolve estruturas de classes constituídas por um número de métodos/funções, que permitem definir e emular objetos numa linguagem de programação. Por isso, foram criadas classes que representam cada um dos componentes que participam no controlo digital da HV Remote, sendo eles: o MCP23S17 (expansor série-paralelo), o DAC7568 (conversor digital-analógico) e o MAX1240 (conversor analógico-digital). Os multiplexadores não têm uma classe associada pois não têm nenhuma interface de comunicação, pois podem ser manuseados apenas pela alteração dos valores lógicos dos seus endereços (função que é realizada pelos expansores). Após a criação destas três classes, foi desenhada uma classe para a HV Remote, com os métodos necessários para realizar as funções das cartas, que incorpora e complementa as outras classes. As classes mais complicadas de criar foram a do expansor e do DAC, pois a classe do ADC contem apenas um método, devido ao facto de este não ter mais nenhuma funcionalidade para além da leitura da tensão na sua entrada. O DAC e o expansor têm diferentes funcionalidades que permitem realizar diferentes formas de escrita de tensões ou aceder de diferentes formas à referência interna, no caso do DAC, e configurar de diferentes formas as portas de saída, no caso do expansor. Após a escrita das classes, começou-se a escrever o código da interface gráfica. Esta GUI foi realizada usando um módulo do Python, denominado PyQt5, que é um conjunto de “atalhos” que ligam a uma biblioteca escrita em C++ denominada Qt5. Este módulo foi escolhido, pois disponibiliza uma série de funcionalidades que no momento pareceram ser úteis para este projeto. O PyQt5 baseia-se num conjunto de objetos denominados “layouts” e “widgets”. Os “widgets” são todas os objetos de interação que usualmente se observa em aplicações: botões, quadrados de selecionar (“checkboxes”), listas de selecção, retângulos de introdução de números ou palavras, etc… Os “layouts” são objetos que contêm os “widgets” e que permitem organizar as suas posições e os seus tamanhos. A janela da GUI foi desenhada com dois painéis, um para o ajuste de tensões e ativação/desativação de canais, e outro para a monitorização da alta tensão dos fotomultiplicadores. Durante o período de realização deste trabalho, as placas ainda não tinham sido produzidas, e por isso, para testar o código e a comunicação com o Raspberry Pi, foram comprados os componentes acima mencionados. Estes foram montados numa placa de ligações (breadboard), e as ligações foram feitas de acordo com os esquemas elétricos do controlo digital da HV Remote. Estes testes tiveram como principal objetivo, verificar o funcionamento de todo o software. Alguns LEDs foram também conectados na saída dos expansores para simular a funcionalidade de ativação/desativação dos canais dos fotomultiplicadores. O software de comunicação foi terminado, e os testes realizados deram indicações de um bom funcionamento. A GUI tem a parte do ajuste de tensões e de ativação/desativação terminada, faltando desenvolver a parte da monitorização dos canais dos fotomultiplicadores. Nesta última parte, pretende-se inserir gráficos, para cada canal, que atualizam o valor da tensão em tempo real. Ficou também por realizar uma função para a leitura das tensões dos sensores de temperatura, cujos valores serão também mostrados num gráfico que será atualizado em tempo real. Para além das funcionalidades que faltam implementar na interface gráfica, depois de serem realizados alguns testes funcionais às cartas HV Remote, o software terá de ser adaptado para funcionar numa FPGA.This work was done in the scope of a project, called HV Remote, with its main goal being to build an improved high voltage regulation system for the ATLAS TileCal’s photomultiplier tubes (PMTs). This project consists on a remote system that comprises a HV distribution system, called HV Remote board, a high voltage and low voltage supplies board, called Power Supplies board, and several multi-conductor cables that distribute the high voltage to the PMTs. The Power supplies board provides the LV (low voltage) that the HV Remote needs to work and feeds a fixed HV (high voltage) value to it. The HV Remote individually regulates the HV provided by the Power supplies board and monitors the PMTs’ high voltage, being also able to disable any of them in the case of a malfunction. The TileCal has approximately 10000 PMTs, so this new system has 256 HV Remote and dedicated supplies boards, where each pair of boards is associated to 48 PMTs. When these boards are produced, after the design phase, they will need to be the target of several functional tests, and high-temperature tests. This work focuses on designing a software interface for the HV Remote boards, that will be incorporated, in the future, in the DCS (Detector Control System) of ATLAS and a GUI (Graphical User Interface) to perform all the necessary tests to the boards, before they are sent to CERN. Each group of 16 boards will be controlled by a FPGA, but in this work a Raspberry Pi will be used as the master controller for testing the control system architecture. The Raspberry Pi will use the standard Serial Peripheral Interface (SPI) protocol to establish the communication with the boards. The code of the software interface will be written with Python 3 and will be specifically designed for the Raspberry Pi. So, in the future, the code must be adapted to the FPGA. The GUI for the tests will be designed using the PyQt5 library of Python. At present, and during the development of this thesis’ work, the boards weren’t produced yet, so some of its main digital components (port expanders, DACs, ADC and MUXs) were bought and assembled, in order to test the code, the GUI and the overall communication interface of the Raspberry Pi. These components were assembled in a breadboard, and the connections mimicked the HV Remote board’s schematics.Evans, Guiomar Gaspar de Andrade,1966-Augusto, José António Soares,1960-Repositório da Universidade de LisboaCuim, Filipe Mendes de Oliveira2020-01-30T17:10:47Z201920192019-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/41488TID:202398790enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:40:57Zoai:repositorio.ul.pt:10451/41488Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:54:44.118276Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Functional tester for high voltage boards of the TILECAL calorimeter |
title |
Functional tester for high voltage boards of the TILECAL calorimeter |
spellingShingle |
Functional tester for high voltage boards of the TILECAL calorimeter Cuim, Filipe Mendes de Oliveira TileCal HV Remote Raspberry Pi Python SPI Teses de mestrado - 2019 Domínio/Área Científica::Ciências Naturais::Ciências Físicas |
title_short |
Functional tester for high voltage boards of the TILECAL calorimeter |
title_full |
Functional tester for high voltage boards of the TILECAL calorimeter |
title_fullStr |
Functional tester for high voltage boards of the TILECAL calorimeter |
title_full_unstemmed |
Functional tester for high voltage boards of the TILECAL calorimeter |
title_sort |
Functional tester for high voltage boards of the TILECAL calorimeter |
author |
Cuim, Filipe Mendes de Oliveira |
author_facet |
Cuim, Filipe Mendes de Oliveira |
author_role |
author |
dc.contributor.none.fl_str_mv |
Evans, Guiomar Gaspar de Andrade,1966- Augusto, José António Soares,1960- Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Cuim, Filipe Mendes de Oliveira |
dc.subject.por.fl_str_mv |
TileCal HV Remote Raspberry Pi Python SPI Teses de mestrado - 2019 Domínio/Área Científica::Ciências Naturais::Ciências Físicas |
topic |
TileCal HV Remote Raspberry Pi Python SPI Teses de mestrado - 2019 Domínio/Área Científica::Ciências Naturais::Ciências Físicas |
description |
Tese de mestrado integrado, Engenharia Física, Universidade de Lisboa, Faculdade de Ciências, 2019 |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019 2019 2019-01-01T00:00:00Z 2020-01-30T17:10:47Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10451/41488 TID:202398790 |
url |
http://hdl.handle.net/10451/41488 |
identifier_str_mv |
TID:202398790 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134487334879232 |