轉ZIchenzelin2009的csdn博客:http://blog.csdn.net/chenzelin2009/article/details/5751251#express
初學繪製原理圖大多數人使用的是平行式原理圖結構,一張圖紙不夠,多張圖紙繪製,只是使用網絡標號進行鏈接。網絡
但工程複雜了多張圖紙這樣管理很麻煩,若是採用層次原理圖就迎刃而解了。less
層次原理圖就是把一個系統分紅多個模塊,而後每一個模塊也能夠細分,最終將各個模塊分配到各張圖紙上,圖紙直接採用端口進行鏈接。佈局
這種結構須要一個主原理圖圖紙——工程頂層圖紙。spa
多圖紙結構通常是經過圖表符(sheet symbol)造成,一個圖表符對應一個子圖紙;.net
在上層原理圖圖紙放置圖表符,經過圖表符與子圖紙進行鏈接,而子圖紙也能夠經過圖表符與更底層的圖紙鏈接。設計
經過點擊「Place》Sheet Symbol」或 圖標來放置圖標符號。如圖 1 3d
圖1component
「Designer」是標識符,若標識符包含有Repeat關鍵字的語句,還能實現多通道功能(下文有詳解)。orm
「File Name」輸入想要調用的子圖紙文件名稱(不分大小寫),則可實現對子圖紙的調用。還有其餘方法能生成圖表符,具體方法見下文。
當多圖紙工程編譯好後,各個圖紙間的邏輯關係被識別並創建一個樹形結構,表示各個圖紙的層次關係,如圖 2:
圖2
層次結構包含以下三種:
1) 自上而下:在主原理圖圖紙下,經過「Design》Create sheet from symbol」、「Design》Create HDL file from symbol》Create VHDL file from symbol」與「Design》Create HDL file from symbol》Create Verilog file from symbol 」等命令建立子圖紙、底層VHDL文件和底層Verilog文件。
2) 自下而上:在主原理圖圖紙下,經過「Design》Create symbol from sheet or HDL 」和「Design》Create symbol from sheet or HDL 」、「Design》Create Component from sheet 」等命令建立圖表符和頂層元件。
3) 混合原理圖/HDL文件層次:這種狀況下,圖表符經過不一樣的文件名稱來調用HDL文件或原理圖
當子圖紙中的端口與圖紙入口不匹配(包括名字和IO類型)時,能夠經過「Design》Synchronize Sheet Entries and Ports」來同步,如圖 3:
圖3
選中不一樣步的端口,若想改變子圖紙的端口,使其與圖表符匹配,則選中間的圖標(第一個);相反就選第二個。
通常自頂向下或自底向上繪製的時候先繪製好端口,生成的時候會自動生成圖紙入口或端口
若想重命名一個圖表符對應的子圖紙,通常的思路是先改子圖紙的名稱,而後再改圖表符的「file name」,最後編譯工程。如今AD提供了重命名子圖紙的功能「Design》Rename Child Sheet」,出現浮動的十字光標,點中想重命名的圖表符,出現如圖 4對話框:
圖4
咱們能夠根據本身的須要設置相關的選項。
在設計過程可能會重複使用某個圖紙,此時咱們可經過兩個方法實現:
1)經過多圖表符重複調用同一個子圖紙;
2)經過具備Repeat關鍵字的圖表符。
這裏具體介紹下第二種方法:
在圖表符的「Designator」區域輸入包含Repeat的語句,其格式以下:
Repeat(SheetSymbolDesignator, FirstInstance, LastInstance)
其中,SheetSymbolDesignator是圖表符的本名,FirstInstance和LastInstance一塊兒定義了通道數;
注意FirstInstance參數必須等於或大於1,如圖 5所示,表示了2個filter通道。
圖5
在圖表符的「File Name」區域輸入多個子圖紙文件的名稱,並用分號隔開,則能實現單個圖表符調用多個子圖紙的目的;
而這些子圖紙間的相互鏈接可經過跨圖紙接口(off-sheet connectors)實現。
因爲咱們使用到多圖紙功能,這時須要考慮圖紙間的線路鏈接。
在單個圖紙中,咱們能夠經過簡單的網絡標號「Net Label」來實現網絡的鏈接;
而在多圖紙中,網絡鏈接涉及到的網絡標識符比較多,下面具體介紹:
最基本的網絡標識符是網絡標籤(net labels)。在單個圖紙內,它們能夠代替導線來表示元件間的鏈接,在多圖紙設計中,其功能未變,只能表示單圖紙內部的鏈接。
端口(Port)既能夠表示單圖紙內部的網絡鏈接(與net labels類似),也能夠表示圖紙間的網絡鏈接。
端口(Port)在多圖紙設計中,可用於縱向鏈接和橫向鏈接。橫向鏈接時,能夠忽略多圖紙結構而把工程中全部相同名字的端口鏈接成同一個網絡。縱向鏈接時,需和圖表符、圖紙入口相聯繫——將相應的圖紙入口放到圖紙的圖表符內,這時端口就能將子圖紙和父系圖紙鏈接起來。
跨圖紙接口(Off Sheet connectors)提供了介於端口和網絡標號的做用。當一個圖表符調用多個子圖紙時,這些子圖紙間的網絡鏈接就能夠跨圖紙接口實現——在這些子圖紙中放置跨圖紙接口,當接口匹配時就能鏈接起來。注意,跨圖紙接口的鏈接做用只限於這一組子圖紙間的鏈接,通常狀況下不要用於其餘圖紙結構的鏈接。
電源端口(也叫電源對象)徹底忽視工程結構,並與全部的參與連接的圖紙上匹配的電源端口鏈接起來。
下面簡單列舉各種網絡標識符的區別:
網絡標號 Net label |
通常只在單圖紙內部鏈接網絡;當選擇Flat範圍或Net範圍設置爲Global時,會水平鏈接到所有的匹配網絡符號 |
|
端口 Port |
若是它和父系圖表符的某圖紙入口匹配,或選擇了層次結構、自動範圍,則起垂直鏈接做用。當選擇了Flat或Ports Global範圍時,會水平鏈接到所有匹配的端口 |
|
![]()
|
圖紙入口 Sheet Entry |
老是垂直鏈接到圖表符所調用的下層圖紙端口 |
![]()
|
跨圖紙接口 Off-sheet connector |
水平鏈接到匹配的跨圖紙接口,但只限於被單個的、子圖紙分割的圖表符調用的圖紙組之間 |
電源端口 Power Port |
全局鏈接到工程中全部的匹配電源端口 |
注:這裏涉及到工程裏面關於端口範圍的設置,打開設置對話框(Project->Project Option,點擊Option標籤),
在「Net Identifier Scope」區域能夠選擇網絡標識符的做用範圍,通常狀況都是選擇「Automatic」模式便可,
AD會自動判斷。其餘的還有「Flat」,「Hierarchical」,「Global」模式,在特殊狀況下可根據須要選擇。
若是要使網絡標識符表示反相模式,只需在命名網絡名稱的每一個字符後面加一個反斜槓(如E/N/A/B/L/E);
或是在Preferences對話框中的Schematic-Graphical Editing頁面內,選中「Single‘/’Negation」複選框,
以後在網絡標識符名稱以前加個反斜槓便可(如:/ENABLE)。
例1 :分層次設計
圖6
如圖 6,這個原理圖工程被自動識別爲分層次做用域,由於其父系圖紙中的圖表符帶有圖紙入口。
這時端口HP-L和HP-R經過圖紙入口鏈接到一塊兒;
而兩個子圖紙中的C1和C2則不能跨越圖紙鏈接。
例2:全局端口
圖7
如圖 7,此工程只有端口,不存在圖紙入口,所以做用域被自動設置成全局端口。
工程變成平行結構,此時工程上的全部匹配端口都會鏈接在一塊兒,但網絡標籤仍不能跨圖紙鏈接。
這時即便頂層圖紙移除也不會影響工程。
例3:全局網絡標號
圖8
如圖 8,此工程沒有端口和圖紙入口,使得網絡標籤可以跨越圖紙,在匹配的狀況下進行全局鏈接;
此時移除頂層圖紙工程仍能正常編譯。
例4:全局網絡標號和端口
圖9
選擇Project->Project Option,點擊Option標籤,在「Net Identifier Scope」區域
能夠選擇網絡標識符範圍模式:Global(Netlabels and ports global);
如圖 9示,這時網絡標籤與端口爲全局,它們都以水平方式,在全局範圍內鏈接到匹配對象。
例5:跨圖紙接口
圖10
如圖 10示,此工程有四個子圖紙,圖表符「Group A」調用了
兩個子圖紙「A1.schdoc」和「A2.schdoc」,「Group B」調用了子圖紙「B1.schdoc」和「B2.schdoc」。
此時圖紙「A1.schdoc」內部的C一、C2可以和圖紙「A2.schdoc」中的C一、C2相鏈接,
同理圖紙「B1.schdoc」和「B2.schdoc」也可以實現網絡的鏈接,但這兩個組間不會進行網絡鏈接(如圖紙A1.schdoc的C1不會鏈接到B1.schdoc的C1)。
這就是跨圖紙接口的做用,能增大圖表符的圖紙範圍。
如今要設計一個2.0低音功放,此時假設有一個現成的有源低通音頻濾波器原理圖(filter.SchDoc),
一個雙通道功率放大器原理圖(Amplifier.SchDoc);
咱們能夠直接使用這兩個原理圖來實現此設計功能:建立一個PCB工程和原理圖,將現成的兩個文件添加到此工程中,
而後在新建的原理圖中建立兩個圖表符,其中一個圖表符調用雙通道功放,
另外一個經過多通道功能調用兩次濾波器,以後就能夠進行連線,最後編譯工程。
注:filter.SchDoc原理圖中要用到的信號有輸入(IN),輸出(OUT);
Amplifier.SchDoc原理圖中要用到的信號有左輸入(IN_L),右輸入(IN_R),左輸出(OUT_L),右輸出(OUT_R)。
設計前可先建立好工程的文件夾,將這兩個原理圖文件複製到工程文件夾中。
1) 建立PCB工程,給新工程添加新原理圖toplevel.SchDoc,並將兩個現成的原理圖添加到工程中,以後save all。
2) 打開原理圖filter.SchDoc,添加兩個端口IN和OUT(分別與信號IN和OUT相鏈接);打開原理圖Amplifier.SchDoc,添加四個端口IN_L, IN_R, OUT_L和OUT_R(分別與信號IN_L, IN_R, OUT_L和OUT_R相鏈接)。如圖 11示:
圖11
3) 打開原理圖toplevel.SchDoc,點擊「Design->Creat Sheet Symbol From Sheet or HDL file」,在彈出的窗口中選擇「Amplifier.SchDoc」文件,而後點擊OK。這時軟件會生成一個帶有四個圖紙入口的圖表符,將其放置在原理圖中,重命名「Designator」爲「Am」,並排列好相應的圖紙入口,如圖 12。
圖12
4) 同理,點擊Design->Creat Sheet Symbol From Sheet or HDL file」,在彈出的窗口中選擇「filter.SchDoc」文件;以後重命名「Designator」爲「repeat(FI,1,2)」,表示調用兩次filter.SchDoc圖紙。注意,全部子圖紙的公共網絡是按照正常的方式鏈接的,此時圖表符的圖紙入口名稱不用修改;而子圖紙都有的但又是各自獨立的網絡則是以總線方式引出,總線中的每一條線鏈接一個子圖紙,此時圖表符的圖紙入口需修改成Repeat(端口名),如本例中的輸入需改成Repeat(IN)。以下圖示。網絡是以在導線上放置總線名的方式(而不是以總線範圍的方式)來表示。當設計被編譯時,總線就會被分解爲每一個通道帶有一個標識的獨立的網絡(從IN1到IN2),IN1鏈接到FI_1子圖紙,IN2鏈接到FI_2子圖紙。如圖 13示。
圖13
5) 放置其餘元件,鏈接好線路,如圖 14,而後編譯工程。
圖14
編譯好以後,能夠看左邊的面板,發現工程變長樹形結構,如圖 15。
圖15
多通道設計屢次調用同一個子圖紙,在編譯以後,會爲各個通道分配好標識符,進而映射到PCB文件中;點擊「Project->Project Option」,在打開的對話框中單擊「Multi-Channel」標籤,如圖 16示,在這裏能夠設置到通道(ROOM)和元件的命名方式。
圖16
(1) 通道(ROOM)的命名
在Room Naming區域,選擇Room Naming Style 下拉列表的選項設置ROOM的命名方式。命名方式包括了2種平行化和3種層次化類型,可根據具體狀況選擇;在有多級room的狀況下,其命名結構爲(通道前綴+通道索引)。咱們能夠隨便選擇一種命名方式,其命名狀況如上圖;該圖片給出了一個2*2的通道設計例子,共有6個通道,每一個Bank一個,4個較低層次通道各一個。且層次化命名類型還支持經過「Level Separator for Paths」來修改分割路徑信息的符號。
(2) 元件命名
元件命名通常包括通道名稱。元件命名類型有8種,在「Designator Format」下拉列表能夠選擇具體的命名方式。用戶還能夠直接在對話框裏輸入自定義的元件標識符命名方式,其中可能會用到一些關鍵詞。如表 1
Keyword |
Definition |
$RoomName |
name of the associated room, as determined by the style chosen in the Room Naming Style field |
$Component |
component logical designator |
$ComponentPrefix |
component logical designator prefix (e.g. U for U1) |
$ComponentIndex |
component logical designator index (e.g. 1 for U1) |
$ChannelPrefix |
logical sheet symbol designator |
$ChannelIndex |
channel index |
$ChannelAlpha |
channel index expressed as an alpha character. This format is only useful if your design contains less than 26 channels in total, or if you are using a hierarchical designator format. |
表 1
工程被編譯後,咱們能夠在被屢次調用的子圖紙界面下方看到多了一些標籤,如圖 17示。
咱們能夠單擊相應的標籤查看裏面元件標識符的分配狀況。
以後給工程添加一個PCB文件,經過「Design->Update PCB」將元件導入到PCB文件中;
轉換過程會自動爲每一個子圖紙創建一組元件中,每組元件有一個room並將元件都置於room之中。
對一個通道佈局佈線後,可經過「Design->Rooms->Copy Room Formats」來複製該通道的佈局與走線到另外一通道中。
圖17
單擊「Project->View Channel」便可調出「Project Components」對話框,其中顯示了每一個原理圖中元件標識符的分配狀況,如圖 18示。
以後點擊「Component Report」,彈出「Report Preview」窗口,此時能夠點擊「Export」按鈕導出Excel格式表格(.xls文件),或是點擊「Print」按鈕進行打印。
圖18
AD提供的Signal Harness功能,支持將多個導線、總線包裹在一塊兒進行鏈接。
在導線、總線鏈接較多且複雜的原理圖中,咱們可使用Signal Harness將這些線路聚集在一塊兒,結合各類網絡標識符進行圖紙內或跨圖紙鏈接。
通常Signal Harness系統包含有四塊:
Signal Harness(連線),
Harness Connector(鏈接器),
Harness Entry(入口)和
Harness Definition File(定義文件)。
前三者在畫原理圖時需用到,最後的定義文件則會自動生成(前提是使用了Harness Connector)。其原理圖如圖 19。
圖 19
下面簡單介紹下Signal Harness的使用:
點擊「Place->Harness-> Harness Connector」,在放置前按「TAB」鍵,在「Harness Type」輸入鏈接器的類型(本例使用「TEST」),以後點擊OK放置。
點擊「Place->Harness-> Harness Entry」,放置接口,並根據實際重命名。
放置端口「AUDIO」和其餘的網絡標籤,以後進行連線;其中AUDIO需用Signal Harness鏈接。
編譯工程,在左邊工程面板的工程目錄下的「Setting->Harness Definition Files」能夠看到(*.Harness)的文件,
雙擊打開,能夠看到裏面就一個語句「TEST=WCLK,BCLK,DOUT,DIN,MCLK」,表示TEST由多個鏈接線組成。
以後能夠在圖紙內其餘須要鏈接的地方再建一個Signal Harness,經過端口鏈接起來;若是須要鏈接的電路在其餘圖紙內,一樣能夠經過端口(port)將電路鏈接起來。
4、設備圖紙符號(Device Sheet Symbol )
Altium Designer 中Device Sheet Symbol 與 Sheet Symbol 的使用