1.沒有官方的漢化版,這對于懂英語的人來說不難,可是有很多初學Protel的電子愛好者都不會英語(尤其是PCB方面的專業術語)畫個電路圖得費勁地查手冊和相關書籍,極為不便。
2.沒有足夠全的庫文件(原理圖庫文件和PCB元件封裝)。有很多零件都是新出的而許多廠家是不提供Protel 99SE的庫文件的(個人知道就TI和ADI兩家公司給的比較全),另外Protel 99SEL的發行公司早就不為Protel 99SE提供后續的庫文件更新而是忙于推出DXP系列軟件并為之提供后續集成化的庫文件。但我們中國人的好電腦沒有那么普及也沒有外國人那么有錢并且接受的學校教育也都是關于Protel 99SE的,所以還是很多很多人用Protel 99SE。雖然很多長輩級工程師都說你們應該自己學著畫,可以鍛煉能力。然而我個人不認為這是個好辦法,并不是缺少畫的能力而是太浪費時間。因為你不只是就畫封裝或者原理圖庫文件,而且需要查找很多相關的數據手冊,有時往往手頭沒有數據手冊還得自己找測量工具如游標卡尺之類的來實際測量尺寸。十年前采用這樣的方法是沒有辦法的,因為信息溝通還不方便,但在今天,我們生活在網絡技術和資源如此豐富的年代加之競爭如此激烈,我們應該利用好網絡技術和身邊的資源-------網絡共享。我們有理由選擇這樣的更好的辦法,因為很多的項目和電子技術應用領域所用到的電子元件是相同的,我們可以通過分享彼此畫的庫文件來減少重復勞動和提高效率。我個人的具體實現想法在下一篇中給出。這里還是說Protel 99SE的漢化問題的解決辦法。
安裝完網上比較流行的SP6漢化版,很多人都會發現有很多功能和菜單消失了,或者即使有相關的菜單,你點擊了它也沒有反應,尤其比較明顯的是原理圖界面中的View視圖/ToolBars工具條/PowerObjects電源實體。你無論怎么點它都不會給你調出電源實體工具并且有可能多點幾次還把調出了的ToolBars工具條中其他工具條也弄沒了。而像PCB界面中很多菜單就沒有,比如說3D視圖。
原因在哪里呢?當我們只安裝完SP6漢化版的前兩步,即裝了Protel 99SE的主程序和SP6的補丁包,從安裝的路徑中(默認是系統盤這里以C:\WINDOWS為例)取出Protel 99SE的菜單文件Protel 99SE.crs(先放一邊),然后再繼續安裝剩下的漢化步鄹,最后完成得到中文菜單界面。我們再從C:\WINDOWS中取出Protel 99SE.crs,打開進行比較如下圖:
圖(一)
上圖左邊的就是SP6漢化版的菜單最后部分,右邊是Protel自己安裝完后的英文版菜單最后部分,由此可見漢化的版本中少了很多行腳本語言,少了709行(結果是什么就不言而喻了)。然而當你仔細分析其中語言的區別你會就發更大的差距------它們的內容上相差更大一些不僅是某些地方有缺失而且有些地方截然不同,下面給出兩處:
圖(二)
上圖中右邊是漢化版本的內容,左邊是Protel自己安裝完后的英文版菜單,可以看出有很多功能項是完全不一樣了的。
下圖也是:
圖(三)
最終你只能從中得出一個結論,那就是SP6中那個漢化的菜單是比實際安裝的Protel軟件更早的軟件版本的中文菜單,也就是說SP6中的漢化菜單和其中的軟件程序是不配套的(那個漢化了的菜單應該是前幾個版本的,出版Protel公司在后續版本中對菜單做了優化和部分的重新配置),自然也就會發生某些菜單點了也沒有效果了(因為相關命令和執行的程序也已經改變了的)。
好了接下來的任務就是驗證已經安裝了的軟件對應的英文菜單是否好使。只需要將C:\WINDOWS中的Protel 99SE.crs文件替換回就行。啟動Protel 99SE驗證可知基本上是完整的、匹配的(之所以說基本是因為它與完整的英文版還是差了一處,至少目前我只發現了這點,后面會說到)。
下面的任務就是把這個好使的英文菜單翻譯為中文了。嗯,這可不是件easy的事:首先有很多的單詞都很專業的(盡管自己已經用了Protel英文版兩三年了還是費了些勁的);其次是這個活特別考驗你的耐心(畢竟好幾千行的代碼而且又不是自己寫的,語言也不是標準C或者VB之類的,應該是類網頁的腳本代碼,有些像VB)一個不小心敲錯了某個符號檢查起來也很難的(自己就遇到了一次了,差點是前功盡棄,最后是想出了個分而治之分----分模塊檢查的辦法才得以查出錯誤的)個人感覺設計開發出Protel的工程師還是十分厲害的(只是我們中國人也不笨,為什么就沒有人設計出來這樣的軟件呢?或許是我們已經習慣了用現成的、缺少創新意識吧)。另外自己這下才體會到底層的軟件開發人員是十分辛苦的,那些專門負責漢化的人也特別不容易,在查了資料或者即使有參考的基礎上,一天敲個上幾千次的Ctrl +V或者Ctrl +C也不是件容易的事,更別提編寫、測試了,我說的這些你可以試試了^;^
翻譯完了,把Protel 99SE.crs拷回C:\WINDOWS中驗證是否好使(當然,更應該才采用每翻譯完一部分就驗證一下,便于及時查處錯誤)。這里說一個自己這個過程中遇到的情況,即使你把英文版的Protel 99SE.crs從C:\WINDOWS中拷出來了,啟動Protel,它也會一樣有英文版的菜單而不是什么也沒有。而即使你卸載了漢化版又重裝英文版若干遍,它也可能不換菜單也就是還是漢化版。原因在于你卸載的過程中它不會自動刪除Protel 99SE.crs文件,當你下次安裝時軟件會查詢C:\WINDOWS是否有Protel 99SE.crs文件,如果有它不會覆蓋的。而當安裝好了的Protel啟動時也會去會查詢C:\WINDOWS是否有Protel 99SE.crs文件,如果缺失它會從安裝時留在你電腦上的備份(它自動備份的)中恢復出Protel 99SE.crs文件,這些設計得很完美的。然而在我們不了解這個過程時,一個不小心裝了中文菜單不對的漢化版又沒有手動刪除C:\WINDOWS中的Protel 99SE.crs文件就發現無論你裝了和卸載多少遍,它都還是漢化版------即使你后悔了說:怕你了,我不用漢化版用英文的行吧?它也不依你的^_^
上面說到的一處漏洞是指SP6中安裝后的英文版菜單文件會少一處鼠標右鍵的菜單如下圖文件管理界面中圈中部分會沒有(那是相當不方便的):
圖(四)
解決的辦法是在下圖所示的右邊的代碼區中(代碼中對應函數為'FolderMenu')添加上左邊藍色部分以下的一小段(begin.......end之間)代碼,也就是你可以自己增添合適的選項的------這種類似VB和網頁腳本的解釋性語言管理很方便------Protel工程師設計的靈活、巧妙之處。
圖(五)
總之呢懷著對前人(Protel工程師、SP6漢化版作者、介紹Protel的書的作者等)的崇敬,自己花了兩天時間把這個問題解決了,希望能給大家帶來一些參考和幫助。末了,把我自己翻譯的Protel 99SE.crs文件傳在這里
個人翻譯的水平有限,某些詞匯或有錯誤或者不標準,歡迎你指出。
同樣你也可以在PUDN網http://www.pudn.com/downloads224/sourcecode/embed/detail1053578.html或者CSDN網http://download.csdn.net/source/2030661免費下載到。
你可以自己修改(用記事本或者【推薦你用】Ultra Edit打開你系統盤中的WINDOWS中的CLIENT99SE.rcs文件將其分別修改回來即可)也可以和我聯系幫忙修改后。當然你也可以像《電子世界》雜志上鄭文君的《自己手動實現Protel99的菜單漢化》一文中所說的方法,通過Protel99SE左上角的用戶定制菜單來修改,這里給出些示例
圖(六)
圖(七)
圖(八)
圖(九)
這樣會更為人性化一些。但是像更改鼠標右鍵菜單等等又不如直接更改菜單文件來得方便了。
]]>更多此方面的討論,請去:
無獨有偶,在2007 IIC上,Altium有限公司(原Protel公司)則以豪華陣容參展,大力推廣“首個統一的電子產品開發系統”,企圖重新定義電子產品設計流程的未來發展方向。
對于PowerPCB、Protel這兩種電子設計軟件,中國電子工程師并不陌生,與這兩種軟件相關的話題,經常被工程師們津津樂道。在中國電子業界,早有“南PowerPCB,北Protel”說法,也就是說:Protel的主要市場在中國北方地區,而PowerPCB的主要市場則在中國南方地區。
但是,隨著Mentor和Altium不斷進行技術創新和市場開拓,原有不同產品南北對峙的格局被顛覆。如今,這兩大EDA公司都針鋒相對地推出了軟硬件設計解決方案,使得電子制造廠商擁有更短的產品上市時間和更低的制造成本。并且,各大電子設計軟件廠商在全國范圍內尋找商計,欲建立市場新格局。
依靠新品暗渡陳倉
在IIC上,比思電子和Altium都推出了新的解決方案,增設了許多效率更高、可靠性更好的功能,以滿足電子制造廠商多樣化的設計需求。從深圳IIC到北京IIC,比思電子和Altium都極力招攬觀眾,盡量將新產品介紹給更多的潛在客戶,希望以此改變中國工程師習慣的設計流程,成為電子設計軟件市場的引領者。
比思電子推出了Mentor PADS系列新產品,包括最新版原理圖設計軟件、PCB設計軟件、信號完整性仿真軟件等。據比思電子總經理簡健存介紹,Mentor PADS系列能提供完整的原理圖、元件數據庫管理、變量設計定義、設計文件管理、PCB設計、仿真設計流程。簡健存進一步介紹說:“如果Mentor PADS系列和Downstream公司的軟件CAM350配合使用,可以提供從原理到制造的完整工具。”
新版PowerPCB2007的視窗更簡潔,是基于形狀化(shape-based)、規則驅動(rules-driven)的布局布線設計解決方案,適合復雜、高速印制電路板的設計應用。PowerPCB2007采用自動和交互式的布線方法,具有目標連接與嵌入(OLE)自動化功能,將前后端的設計工具有機集成,其中包括測試、準備和生產制造等過程。PowerPCB2007支持Microsoft標準的編程界面,使得與其它基于Windows的補充設計工具連接更加方便有效。
為了進一步優化電子制造廠商的產品設計和制造過程,保持設計的完整性,PowerPCB2007具有智能化的屬性定義和控制、基于形狀化(Shape-based)的全自動布線、禁止區(Keepouts)和切割區(cutouts)、鎖定/保護(Lock/protect)導線等功能,確保了設計數據的準確性。其中,PADS Router“快速交互布線編輯器”的功能是交互式布線領域的一次跨越,采用了PADS Autorouter(BlazeRouter)算法,包括推擠功能、平滑布線、自動變線寬、焊盤入口質量和Plowing分等級的布線規則設置等。
簡健存分析道:“當大量不斷增加的電子產品由高速集成電路組成時,信號完整性分析工具就成為所有PCB設計者所需要的工具。”當集成電路的開關和時鐘速度不斷提高后,在電子產品開發早期,進行信號完整性分析、電磁兼容性分析、串擾分析,對于高速PCB設計是否成功至關重要。Mentor提供信號完整性解決方案套裝軟件,包括 LineSim(布局布線前)和BoardSim(布局布線后)的仿真分析工具,解決了產品設計初期出現的問題。
而Altium在IIC上推出了可重構的開發平臺NanoBoard-NB2。據Altium有限公司中國區大客戶經理胡立濤介紹,NanoBoard-NB2采用大容量低成本的可編程器件,能對電子制造廠商的數字設計進行快速交互式地實現和調試。 胡立濤強調:“客戶在采用NanoBoard NB2之后,能在統一的設計、實現、測試環境中,縮減產品的開發成本和減少上市時間。”
據悉,NanoBoard NB2具有LiveDesign功能,當與Altium Designer一起使用時,電子工程師的PC就變成了完全交互式的可編程開發實驗室,在整個開發流程中與設計“實時”交互,并行并發地設計硬件和軟件,使用基于FPGA的虛擬儀器進行設計檢測、分析和調試,把最終硬件選擇延遲到設計周期晚期決定,無需花費時間和成本即可隨時更新設計硬件。在FPGA中實現復雜的數字電路,包括基于處理器的設計,無需了解HDL編碼或RTL級別的仿真知識。開發并驗證復雜的FPGA嵌入式系統應用,并在目標PCB上實現。胡立濤總結道:“所有的一切設計都是在一個單一統一的環境中完成。”
南北格局被顛覆
其實,PowerPCB和Protel在IIC上的對決,并非偶然。在全球電子設計軟件市場上,PowerPCB和Protel這兩大流派的爭斗由來已久。而在中國市場上,更是形成了兩大派別南北對立的局面。
那么,為何PowerPCB占據中國南方市場,而Protel占據中國北方市場呢?對此,電子業界有個被廣泛認可的解釋。在中國對外開放的初期,進入中國南方沿海的電子企業以美資、港資、臺資企業居多,這些電子企業所采用的設計軟件均為PowerPC,因此,是他們奠基了PowerPC在中國南方的市場地位。而在當時,Protel進入中國市場是以在中國北方的高校、研究所為切入點,隨后被大量北方電子企業所采用。逐漸形成了PowerPCB和Protel南北分治的對立局面。
如今,Altium的胡立濤對“南PowerPCB,北Protel”的說法不以為然,他說:“現在產品設計需要更加智能化的統一的設計工具,原有那種將設計流程分割,將本該緊密聯系的硬件和軟件獨立開發的做法,已經不能適應產品快速上市、低成本的要求。因此,我們已經不是傳統意義上的EDA公司了,我們是PCB流程、FPGA流程和SW流程的集大成者。”他認為目前的競爭格局已經發生了變化,Altium不再是局限于中國北方市場,而將目標市場鎖定為整個中國市場。
胡立濤指出Altium將統一整個電子產品的開發流程,推出的開發系統是一體化、集成化、標準化、智能化和人性化的平臺,硬件、軟件和可編程硬件等領域均被統一在單一的開發系統內,充分利用“軟”設計的潛力和最新可編程器件技術。他引用Altium創始人和首席執行官Nick Martin的話說:“我們要打破創新和技術進步的障礙,為每一位工程師提供易于使用的工具,幫助他們創造、發明和提供促進社會進步的產品。我們擁有其他EDA公司不具有的優勢。”
面對Altium在IIC上恢弘氣勢, Mentor的授權代理商比思電子也倍感壓力。雖然比思電子沒有展示系統開發平臺,但簡健存表示:“我們的PowerPCB有廣泛的用戶基礎,在后續的新品推廣方面,我們有先天優勢。”據悉,Mentor已向國內公司定制XtremePCB新產品和多套Expedition系列電路板設計工具,能讓多名設計人員實時協同設計或瀏覽同一電路板,突破了單人設計模式下設計周期的極限,并且大量縮短設計周期和成本,為競爭激烈的電子企業帶來了競爭力。
簡健存承認,隨著新的電子設計系統的不斷推廣,原有的市場格局將被打破,未來的市場競爭將更加激烈,充滿變數。
]]>問:net名與port同名,pcb中可否連接
答復:可以,PROTEL可以多種方式生成網絡,當你在在層次圖中以port-port時,每張線路圖可以用相同的NET名,它們不會因網絡名是一樣而連接.但請不要使用電源端口,因為那是全局的.
問::請問在PROTEL99SE中導入PADS文件, 為何焊盤屬性改了
復:這多是因為兩種軟件和每種版本之間的差異造成,通常做一下手工體調整就可以了。
問:請問楊大蝦:為何通過軟件把power logic的原理圖轉化成protel后,在protel中無法進行屬性修改,只要一修改,要不不現實,要不就是全顯示屬性?謝謝!
復:如全顯示,可以做一個全局性編輯,只顯示希望的部分。
問:請教鋪銅的原則?
復:鋪銅一般應該在你的安全間距的2倍以上.這是LAYOUT的常規知識.
問:請問Potel DXP在自動布局方面有無改進?導入封裝時能否根據原理圖的布局自動排開?
復:PCB布局與原理圖布局沒有一定的內在必然聯系,故此,Potel DXP在自動布局時不會根據原理圖的布局自動排開。(根據子圖建立的元件類,可以幫助PCB布局依據原理圖的連接)。
問:請問信號完整性分析的資料在什么地方購買
復:Protel軟件配有詳細的信號完整性分析手冊。
問:為何鋪銅,文件哪么大?有何方法?
復:鋪銅數據量大可以理解。但如果是過大,可能是您的設置不太科學。
問:有什么辦法讓原理圖的圖形符號可以縮放嗎?
復:不可以。
問:PROTEL仿真可進行原理性論證,如有詳細模型可以得到好的結果
復:PROTEL仿真完全兼容Spice模型,可以從器件廠商處獲得免費Spice模型,進行仿真。PROTEL也提供建模方法,具有專業仿真知識,可建立有效的模型。
問:99SE中如何加入漢字,如果漢化后好象少了不少東西! 3-28 14:17:0 但確實少了不少功能!
復:可能是漢化的版本不對。
問:如何制作一個孔為2*4MM 外徑為6MM的焊盤?
復:在機械層標注方孔尺寸。與制版商溝通具體要求。
問:我知道,但是在內電層如何把電源和地與內電層連接。沒有網絡表,如果有網絡表就沒有問題了
復:利用from-to類生成網絡連接
問:還想請教一下99se中橢圓型焊盤如何制作?放置連續焊盤的方法不可取,線路板廠家不樂意。可否在下一版中加入這個設置項?
復:在建庫元件時,可以利用非焊盤的圖素形成所要的焊盤形狀。在進行PCB設計時使其具有相同網絡屬性。我們可以向Protel公司建議。
問:如何免費獲取以前的原理圖庫和pcb庫
復:那你可以的WWW.PROTEL.COM下載
問:剛才本人提了個在覆銅上如何寫上空心(不覆銅)的文字,專家回答先寫字,再覆銅,然后冊除字,可是本人試了一下,刪除字后,空的沒有,被覆銅 覆蓋了,請問專家是否搞錯了,你能不能試一下
復:字必須用PROTEL99SE提供的放置中文的辦法,然后將中文(英文)字解除元件,(因為那是一個元件)將安全間距設置成1MIL,再覆銅,然后移動覆銅,程序會詢問是否重新覆銅,回答NO。
問:畫原理圖時,如何元件的引腳次序?
復:原理圖建庫時,有強大的檢查功能,可以檢查序號,重復,缺漏等。也可以使用陣列排放的功能,一次性放置規律性的引腳。
問:protel99se6自動布線后,在集成塊的引腳附近會出現雜亂的走線,像毛刺一般,有時甚至是三角形的走線,需要進行大量手工修正,這種問題怎么避免?
復:合理設置元件網格,再次優化走線。
]]>
問:net名與port同名,pcb中可否連接
答復:可以,PROTEL可以多種方式生成網絡,當你在在層次圖中以port-port時,每張線路圖可以用相同的NET名,它們不會因網絡名是一樣而連接.但請不要使用電源端口,因為那是全局的.
問::請問在PROTEL99SE中導入PADS文件, 為何焊盤屬性改了
復:這多是因為兩種軟件和每種版本之間的差異造成,通常做一下手工體調整就可以了。
問:請問楊大蝦:為何通過軟件把power logic的原理圖轉化成protel后,在protel中無法進行屬性修改,只要一修改,要不不現實,要不就是全顯示屬性?謝謝!
復:如全顯示,可以做一個全局性編輯,只顯示希望的部分。
問:請教鋪銅的原則?
復:鋪銅一般應該在你的安全間距的2倍以上.這是LAYOUT的常規知識.
問:請問Potel DXP在自動布局方面有無改進?導入封裝時能否根據原理圖的布局自動排開?
復:PCB布局與原理圖布局沒有一定的內在必然聯系,故此,Potel DXP在自動布局時不會根據原理圖的布局自動排開。(根據子圖建立的元件類,可以幫助PCB布局依據原理圖的連接)。
問:請問信號完整性分析的資料在什么地方購買
復:Protel軟件配有詳細的信號完整性分析手冊。
問:為何鋪銅,文件哪么大?有何方法?
復:鋪銅數據量大可以理解。但如果是過大,可能是您的設置不太科學。
問:有什么辦法讓原理圖的圖形符號可以縮放嗎?
復:不可以。
問:PROTEL仿真可進行原理性論證,如有詳細模型可以得到好的結果
復:PROTEL仿真完全兼容Spice模型,可以從器件廠商處獲得免費Spice模型,進行仿真。PROTEL也提供建模方法,具有專業仿真知識,可建立有效的模型。
問:99SE中如何加入漢字,如果漢化后好象少了不少東西! 3-28 14:17:0 但確實少了不少功能!
復:可能是漢化的版本不對。
問:如何制作一個孔為2*4MM 外徑為6MM的焊盤?
復:在機械層標注方孔尺寸。與制版商溝通具體要求。
問:我知道,但是在內電層如何把電源和地與內電層連接。沒有網絡表,如果有網絡表就沒有問題了
復:利用from-to類生成網絡連接
問:還想請教一下99se中橢圓型焊盤如何制作?放置連續焊盤的方法不可取,線路板廠家不樂意。可否在下一版中加入這個設置項?
復:在建庫元件時,可以利用非焊盤的圖素形成所要的焊盤形狀。在進行PCB設計時使其具有相同網絡屬性。我們可以向Protel公司建議。
問:如何免費獲取以前的原理圖庫和pcb庫
復:那你可以的WWW.PROTEL.COM下載
問:剛才本人提了個在覆銅上如何寫上空心(不覆銅)的文字,專家回答先寫字,再覆銅,然后冊除字,可是本人試了一下,刪除字后,空的沒有,被覆銅 覆蓋了,請問專家是否搞錯了,你能不能試一下
復:字必須用PROTEL99SE提供的放置中文的辦法,然后將中文(英文)字解除元件,(因為那是一個元件)將安全間距設置成1MIL,再覆銅,然后移動覆銅,程序會詢問是否重新覆銅,回答NO。
問:畫原理圖時,如何元件的引腳次序?
復:原理圖建庫時,有強大的檢查功能,可以檢查序號,重復,缺漏等。也可以使用陣列排放的功能,一次性放置規律性的引腳。
問:protel99se6自動布線后,在集成塊的引腳附近會出現雜亂的走線,像毛刺一般,有時甚至是三角形的走線,需要進行大量手工修正,這種問題怎么避免?
復:合理設置元件網格,再次優化走線。
問:用PROTEL畫圖,反復修改后,發現文件體積非常大(虛腫),導出后再導入就小了許多。為什么??有其他辦法為文件瘦身嗎?
復:其實那時因為PROTEL的鋪銅是線條組成的原因造成的,因知識產權問題,不能使用PADS里的“灌水”功能,但它有它的好處,就是可以自動刪除“死銅”。致與文件大,你用WINZIP壓縮一下就很小。不會影響你的文件發送。
問:請問:在同一條導線上,怎樣讓它不同部分寬度不一樣,而且顯得連續美觀?謝謝!
復:不能自動完成,可以利用編輯技巧實現。
liaohm問:如何將一段圓弧進行幾等分?
fanglin163答復:利用常規的幾何知識嘛。EDA只是工具。
問:protel里用的HDL是普通的VHDL
復:Protel PLD不是,Protel FPGA是。
問:補淚滴后再鋪銅,有時鋪出來的網格會殘缺,怎么辦?
復:那是因為你在補淚滴時設置了熱隔離帶原因,你只需要注意安全間距與熱隔離帶方式。也可以用修補的辦法。
問:可不可以做不對稱焊盤?拖動布線時相連的線保持原來的角度一起拖動?
復:可以做不對稱焊盤。拖動布線時相連的線不能直接保持原來的角度一起拖動。
問:請問當Protel發揮到及至時,是否能達到高端EDA軟件同樣的效果
復:視設計而定。
問:Protel DXP的自動布線效果是否可以達到原ACCEL的水平?
復:有過之而無不及。
問:protel的pld功能好象不支持流行的HDL語言?
復:Protel PLD使用的Cupl語言,也是一種HDL語言。下一版本可以直接用VHDL語言輸入。
問:PCB里面的3D功能對硬件有何要求?
復:需要支持OpenGL.
問:如何將一塊實物硬制版的布線快速、原封不動地做到電腦之中?
復:最快的辦法就是掃描,然后用BMP2PCB程序轉換成膠片文件,然后再修改,但你的PCB精度必須在0.2MM以上。BMP2PCB程序可在21IC上下載,你的線路板必須用沙紙打的非常光亮才能成功。
問:直接畫PCB板時,如何為一個電路接點定義網絡名?
復:在Net編輯對話框中設置。
問:怎么讓做的資料中有孔徑顯示或符號標志,同allego一樣
復:在輸出中有選項,可以產生鉆孔統計及各種孔徑符號。
問:自動布線的鎖定功能不好用,系統有的會重布,不知道怎么回事?
復:最新的版本無此類問題。
問:如何實現多個原器件的整體翻轉
復:一次選中所要翻轉的元件。
問:我用的p 99 版加入漢字就死機,是什么原因?
復:應是D版所致。
問:powpcb的文件怎樣用PROTEL打開?
復:先新建一PCB文件,然后使用導入功能達到。
在PCB設計中,布線是完成產品設計的重要步驟,可以說前面的準備工作都是為它而做的, 在整個PCB中,以布線的設計過程限定最高,技巧最細、工作量最大。PCB布線有單面布線、 雙面布線及多層布線。布線的方式也有兩種:自動布線及交互式布線,在自動布線之前, 可以用交互式預先對要求比較嚴格的線進行布線,輸入端與輸出端的邊線應避免相鄰平行, 以免產生反射干擾。必要時應加地線隔離,兩相鄰層的布線要互相垂直,平行容易產生寄生耦合。
自動布線的布通率,依賴于良好的布局,布線規則可以預先設定, 包括走線的彎曲次數、導通孔的數目、步進的數目等。一般先進行探索式布經線,快速地把短線連通, 然后進行迷宮式布線,先把要布的連線進行全局的布線路徑優化,它可以根據需要斷開已布的線。 并試著重新再布線,以改進總體效果。
對目前高密度的PCB設計已感覺到貫通孔不太適應了, 它浪費了許多寶貴的布線通道,為解決這一矛盾,出現了盲孔和埋孔技術,它不僅完成了導通孔的作用, 還省出許多布線通道使布線過程完成得更加方便,更加流暢,更為完善,PCB 板的設計過程是一個復雜而又簡單的過程,要想很好地掌握它,還需廣大電子工程設計人員去自已體會, 才能得到其中的真諦。
1 電源、地線的處理
既使在整個PCB板中的布線完成得都很好,但由于電源、 地線的考慮不周到而引起的干擾,會使產品的性能下降,有時甚至影響到產品的成功率。所以對電、 地線的布線要認真對待,把電、地線所產生的噪音干擾降到最低限度,以保證產品的質量。
對每個從事電子產品設計的工程人員來說都明白地線與電源線之間噪音所產生的原因, 現只對降低式抑制噪音作以表述:
眾所周知的是在電源、地線之間加上去耦電容。
盡量加寬電源、地線寬度,最好是地線比電源線寬,它們的關系是:地線>電源線>信號線,通常信號線寬為:0.2~0.3mm,最經細寬度可達0.05~0.07mm,電源線為1.2~2.5 mm
對數字電路的PCB可用寬的地導線組成一個回路, 即構成一個地網來使用(模擬電路的地不能這樣使用)
用大面積銅層作地線用,在印制板上把沒被用上的地方都與地相連接作為地線用。或是做成多層板,電源,地線各占用一層。
2、數字電路與模擬電路的共地處理
現在有許多PCB不再是單一功能電路(數字或模擬電路),而是由數字電路和模擬電路混合構成的。因此在布線時就需要考慮它們之間互相干擾問題,特別是地線上的噪音干擾。
數字電路的頻率高,模擬電路的敏感度強,對信號線來說,高頻的信號線盡可能遠離敏感的模擬電路器件,對地線來說,整人PCB對外界只有一個結點,所以必須在PCB內部進行處理數、模共地的問題,而在板內部數字地和模擬地實際上是分開的它們之間互不相連,只是在PCB與外界連接的接口處(如插頭等)。數字地與模擬地有一點短接,請注意,只有一個連接點。也有在PCB上不共地的,這由系統設計來決定。
Altium(前身為Protel)成立于1985年,總部設在澳大利亞。該公司最初致力于低成本PCB設計軟件的開發,并取得不俗戰績。之后,該公司于1999年成功進行首次公開募股(IPO)成為一家上市公司,并將所籌集的資金用于收購適當的公司和技術。在此基礎之上,Altium最終在2000年打入FPGA設計和綜合市場,并于2001年進入嵌入式軟件開發市場。
自然地,Altium將其注意力轉移到了基于FPGA的系統設計工具這一塊。Martin表示,我們發現現有的平臺在設計概念上可以修改,但是在物理特性這一塊不能重新修改。你所買的FPGA開發板已經配置有一套標準的硬件連接的外圍元器件。如果你需要在設計過程中插入某個器件,然后用其它器件替換,然后改寫軟件來匹配硬件設計的話,那么我認為它們完全住偏離了這個方向。
該公司推出了一系列基于“可插換元器件”這一理念的EDA產品,并最終于2005年將它們整合在Altium Designer和獨立于FPGA供應商的Nexar嵌入式系統設計解決方案中,用于采用FPGA開發基于處理器的整套數字系統。此外,Altium所推出的NanoBoard開發板可支持來自Xilinx、Altera, Actel和Lattice公司的元器件。
Martin表示,軟件設計的優勢在于你不僅可以修改系統的軟件,同時還可以比較不同元器件的性能,在功率和性能間做取舍。“我們所提供的用于系統級設計的全部IP都已預先和不同系列的FPGA進行了綜合。我們的系統內的所有IP和軟件代碼可在不同器件之間移植。”
Martin稱Altium的長遠目標應主要放在軟件這一塊,我們所推出的硬件系統是前所未有的,但從長遠來看,我們志不在此。我們只是把它當作用于驗證 “可插換元器件”這一理念的過渡方案。我們真正關注的是軟件設計。
我們最終將看到由Altera或 Xilinx這類公司為其子開發板提供新芯片的開發系統的價值。這樣每個人都可以使用我們的系統來評估器件。并且將來還可能拓展到由第三方芯片供貨商為系統提供可插換式外圍元器件。
我們面臨的挑戰是要打造一個完整的EDA產品鏈,以吸引其公司生產能與Altium Designer協同工作的硬件。現在市場上有對插換式硬件的需求,時機相當成熟。設計人員可以打造自己的NanoBoard,我們期望它們能與Altium Designer兼容。
Martin認為元器件的涵蓋率也很重要,“我們希望能夠做到這樣:一旦有新器件推出,我們的設計系統馬上就能支持它。但是我們現在還做不到這一點,目前仍有許多FPGA是我們的系統所不能支持的。”
Altium最新推出的軟件/硬件綜合設計系統為其今年上半年所推出的Innovation Station(創新電子設計平臺),它整合了Altium Designer電子開發工具和NanoBoard,涵蓋了可配置硬件開發和布局平臺用于構建一個將可編程器件智能置于設計流程中心的設計環境。
Innovation Station可以讓設計人員專注于頂層設計,而底層器件的設計則交由Innovation Station處理。
在設計系統中整合FPGA和處理器也是Altium的努力目標之一。“如果你現在購買市面上我們公司的設計系統, 那么它主要關注軟件核,但是我們接下來會混合分立式處理器,到時我們的產品將主要關注ARM。我想ARM將成為新的8051。”
Martin的長期目標包括更廣泛地采用FPGA技術。Martin認為,隨著FPGA專利的有效期將滿,屆時FPGA架構將在很多處理器中出現。盡管這還要等上幾年,但Martin認為這是一個不可避免的過程且會出現一些獨一無二的硅芯片。
]]>電阻 AXIAL
無極性電容 RAD
電解電容 RB-
電位器 VR
二極管 DIODE
三極管 TO
電源穩壓塊78和79系列 TO-126H和TO-126V
場效應管 和三極管一樣
整流橋 D-44 D-37 D-46
單排多針插座 CON SIP
雙列直插元件 DIP
晶振 XTAL1
電阻:RES1,RES2,RES3,RES4;封裝屬性為axial系列
無極性電容:cap;封裝屬性為RAD-0.1到rad-0.4
電解電容:electroi;封裝屬性為rb.2/.4到rb.5/1.0
電位器:pot1,pot2;封裝屬性為vr-1到vr-5
二極管:封裝屬性為diode-0.4(小功率)diode-0.7(大功率)
三極管:常見的封裝屬性為to-18(普通三極管)to-22(大功率三極管)to-3(大功率達林
頓管)
電源穩壓塊有78和79系列;78系列如7805,7812,7820等
79系列有7905,7912,7920等
常見的封裝屬性有to126h和to126v
整流橋:BRIDGE1,BRIDGE2: 封裝屬性為D系列(D-44,D-37,D-46)
電阻: AXIAL0.3-AXIAL0.7 其中0.4-0.7指電阻的長度,一般用AXIAL0.4
瓷片電容:RAD0.1-RAD0.3。 其中0.1-0.3指電容大小,一般用RAD0.1
電解電容:RB.1/.2-RB.4/.8 其中.1/.2-.4/.8指電容大小。一般<100uF用B.1/.2,100uF-470uF用RB.2/.4,>470uF用RB.3/.6
二極管: DIODE0.4-DIODE0.7 其中0.4-0.7指二極管長短,一般用DIODE0.4
發光二極管:RB.1/.2
集成塊: DIP8-DIP40, 其中8-40指有多少腳,8腳的就是DIP8
貼片電阻
0603表示的是封裝尺寸 與具體阻值沒有關系
但封裝尺寸與功率有關 通常來說
0201 1/20W
0402 1/16W
0603 1/10W
0805 1/8W
1206 1/4W
電容電阻外形尺寸與封裝的對應關系是:
0402=1.0x0.5
0603=1.6x0.8
0805=2.0x1.2
1206=3.2x1.6
1210=3.2x2.5
1812=4.5x3.2
2225=5.6x6.5
關于零件封裝我們在前面說過,除了DEVICE。LIB庫中的元件外,其它庫的元件都已經有了固定的元件封裝,這是因為這個庫中的元件都有多種形式:以晶體管為例說明一下:晶體管是我們常用的的元件之一,在DEVICE。LIB庫中,簡簡單單的只有NPN與PNP之分,但實際上,如果它是NPN的2N3055那它有可能是鐵殼子的TO—3,如果它是NPN的2N3054,則有可能是鐵殼的TO-66或TO-5,而學用的CS9013,有TO-92A,TO-92B,還有TO-5,TO-46,TO-52等等,千變萬化。
還有一個就是電阻,在DEVICE庫中,它也是簡單地把它們稱為RES1和RES2,不管它是100Ω
還是470KΩ都一樣,對電路板而言,它與歐姆數根本不相關,完全是按該電阻的功率數來決定的我們選用的1/4W和甚至1/2W的電阻,都可以用AXIAL0.3元件封裝,而功率數大一點的話,可用AXIAL0.4,AXIAL0.5等等。現將常用的元件封裝整理如下:
電阻類及無極性雙端元件 AXIAL0.3-AXIAL1.0
無極性電容 RAD0.1-RAD0.4
有極性電容 RB.2/.4-RB.5/1.0
二極管 DIODE0.4及 DIODE0.7
石英晶體振蕩器 XTAL1
晶體管、FET、UJT TO-xxx(TO-3,TO-5)
可變電阻(POT1、POT2) VR1-VR5
當然,我們也可以打開C:\Client98\PCB98\library\advpcb.lib庫來查找所用零件的對應封裝。
這些常用的元件封裝,大家最好能把它背下來,這些元件封裝,大家可以把它拆分成兩部分來記如電阻AXIAL0.3可拆成AXIAL和0.3,AXIAL翻譯成中文就是軸狀的,0.3則是該電阻在印刷電路板上的焊盤間的距離也就是300mil(因為在電機領域里,是以英制單位為主的。同樣的,對于無極性的電容,RAD0.1-RAD0.4也是一樣;對有極性的電容如電解電容,其封裝為RB.2/.4,RB.3/.6等,其中“.2”為焊盤間距,“.4”為電容圓筒的外徑。
對于晶體管,那就直接看它的外形及功率,大功率的晶體管,就用TO—3,中功率的晶體管,如果是扁平的,就用TO-220,如果是金屬殼的,就用TO-66,小功率的晶體管,就用TO-5,TO-46,TO-92A等都可以,反正它的管腳也長,彎一下也可以。
對于常用的集成IC電路,有DIPxx,就是雙列直插的元件封裝,DIP8就是雙排,每排有4個引腳,兩排間距離是300mil,焊盤間的距離是100mil。SIPxx就是單排的封裝。等等。
值得我們注意的是晶體管與可變電阻,它們的包裝才是最令人頭痛的,同樣的包裝,其管腳可不一定一樣。例如,對于TO-92B之類的包裝,通常是1腳為E(發射極),而2腳有可能是B極(基極),也可能是C(集電極);同樣的,3腳有可能是C,也有可能是B,具體是那個,只有拿到了元件才能確定。因此,電路軟件不敢硬性定義焊盤名稱(管腳名稱),同樣的,場效應管,MOS管也可以用跟晶體管一樣的封裝,它可以通用于三個引腳的元件。
Q1-B,在PCB里,加載這種網絡表的時候,就會找不到節點(對不上)。
在可變電阻上也會出現類似的問題;在原理圖中,可變電阻的管腳分別為1、W、及2,所產生的網絡表,就是1、2和W,在PCB電路板中,焊盤就是1,2,3。當電路中有這兩種元 件時,就要修改PCB與SCH之間的差異最快的方法是在產生網絡表后,直接在網絡表中,將晶 體管管腳改為1,2,3;將可變電阻的改成與電路板元件外形一樣的1,2,3即可。
1 引言
在進行電路故障診斷等軟件設計時,會遇到電路圖的顯示、拓撲分析等問題。在自己的程序中,直接實現上述功能是不現實的。Protel99是國內使用非常廣泛的電路圖的繪制工具,于是筆者開發了Protel99原理圖顯示庫,該顯示庫讀取Protel99生成的原理圖文件,完成電路圖的顯示、拓撲分析等功能,為測試人員提供盡可能多的測試信息,引導測試人員進行故障隔離定位及元件的檢測、方便電路的維修。具體如下:①讀取Protel99原理圖文件,轉變為自定義格式的原理圖文件,并顯示;②實現了電路圖的自由縮放、元件和電氣節點的點選、定位和屬性的設置;③查詢和導出電路圖的網表。
2 Protel99原理圖顯示庫的開發
Protel99原理圖顯示庫需要把Protel99原理圖文件轉換成自定義格式的原理圖文件,因此先介紹Protel99原理圖的文件格式。
2.1 Protel99原理圖的文件格式
Protel99原理圖文件(SCH)是Protel99存儲原理圖的格式,存儲了許多供Protel99使用的信息,通常是以二進制格式存放的,格式比較復雜,所以首先把SCH格式轉換為ASC格式。ASC格式是文本文件,簡明易讀,包含了構造自定義格式原理圖所需的所有信息。文本文件中每一行表達一個確定的信息,對于一行而言,每個字符串之間是用空格隔開的。Protel99原理圖文件(ASC)的基本結構如下:
(1)[Font_Table]區段
定義原理圖文本顯示使用的字體。
(2)Library……EndLibrary區段
定義元件庫,每個庫用“Component…EndComponent”描述,包含了該元件庫的信息:庫的描述、庫名、庫的組成元素(用“Part…EndNormalPart”段描述)。本區段有很多信息僅供Protel99使用的,可以忽略。
(3)[Sheet……EndSheet]區段
原理圖中元素的描述。位于緊接Sheet后的一行是描述頁面(頁面的尺寸,背景顏色,是否顯示網格等)的;Template…EndTemplate描述原理圖的模板(標簽,線條,圖標等);位于EndTemplate之后的內容描述原理圖的中的元素(元件、導線、總線、網絡標簽等)。本區段有很多信息僅供Protel99使用的,可以忽略。
2.2 Protel99原理圖顯示庫的類的設計
VisualC++ 是面向對象的程序設計語言,其MFC封裝了幾乎所有的WINDOWS API函數,提供了完善的圖形繪制能力,可以繪制原理圖中的各種圖形元素,如矩形、點、線等。
分析可知,Protel99原理圖是由以下圖形元素組成的,直線、連續直線及多邊形區域、橢圓及橢圓區域、矩形及矩形區域、圓弧及橢圓弧、文本等,Protel99原理圖文件中已包含了各種圖形元素的具體參數和組織方式。在了解了Protel99原理圖的文件格式之后,就可以進行類的設計。設計的思想是面向對象和Protel99原理圖的文件格式相結合的方法。主要設計了如下幾個類:
2.2.1 圖形元素基類(CDrawElement)
對各類圖形元素進行分析,可以發現各類圖形元素具有一些相同的屬性和操作功能,如圖形元素的顏色、線型、線寬等和繪制圖形元素等操作。把各類圖形元素中共性的屬性和操作放在圖形元素基類(CDrawElement)中,具體的圖形元素類(圓弧類、多邊形類等)由這個類派生,不再一一贅述。
class CDrawElement : public CObject
{ long m_lColorPen; //筆色
short m_sLineWide; //線寬(像素)
………//其它屬性
void CalNewCoordinate(BOOL bMir, short sOriCom, int nComX, int nComY,
int nX,int nY,int *nNewX, int *nNewY);// 計算絕對坐標函數,參數依次為:元件鏡像否、
//元件的方向、元件的起點坐標XY、原始坐標XY、絕對坐標XY指針
//根據所屬元件的位置屬性和本元素的相對坐標計算本元素的絕對坐標
virtual void Draw(CDC *pDC, BOOL bMirrored, short sOrientation, int nComX, int nComY,)=0;
//繪制元素的純虛函數,參數依次為:繪圖設備上下文指針、元件鏡像否、元件的方向、
//元件的起點坐標XY
virtual BOOL ReadWriteFile(CFile *file, BOOL bWrite);
//存儲或讀取自定義矢量原理圖二進制文件
………//其它方法};
說明:①該類是各個具體的圖形元素類的基類;②如果該類的派生類元素包含在某一元件庫中(如管腳Pin類),該元素的坐標是相對坐標(相對于所屬元件起點坐標的坐標),該元素的絕對坐標是根據所屬元件的位置屬性(起點、方向、是否鏡像)和本元素的相對坐標計算得出的;如果該類的派生類元素直接包含在原理圖中(如導線Wire類),則該元素的坐標就是絕對坐標;③該類中定義了繪制元素的純虛函數,以便在其派生類中實現多態,繪制不同的元素,如直線、圓弧等;④ReadWriteFile是存取自定義格式二進制文件,本類僅存取公共屬性,而派生類中不僅存取公共屬性而且存取各類元素特有的屬性。
2.2.2 元件類(CComponentSche)
分析Protel99原理圖文件可知,各個元件的信息是這樣組織的,元件的繪制信息,即元件的組成元素,如:管腳、直線、多邊形等,是存放在元件庫中的,其它信息,如元件的起點坐標、元件庫的索引、元件名稱等是單獨存放的。本文設計了元件庫類(CComLibSche)和元件類(CComponentSche),元件庫類(CComLibSche)見2.2.3。
元件類(CComponentSche)派生于CObject,封裝了元件的起點坐標、元件庫的索引、元件名稱等屬性和元件的繪制(結合對應的元件庫)、屬性的存取、元件的點選、得到元件的邊界矩形等操作,類代碼從略。下面給出元件的繪制的算法:
void CComponentSche::Draw(CDC *pDC)
{ CComLibSche *pComLib;// 元件庫指針
根據本元件的元件庫的索引得到相應的元件庫并把地址賦給pComLib;
pComLib->Draw(pDC,m_bMirrored,m_sOrientation,m_nX,m_nY);
//把繪圖設備上下文指針、鏡像否、方向、起點坐標等參數傳遞給
//元件庫的繪制函數,讓元件庫完成元件的繪制。
繪制元件名稱;
繪制元件型號;
根據本元件的選中狀態,繪制邊界矩形;}
2.2.3 元件庫類(CComLibSche)
派生于CObject,封裝了該類元件的組成元素(如:管腳、直線、多邊形等,各類圖形對象按照數組的形式組織)、元件庫的索引等屬性和該類元件的繪制等操作,類代碼從略。下面給出該類元件的繪制的算法:
void CComLibSche::Draw(CDC *pDC, BOOL bMirrored, short sOrientation,
int nComX, int nComY)// 參數依次為:繪圖設備上下文指針、元件鏡像否、
//元件的方向、元件的起點坐標XY
{ n=GetPinNums();//得到管腳對象數組中元素的個數
while(n--){ CPinElement* pPin;//管腳類指針
pPin =GetPin(n)//從管腳對象數組中得到一個管腳對象
pPin ->Draw(pDC,bMirrored,sOrientation,nComX,nComY);
//把繪圖設備上下文指針、元件鏡像否、元件的方向、元件起點坐標XY等參數
//傳遞給管腳類的繪制函數,讓管腳類完成管腳的繪制。
}
………//完成其它各類圖形對象的繪制}
說明:元件庫類(CComLibSche)的設計充分體現了面向對象的封裝特性。元件庫的管理機制體現在分層上,元件庫類(CComLibSche)只是封裝了各類圖形對象,不直接管理到每個圖形,各類圖形對象的操作(如:繪制、屬性的存取等)由各類圖形對象類具體負責。這種分層結構帶來了程序設計和管理上的便利,分層結構是本顯示庫設計的特色之一,原理圖類(CSCheFigure)的設計也用到了這種結構,見2.2.4的算法示例。
2.2.4 原理圖類(CSCheFigure)
派生于CObject,封裝了Protel99原理圖顯示庫的所有功能,是該顯示庫的對外接口,包含了原理圖中的相應元素,如:元件庫、元件、電氣節點、字體表、圖紙等。類代碼如下:
class __declspec(dllexport) CSCheFigure : public CObject
{CTypedPtrArray<CObArray,CComLibSche*>m_ComLibArray;//元件庫對象指針數組
CTypedPtrArray<CObArray,CComponentSche*>m_ComponentArray; //元件對象指針數組
CTypedPtrArray<CObArray,CNetNodeGroup*>m_NetGroupArray; //電氣節點對象指針數組
float m_fScale,; //比例尺
………//其它屬性
BOOL WriteSSS(CString strSSSFile);//把CSCheFigure對象的信息寫入自定義矢量原理圖二進制文件
BOOL ReadProtel(CString strSchFile);//讀取Protel99原理圖文本文件ASC,初始化CSCheFigure對象
void Draw(CDC *pDC);//繪制原理圖
………//其它方法};
下面給出本類中一些函數的算法:
(1)ReadProtel函數的算法
BOOL CSCheFigure::ReadProtel(CString strSchFile)
{ 打開文件strSchFile;
跳過文件頭;
生成字體表;
依次生成各個元件庫對象,并添加到元件庫對象數組;
生成頁面對象;
根據讀到的字符串,生成各個對象(如元件、導線、網絡標簽、標簽等),并添加到相應對象數組;
跳過"Version 2.0 Sheet"行及以后內容;
關閉文件strSchFile;
合并各個導線(Wire)、連接點(Junction)和電源端口(PowerObject) 對象,依次生成各個電氣節點對象,并添加到電氣節點對象數組;
return TRUE;}
(2)原理圖繪制函數的算法
void CSCheFigure::Draw(CDC *pDC)
{ m_pSheetType->Draw(pDC);//m_pSheetType為圖紙對象指針,繪制圖紙
n= GetComponentNums ();//得到元件對象數組中元素的個數
while(n--){ CComponentSche* pCom;// 元件類指針
pCom =GetComponent(n)//從元件對象數組中得到一個元件對象
pCom -> Draw(pDC); //繪制元件對象
}
………//完成其它各類圖形對象的繪制}
(3)WriteSSS函數的算法
BOOL WriteSSS(CString strSSSFile)
{ CFile file;
if(!file.Open(strDesFile,CFile::modeCreate|CFile::modeWrite,NULL))
return FALSE;
n= GetComponentNums ();//得到元件對象數組中元素的個數
file.Write((unsigned char *)&n,sizeof(int));
………//把其它對象數組中元素的個數寫入file
n= GetComponentNums ();//得到元件對象數組中元素的個數
while(n--){ CComponentSche* pCom;// 元件類指針
pCom =GetComponent(n)//從元件對象數組中得到一個元件對象
pCom -> ReadWriteFile(&file,TRUE); //把元件對象的信息寫入file
}
………//把其它各類對象的信息寫入file
file.Close();
return TRUE;}
其它類的設計,如:字體類、圖紙類等,不再一一贅述。
2.2.5 坐標的轉換和圖形的縮放
Protel99使用的坐標系是數學坐標系,坐標原點位于原理圖的左下角,以像素為單位,向右為X軸正方向,向上為Y軸正方向。為方便起見,本顯示庫采用的Windows映像方式為MM_TEXT,因為MM_TEXT方式的坐標也是以像素為單位。但是在MM_TEXT方式下,屏幕(窗口)的原點在左上角,而X和Y的正方向分別是向右和向下,所以必須進行坐標的轉換。為完成圖形的縮放,需要定義一個比例尺m_fScale,該比例尺記錄的是一個顯示坐標單位所代表的實際坐標數值。
確定比例尺的算法:
float fScale1;
fScale1=(float)(原理圖實際寬度/當前視圖的寬度);
m_fScale=(float)(原理圖實際高度)/(當前視圖的高度);
if(fScale1>m_fScale) m_fScale=fScale1;
實際坐標轉變為顯示坐標的算法:
顯示坐標X=(int)(實際坐標X/m_fScale);
顯示坐標Y =(int)( (原理圖實際高度-實際坐標Y)/m_fScale);
顯示坐標轉變為實際坐標的算法(略)
本顯示庫把上述算法封裝在原理圖類(CSCheFigure)中,需要坐標轉換時只要調用原理圖類的函數即可。
3結論
本文介紹了Protel99原理圖顯示庫開發中的關鍵技術。本顯示庫是使用Visual C++開發的,采用面向對象的設計方法,提高了代碼的可重用性;忽略了Protel99原理圖文件中一些不必要的信息;能夠用于需要顯示Protel99原理圖的軟件中,用戶也可以根據功能的需要進行擴充。在某電源測試臺軟件中Protel99原理圖顯示庫得到成功的應用,取得了滿意的效果,如圖1所示。本顯示庫稍作修改,便可用于其它矢量圖形的顯示,如AutoCAD圖形。
圖1 Protel99原理圖顯示庫在某電源測試臺軟件中的應用
]]>問:net名與port同名,pcb中可否連接
復:可以,PROTEL可以多種方式生成網絡,當你在在層次圖中以port-port時,每張線路圖可以用相同的NET名,它們不會因網絡名是一樣而連接.但請不要使用電源端口,因為那是全局的.
問::請問在PROTEL99SE中導入PADS文件, 為何焊盤屬性改了
復:這多是因為兩種軟件和每種版本之間的差異造成,通常做一下手工體調整就可以了。
問:請問楊大蝦:為何通過軟件把power logic的原理圖轉化成protel后,在protel中無法進行屬性修改,只要一修改,要不不現實,要不就是全顯示屬性?謝謝!
復:如全顯示,可以做一個全局性編輯,只顯示希望的部分。
問:請教鋪銅的原則?
復:鋪銅一般應該在你的安全間距的2倍以上.這是LAYOUT的常規知識.
問:請問Potel DXP在自動布局方面有無改進?導入封裝時能否根據原理圖的布局自動排開?
復:PCB布局與原理圖布局沒有一定的內在必然聯系,故此,Potel DXP在自動布局時不會根據原理圖的布局自動排開。(根據子圖建立的元件類,可以幫助PCB布局依據原理圖的連接)。
問:請問信號完整性分析的資料在什么地方購買
復:Protel軟件配有詳細的信號完整性分析手冊。
問:為何鋪銅,文件哪么大?有何方法?
復:鋪銅數據量大可以理解。但如果是過大,可能是您的設置不太科學。
問:有什么辦法讓原理圖的圖形符號可以縮放嗎?
復:不可以。
問:PROTEL仿真可進行原理性論證,如有詳細模型可以得到好的結果
復:PROTEL仿真完全兼容Spice模型,可以從器件廠商處獲得免費Spice模型,進行仿真。PROTEL也提供建模方法,具有專業仿真知識,可建立有效的模型。
問:99SE中如何加入漢字,如果漢化后好象少了不少東西! 3-28 14:17:0 但確實少了不少功能!
復:可能是漢化的版本不對。
問:如何制作一個孔為2*4MM 外徑為6MM的焊盤?
復:在機械層標注方孔尺寸。與制版商溝通具體要求。
問:我知道,但是在內電層如何把電源和地與內電層連接。沒有網絡表,如果有網絡表就沒有問題了
復:利用from-to類生成網絡連接
問:還想請教一下99se中橢圓型焊盤如何制作?放置連續焊盤的方法不可取,線路板廠家不樂意。可否在下一版中加入這個設置項?
復:在建庫元件時,可以利用非焊盤的圖素形成所要的焊盤形狀。在進行PCB設計時使其具有相同網絡屬性。我們可以向Protel公司建議。
問:如何免費獲取以前的原理圖庫和pcb庫
復:那你可以的WWW.PROTEL.COM下載
問:剛才本人提了個在覆銅上如何寫上空心(不覆銅)的文字,專家回答先寫字,再覆銅,然后冊除字,可是本人試了一下,刪除字后,空的沒有,被覆銅 覆蓋了,請問專家是否搞錯了,你能不能試一下
復:字必須用PROTEL99SE提供的放置中文的辦法,然后將中文(英文)字解除元件,(因為那是一個元件)將安全間距設置成1MIL,再覆銅,然后移動覆銅,程序會詢問是否重新覆銅,回答NO。
問:畫原理圖時,如何元件的引腳次序?
復:原理圖建庫時,有強大的檢查功能,可以檢查序號,重復,缺漏等。也可以使用陣列排放的功能,一次性放置規律性的引腳。
問:protel99se6自動布線后,在集成塊的引腳附近會出現雜亂的走線,像毛刺一般,有時甚至是三角形的走線,需要進行大量手工修正,這種問題怎么避免?
復:合理設置元件網格,再次優化走線。
問:用PROTEL畫圖,反復修改后,發現文件體積非常大(虛腫),導出后再導入就小了許多。為什么??有其他辦法為文件瘦身嗎?
復:其實那時因為PROTEL的鋪銅是線條組成的原因造成的,因知識產權問題,不能使用PADS里的“灌水”功能,但它有它的好處,就是可以自動刪除“死銅”。致與文件大,你用WINZIP壓縮一下就很小。不會影響你的文件發送。
問:請問:在同一條導線上,怎樣讓它不同部分寬度不一樣,而且顯得連續美觀?謝謝!
復:不能自動完成,可以利用編輯技巧實現。
問:如何將一段圓弧進行幾等分?
復:利用常規的幾何知識嘛。EDA只是工具。
問:protel里用的HDL是普通的VHDL
復:Protel PLD不是,Protel FPGA是。
問:補淚滴后再鋪銅,有時鋪出來的網格會殘缺,怎么辦?
復:那是因為你在補淚滴時設置了熱隔離帶原因,你只需要注意安全間距與熱隔離帶方式。也可以用修補的辦法。
問:可不可以做不對稱焊盤?拖動布線時相連的線保持原來的角度一起拖動?
復:可以做不對稱焊盤。拖動布線時相連的線不能直接保持原來的角度一起拖動。
問:請問當Protel發揮到及至時,是否能達到高端EDA軟件同樣的效果
復:視設計而定。
問:Protel DXP的自動布線效果是否可以達到原ACCEL的水平?
復:有過之而無不及。
問:protel的pld功能好象不支持流行的HDL語言?
復:Protel PLD使用的Cupl語言,也是一種HDL語言。下一版本可以直接用VHDL語言輸入。
問:PCB里面的3D功能對硬件有何要求?
復:需要支持OpenGL.
問:如何將一塊實物硬制版的布線快速、原封不動地做到電腦之中?
復:最快的辦法就是掃描,然后用BMP2PCB程序轉換成膠片文件,然后再修改,但你的PCB精度必須在0.2MM以上。BMP2PCB程序可在21IC上下載,你的線路板必須用沙紙打的非常光亮才能成功。
問:直接畫PCB板時,如何為一個電路接點定義網絡名?
復:在Net編輯對話框中設置。
問:怎么讓做的資料中有孔徑顯示或符號標志,同allego一樣
復:在輸出中有選項,可以產生鉆孔統計及各種孔徑符號。
問:自動布線的鎖定功能不好用,系統有的會重布,不知道怎么回事?
復:最新的版本無此類問題。
問:如何實現多個原器件的整體翻轉
復:一次選中所要翻轉的元件。
問:我用的p 99 版加入漢字就死機,是什么原因?
復:應是D版所致。
問:powpcb的文件怎樣用PROTEL打開?
復:先新建一PCB文件,然后使用導入功能達到。
問:怎樣從PROTEL99中導入GERBER文件
復:Protel pcb只能導入自己的Gerber,而Protel的CAM可以導入其它格式的Gerber.
問:如何把布好PCB走線的細線條部分地改為粗線條
復:雙擊修改+全局編輯。注意匹配條件。修改規則使之適應新線寬。
問:如何修改一個集成電路封裝內的焊盤尺寸? 若全局修改的話應如何設置?
復:全部選定,進行全局編輯
問:如何修改一個集成電路封裝內的焊盤尺寸?
復:在庫中修改一個集成電路封裝內的焊盤尺寸大家都知道,在PCB板上也可以修改。(先在元件屬性中解鎖)。
問:能否在做PCB時對元件符號的某些部分加以修改或刪除?
復:在元件屬性中去掉元件鎖定,就可在PCB中編輯元件,并且不會影響庫中元件。
問:該焊盤為地線,包地之后,該焊盤與地所連線如何設置寬度
復:包地前設置與焊盤的連接方式
問:為何99se存儲時要改為工程項目的格式?
復:便于文件管理。
問:如何去掉PCB上元件的如電阻阻值,電容大小等等,要一個個去掉嗎,有沒有快捷方法
復:使用全局編輯,同一層全部隱藏
問:能告訴將要推出的新版本的PROTEL的名稱嗎?簡單介紹一下有哪些新功能?protel手動布線的推擠能力太弱!
復:Protel DXP,在仿真和布線方面會有大的提高。
問:如何把敷銅區中的分離的小塊敷銅除去
復:在敷銅時選擇"去除死銅"
問:VDD和GND都用焊盤連到哪兒了,怎么看不到呀
復:打開網絡標號顯示。
問:在PCB中有畫弧線? 在畫完直線,接著直接可以畫弧線具體如DOS版弧線模式那樣!能實現嗎?能的話,如何設置?
復:可以,使用shift+空格可以切換布線形式
問:protel99se9層次圖的總圖用edit\export spread生成電子表格的時候,卻沒有生成各分圖紙里面的元件及對應標號、封裝等。如果想用電子表格的方式一次性修改全部圖紙的封裝,再更新原理圖,該怎么作?
復:點中相應的選項即可。
問:protel99se6的PCB通過specctra interface導出到specctra10.1里面,發現那些沒有網絡標號的焊盤都不見了,結果specctra就從那些實際有焊盤的地方走線,布得一塌糊涂,這種情況如何避免?
復:凡涉及到兩種軟件的導入/導出,多數需要人工做一些調整。
問:在打開內電層時,放置元件和過孔等時,好像和內電層短接在一起了,是否正確
復:內電層顯示出的效果與實際的縛銅效果相反,所以是正確的
問:protel的執行速度太慢,太耗內存了,這是為什么?而如allegro那么大的系統,執行起來卻很流暢!
復:最新的Protel軟件已不是完成一個簡單的PCB設計,而是系統設計,包括文件管理、3D分析等。只要PIII,128M以上內存,Protel亦可運行如飛。
問:如何自動布線中加盲,埋孔?
復:設置自動布線規則時允許添加盲孔和埋孔
問:3D的功能對硬件有什么要求?謝謝,我的好象不行
復:請把金山詞霸關掉
問:補淚滴可以一個一個加嗎?
復:當然可以
問:請問在PROTEL99SE中倒入PADS文件, 為何焊盤屬性改了
復:這類問題,一般都需要手工做調整,如修改屬性等。
問:protell99se能否打開orcad格式的檔案,如不能以后是否會考慮添加這一功能?
復:現在可以打開。
問:在99SEPCB板中加入漢字沒發加,但漢化后SE少了不少東西!
復:可能是安裝的文件與配置不正確。
問:SE在菜單漢化后,在哪兒啟動3D功能?
復:您說的是View3D接口嗎,請在系統菜單(左邊大箭頭下)啟動。
問:請問如何畫內孔不是圓形的焊盤???
復:不行。
問:在PCB中有幾種走線模式?我的計算機只有兩種,通過空格來切換
復:Shift+空格
問:請問:對于某些可能有較大電流的線,如果我希望線上不涂綠油,以便我在其上上錫,以增大電流。我該怎么設計?謝謝!
復:可以簡單地在阻焊層放置您想要的上錫的形狀。
問:如何連續畫弧線,用畫園的方法每個彎畫個園嗎?
復:不用,直接用圓弧畫。
問:如何鎖定一條布線?
復:先選中這個網絡,然后在屬性里改。
問:隨著每次修改的次數越來越多,protel文件也越來越大,請問怎么可以讓他文件尺寸變小呢?
復:在系統菜單中有數據庫工具。(Fiel菜單左邊的大箭頭下)。
問:請問PROTEL中畫PCB板如何設置采用總線方式布線?
復:Shift+空格。
問:如何利用protel的PLD功能編寫GAL16V8程序?
復:利用protel的PLD功能編寫GAL16V8程序比較簡單,直接使用Cupl DHL硬件描述語言就可以編程了。幫助里有實例。Step by step.
問:我用99se6布一塊4層板子,布了一個小時又二十分鐘布到99.6%,但再過來11小時多以后卻只布到99.9%!不得已讓它停止了
復:對剩下的幾個Net,做一下手工預布,剩下的再自動,可達到100%的布通。
問:在pcb多層電路板設計中,如何設置內電層?前提是完全手工布局和布線。
復:有專門的菜單設置。
問:protel PCB圖可否輸出其它文件格式,如HyperLynx的? 它的幫助文件中說可以,但是在菜單中卻沒有這個選項
復:現在Protel自帶有PCB信號分析功能。
問:請問pcb里不同的net,最后怎么讓他們連在一起?
復:最好不要這么做,應該先改原理圖,按規矩來,別人接手容易些。
問:自動布線前如何把先布的線鎖定??一個一個選么?
復:99SE中的鎖定預布線功能很好,不用一個一個地選,只要在自動布線設置中點一個勾就可以了。
問:PSPICE的功能有沒有改變
復:在Protel即將推出的新版本中,仿真功能會有大的提升。
問:如何使用Protel 99se的PLD仿真功能?
復:首先要有仿真輸入文件(.si),其次在configure中要選擇Absolute ABS選項,編譯成功后,可仿真。看仿真輸出文件。
問:protel.ddb歷史記錄如和刪
復:先刪除至回收戰,然后清空回收站。
問:自動布線為什么會修改事先已布的線而且把它們認為沒有布過重新布了而設置我也正確了?
復:把先布的線鎖定。應該就可以了。
問:布線后有的線在視覺上明顯太差,PROTEL這樣布線有他的道理嗎(電氣上)
復:僅僅通過自動布線,任何一個布線器的結果都不會太美觀。
問:可以在焊盤屬性中修改焊盤的X和Y的尺寸
復:可以。
問:protel99se后有沒推出新的版本?
復:即將推出。該版本耗時2年多,無論在功能、規模上都與Protel99SE,有極大的飛躍。
問:99se的3d功能能更增進些嗎?好像只能從正面看!其外形能自己做嗎?
復:3D圖形可以用 Ctrl + 上,下,左,右 鍵翻轉一定的角度。不過用處不大,顯卡要好才行。
問:有沒有設方孔的好辦法?除了在機械層上畫。
復:可以,在Multi Layer上設置。
問:一個問題:填充時,假設布線規則中間距為20mil,但我有些器件要求100mil間距,怎樣才能自動填充?
復:可以在design-->rules-->clearance constraint里加
問:在protel中能否用orcad原理圖
復:需要將orcad原理圖生成protel支持的網表文件,再由protel打開即可.
問:請問多層電路板是否可以用自動布線
復:可以的,跟雙面板一樣的,設置好就行了