Saturday 16 August 2014

Altium MultiChannel

Multi-Channel Rules

Just recently I was reading this post on the EEVBlog forum and thought "Ah ha!  I've done this before." Should be easy.  Famous last words.

So after spending a ridiculous amount of time workign out what the missing step was, I thought I'd better capture it for the next time I want to use it.

WHY MULTI-CHANNEL


You use a multi-channel design in Altium when you have multiples of an identical sub-circuit.  QAll you need to do is lay out the one channel, and then you can duplicate the layout by 'Copy Room Formats".  This has saved me a ton of time in the past.

THE PROBLEM

Altium uses a complex naming convention:




Where the use of $Component$RoomName results in very long strings for component names:


So I prefer to use $Component$ChannelAlpha


Which results in a more human readable format like below:


Nifty!

As an aside, to set up a multichannel design in Altium, it's simply a case of having a top level schematic call a  low level schematic - like below.  I wont go into detail here because Altium's documentation on this topic is quite good!



You will notice in the sub-sheet R1 show that subsequent channels will use R1A etc as the numbering format (the water mark text).

However, if you prefer a more tradition number convention, you can go to your PCB design, select Re-Annotate and get a more traditional number scheme.



Again, Altiums's own documentation details this.  It even goes on the mention that you can push these changes to your schematic, and if you are not using a multi-channel design, it's fine.



BUT:  For a standard multi-channel design, it doesn't work.  Grrr!

The ECO is generated and it looks like the change is pushed to the schematic, but it doesn't 'stick'.  And this drove me nuts as I remembered that I got it to work once in the past, and I double checked by opening my old design and it confirmed that it could be done.

I'll spare you the pain of how I *finally* worked it out the missing step, instead I'll just jump to the chase:


In your schematic, select Tools - Annotate Compiled Sheets.  This gives each sheet a unique number in Altium and this is required to make the back annotation work.

In the PCB, push the changes to the schematic (Design - Update Schematics), return to your schematic, Recompile it (right click on the project name, select Recompile) and you're done.  Your multichannel schematic now shows the designators labelled as per your PCB.



WOOT!

Anyway, here's hoping anyone finds this useful.  At the very least, it's now written down here for me for the next time I forget!

3 comments:

  1. Hi I done the entair process but only one room is genrated

    ReplyDelete
  2. Post is very informative,It helped me with great information so I really believe you will do much better in the future.


    Multichannel BPO

    ReplyDelete
  3. The biggest problem is when you have a mix of multi-channel and normal schematics in the one project and then the nightmares begin when you re-annotate !! As soon as you flatten the PCB by re-annotating then the problems begin. In this case I have found that you need to first Back Annotate from the schematic using the WAS file first and then push back the pcb changes using Update Schematic from the PCB side. Then run the compiler again and if you have problems with duplicate designators somehow the brain dead software confuses the physical designators with the logical ones etc. The best way around this is to start all of the logical designators so they never overlap the physical ones by assigning a start designator offset of say 1000 etc in the schematic annotator !! Sometimes problems still exist and you need to delete certain components that won't reannotate properly in the schematic and then recompile the project and place the schematic components again ! Fun and games. The annotation part of the software is really broken for anything containing multi-channel design :(

    ReplyDelete