Bundling Multiple Nets into Buses & Signal Harnesses

Um desafio comum num projeto de grande dimensão é manter as nets fáceis de gerir, não apenas do ponto de vista do projetista que cria a conectividade mas também do ponto de vista do leitor, que tem de interpretar e compreender o esquema. Isto é particularmente importante ao ligar entre folhas pois é nessa altura que tanto o projetista como o leitor se podem confundir mais facilmente.

Se o projeto incluir componentes com um elevado número de pinos, não é prático criar toda a conectividade usando fios individuais. É possível agrupar várias nets num bus se forem membros de um conjunto com incremento numérico, como Data0, Data1, etc. Em alternativa, qualquer combinação de nets e buses pode ser agrupada num signal harness, que oferece uma forma visual e logicamente organizada de transportar múltiplas nets por todo o seu projeto.

Trabalhar com Buses

Os buses são usados para agrupar uma série de nets sequenciais, por exemplo, um bus de endereços ou um bus de dados. O seu requisito fundamental é que cada net no bus tenha um nome com uma base comum, seguida de um identificador numérico, como mostrado nas imagens abaixo. Por exemplo, as nets Control1, Control2 e Control3 podem ser agrupadas no bus Control[1..3]. Os buses não podem ser usados para agrupar um conjunto não relacionado de nets, como as nets Enable, Read e Status; para isso usam-se signal harnesses, como explicado abaixo.

Para criar um bus válido, este tem de incluir todos estes elementos (como mostrado nas imagens abaixo):

  • Uma etiqueta de net em cada uma das nets individuais

  • Uma etiqueta de net na linha do bus

  • Um port com o mesmo nome do bus, caso este saia da folha

Todos os elementos mostrados na imagem acima têm de ser incluídos para criar um bus válido. As entradas de bus só precisam de ser usadas se quiser desdobrar diferentes elementos do bus a partir de ambos os lados do bus. 
Todos os elementos mostrados na imagem acima têm de ser incluídos para criar um bus válido. As entradas de bus só precisam de ser usadas se quiser desdobrar diferentes elementos do bus a partir de ambos os lados do bus.

Os buses não são transferidos para o PCB; em vez disso, pode ser criada uma classe de nets para cada bus do esquema ou, se necessário, para cada secção do bus. Uma secção de bus é criada especificando um bus que é, na realidade, uma secção de um bus maior, por exemplo, do bus D[15..0]. Se esta opção estiver ativada, o PCB incluirá uma classe de nets para o bus completo, bem como para cada secção que tenha sido definida. Ative as opções necessárias no separador Class Generation da caixa de diálogo Project Options.

Trabalhar com Signal Harnesses

Os signal harnesses são altamente flexíveis, pois podem ser usados para agrupar qualquer número de nets, buses e harnesses de nível inferior. Como o nome indica, são análogos a um chicote de cablagem, no qual qualquer disposição de fios pode ser agrupada e encaminhada através de um produto eletrónico ou elétrico. São mais complexos de criar e gerir, mas a vantagem é que podem simplificar bastante a apresentação de um esquema e melhorar a sua legibilidade.

Os signal harnesses são usados para agrupar qualquer combinação de nets, buses e signal harnesses de nível inferior.
Os signal harnesses são usados para agrupar qualquer combinação de nets, buses e signal harnesses de nível inferior.

Os elementos que compõem um signal harness completo incluem:

  • Harness Connector - Pense num Harness Connector como um funil; este recolhe todos os sinais que se ligam a este harness através das Harness Entries incluídas. Uma propriedade fundamental do Harness Connector é o Harness Type; isto identifica o harness e é usado para associar os vários elementos que compõem o signal harness, incluindo as Ports / Sheet Entries ligadas.

  • Harness Entries - Cada sinal (net, bus ou signal harness) que pretenda que faça parte deste signal harness entra no Harness Connector através de uma Harness Entry. A Harness Entry inclui uma propriedade Harness Type; esta só é utilizada quando está a aninhar signal harnesses - indicando que esta Harness Entry tem ligado a si um signal harness de nível inferior.

  • Signal Harness line - A linha semelhante a um barramento que é colocada para transportar a cablagem de sinais ao longo da folha.

  • Harness Type - Um Harness Type é um conjunto de Harness Entries. Cada Harness Type detetado é definido num Harness Definition File, conforme descrito abaixo. O Harness Type e as respetivas Harness Entries associadas são essencialmente nomes dos contentores que transportam as nets, e não os nomes das próprias nets. Para verificar o valor de Harness Type, passe o cursor sobre o objeto, por exemplo, a Port, Sheet Entry ou Harness Connector.

  • Harness Definition File - O software gere signal harnesses registando as Harness Entries que estão em cada signal harness (Harness Type), num ficheiro ASCII Harness Definition File. A imagem abaixo mostra a sintaxe de um Harness Definition File; existe uma linha no ficheiro para cada Harness Type, que detalha as Harness Entries dentro desse harness. Um Harness Definition File é criado automaticamente (e gerido) para cada folha esquemática que tenha Harness Connectors; pode encontrá-los na pasta \Settings na árvore do projeto, como mostrado na imagem abaixo. Se o seu projeto tiver sofrido alterações que afetem os signal harnesses, os ficheiros Harness Definition são atualizados automaticamente. Se um Harness Definition File não estiver presente na pasta do projeto, é recriado automaticamente quando a folha esquemática é aberta (podem ser eliminados e serão recriados automaticamente se necessário).
  • Port + Sheet Entry - Tal como uma Net ou Bus, um Signal Harness pode sair de uma folha através de um Port e, depois, ligar-se à folha de nível superior através de uma Sheet Entry correspondente. Note que o software altera automaticamente a cor dos Ports e Sheet Entries para mostrar que estão a transportar um Signal Harness se a opção Sheet Entries and Ports use Harness Color estiver ativada na página Schematic - Graphical Editing da caixa de diálogo Preferences. Note também que os objetos Port e Sheet Entry incluem uma propriedade Harness Type; este valor é definido automaticamente quando toca com o Port na linha do Signal Harness ao colocar o Port. Para o Port na folha esquemática onde o Harness é definido (o Harness Connector está presente), o Harness Type é definido automaticamente e não é editável. Para um Port ou Sheet Entry colocados numa folha esquemática de nível superior, ficará em branco e editável; tipicamente, não há necessidade de o definir manualmente. O Harness Type atribuído pode ser verificado em qualquer momento passando o cursor sobre o Port/Sheet Entry.

As definições de harnesses são armazenadas em ficheiros Harness Definition; na imagem acima estão definidos dois signal harnesses: 1WB_Write_Read e JTAG.
As definições de harnesses são armazenadas em ficheiros Harness Definition; na imagem acima estão definidos dois signal harnesses: 1WB_Write_Read e JTAG.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Conteúdo