Criando um Projeto Multicanal
Num relance
- Como funciona o projeto multicanal no Altium Designer, desde a captura de circuitos repetitivos no esquemático até a expansão automática para o layout da PCB
- A diferença entre criar canais com vários símbolos de folha e usar a palavra-chave Repeat
- Como a nomenclatura, a compilação, as salas e as configurações de conectividade dão suporte a canais repetitivos em um projeto estruturado
Não é incomum que um projeto eletrônico inclua seções de circuitos repetidas. Pode ser um amplificador estéreo ou uma mesa de mixagem de 64 canais. Esse tipo de projeto é totalmente compatível com um conjunto de recursos conhecido como multi-channel design.

Os dois canais decodificadores de um multiplexador de vídeo. Com uma estrutura de projeto multicanal, o canal decodificador precisa ser representado no esquemático apenas uma vez.
Em um projeto multicanal, você representa o circuito repetido uma única vez e, em seguida, instrui o software a repeti-lo o número necessário de vezes. Quando o projeto é compilado automaticamente, ele é expandido na memória, com todos os componentes e suas conexões repetidos o número necessário de vezes, de acordo com um esquema de nomenclatura de canais definido pelo usuário.
O projeto lógico que você representa nunca é de fato planificado; a fonte sempre permanece como um esquemático multicanal. Ao transferi-lo para o layout da PCB, os componentes físicos e as redes são automaticamente replicados o número necessário de vezes. Você tem acesso completo às ferramentas de sondagem cruzada e seleção cruzada padrão disponíveis para trabalhar entre o esquemático e a PCB. Há também uma ferramenta no editor de PCB para replicar o posicionamento e o roteamento de um canal em todos os outros canais, com a possibilidade de mover e reorientar facilmente um canal inteiro.
Compilação dinâmica
Related page: Validação do projeto
O modelo de conectividade do projeto é atualizado incrementalmente após cada operação do usuário por meio da compilação dinâmica. Não é necessário compilar o projeto manualmente, pois isso é feito automaticamente. Para um projeto, o processo de compilação automática executa três funções:
- Instancia a hierarquia do projeto.
- Estabelece a conectividade das redes entre todas as folhas do projeto.
- Cria um Modelo de Dados Unificado (UDM) interno do projeto.
Isso garante que todas as alterações feitas no projeto sejam imediatamente refletidas no Navigator e no painel Projetos .
O modelo compilado do projeto é chamado de Modelo de Dados Unificado (UDM). O UDM inclui descrições detalhadas de cada componente do projeto e de como eles estão conectados entre si.
Para verificar erros lógicos, elétricos e de desenho entre o UDM e as configurações do compilador, é necessário validar o projeto. Esse comando pode ser acessado selecionando o comando Project » Validate Project nos menus principais ou clicando com o botão direito do mouse na entrada de um projeto no painel Projetos e selecionando o comando Validate Project no menu de contexto.
Todas as violações detectadas pelo Compilador serão listadas como avisos e/ou erros no painel Messages. O Compilador usa as opções definidas nas abas Relatório de erros e Matriz de conexões da caixa de diálogo Options for Project (conforme aplicável ao tipo de projeto) ao verificar a existência de violações nos documentos-fonte.
O Modelo de Dados Unificado
Para compreender o projeto multicanal, é útil entender como os dados do projeto são gerenciados. Um elemento fundamental do software é o Modelo de Dados Unificado (UDM). Quando o projeto é compilado automaticamente, é criado um modelo único e coeso, que ocupa uma posição central no processo de desenvolvimento. Os dados desse modelo podem então ser acessados e manipulados por meio dos vários editores e serviços do software. Em vez de usar um repositório de dados separado para cada um dos diferentes domínios do projeto, o UDM é estruturado para acomodar todas as informações de todos os aspectos do projeto, incluindo os componentes e sua conectividade.

O Modelo de Dados Unificado disponibiliza todos os dados do projeto para todos os editores e ajuda a oferecer recursos sofisticados, como o projeto multicanal.
O UDM, em conjunto com o sistema de projeto hierárquico, é utilizado para oferecer recursos de projeto multicanal. O "canal" é o circuito contido em um símbolo de folha. Abaixo desse símbolo de folha, pode haver uma única folha ou uma ramificação inteira da estrutura do projeto, contendo outras subfolhas. Também é possível criar canais dentro de canais. Em um projeto multicanal de dois níveis, os canais superiores são chamados de bancos, enquanto os de nível inferior são chamados de canais.
Como essa descrição completa e pronta para a PCB existe na memória, é possível repetir uma seção de circuito, desde que haja uma maneira sistemática de lidar com objetos repetidos, como designadores de componentes e redes. A nomenclatura sistemática é definida na aba Multicanal da caixa de diálogo Options for Project, conforme discutido abaixo.
Criação de um projeto multicanal
Um projeto é multicanal quando uma seção do circuito é repetida. Isso é feito no nível do símbolo de folha, de uma das seguintes maneiras:
- inserindo vários símbolos de folha que fazem referência ao mesmo esquemático filho; ou
- configurando um único símbolo de folha para repetir o esquemático filho referenciado o número necessário de vezes.

Primeira imagem: há quatro símbolos de folha, todos fazendo referência à mesma folha filha (PortIO.SchDoc). Segunda imagem: InputChannel.SchDoc é repetido oito vezes e OutputChannel.SchDoc, duas vezes, usando a palavra-chave Repeat.
Essas duas abordagens para criar um projeto multicanal são mostradas nas imagens acima. Na primeira imagem, há quatro símbolos de folha que fazem referência à mesma folha filha (PortIO.SchDoc). Na segunda imagem, InputChannel.SchDoc é repetido oito vezes e OutputChannel.SchDoc é repetido duas vezes, devido à presença da palavra-chave Repeat no campo Designator do símbolo de folha.
Os designadores de componentes e os nomes de redes repetidos no projeto são resolvidos usando um esquema de nomenclatura padrão. Por exemplo, um dos esquemas de nomenclatura consiste em adicionar um índice de canal aos componentes e identificadores de rede repetidos (Rótulos de rede e Portas), conforme destacado nas imagens abaixo.
Observe as abas que aparecem na parte inferior do esquemático quando o projeto é aberto. A aba Editor contém o projeto lógico conforme você o representou. As outras abas compiladas (COUT1 e COUT2) também aparecem, representando o projeto físico que será transferido para o editor de PCB. Haverá uma aba para cada canal físico.

O projeto compilado, mostrando a aba da visualização lógica e uma aba para cada canal físico transferido para a PCB. Observe como os designadores e identificadores de rede repetidos são gerenciados.
A palavra-chave Repeat
Como mencionado, um canal é repetido inserindo vários símbolos de folha que fazem referência à mesma folha filha ou incluindo a palavra-chave Repeat no campo Designador do símbolo de folha. Quando a palavra-chave Repeat é usada, o símbolo de folha é desenhado como um conjunto de símbolos de folha empilhados.

A instrução Repeat define o designador do canal e o número de canais. Observe como o símbolo de folha é desenhado como um conjunto de símbolos empilhados para indicar canais repetidos.
Cada canal é identificado por um designador de canal, que vem do Designator do símbolo de folha. Quando o projeto é dividido em canais pela inserção de vários símbolos de folha, o designador do canal é o valor Designator definido para cada símbolo de folha. Se o projeto for dividido em canais pelo uso da palavra-chave Repeat, o designador do canal será o ChannelIdentifier+ChannelIndex definido pela palavra-chave Repeat.
A sintaxe do campo Designator quando a palavra-chave Repeat é usada é a seguinte:
Repeat(<ChannelIdentifier>,<ChannelIndex_1>,<LastChannelIndex_n>)
Nomenclatura multicanal
O conceito de capturar uma vez e depois repetir — projeto multicanal — é viabilizado pelo modelo de dados unificado (UDM) do software. Os componentes repetidos são nomeados usando um esquema sistemático de nomenclatura, configurado na aba Multi-Channel da caixa de diálogo Options for Project, conforme mostrado abaixo.
A caixa de diálogo inclui uma seção superior para controlar a nomenclatura das Rooms e uma seção inferior para controlar a nomenclatura dos componentes dentro dessas Rooms. No nível da Room, há 2 estilos de nomenclatura plana e 3 estilos de nomenclatura hierárquica. Normalmente, só é necessário escolher um estilo hierárquico se o projeto tiver canais dentro de canais. Caso contrário, um estilo de nomenclatura plana para as Rooms é mais curto e fácil de entender.
Para a nomenclatura dos componentes, a opção $Component$ChannelAlpha ou $Component_$ChannelIndex fornece a designação de componente mais curta e fácil de interpretar. Também é possível criar seu próprio esquema de nomenclatura de designadores usando as palavras-chave disponíveis.

Os componentes repetidos (e as redes) são gerenciados por meio da aplicação de um esquema sistemático de nomenclatura, escolhido na Multi-Channel aba da caixa de diálogo Project Options.
A função da Room
Uma Room é um objeto de projeto de PCB usado para definir uma área na placa, que pode então ser utilizada de duas maneiras:
- Contain objects - embora uma Room seja posicionada como qualquer objeto de formato poligonal, ela é, na verdade, criada como uma regra de projeto de posicionamento. Parte da definição de uma Room consiste em especificar os objetos que devem estar contidos nela — geralmente componentes. Quando essa Room é movida, todos os componentes dentro dela também se movem.
- To scope other design rules - além de serem regras por si só, as Rooms também podem ser usadas para delimitar o escopo de outras regras de projeto. Por exemplo, uma regra de largura de roteamento define a largura de roteamento para uma classe de redes; então, uma regra de projeto de prioridade mais alta, com escopo definido por uma Room, pode especificar uma largura diferente a ser aplicada a essa classe de redes dentro dessa Room.
As Rooms funcionam muito bem em projetos multicanal. Elas podem ser criadas automaticamente quando o projeto é transferido do editor de esquemáticos para o editor de PCB, com base nas opções da aba Class Generation da caixa de diálogo Project Options, com uma Room para cada símbolo de folha. Além de agrupar os componentes desse canal, a Room pode ser usada na nomenclatura dos componentes contidos nela. As Rooms e sua função no processo de projeto da placa são discutidas com mais detalhes na seção Projeto de PCB multicanal deste artigo.
Conectividade em um projeto multicanal
Para um projeto multicanal, defina Net Identifier Scope como Automatic, Hierarchical ou Strict Hierarchical. Um projeto multicanal deve ser hierárquico porque o software usa esse modelo estrutural para instanciar os canais na memória quando o projeto é compilado.
Há dois requisitos distintos de conectividade que o software deve atender para uma rede conectada a um canal repetido. A rede será:
- comum a todos os canais; ou
- exclusiva de cada canal.
O nível de suporte a isso depende do método usado para definir os canais (vários símbolos de folha ou a palavra-chave Repeat). Se um projeto usa vários símbolos de folha (um símbolo de folha individual para cada canal), a conectividade das redes é explícita, conforme definida pelas conexões inseridas pelo projetista.

Este projeto usa a palavra-chave Repeat para criar vários canais.
Se o projeto usa a palavra-chave Repeat, aplicam-se as seguintes convenções de conectividade.
| Passing a Net to all Channels | Se uma rede precisar estar disponível em todos os canais, basta conectá-la a uma entrada de folha, como mostrado para a rede Monitor conectada ao símbolo de folha InputChannel.SchDoc na imagem acima. As redes Effects, MB1 e MB2 também estarão disponíveis em todos os canais. As redes de um barramento são tratadas da mesma forma: quando um barramento é conectado a uma entrada de folha, cada elemento desse barramento fica disponível em todos os canais. |
| Passing a net to a Specific Channel | Para atribuir uma única rede de um barramento a cada canal, usa-se a palavra-chave Repeat na entrada de folha, como mostrado para o barramento Headphone na imagem acima, em que a entrada de folha tem o nome Repeat(Headphone). Nesse caso, a rede Headphone1 será conectada ao canal CIN1, Headphone2 será conectada ao canal CIN2, e assim por diante. Não é possível passar uma rede individual para apenas um canal se a palavra-chave Repeat tiver sido usada para criar os canais. Se isso for necessário, você deverá inserir um símbolo de folha individual para cada canal. |
Como as redes são nomeadas
Em última análise, cada rede só pode ter um nome na PCB (uma rede da PCB não pode ter dois nomes). O software resolve automaticamente as redes com vários nomes para que tenham apenas um único nome no projeto. É importante configurar as opções de nomenclatura em um projeto multicanal para garantir que suas redes sejam identificadas de uma maneira que faça sentido para você. As opções de nomenclatura de redes estão na seção Netlist Options da aba Options da caixa de diálogo Options for Project.
Uma boa abordagem para configurar essas opções em um projeto multicanal é habilitar a opção Higher Level Names Take Priority e também inserir rótulos de rede em todas as redes conectadas a uma folha filha usada como canal.
Como exemplo, considere as imagens abaixo. Observe que ambos os símbolos de folha apontam para a folha PCB_Decoder.SchDoc, portanto há 2 canais desse circuito, identificados como U_PCB_DecoderA e U_PCB_DecoderB.
O símbolo de folha inclui uma entrada de folha chamada TDI, que é a linha de entrada de dados de teste (TTest DData IIn) em uma cadeia de varredura de contorno JTAG. TDO (Test Data Out, saída de dados de teste) de DecoderA se conecta então ao TDI do próximo dispositivo na cadeia, que está no canal DecoderB.

Os dois canais de decodificador são criados inserindo dois símbolos de folha que fazem referência ao mesmo esquemático, PCB_Decoder.SchDoc.
Quando o projeto é aberto, as abas de canal U_PCB_DecoderA e U_PCB_DecoderB aparecem na parte inferior da visualização do esquemático. Essas abas mostram o projeto físico conforme será transferido para o editor de PCB. Nas imagens abaixo, o esquemático do circuito decodificador, tal como foi capturado, é mostrado na aba Editor à esquerda, seguido pelos dois canais físicos desse esquemático, U_PCB_DecoderA e U_PCB_DecoderB.
No esquemático original capturado, a rede foi rotulada como TDI pelo projetista (primeira imagem). Observe como o software aplicou o nome de rede de nível superior, TDO_CONTROLLER, na aba DecoderA (segunda imagem), por ser um nome de rede de nível superior (configurado para ter prioridade neste projeto). Para DecoderB, não há um nome de nível superior definido; portanto, o nome de rede original, TDI, foi identificado neste canal como TDI_2 (terceira imagem), pois esse é o esquema de nomenclatura definido na aba Multicanal da caixa de diálogo Project Options (o esquema Component Naming é usado para identificar tanto os componentes quanto as redes em cada canal).

O esquemático PCB_Decoder.SchDoc: primeira imagem — o esquemático capturado; segunda e terceira imagens — a visualização compilada dos dois canais.
Exibição dos nomes compilados
Rastrear e analisar as redes em um projeto multicanal pode ser confuso, pois os nomes precisam mudar para identificar as redes que se repetem, mas devem continuar sendo únicos. Para ajudar nessa tarefa, há várias opções para controlar a exibição dos nomes de objetos compilados, incluindo designadores de componentes, rótulos de rede, portas de alimentação e portas. Também há opções para números de folha e de documento, que serão importantes quando você estiver pronto para gerar saídas para impressão.
A exibição dos nomes de objetos compilados é configurada na página Esquemático - Compilador da caixa de diálogo Preferences, mostrada na imagem abaixo.

Configure a exibição dos nomes de objetos compilados; os sobrescritos são úteis para os designadores de componentes.
Normalmente, convém exibir os designadores e os rótulos de rede. As portas são úteis ao diagnosticar um problema. Os números de folha e de documento também são importantes e devem ser configurados corretamente. Você encontrará links para informações sobre a numeração de componentes e folhas na seção Anotação do projeto.
Se a opção Display superscript if necessary for selecionada, a visualização atual do documento incluirá, como sobrescrito, o identificador do objeto da visualização não visível. Configure essas opções de acordo com suas preferências.

A visualização do canal 2 (CIN2) de um projeto multicanal. Observe como os designadores e os nomes de rede do esquemático lógico original são exibidos como sobrescritos.
Resolução de erros de múltiplos nomes de rede
Por padrão, as opções de verificação de erros do editor de esquemáticos sinalizam todas as ocorrências de redes com múltiplos nomes. Isso pode ocorrer quando você altera o nome intencionalmente, por exemplo, quando uma rede entra em um símbolo de folha e você prefere usar um nome diferente dentro dessa folha. A imagem abaixo mostra vários exemplos disso, nos quais as saídas esquerda e direita são agrupadas em um barramento na folha superior, mas são chamadas de Left e Right nas entradas de folha.
Foi usado um barramento porque ele permite representar os dois canais de saída por um único símbolo de folha com a palavra-chave Repeat. Se fossem usados fios separados para os canais esquerdo e direito, o projetista precisaria inserir símbolos de folha separados para esses canais de saída (ambos apontando para a mesma folha de esquemático filha) e, em seguida, conectar cada saída ao respectivo símbolo de folha de saída.
Você deve instruir o software sobre como lidar com múltiplos identificadores de rede. Para isso, será necessário executar uma das seguintes ações:
- Definir a verificação de erro Nets with multiple names como No Report na aba Relatório de erros da caixa de diálogo Options for Project. Essa não é a opção preferível, pois impede toda a verificação dessa condição de erro em todo o projeto. Como alternativa, você pode:
- Inserir uma diretiva No ERC específica nas redes afetadas, clicando com o botão direito em um erro/aviso no painel Messages e selecionando o comando Place Specific No ERC Marker for this violation. Isso ativará o modo de inserção de objetos NoERC, com um marcador NoERC específico pré-configurado anexado ao cursor, pronto para ser inserido na rede com erro. Após inseri-lo, clique duas vezes nele para configurar o estilo e a cor.

Observe o pequeno triângulo circulado em laranja; trata-se de um marcador No ERC específico inserido para desativar os erros de nomes de rede duplicados nas redes MB1 e MB2.
Anotação de projetos multiplaca
Uma parte fundamental do processo de captura do projeto é a anotação, ou seja, atribuir um identificador único a cada componente e a cada folha de esquemático. Em um projeto multicanal, esse processo ocorre em duas etapas: primeiro, os componentes inseridos e as folhas desenhadas devem ser numerados. Em seguida, os componentes e as folhas instanciados pelos canais repetidos também devem ser numerados.
- Saiba mais sobre Anotação dos componentes
- Saiba mais sobre Numeração das folhas
Projeto de PCB multicanal
Ao transferir um projeto do editor de esquemáticos para o editor de PCB, os componentes de cada folha são agrupados em uma sala de posicionamento da PCB se a criação de salas estiver habilitada nas Opções do projeto.
A grande vantagem de usar rooms em um projeto multicanal é que o editor de PCB permite duplicar o posicionamento e o roteamento de uma room (canal) para as demais rooms (canais). As rooms também podem ser movidas como se fossem um único objeto, simplificando o processo de organização dos canais na PCB.

Os oito canais de entrada e os dois canais de saída após a transferência do projeto do editor de esquemáticos para o editor de PCB; as áreas em vermelho são as rooms.
Como os componentes são vinculados
Cada componente do esquemático é vinculado ao seu componente na PCB por meio de um identificador único (UID). O UID é atribuído quando o componente do esquemático é posicionado na folha e, depois, é atribuído ao componente da PCB quando o projeto é transferido para o editor de PCB. Esse esquema seria adequado para um projeto simples, mas não é capaz de dar suporte a um projeto multicanal, no qual o mesmo componente do esquemático é repetido em cada canal físico (portanto, os componentes da PCB teriam o mesmo UID).
Para atender a essa necessidade, o UID do componente da PCB é criado combinando o UID do símbolo de folha pai com o UID do componente do esquemático. A sintaxe do UID da PCB muda ligeiramente, dependendo de como o projeto multicanal foi criado.
Em um projeto multicanal criado posicionando vários símbolos de folha que fazem referência à mesma folha de esquemático, cada símbolo de folha pode fornecer um ID único; assim, o UID da PCB tem o formato:
\SheetSymbolUID\SchComponentUID
Em um projeto multicanal criado usando a palavra-chave Repeat, há apenas um UID de símbolo de folha disponível; por isso, o UID da PCB também inclui o ChannelIndex, no formato:
\ChannelIndex+SheetSymbolUID\SchComponentUID
Exibição dos designadores na PCB
Pode ser difícil posicionar os textos dos designadores em um projeto multicanal, pois eles podem ser bastante longos. Além de escolher uma opção de nomenclatura que resulte em um nome curto, outra opção é exibir apenas o designador lógico original do componente. Por exemplo, C30_CIN1 seria exibido como C30. Isso exigiria adicionar alguma outra indicação à placa para identificar os canais separados, como desenhar uma caixa ao redor de cada canal na serigrafia dos componentes.
Você pode escolher entre a exibição de designadores lógicos e físicos na PCB na seção Other do painel Propriedades do editor de PCB (View » Panels » Properties). Se você optar por exibir os designadores lógicos dos componentes em um projeto multicanal, eles serão exibidos na PCB e em todas as saídas geradas, como impressões e arquivos Gerber. No entanto, os designadores físicos únicos são sempre usados na geração de uma lista de materiais.
► Saiba mais sobre Anotação dos componentes
Projeto hierárquico multicanal paramétrico
O desafio de reutilizar uma seção do projeto — por exemplo, vincular um símbolo de folha do projeto atual ao esquemático de fonte de alimentação preferido da sua empresa — é que os valores dos componentes nem sempre são fixos de um projeto para outro.
O projeto hierárquico paramétrico resolve esse problema: ele permite transferir a especificação dos valores dos componentes da folha de esquemático para o símbolo de folha que faz referência a ela. Esse recurso também funciona perfeitamente com projetos multicanal, permitindo ter valores de componentes diferentes em cada canal. Observe que isso exige que cada canal tenha seu próprio símbolo de folha, pois é nele que os valores dos componentes são armazenados.
Por exemplo, um equalizador gráfico pode ter o mesmo circuito repetido várias vezes, sendo os valores dos componentes a única diferença entre os canais. Assim, um capacitor pode assumir os valores 0.12µF, 0.056µF e 0.033µF nos diferentes canais. A implementação é simples, pois você especifica esses valores no símbolo de folha que faz referência a cada canal, eliminando a necessidade de ter vários esquemáticos semelhantes que diferem apenas nos valores dos componentes.
Os componentes paramétricos são definidos declarando seu valor como um parâmetro do símbolo de folha do nível superior e, em seguida, fazendo referência a esse parâmetro no componente de destino. A imagem abaixo mostra, à esquerda, a folha de nível superior de um equalizador gráfico, com os parâmetros do símbolo de folha de 1 kHz ao lado. A imagem também mostra o esquemático elaborado no nível inferior e o canal de 1 kHz compilado (conforme selecionado pelas abas inferiores).

Um equalizador gráfico com diferentes valores de capacitores e resistores em cada canal; os valores reais dos componentes são definidos nos símbolos de folha, de modo que apenas um esquemático de nível inferior precisa ser elaborado.
Cada um desses parâmetros do símbolo de folha também é definido como o value de um parâmetro em um componente do esquemático em uma folha de nível inferior, conforme mostrado na imagem abaixo. O valor de cada parâmetro do símbolo de folha é passado ao componente correspondente do esquemático, onde é então mapeado para o campo Comment do componente. Observe que, se um parâmetro Value for usado diretamente para mostrar o valor de um componente do esquemático, em vez do parâmetro Comment do componente, o único requisito será mapear o parâmetro do símbolo de folha para o parâmetro Value do componente (Value=C2_Value) e torná-lo visível.

Como o parâmetro Value tem o valor =C2_Value, o compilador sabe que deve procurar o valor real do componente em um símbolo de folha de nível superior.
A hierarquia paramétrica não se limita aos valores dos componentes. Você pode referenciar parametricamente qualquer parâmetro de componente, bem como rótulos de texto de outros objetos na folha de esquemático, com exceção de elementos fundamentais de conectividade, como identificadores de componentes, objetos de porta e nomes de arquivos de documentos. Se você fizer referência a parâmetros de um símbolo que esteja vários níveis acima na hierarquia, o sistema percorrerá a hierarquia até encontrar o parâmetro correspondente.
