<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 元件/連接器 > 設(shè)計應(yīng)用 > 工程師技巧:如何將原理圖符號改得簡潔明了

          工程師技巧:如何將原理圖符號改得簡潔明了

          作者: 時間:2017-10-11 來源:網(wǎng)絡(luò) 收藏

            使你的原理圖符號能夠讓人理解非常重要。有時用CAD軟件包中預(yù)先做好的符號就可以了,但大多數(shù)符號并不太理想。CAD軟件包含的上萬種符號只是你重新繪制它們的基礎(chǔ)。好的原理圖應(yīng)該有可預(yù)測的信號流向。雖然許多半導(dǎo)體公司賺了很多錢,并提供很多支持,但很多時候他們專注于芯片內(nèi)部,而做不到正確的原理圖流向。

          本文引用地址:http://www.ex-cimer.com/article/201710/365392.htm

            在我的上一篇文章的評論欄中,有很多關(guān)于繪制原理圖符號的討論。使你的原理圖符號能夠讓人理解非常重要。有時用計算機輔助設(shè)計(CAD)軟件包中預(yù)先做好的符號就可以了,但大多數(shù)符號并不太理想。請確保你的軟件包能方便地創(chuàng)建符號,因為你可能得重新繪制每個單獨元件,以及創(chuàng)建新的元件。CAD軟件包含的上萬種符號只是你重新繪制它們的基礎(chǔ)。

            好的原理圖應(yīng)該有可預(yù)測的信號流向。這個流向要求輸入部分位于左邊和上邊,輸出部分位于右邊和下邊。當(dāng)然這并非鐵板一塊,但如果你希望其他工程師一眼就能理解你的原理圖,遵循這個規(guī)則就非常重要。如果我高聲對你喊叫,“區(qū)別什么有做這樣?”這種語法結(jié)構(gòu)顯然讓人難懂,但如果我按從右到左的順序說,“這樣做有什么區(qū)別?”那么你馬上就能理解了。雖然許多半導(dǎo)體公司賺了很多錢,并提供很多支持,但很多時候他們專注于芯片內(nèi)部,而做不到正確的原理圖流向(圖1)。

          圖1:目前許多公司畫的原理圖符號模仿的是元件的引腳圖,而不是信號流向。

            圖1中的六反相器U1不是很實用。它將6個反相器合成在一個符號中,并且左邊和右邊都有輸入輸出。引腳長度也不需要那么長。U2這個符號稍微好一些,輸入都在左邊,輸出都在右邊。像我這樣一把年紀(jì)的人不喜歡彩色背景,因為經(jīng)過六次黑白拷貝黃色會變成黑色,從而讓你無法看清任何東西。我創(chuàng)建的U3由不同元件組成(異構(gòu)元件),包括6個相同的元件和表示電源與地的第7個元件。排阻RP1是非常愚蠢的畫法,當(dāng)這些電阻應(yīng)該處于原理圖上不同位置時很容易把原理圖弄得一團糟。RP2顯示了異構(gòu)元件在這種時候的作用。一些半導(dǎo)體公司采用ANSI符號畫邏輯器件,這顯然是由缺乏分析的線性思維的人發(fā)明的,而不是模擬工程師眼中的圖形化思維(圖2)。

          圖2:許多工程師都不喜歡ANSI/IEEE邏輯符號畫法,這些符號簡直是非徒無益,而又害之。顯示實際的邏輯符號稍好一些。CAD軟件包中附帶的元件基本上是沒有用的。較好的做法是將元件一分為二。更好的做法是將電源獨立出來,這樣就不會弄亂信號流向。模擬工程師最想要的是在元件內(nèi)部稍微畫一些能表示其功能的圖案。

            對于多元件封裝來說(比如許多邏輯門),原理圖符號需要分解開來,因為你很少會在原理圖的同一個地方使用全部這些元件。這個原則同樣適用于雙路或四路運放。元件符號可以采用德·摩根等效符號(圖3)。我非常敬佩那些能夠通過布爾表達(dá)式來理解電路工作的工程師,但我還是喜歡圖形化的表達(dá)方式——通過圖形可以想象位于D鎖存器中的比特,或者多路復(fù)用器中斷言給定輸入的引腳。


          圖3:早在1995年,OrCAD 9就允許用德·摩根等效符號表示與非(NAND)門。AlTIum/CircuitStudio可以讓用戶給元件分配不同的“模式”完成相同的任務(wù)。如果你想畫一個“引腳上負(fù)下正”模式的運放符號就非常方便。若是沒有等效符號,如果你想垂直翻轉(zhuǎn)一個元件,也會把正電源放到下邊,把地放到上邊去。通過調(diào)用繪制的德·摩根等效符號,你可以交換輸入引腳,同時保持電源和地的位置不變。解決這個問題的另外一種方法是制作一個具有獨立電源的異構(gòu)元件(U6)?,F(xiàn)在你可以垂直翻轉(zhuǎn)運放,將負(fù)引腳放到上面來。

            某個年代的原理圖程序出現(xiàn)于這樣一個時期:PCB上大約有40個14引腳的邏輯芯片,每個芯片配一個去耦電容,再加上一個卡緣連接器。在1985年,DOS OrCAD甚至不能畫三角形。這是那個年代的局限,也是那個年代需要擔(dān)心的事。當(dāng)時許多公司覺得PCB上只有一個電源,即VCC(兩個“C”代表“公共集電極”,因為所有這些邏輯門都饋送電源給許多晶體管的集電極)。因此PCB只需要VCC和地。CAD公司的程序員甚至認(rèn)為不需要在芯片上顯示電源引腳。他們只是發(fā)明了“零長度”引腳,然后版圖設(shè)計程序會將所有相同名字的引腳連接在一起。程序員認(rèn)為工程師使用最后生成網(wǎng)絡(luò)表的原理圖簡直太蠢了。

            說到地,“公共端”或“回流端”其實更貼切,除非你的電路連接到墻上插座的大地引腳(圖4)。我承認(rèn)這只是個人喜好,但我喜歡美國風(fēng)格的電源和電阻符號,在晶體管和MOSFET上有個圓圈,且MOSFET清楚地指示了N溝道或P溝道類型。

          圖4:地、電源、電阻、晶體管和MOSFET等各種元件符號。

            我碰到過一位教授,如果他看到你在汽車收音機原理圖上有大地符號,會給你不及格的判定。汽車底盤是一種不同的符號,不管AlTIum叫它大地,還是你在大多數(shù)PCB上使用的三角符號,都意味著公共端或回流端。我個人的喜好是使用箭頭代表電源,我也沒遇到過哪一位工程師喜歡R1和R2那樣歐洲畫法的電阻,甚至AlTIum里的可變電阻符號R3也沒有意義,除非它有三個腳,或者在封裝上把兩個腳短接在一起。我也喜歡晶體管上的圓圈、短引腳、字母N或P清晰地顯示MOSFET的類型,以及有助于顯示管子類型的柵極引腳,可以翻轉(zhuǎn)的P溝道類型,以便源極位于上面,因為更多的正電源也在上面。我很欣賞AlTIum/CircuitStudio顯示體二極管。

            在現(xiàn)代設(shè)計中,電源和地引腳不可見帶來的問題是,當(dāng)版圖封裝的電源連接錯誤時電路經(jīng)常會燒掉。經(jīng)常會燒。這是一個很嚴(yán)重的問題,因為你可能有多個帶電源的層,而重新做PCB甚至重新搭建原型是很困難的?;谶@個理由,我們許多人會把電源引腳明確地畫出來。對于像四運放這樣的多元件封裝來說有三種方法來實現(xiàn)(圖5)。第一種方法是你可以將電源引腳畫在每個元件上。第二種方法是只將電源引腳畫在其中一個元件上,這時要確保將所有未用元件也都放到原理圖上。第三種方法是將四運放設(shè)計成由5個元件組成的異構(gòu)封裝,包括4個獨立的運放和一個單獨的電源與地引腳元件。這種方法的優(yōu)點是你可以將電源與地元件和所有去耦電容放在一起。缺點是你可能忘了放電源與地元件,由此帶來的災(zāi)難是器件沒有供電而不是接錯電源。一個技巧是將電源引腳作為封裝中的第一個元件,這樣當(dāng)你放置這個元件時第一個放的就是電源。不管怎樣,你都應(yīng)該將所有元件都放到原理圖中去,以便給未用元件合適的偏置,防止它們發(fā)生振蕩。

          圖5:電源和地不要使用零長度的引腳。相反,最好在U1的每個元件上畫出電源引腳。你也可以只在封裝的某個元件上畫電源引腳,但要確保所有元件都被放置,這樣你就不會忘了連接電源(U2)。U3封裝則是使用了一個單獨的“元件”來畫電源和地。這樣做的優(yōu)點是你可以翻轉(zhuǎn)運放,根據(jù)電路需要靈活地將負(fù)引腳放在正引腳的上面或下面。

            十幾年前Cadence的OrCAD中就有這些異構(gòu)元件了,這種方法還可以將連接器分解成若干塊。這樣做同樣是為了保持原理圖的信號流向,確保每根線連接正確的連接器(圖6)?,F(xiàn)在你可以確保你的原理圖流向是從左到右的,使得其他工程師理解起來更加容易,也能讓你在5年后再看時更加容易理解。

          圖6:如果你將連接器只畫成一個元件符號,會使得原理圖很亂(a)。通過使用OrCAD中的異構(gòu)元件功能,或Altium/CircuitStudio中的元件“模式”,你可以將連接器分解開來,以便原理圖的流向更清晰更容易理解(b)。

            另外一個考慮是如何將諸如開關(guān)電源芯片這樣的復(fù)雜元件畫清晰。即使你將輸入移到左邊,輸出移到右邊,仍然很難理解這種元件的工作原理。針對這種情況,你可以在符號框中畫一個簡單的圖,用來暗示這個元件的功能。不一定是數(shù)據(jù)手冊中的框圖,只需簡單的表述,以便提醒你和其他人這個元件是做什么的。

            還有其它一些原理圖符號的慣例,它們更多的是偏好,而不是好的設(shè)計原則。我很喜歡用圓圈將晶體管包圍起來。需要重申的是,那些半導(dǎo)體工程師畫的晶體管才沒有圓圈。我認(rèn)為圓圈非常有用。同樣,我很喜歡當(dāng)走線發(fā)生交叉時做一個小的跳接。這就引出了另一個重要規(guī)則:沒有4向結(jié)點。我見過一個傳真過來的原理圖,怎么都看不出走線是否只是交叉而不是連接在一起。結(jié)果我猜錯了,這浪費了我一天時間。如果所有原理圖都用跳接,“沒有4向結(jié)點”規(guī)則就沒那么重要了。令我高興的是,最新版本的Altium/CircuitStudio可以顯示跳接,并能自動防止生成4向結(jié)點(圖7)。

          圖7:像我這樣的老人在走線間沒有連接關(guān)系時喜歡采用跳接的方式。需要注意的是,4向結(jié)點是原理圖中的禁忌。Altium/CircuitStudio有產(chǎn)生跳接的選項,也有通過設(shè)置走線偏移消除交叉結(jié)點的功能,比如這個芯片的GND連接處所示。注意,庫元件的左邊是輸出,右邊是輸入,與你想象的剛好相反。

            我的做法是使用輸入在左側(cè)的規(guī)則重畫元件符號(圖8)。我還使用了獨立的電源與地符號,以便減少雜亂現(xiàn)象,畢竟我們關(guān)心的是信號流向。大多數(shù)工程師理解555定時芯片內(nèi)部的功能。但如果你不知道,或者你認(rèn)為閱讀該原理圖的人不知道,那么你可以在元件內(nèi)部畫上一些或所有框圖。Altium/CircuitStudio允許你在原理圖符號上放置圖片,因此我在網(wǎng)上找到一個很好的555定時器框圖,經(jīng)過一些細(xì)微調(diào)整后我將它放進(jìn)原理圖符號中。我不得不遵循它們的引腳輸出結(jié)構(gòu),因此原理圖上有些跳接(圖9)。

          圖8:修改圖7中的555定時器,將輸入放在左邊,輸出放在右邊,這樣原理圖流向更清晰。單獨的電源與地符號消除了走線的雜亂現(xiàn)象。

          圖9:你可以在元件內(nèi)部畫一個框圖來展示它的功能。這可以像顯示一個集電極開路輸出一樣簡單,或者像顯示開關(guān)電源芯片內(nèi)部功能一樣更復(fù)雜一些。一些CAD軟件包允許你將圖像粘貼到元件符號內(nèi)。

            這里有個關(guān)鍵點。你可以用整個原理圖來表示元件內(nèi)部功能,或者要是對元件內(nèi)部功能不是很關(guān)心的話,可以想讓原理圖更簡捷。我的想法是適當(dāng)在元件內(nèi)畫一些內(nèi)容,比如集電極開路輸出,但重要的是保持整個原理圖清晰有條理,人們看起來容易理解。

            好了,就剩最后一個模擬工程師的最愛了。在大學(xué)里,John Kuras經(jīng)常開玩笑說功率晶體管應(yīng)該用粗一點的線畫得大一點。當(dāng)時我們都嗤之以鼻,但現(xiàn)在我確實喜歡用更大的符號顯示TO-3巨型封裝的晶體管(圖10)。成為模擬工程師就得接受重要性原則,而更大的晶體管更重要,而且畫起來更容易。

          圖10:每個人都可以看出來,右邊的晶體管是一個功率晶體管。

            原理圖符號偏好就像是音樂偏好,它們非常個性化。這是你作為工程師的一種風(fēng)格。像跳接和晶體管上的圓圈等事情不是很重要,而諸如輸入在左邊和上邊、輸出在右邊和下邊等事情則比較重要。我們都在爭論如何處理既有輸入又有輸出的總線。我認(rèn)為地符號很重要。網(wǎng)上有篇應(yīng)用筆記,那篇筆記認(rèn)為如果你根據(jù)符號建議的那樣將它連接到大地,有可能燒壞二極管。



          關(guān)鍵詞: 電路原理圖

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();