Os principais parˆametros a que se deseja monitorar e atuar no sistema de controle
do SciFi s˜ao os valores dos registradores. Conforme visto nas se¸c˜oes anteriores, um sistema
WinCC ´e constru´ıdo sobre uma estrutura de datapoints, e por esta raz˜ao ´e desej´avel criar
uma estrutura de datapoints que descreva todo o seu sistema. No caso do sistema de teste
do SciFi, foi criado um tipo de datapoint para cada dispositivo que se desejava controlar,
contendo todos os registradores de interesse at´e o momento.
Os datapoints que representam os dispositivos (os chips) foram inseridos de forma
hier´arquica em datapoints de n´ıvel superior que representam as placas, a fim de tˆe-los
organizados na mesma forma da estrutura real que se encontra na front-end. Veja na
Figura 9.9 a representa¸c˜ao hier´arquica dos chips.
Cada bloco da Figura 9.9 representa um chip. Os quadrados pontilhados
represen-tam as placas em que estes est˜ao contidos. Foi criado um datapoint correspondente para
cada chip. Para as placas, foi criado um datapoint representando a Master Board, mas
para a Clusterization Board e a PACIFIC Board, por fins de simplifica¸c˜ao, foi criado um
´
unico datapoint chamado Cluster Board que representa as duas placas.
Na Figura 9.12, retirada do editor de datapoints do WinCC, ´e poss´ıvel ver que
os chips PACIFIC e cluster FPGA se encontram em paralelo sob o mesmo datapoint
(Cluster Board).
Todos os datapoints representando os chips da front-end possuem uma estrutura
semelhante em comum. S˜ao compostos por dois conjuntos de subdatapoints, sendo um
chamado “config” e outro “registers”. Dentro do grupo “config” h´a datapoints que guardam
as configura¸c˜oes daquele hardware. N˜ao representam valores f´ısicos em um registrador
ou algo do tipo, mas sim vari´aveis que configuram aquele hardware. Comum a todos
os dispositivos no projeto h´a o datapoint “address”, que guarda o endere¸co pelo qual o
Figura 9.9: Diagrama dos dispositivos representados por datapoints no sistema de controle.
dispositivo em quest˜ao responde, e tamb´em o tamanho em bytes da palavra de endere¸co.
Interno ao grupo “registers” dever´a existir um datapoint para cada registrador.
Este conter´a 3 valores: “address” ´e o endere¸co do registrador, “length” ´e o comprimento
em bytes e “data” ´e o valor armazenado no registrador.
Pode-se ver a estrutura padr˜ao para os datapoints criados na Figura 9.10, que exibe
a estrutura do datapoint criado para o PACIFIC, embora ainda n˜ao tenha sido divulgada
a rela¸c˜ao de registradores que o chip ter´a, estes s˜ao representados por 2 registradores de
teste.
Figura 9.10: Modelo gen´erico de datapoint utilizado para os dispositivos da front-end.
Em conformidade com a Figura 9.9, os datapoints criados para o projeto do sistema
de controle foram os seguintes:
• 0 PACIFIC representa o chip PACIFIC.
• 0 FPGA cluster representando os FPGAs respons´aveis pela clusteriza¸c˜ao dos dados.
• 0 SCA representando os chips GBT SCA.
• 0 GBTx old representando os chips GBTx.
• 0 HK FPGA representando o FPGA HouseKeeping, respons´avel pelo gerenciamento
da Master Board.
• 2 Cluster Board representa em conjunto uma Clusterization Board e uma PACIFIC
Board, contendo todos os seus componentes.
Da lista de datapoints acima, os que representam os chips PACIFIC,cluster FPGA
e HouseKeeping FPGA n˜ao tiveram seus registradores listados pois no momento deste
trabalho no sistema de controle estes dispositivos ainda n˜ao haviam suas especifica¸c˜oes
de registradores divulgadas. Para estes foi criado um tipo gen´erico conforme exibido na
Figura 9.10, ainda a ser preenchido com os registradores correspondentes uma vez que estes
sejam divulgados.
O datapoint do GBTx segue o mesmo modelo gen´erico. Tem um grupo chamado
“config” que guarda seu endere¸co e largura do endere¸co, e um grupo chamado “registers”
que guarda todos os registradores com seus respectivos efndere¸cos, comprimentos e valores,
conforme exemplo da Figura 9.10.
Para o GBTx, foram criados 363 registradores. Foi utilizado um script para ler
a tabela de registradores contida na se¸c˜ao 17.2 do Manual do GBTx [22] e list´a-los em
formato de arquivo de texto. Ap´os isto foi criado uma fun¸c˜ao no WinCC para interpretar
o arquivo de texto com os registradores e criar um tipo de datapoint correspondente, e
outra fun¸c˜ao para preencher tais datapoints com os valores de endere¸co, dados e etc. Os
registradores utilizados s˜ao os de endere¸co de 0 a 365, com exce¸c˜ao dos 362, 363 e 364 que
s˜ao registradores vazios e n˜ao foram adicionados.
Para o GBT SCA, foram criados 75 registradores. Diferente do realizado no GBTx,
os registradores para o GBT SCA foram selecionados baseados no interesse para o sistema
de teste. N˜ao havia uma lista completa de registradores e portanto estes foram filtrados
do Manual do GBT SCA [21] e digitados a m˜ao em uma planilha eletrˆonica, a partir da
qual se pˆode transformar a lista em um conjunto de comandos de cria¸c˜ao de datapoints, a
ser copiado e executado no WinCC.
A estrutura do datapoint do GBT SCA ´e um pouco diferente. Ao inv´es de uma
´
unica grande lista de registradores, este ´e dividido em “channels” ou canais referentes aos
blocos internos do chip. Cada canal tem seu pr´oprio endere¸co e registradores. Os canais
existentes podem ser vistos na Figura 9.11. Note que existem 16 canais de I2C, mas por
economia de espa¸co, foi suprimido da Figura 9.11 os canais de 1 ao 14. Na imagem original
existe uma lista com 16 canais I2C.
A forma de escrita e leitura nos registradores do GBT SCA tamb´em difere dos
demais. N˜ao h´a um endere¸co para os registradores no qual se pode escrever ou ler. Ao
inv´es, o GBT SCA apenas interpreta comandos. Existem comandos diferentes e ´unicos
para escrever e ler em cada registrador. Por consequˆencia disto n˜ao se especifica a opera¸c˜ao
Figura 9.11: Estrutura de datapoints do chip GBT SCA.
(leitura ou escrita) e o endere¸co. Apenas o comando.
Por esta raz˜ao na Figura 9.11 n˜ao se vˆe um campo de endere¸co mas, para cada
registrador, um campo chamado “wr cmd” (write command) e “rd cmd” (read command),
representando os comandos de escrita e leitura respectivamente para o dado registrador.
Registradores que s˜ao s´o de escrita ou s´o de leitura simplesmente n˜ao ter˜ao o
co-mando equivalente `a fun¸c˜ao complementar.
Al´em dos datapoints que representam os dispositivos, tamb´em h´a os que
represen-tam as placas. Estes cont´em internamente diversos datapoints representando os
dispositi-vos encontrados na placa. Desta forma ´e poss´ıvel organizar o sistema de forma hier´arquica.
Isto tamb´em permite ao sistema ser escal´avel e modular.
cri-amos um conjunto de datapoints que representa umafront-end completa. Basta alterar um
´
unico datapoint, o endere¸co do GBT Master desta front-end, e ent˜ao estaremos definindo
de forma individual todos os datapoints subordinados a este GBT Master.
Na Figura 9.12 podemos ver a estrutura dos datapoints que representam as placas
dafront-end, utilizando os datapoints dos dispositivos j´a descritos nesta se¸c˜ao.
Figura 9.12: Janela de edi¸c˜ao de tipo de datapoint. `A esquerda o datapoint Master Board
e `a direita o Cluster Board.
No documento
Desenvolvimento de Sistema de Controle para Eletrônica de Front-End do Detector de Fibras Cintilantes do LHCb
(páginas 103-108)