可編程邏輯器件課程設計
『壹』 QUARTUS可編程邏輯器件課程設計:計程車計價器設計
純數字設計指的大多是74系列那樣的通用晶元,有點是組建方便,簡單系統成本低,是可編程邏輯器件的基礎,早期單板機就用這個,現在led光屏也有很多,缺點是復雜應用成本高,設計復雜,功耗大,部分效率較低。PLD成本高,但是功耗較低,另外較穩定易維護,方便量產。設計開發過程隨著技術的進步也越來越簡便快捷。單片機功耗低應用靈活,但是執行並行任務效率低。不過一般的應用對實時性要求不高,所以應用特別特別特別廣泛…收發器,收音機,充電器,顯示屏,無所不在,而且沾了單片機也能顯得高端不少(其實不止是顯得,因為軟體部分很能顯示出設計者的水平)個人見解,有不全面的樓下補充
『貳』 單片機原理與應用,可編程邏輯器件及應用學哪一個比較好
通信的話學可編程邏輯器件好點,可編程邏輯器件現在主要是指FPGA,速度可不是單片機能夠相比的,現在我們做通信原理的課程設計主要就是用FPGA做的。不過單片機也很重要,因為FPGA的缺點是運算能力強,但控制能力稍微弱了點,單片機剛好相反。建議稿通信的話用FPGA+AVR
『叄』 請高人解釋一下集成電路設計中 可編程邏輯器件設計(PLD)和現場可編程邏輯陣列設計(FPGA)和兩者的區別
CPLD(Complex Programmable Logic Device)是Complex PLD的簡稱,一種較PLD為復雜的邏輯元件。
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
發展歷史及應用領域:
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構
設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀器儀表、汽車電子、數控機床、航天測控設備等方面。
器件特點:
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。
如何使用:
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。
這里以搶答器為例講一下它的設計(裝修)過程,即晶元的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟體(Altera公司 Max+pluxII)→畫原理圖、寫硬體描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信號,進行模擬,查看邏輯輸出結果是否正確→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜將代碼傳送並存儲在CPLD晶元中。7128這塊晶元各管腳已引出,將數碼管、搶答開關、指示燈、蜂鳴器通過導線分別接到晶元板上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看此時數碼顯示加分結果是否正確,如發現有問題,可重新修改原理圖或硬體描述語言,完善設計。設計好後,如批量生產,可直接復制其他CPLD晶元,即寫入代碼即可。如果要對晶元進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬體描述語言,重復以上工作過程,完成設計。這種修改設計相當於將房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。
FPGA是Field Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
FPGA誕生於1985年,當時第一個FPGA採用2μm工藝,包含64個邏輯模塊和85000個晶體管,門數量不超過1000個,由名為Ross Freema所發明,當時他所創造的FPGA被認為是一個不切實際發明,他的同事Bill Carter曾說:「這種理念需要很多晶體管,並且那時晶體管是非常珍貴的東西。」,所以人們認為Ross的想法過於脫離現實。但是Ross預計:根據摩爾定律(每18個月晶體管密度翻一翻),晶體管肯定會越來越便宜,因此它就越來越常見。在短短的幾年內,正如Ross所預言的,出現了數十億美元的現場可編程門陣列(FPGA)市場。但是可惜的是,他無法享受這一派欣欣向榮的景象,在1989年Ross Freeman就與世長辭了,但是它的發明卻持續不斷地促進電子行業的進步與發展。
我們都知道構成數字邏輯系統最基本的單元是與門、或門、非門等,而他們都是用三極體、二極體和電阻等元件構成,然後與門、或門、非門又構成了各種觸發器,實現狀態記憶,FPGA屬於數字邏輯電路的一種,同樣由這些最基本的元件構成。一個FPGA可以將上億個門電路組合在一起,集成在一個晶元內,打破以往需要用龐大分立門電路元器件搭建的歷史,不僅電路面積、成本大大減小,而且可靠性得到了大幅度的提升。
一般的FPGA內部是由最小的物理邏輯單位LE、布線網路、輸入輸出模塊以及片內外設組成,所謂的最小物理邏輯單元是指用戶無法修改的、固定的最小的單元,我們只能將這些單元通過互聯線將其連接起來,然後實現用戶特定的功能。一個LE由觸發器、LUT以及控制邏輯組成,可以實現組合邏輯和時序邏輯;隨著FPGA集成度的不斷增加,其內部的片內外設也越來越多,內部可集成SRAM、Flash、AD、RTC等外設,真正實現單晶元解決整個系統功能的目的。所以我們所理解的FPGA最底層是一些實實在在的門電路構成,然後由門電路構成最小的物理邏輯單元,然後通過布線層將這些最小物理邏輯單元連接成用戶需要的特定功能,我們所需要控制的是布線層之間的互連開關,這也是我們編程的對象,通過這些開關來改變功能。
當今的FGPA按工藝分主要有SRAM工藝和Flash工藝(工藝是針對它們的編程開關來說的)兩類,SRAM工藝的FPGA最大的特點是掉電數據會丟失,無法保存,所以它們的系統除了一個FPGA以外,外部還需要增加一個配置晶元用於保存編程數據,每次上電的時候都需要從這個配置晶元將配置數據流載入到FPGA,然後才能正常的運行;但是Flash架構的FPGA掉電不會丟失數據,無需配置晶元,上電即可運行,它的特點非常類似ASIC,但是又比ASIC更加的靈活,可以重復編程。在一些小規模的公司或者產品量不是很大的時候往往更傾向於用FPGA來取代ASIC,不僅能夠降低風險,而且能夠降低成本。
1.2 為什麼要學習FPGA?
FPGA從誕生以來,經歷了從配角到主角的過程,從初期開發應用到限量生產應用再到大批量生產應用的發展歷程。從技術上來說,最初只是邏輯器件,現在強調平台概念,加入數字信號處理、嵌入式處理、高速串列和其他高端技術,從而被應用到更多的領域,正因為其飛速的發展,讓更多學FPGA的人看到了希望,其廣闊的前景正是我們選擇的原因之一。
1. 廣闊的發展前景
據市場調研公司Gartner Dataquest預測,2010年FPGA和其它可編程邏輯器件(PLD)市場將從2005年的32億美元增長到67億美元,未來還將有不斷往上增長的趨勢。FPGA及PLD產業發展的最大機遇是替代ASIC和專用標准產品(ASSP),由ASIC和ASSP構成的數字邏輯市場規模大約為350億美元。由於用戶可以迅速對PLD進行編程,按照需求實現特殊功能,與ASIC和ASSP相比,PLD在靈活性、開發成本以及產品及時面市方面更具優勢,所以未來FPGA將會是一個非常有前景的行業。
FPGA由於其結構的特殊性,可以重復編程,開發周期較短,越來越受人們的青睞,它的特點也更接近ASIC,ASIC比FPGA最大的優勢是低成本,但是FPGA的價格現在也是越來越低,例如:Actel的Nano系列更是打破了FPGA的價格屏障,提供超過50種低於1美金的FPGA,在一定程度上已經可以與ASIC相抗衡。
根據當前發展的趨勢,未來的FPGA勢必將會取代一部分ASIC的市場,雖然根據摩爾定律(Moore』s Law):每18至24個月能在相同的單位面積內多擠入一倍的晶體管數,這意味著電路成本每18至24個月就可以減半,但這只是指裸晶(Die)的成本,並不表示整個晶元的成本減半,這是由於晶圓製造更前端的掩膜(Mask)成本、晶圓製造更後端的封裝(也稱為:構裝、包裝)成本、人力成本等都不會隨摩爾定律而變化,反而晶元的成本有上升的趨勢,所以過去許多中、小用量的晶元無法用先進的工藝來生產,對此不是持續使用舊工藝來生產,就是必須改用FPGA晶元來生產……
因此,未來的趨勢告訴我們,FPGA將成為21世紀最重要的高科技產業之一,特別是國內的FPGA市場,更是一個「未開墾的處女地」,抓住現在的機遇意味著為我們將來的產品提供更多的競爭力。
2. 提供更多就業機會
雖然FPGA市場的廣闊,但是FPGA的技術人員是極度地缺乏,其原因是還未得到高校的重視,很多學校都未開FPGA的課程,導致學生畢業後連什麼是FPGA,什麼是Verilog都不知道,失去了很多就業的機會。我們公司(廣州單片機發展有限公司)這三年來跑遍了全國22個城市,每次宣講會場里場外都站滿了人,每個學生都渴望尋找一份好工作的心情由此可見一斑,但通過考試發現懂FPGA和Verilog的學生卻寥寥無幾,盡管我們每年都對招聘FPGA人才寄予了很大的希望,但每次都失望而歸,深深地體會到招聘FPGA開發工程師困難重重。
由此可見在應屆畢業生中熟練掌握FPGA的學生屬於稀缺資源,然而企業為培養FPGA開發工程師無不付出沉重的代價,所以對於在校電類專業的學生來說,這就是打造個人差異化競爭力的機會,事實上只要掌握FPGA就能夠找到一份薪水更好的工作。我們公司每次在考核員工時往往都會特別關注這些「特殊員工」的情況,一般來說這些員工的工作都會比其它崗位高500元,這就是學習FPGA的優勢,但是很多人不曾完全意識到掌握FPGA技術的重要性。
當前受金融危機的影響,對學生的就業更是巨大的考驗,據教育部的統計,2008年,全國普通高校畢業生達559萬人,比2007年增加64萬人,2009年高校畢業生規模達到611萬人,比2008年增加52萬人,如此多的大學生面臨著就業的問題,如果不具備一定的技能,將會淹沒在大學生的潮流之中而找不到理想的工作,而學習FPGA可以幫助學生多一技之長,大大提高就業的機會。
3.具有更大的技術擴展空間
我們都知道,以前IC半導體產業一直是國內比較薄弱的產業,與國外的發展步伐相比還差甚遠,我們所用的IC大部分都來自歐美地區,國內擁有自主產品的IC技術不多,多半需要引進國外先進的IC設計技術,但是自2000年以來,中國大陸的IC設計企業如雨後春筍般迅速涌現,企業數量5年增加了4倍多,2005年已經達到500多家,銷售收入過億元人民幣的設計企業達到17家,其中兩家超過5億元。概括地講,中國的IC設計公司可以分為四類,第一類是國有IC設計公司,一般是承擔政府研發任務的研究所轉制後設立;第二類是由系統廠商的設計部門獨立出來的IC設計公司;第三類是民營IC設計公司,以海歸型為主;最後一類是外資IC設計公司。
所以IC設計也是未來發展的一個重點方向,將會是國家大力扶持的產業之一,而IC的設計人員所必須掌握的是FPGA的技術,在晶元流片之前都是通過FPGA來進行前期的設計驗證,用的語言也是FPGA的設計語言,只是在後端的設計中才用到IC設計的特定技術,所以IC設計人員必定是懂得FPGA設計的人,掌握FPGA的技術是通往IC設計殿堂的必經之路,學習FPGA有助於給我們更大的技術擴展空間。
1.3 怎樣學FPGA?
既然FPGA對我們如此的重要,那對於初學者的我們又應該如何去學呢?學習一樣知識應該有好的老師教導,我們才能更快的掌握,可惜的是大部分的學校未開相關的課程,也缺少相關專業的老師,我們如何能夠找到一個捷徑或方法幫助我們學會這么極具競爭力的技術,讓我們通向成功的殿堂呢?筆者覺得應該需要有步驟,有目的、循序漸進地掌握相關的技術,我們公司從原來的1人的FPGA團隊,發展到如今30人左右的FPGA團隊,有著一些成長的經歷和經驗,也希望在此能與大家一起分享。
1. 掌握FPGA編程語言
在學習一門技術之前我們往往從它的編程語言開始,就如學習單片機一樣,我們從C語言開始,掌握了C語言,開發單片機就不是什麼難事了。學習FPGA也是如此,FPGA的編程語言有兩種:VHDL和Verilog,這兩種都適合用於FPGA的編程,VHDL比Veirlog早出現,由美國的軍方組織開發,在1987年成為了IEEE的標准;Verilog則是由民間一家普通的公司私有財產轉化而來,基於其優越性,在1995成為了IEEE標准。VHDL在歐地區應用的較為廣泛,而Verilog在中國、美國、日本、台灣等地應用較為廣泛,筆者比較推崇的是Verilog,因為它非常易於學習,很類似於C語言,如果具有C語言基礎的人,只需要花很少的時間便能掌握Verilog,而VHDL較為抽象,學習需要一段較長的時間。
如果是學生,學習Verilog最好的時期是在大學二年級,與數字電路同步學習,不僅能夠理解數字電路實現的方式,更能通過FPGA將數字電路得以實現,筆者發現華中科技大學康華光教授主編的《電子技術基礎(數字部分)》非常好,可以說是一本與時俱進的教材,在其中介紹了Verilog語言,並且在每一章的最後一節都介紹了如何使用Verilog建模實現相關數字電路的內容,非常適合大二學習FPGA的學生,本書同樣以《電子技術基礎(數字部分)》為背景,並與該書進行配套同步,在它的基礎上進行了升華和改進,源於它而又高於它,所以也可以同步學習。大三、大四的學生還可以進一步將Verilog進行強化,學習北京航天航空大學的夏宇聞教授編寫的《Verilog數字系統設計教程(第二版)》可以比較全面地、詳細地掌握Verilog的基本語法,對大二學習的內容進一步的鞏固和強化。
如果是其他初學者,可以直接藉助《Verilog數字系統設計教程(第二版)》和本書即能對Verilog的語法進行全面的掌握。這是學習FPGA的第一步,也是必不可少的一步。
2. 一個易學易用的硬體平台是成功的一半
除了學習編程語言以外,更重要的是實踐,將自己設計的程序能夠在真正的FPGA里運行起來,這時我們需要一個硬體平台的支持,然後以前的FPGA硬體平台的價格讓很多的初學者望而卻步,上千元的價格並不是一般的初學者(特別是學生)能夠承受的,而且不易學習。針對這樣的現狀,也是為了回饋社會,幫助更多想學FPGA又沒有經濟能力的愛好者,廣州周立功單片機發展有限公司開發了一套低成本的FPGA開發套件,售價僅99元,即使是學生也是完全能夠承受得起,這款開發套件可以說是根本不賺錢,我們不僅要提供硬體電路,我們還得配套提供一系列教程資料。
過去的一年來,我們一共投入了4位開發工程師圍繞EasyFPGA030開展工作,翻譯全部開發工具軟體技術資料,先自己吃透然後再根據自己的理解、實踐和多次討論,將技術資料通俗化,並且錄制了第一個「Actel FPGA快速入門視頻教程」供初學者免費下載,便於初學者快速入門,當第一版做出來銷售1000套之後,才發現初學者的焊接經驗不足,於是又開始設計第二版,這就是目前大家在網站上見到的一體化EasyFPGA030開發學習板。為了能夠帶給大家最准備、最權威的知識,我們還請了國內第一個EDA創始人之一的夏宇聞教授給我們進行Veirlog的培訓,培訓完後我們製作一系列Veirlog視頻教程和PPT供初學者學習,同樣免費提供給大家。同時,我們和夏老師一起共同合作編寫了本書,目的是希望能夠以最快的速度幫助初學者入門,另外我們還有一個30人的團隊全面的提供FPGA的技術支持和售後服務,解決用戶的後顧之憂。
所以通過EasyFPGA030的平台學習,不僅節約了前期學習的成本,而且該套件詳實的資料使得非常的易用易學,對於初學者來說是一個不可多得的FPGA開發平台。
3. 技術進行鞏固和升華
對於初學者來說,有了一定基礎後,應該將其繼續的鞏固和升華,筆者認為競賽是學生進行驗證所學知識很好的舞台,不僅能夠鍛煉學生的動手能力,而且能夠發揮學生的創造力和想像力。
廣州周立功公司已經成功舉辦了兩屆「Actel杯全國大學生FPGA電子競賽」,參加的隊伍分別是100隊和300隊,每支隊伍都將免費獲得價值1480元的一套FPGA開發套件作為競賽的平台,競賽完後該套件無需退回,而且設置了最高5000元的獎金,這種舉措對公司來說只有投入,很難看到產出,但是我們還堅持做了,主要是想給學生提供施展才華的舞台,讓更多的人了解FPGA,學會FPGA,2009年我們又將啟動了第三屆競賽,將隊伍擴大到1000支,給更多的人提供機會,我們的目標就是要將創新教育實踐活動進行到底,培養出一批又一批適合企業發展的人才。
1.4 小結
綜上所述,我們只有了解了什麼是FPGA,為什麼要學習FPGA,怎麼學習FPGA後,我們才能非常有目的、有計劃的去掌握這門技術,我相信通過我們的共同努力,一定能夠培養出一批又一批優秀的FPGA人員。
『肆』 用Flash AS做一個布局的練習,1,將器件庫的東西拖出來放在右側的面板中,如果不符合提前設定的位置
EDA在通信行業(電信)的另一種解釋是,企業數據架構,EDA給出了一個企業級數據架構的總體視圖,並根據電信企業的框架和層次劃分的特點。 EDA電子設計自動化(電子設計自動化),在20世紀60年代中期從計算機輔助設計(CAD),計算機輔助製造(CAM),計算機輔助測試(CAT)和計算機輔助工程的概念的發展( CAE)來了。
EDA軟體
EDA工具無盡進入該國,並具有廣泛影響的EDA軟體Multisim7(EWB的最新版本),PSPICE,ORCAD,PCAD,Protel中,Viewlogic導師,圖形,新思科技,LSIIogic,Cadence公司,MICROSIM。這些工具有很強的功能一般可以採用多種方式,例如,很多軟體都可以進行電路設計和模擬,PCB布局,輸出網表文件與第三方軟體介面。
(下面的EDA軟體,有興趣的話,老樣子^ ^)
以下主要功能或應用程序分為電路設計與模擬工具,PCB設計軟體,IC設計軟體,PLD設計工具及其它EDA軟體,一個簡單的描述。
2.1電子電路設計和模擬工具
我們可能已經使用的測試板或其他東西產生一些電子系統做練習。但有時候,我們會發現出來的東西提前了很多的問題,沒想到,這樣一來就浪費了大量的時間和材料。並增加了產品的開發周期和持續的時間將產品推向市場的產品,使產品失去在市場上的競爭力。沒有固定的電烙鐵試驗板就能知道結果的方式嗎?的結論是,有,這是電路設計和模擬技術的。
說到這種技術在電子電路設計和模擬工具,我們不能不提到美國,不能不提到為什麼他們的飛機設計有一個高效率的。之前塑造一個中型飛機的設計,從草案的詳細設計,風洞試驗,然後整個周期大約為10年投入到最後的情節。雖然美國是1年。為什麼會有這么大的差距呢?因為大部分的設計是一個虛擬模擬技術,多年來積累的風洞試驗參數輸入到計算機中,然後通過計算機編程軟體寫一個虛擬的環境,使它能夠自動套用相關公式和調用長期積累的經驗參數輸入到計算機。因此,只要虛擬風洞的軟體測試,不合理的最佳效果,自然的高效率,最後只要重新測試在真實環境中的幾次,直到尋找到的形狀的飛機儀表數據定型,採用這種方法,從波音747到F16。由經驗豐富的專家提供的氣動數據,軟體開發商IBM,飛行器設計工程師可以簡單地使用模擬軟體模擬調試就可以了各種計算機平台。同樣的,很多事情是如此的相似,從最大到最小,從復雜到簡單,甚至包括設計傢具和作曲,只是特定的軟體內容。事實上,他們發明了第一代的計算機是來此的目的(最初設計用於高效率的火炮和炮彈,以及其它計算密集型設計)。
電子電路設計與模擬工具包括SPICE / PSPICE; multiSIM7; MATLAB; SystemView的MMICAD創業奇兵,愛迪生,蒂娜臨明亮的火花等。下面是一個簡單的前三個軟體。
①SPICE(集成電路重點模擬程序):電路分析和模擬軟體是由加州大學發起,在20世紀80年代世界上最廣泛使用的電路設計軟體在1998年被指定為美國國家標准。在1984年,美國MicroSim公司推出了基於SPICE的的PSPICE(個人SPICE)的微機版本,使用更PSPICE6.2,可以說在同類產品中,它是最強大的模擬和數字電路的混合模擬EDA軟體的常用在該國。最後PSPICE9.1版本。它可以是各種電路模擬激勵創造,溫度和雜訊分析,模擬控制,波形輸出,數據輸出,以及模擬和數字模擬結果顯示在同一窗口中,在相同的時間。無論什麼樣的設備,電路模擬,可以得到精確的模擬結果,你可以創建自己的組件和組件庫。
(2)(EWB最新版本的Multisim)軟體:互動式圖像技術有限公司推出在20世紀結束的電路模擬軟體。期Multisim2001相對於其它EDA軟體的最新版本Multisim7,目前廣泛使用,它具有更視覺交互的介面,特別是其儀表圖書館儀表和操作在實際的實驗儀器沒有什麼不同,但它的模擬 - 數字混合模擬電路卻毫不遜色,幾乎100%的真正的電路模擬結果和儀器庫還提供了萬用表,信號發生器,電能表,雙蹤示波器(Multisim7也有四蹤示波器),波特儀(相當實用掃描),數字信號發生器,邏輯分析儀,邏輯轉換儀,失真分析儀,頻譜分析儀,網路分析儀,儀表和電壓表和電流表儀器。此外,還提供了我們日常常見的建模精密元件,如電阻,電容,電感,晶體管,二極體,繼電器,可控硅,數碼管,等等。模擬集成電路,各種運算放大器,其他常用集成電路。集成電路,數字電路74系列4000系列的集成電路,還支持自製組件。 Multisim7還具有IV分析儀(相當於在現實環境中的晶體管曲線示蹤劑)和安捷倫信號發生器,安捷倫萬用表,安捷倫示波器和動態邏輯電平筆。與此同時,它也可以用VHDL和Verilog HDL模擬模擬。
(3)MATLAB產品家族:其特點是許多特定於應用程序的工具箱和模擬塊包含了一套完整的功能,用於圖像信號處理,控制系統設計,神經網路等特殊應用分析的設計。它具有數據採集,報表生成和MATLAB語言編程獨立的C / C + +代碼的功能。 MATLAB產品系列具有以下特點:數據分析,數字和符號計算,工程與科學繪圖,控制系統設計,數字圖像信號處理,金融工程,建模,模擬,原型開發應用程序的開發,圖形用戶界面設計。 MATLAB產品系列被廣泛應用於信號和圖像處理,控制系統設計,通信系統模擬等諸多領域。開放式架構能夠很容易地擴展MATLAB產品家族的具體需求,從而深化對問題的認識,同時提高自身競爭力。
2.2 PCB設計軟體
PCB(印刷電路板)設計軟體,許多不同的類型,如PROTEL,ORCAD,Viewlogic,PowerPCB中,Cadence的PSD,MentorGraphices遠征PCB Zuken公司CadStart,WINBOARD / Windraft / IVEX-SPICE,PCB工作室,探戈,PCBWizard(創業奇兵配套的PCB生產包),ultiBOARD7(PCB配套Multisim的2001年。製作軟體包)等等。
目前在中國最多的當屬Protel中,只是作為一個介紹這個軟體。
PROTEL PROTEL現在Altium的CAD工具,在20世紀80年代末引入,是PCB設計者的首選軟體。它在全國較早,普及率最高的,在許多大,中專院校的專業電路還擅長在PROTEL課程的創作,幾乎在電路應使用。早期的Protel印刷板自動布線工具,它是一個完整的系統電路設計,范圍包括電氣原理圖的混合信號,模擬電路和數字電路模擬,多對Protel DXP的是目前廣泛使用的最新版本是protel99se層印刷電路板設計,自動布局布線(包括印刷電路板),可編程邏輯器件設計,圖表生成電路形式生成,支持宏操作,並具有客戶機/伺服器(客戶機/伺服器體系結構),文件格式也是與其他設計軟體,如ORCAD,PSPICE,EXCEL,等兼容。使用自動布線的多層印刷電路板,高密度PCB布通率100%。 Protel軟體功能強大(電路模擬功能和的PLD開發能力),用戶界面友好,使用方便,但它是最具有代表性的電路設計和PCB設計。
2.3 IC設計軟體
IC設計工具,頂Cadence公司,Mentor Graphics和Synopsys公司的市場份額。三是ASIC設計是頗為知名的軟體供應商。其他公司的軟體是比較小的用戶。中國和中國也提供ASIC設計軟體(熊貓2000);最近的另一項著名的阿凡提,最初成立由Cadence的幾個中國工程師和他們的設計工具可以充分競爭和Cadence的工具,深亞微米集成電路設計的理想選擇。以下使用的IC設計軟體作一些介紹。
(1)設計輸入工具
這是任何一種EDA軟體必須具備的基本功能。像Cadence的作曲家,Viewlogic ViewDraw的硬體描述語言VHDL,Verilog HDL語言為主要語言,許多設計輸入工具,支持高密度脂蛋白(例如,Multisim等),。此外,類似的Active-HDL設計輸入方法,包括原理和狀態機輸入法設計FPGA / CPLD的工具,可以設計成一個IC的輸入手段,如Xilinx,Altera和其他公司提供的開發工具,ModelSim的FPGA等..
(2)設計和模擬工作
使用EDA工具的最大好處之一,可以驗證該設計是正確的,幾乎每個公司的EDA模擬工具。的Verilog-XL,NC-Verilog的蛙跳VHDL Verilog模擬,模擬,模擬用於模擬電路模擬的藝術家。 Viewlogic的模擬器:門級電路模擬器viewsim,模擬器speedwaveVHDL,VCS - Verilog模擬。 Mentor Graphics公司及其附屬型號技術VHDL和Verilog模擬模型辛。 Cadence公司,Synopsys的VSS(VHDL模擬器)。現在的趨勢是各大EDA公司都逐漸HDL模擬電路驗證工具。
(3)合成工具
工具HDL到門級網表。這Synopsys的工具占很大的優勢,它的設計編譯為一個綜合性的行業標准,它也有另一個稱為行為編譯器可以提供更先進的集成產品。
另外,最近美國開出的一個軟體叫涵蓋的范圍,比新思軟體,集成電路50萬,快說。涵蓋的范圍今年早些時候收購Cadence Cadence公司成就放棄其原有的軟體協同。隨著FPGA設計的規模越來越大,EDA公司FPGA設計開發軟體,比較有名的:Synopsys公司的FPGA快,Cadence的Synplity,Mentor的萊昂納多,三個FPGA綜合軟體占市場的絕大多數。
在④布局和布線
IC設計布局的工具,Cadence的軟體是比較強的,它有很多的產品,標准單元,門陣列可以實現交互布線。最有名的是Cadence的光譜,它變成了PCB布局,Cadence公司,後來它被用於集成電路布線。其主要的工具:CELL3矽谷樂團標準的單位接線門樂團門陣列布線設計規劃布局工具。其他EDA軟體開發公司也提供自己的布局和布線工具。
⑤物理驗證工具
物理驗證工具,包括布局設計工具,版圖驗證工具,布局提取工具。 Cadence是德古拉,Virtuso,吸血鬼,和其他物理工具也很強大,有很多的用戶。
⑥模擬電路模擬器
數字電路,模擬電路模擬工具,常用在SPICE模擬器面前說,這是唯一的選擇。只要選擇不同公司的SPICE,PSPICE像MiceoSim元HSPICE軟。 HSPICE阿凡提收購。眾多的SPICE,IC設計,HSPICE模型,模擬精度也很高。
2.4 PLD設計工具
PLD(可編程邏輯器件)是一個用戶需要構建自己的邏輯功能的數字集成電路。目前,主要有兩種類型:CPLD(復雜可編程邏輯器件)和FPGA(現場可編程門陣列)。他們的基本設計方法是藉助於EDA軟體,原理圖,狀態機,布爾表達式,硬體描述語言,生成對象文件,最後由目標器件編程器或下載電纜。生產PLD的廠家很多,但最有代表性的PLD廠家為Altera,Xilinx和格子。
PLD開發工具一般由設備製造商提供,但隨著設備的規模日益擴大,軟體復雜性的增加,目前由專門的軟體公司和設備製造商,引進強大的設計的軟體。下面描述了主要的移動設備製造商和開發工具。
(1)ALTERA:20世紀90年代後迅速發展。主要產品有:MAX3000/7000,FELX6K/10K,APEX20K,ACEX1K,Stratix和等。其開發工具-MAX + PLUS II是比較成功的PLD開發平台,最新的Quartus II開發軟體。綁定第三方VHDL綜合工具,如:集成軟體FPGA快速,倫納德頻譜,模擬軟體的ModelSim Altera公司設計輸入意味著更多的形式。
②ILINX:FPGA的發明者。在整個產品范圍,主要表現在:XC9500/4000的CoolRunner XPLA3,斯巴達,一系列頂點,頂點-II Pro器件已達到800萬。發展基金會和ISE軟體。一般來說,在歐洲Xilinx和ALTERA公司的人在日本和亞太地區,在美國平分秋色。全球PLD / FPGA產品超過60%是由Altera和Xilinx。 Altera和Xilinx可以一起說話的PLD技術的發展確定了方向。
③格處Vantis:萊迪思ISP(在系統可編程)技術的發明者。 ISP技術極大地促進了PLD產品的發展相比,與Altera和Xilinx開發工具比Altera和Xilinx略遜一籌。小型和中型PLD比較有特色,大規模PLD的競爭力還不夠強(晶格查表技術的大規模FPGA),可編程模擬設備為主,在1999年推出,1999年的收購處Vantis( AMD子公司),成為第一個三個可編程邏輯器件供應商。 2001年12月收購傑爾系統(原朗訊微電子部)的FPGA部門。主要產品有ispLSI2000/5000/8000 MACH4 / 5。
④ACTEL:反熔絲(一次性編程)PLD的領導。由於反熔絲PLD抗輻射,耐高低溫,功耗低,速度快,所以在軍事和航空航天的水平有較大的優勢。 Altera和Xilinx一般不參與軍事和航空航天級市場。
⑤QuickLogic公司:專業PLD / FPGA公司,一次性基於反熔絲技術在中國的銷售。
⑥朗訊:其主要特點是,有很多在通信領域使用的專用IP核,但PLD / FPGA朗訊在中國的業務的人很少。
⑦ATMEL:小型和中型PLD做得不錯。 Atmel還兼容與Altera和Xilinx的電影,但與原廠家的質量存在一定的差距,高可靠性的產品用量少,使用中低端產品。
⑧清除邏輯:生產和一些著名的PLD / FPGA兼容的晶元,這種晶元可以設計用戶一次性治癒,不可編程的低成本,大批量生產。
⑨WSI:生產PSD(單晶元可編程外圍晶元)。這是一種特殊的PLD,如最新的PSD8xx的PSD9xx集成PLD,EPROM,快閃記憶體,支持ISP(在系統編程),集成度高,主要用於與單片機配合。
順便說一句:PLD(可編程邏輯器件)是一個完全取代74系列和GAL,解放軍的新型電路,只要有數字電路的基礎上使用電腦,你可以PLD發展。 PLD的在線編程能力和強大的開發軟體,工程師可以在幾天,甚至幾分鍾就可以完成,在過去的幾個星期才能完成的工作,在一個晶元上集成數百萬門復雜的設計。 PLD技術在發達國家已成為電子工程師必備的技術。
2.5其他EDA軟體
1 VHDL:超高速集成電路硬體描述的語言(VHSIC硬體Deseription的Languagt,簡稱為VHDL),是一個標準的語言IEEE。它起源於美國國防部的超高速集成電路(甚高速集成電路,簡稱VHSIC)計劃,主要ASIC設計和PLD設計輸入工具。
②HDL Veriolg:介紹了Verilog硬體描述語言,在ASIC設計用VHDL語言平分秋色。
(3)其它EDA軟體,如微波電路設計和電力線載波專用工具,PCB生產和過程式控制制工具領域,這將不會被引進。
3 EDA應用
EDA在教學,科研,產品設計和製造的各個方面發揮了巨大的作用。在教學中,幾乎所有的科學與工程(尤其是電子產品)類高校開設了EDA課程。旨在讓學生了解基本概念和原則的EDA,掌握HDL語言規范,掌握的理論和演算法的邏輯,EDA工具,電子電路課程的實驗驗證,並從事設計一個簡單的的系統。一般學習電路模擬工具(如Multisim中,PSPICE)和PLD開發工具(如Altera / Xilinx器件結構和發展系統),為今後的工作打下了基礎。
科研,主要使用的電路模擬工具(Multisim中或PSPICE)電路設計與模擬,虛擬儀器進行產品測試; CPLD / FPGA器件的實際應用設備,PCB設計和ASIC設計,等。
在產品設計和製造,包括計算機模擬,EDA工具應用在產品開發,系統級模擬和模擬測試環境,生產線的EDA技術應用,產品測試等方面。如生產印刷電路板,電子設備的研究和生產,電路板焊接,ASIC生產過程。
從應用領域來看,EDA技術已經滲透到各行各業,如上所述,包括機械,電子,通訊,航空,航天,化工,礦產,生物,醫療,軍事,等各個領域,有EDA應用。此外,EDA軟體的功能日益強大,原來單一的軟體現在增加了很多新的用途。如AutoCAD軟體在機械和建築設計,也擴展到建築裝飾領域,各種效果圖,模型汽車和飛機,電影特技。
4 EDA技術的發展趨勢從目前的EDA技術的角度來看,這種趨勢是政府的重視,使用流行的,廣泛使用的各種工具,功能強大的軟體。
中國EDA市場已經成熟,但大多數設計工程師,PCB制板和小面積的ASIC中,只有一小部分(約11%)的設計師來開發復雜的片上系統設備。為了在台灣和美國的設計工程師形成更激烈的競爭,中國的設計團隊是必要的引進和學習一些最新的EDA技術。
在信息和通信領域,要優先發展高速寬頻信息網,深亞微米集成電路,新型元器件,計算機及軟體技術,第三代移動通信技術,信息管理,信息安全技術,積極探索新一代數字技術,網路技術為基礎的信息產品,發展新興產業,培育新的經濟增長點。要大力推進製造業信息化,積極開展計算機輔助設計(CAD),計算機輔助工程(CAE),計算機輔助工藝(CAPP),計算機輔助製造(CAM),產品數據管理(PDM) ,製造資源計劃(MRPII)和企業資源管理(ERP)。有條件的企業開展了網路化製造,便於合作設計,合作製造,參與國內和國際競爭。開展「NC」項目和「數字化」項目。自動化儀表技術發展趨勢的測試技術,控制技術和計算機技術,通信技術進一步融合,形成的結構,測量,控制,通信和計算機(M3C)。 ASIC和PLD設計,超高速,高密度,低功耗,低電壓的發展。
外圍技術和EDA項目相結合的市場前景,如結合大屏幕連接,多屏技術也很發達。
中國加快發展半導體產業自1995年以來,先後建立了幾個設計中心,推動系列設計活動,在亞太地區其它EDA市場競爭。
EDA軟體開發,主要是在美國。不過,各國也制定了相應的工具。日本,韓國都有ASIC設計工具,但不向公眾開放。中國華大集成電路設計中心也提供IC設計軟體,但性能不是很強。我相信,在不久的將來會有更多更好的設計工具,各地開花結果。據最新的統計數據顯示,中國和印度是增長最快的電子設計自動化市場領域,夏天的總增長率達到了50%和30%,分別。
EDA技術的快速發展,可以用千變萬化來形容。 EDA技術的應用非常廣泛,已涉及各行各業。 EDA和水平不斷提高,設計工具趨於完美的地步。 EDA市場的成熟,但在中國的研發水平仍然是有限的,還需要迎頭趕上。
『伍』 課程設計EDA誰能幫我做一個EDA的簡易cpu課程設計,要程序,波形圖,和block框圖
EDA是電子設計自動化(Electronic Design Automation)的縮寫,在20世紀60年代中期從計算機輔助設計(CAD)、計算機輔助製造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發展而來的。
20世紀90年代,國際上電子和計算機技術較為先進的國家,一直在積極探索新的電子電路設計方法,並在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數字系統的設計帶來了極大的靈活性。這些器件可以通過軟體編程而對其硬體結構和工作方式進行重構,從而使得硬體的設計可以如同軟體設計那樣方便快捷。這一切極大地改變了傳統的數字系統設計方法、設計過程和設計觀念,促進了EDA技術的迅速發展。
EDA技術就是以計算機為工具,設計者在EDA軟體平台上,用硬體描述語言VHDL完成設計文件,然後由計算機自動地完成邏輯編譯、化簡、分割、綜合、優化、布局、布線和模擬,直至對於特定目標晶元的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現,極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。
『陸』 怎麼寫數字鍾課程設計的心得
數字電子技術課程設計 心得體會 交通燈信號控制電路設計
心得體會:
1、通過這次課程設計,加強了我們動手、思考和解決問題的能力。在整個設計過程中,我們通過這個方案包括設計了一套電路原理和PCB連接圖,和晶元上的選擇。這個方案總共使用了74LS248,CD4510各兩個,74LS04,74LS08,74LS20,74LS74,NE555定時器各一個。
2、在設計過程中,經常會遇到這樣那樣的情況,就是心裡想老著這樣的接法可以行得通,但實際接上電路,總是實現不了,因此耗費在這上面的時間用去很多。
3、我沉得做課程設計同時也是對課本知識的鞏固和加強,由於課本上的知識太多,平時課間的學習並不能很好的理解和運用各個元件的功能,而且考試內容有限,所以在這次課程設計過程中,我們了解了很多元件的功能,並且對於其在電路中的使用有了更多的認識。
平時看課本時,有時問題老是弄不懂,做完課程設計,那些問題就迎刃而解了。而且還可以記住很多東西。比如一些晶元的功能,平時看課本,這次看了,下次就忘了,通過動手實踐讓我們對各個元件映象深刻。認識來源於實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標准。所以這個期末測試之後的課程設計對我們的作用是非常大的。
4、在製作PCB時,發現細心耐心,恆心一定要有才能做好事情,首先是線的布局上既要美觀又要實用和走線簡單,兼顧到方方面面去考慮是很需要的,否則只是一紙空話。
5、在畫好原理圖後的做PCB版時,由於項目組成員對單面板的不熟悉,導致布線後元件出現在另一邊,增加了布線難度,也產生很多不曾注意的問題,今後要牢記這個教訓,使以後布線更加順利。
6、經過兩個星期的實習,過程曲折可謂一語難盡。在此期間我們也失落過,也曾一度熱情高漲。從開始時滿富盛激情到最後汗水背後的復雜心情,點點滴滴無不令我回味無長。
生活就是這樣,汗水預示著結果也見證著收獲。勞動是人類生存生活永恆不變的話題。通過實習,我才真正領略到「艱苦奮斗」這一詞的真正含義,我才意識到老一輩電子設計為我們的社會付出。我想說,設計確實有些辛苦,但苦中也有樂,在如今單一的理論學習中,很少有機會能有實踐的機會,但我們可以,而且設計也是一個團隊的任務,一起的工作可以讓我們有說有笑,相互幫助,配合默契,多少人間歡樂在這里灑下,大學里一年的相處還趕不上這十來天的合作,我感覺我和同學們之間的距離更加近了;我想說,確實很累,但當我們看到自己所做的成果時,心中也不免產生興奮; 正所謂「三百六十行,行行出狀元」。我們同樣可以為社會作出我們應該做的一切,這有什麼不好?我們不斷的反問自己。也許有人不喜歡這類的工作,也許有人認為設計的工作有些枯燥,但我們認為無論干什麼,只要人生活的有意義就可。社會需要我們,我們也可以為社會而工作。既然如此,那還有什麼必要失落呢?於是我們決定沿著自己的路,執著的走下去。
同時我認為我們的工作是一個團隊的工作,團隊需要個人,個人也離不開團隊,必須發揚團結協作的精神。某個人的離群都可能導致導致整項工作的失敗。實習中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導致整個工作失敗。團結協作是我們實習成功的一項非常重要的保證。而這次實習也正好鍛煉我們這一點,這也是非常寶貴的。
對我們而言,知識上的收獲重要,精神上的豐收更加可喜。挫折是一份財富,經歷是一份擁有。這次實習必將成為我人生旅途上一個非常美好的回憶!
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。
這次課程設計終於順利完成了,在設計中遇到了很多專業知識問題,最後在老師的辛勤指導下,終於游逆而解。同時,在老師的身上我們學也到很多實用的知識,在次我們表示感謝!同時,對給過我幫助的所有同學和各位指導老師再次表示忠心的感謝!
7、此次課程設計,學到了很多課內學不到的東西,比如獨立思考解決問題,出現差錯的隨機應變,和與人合作共同提高,都受益非淺,今後的製作應該更輕松,自己也都能扛的起並高質量的完成項目。
8、在此,感謝於老師的細心指導,也同樣謝謝其他各組同學的無私幫助!
PROTEL99SE 軟體工具應用技巧
Protel 99SE 提供了一系列的電路設計工具、優秀的文件管理系統,使用戶真正享受到方便快捷而又形象的設計自動化,使設計人員從煩瑣的電路設計中解脫出來,只需擁有一台電腦,即可完成從電路原理圖的設計到最終的印製電路板設計的全部過程。它包含有各功能模塊和標準的元件庫。
主要功能模塊:
Protel 99SE 具有出色的用戶管理技術,強大的自動化設計功能,靈活的編輯功能,簡單方便的操作環境和完善的元件庫管理能力。Protel 99SE
主要由兩大部分組成,每一部分有三個功能模塊
1.電路設計部分
a.
原理圖設計模塊,包括用於設計原理圖的原理圖編輯器,用於管理元器件的零件編輯器和各種相關報表生成器。
b. 印製電路板設計模塊,包括用於設計電路板的電路板編輯器,用於零件封裝管理的零件封裝編輯器,電路板組件管理器和各種相關報表生成器。
c.
無網格布線模塊。
2.電路模擬與PLD 設計部分
a.
可編程邏輯器件設計模塊,包括具有語法意識的文本編輯器,用於編譯和模擬結果的PLD
和用於觀 模擬結果的Wave.
b. 電路模擬模塊,包括一個功能強大的數字/模擬混合信號電路模擬器及用於模擬結果顯示、測量的波形顯示器。
c.
高級信號完整性分析模塊,主要包括一個高級信號完整性分析模擬器,能分析PCB 設計和檢查設計參數等。
數電課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.回顧起此次課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在短短的兩個星期的日子裡,可以說得是苦多於甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次數電課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做數電課程設計,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。
這次數電課程設計終於順利完成了,在設計中遇到了很多問題,最後在王老師的辛勤指導下,終於游逆而解。同時,在王老師的身上我學得到很多實用的知識。總體來說,這次實習我受益匪淺.在摸索該如何設計程序使之實現所需功能的過程中,特別有趣,培養了我的設計思維,增加了實際操作能力.在讓我體會到了設計的艱辛的同時,更讓我體會到成功的喜悅和快樂. 這次數電課程設計,雖然短暫但是讓我得到多方面的提高:1、提高了我們的邏輯思維能力,使我們在邏輯電路的分析與設計上有了很大的進步。加深了我們對組合邏輯電路與時序邏輯電路的認識,進一步增進了對一些常見邏輯器件的了解。另外,我們還更加充分的認識到,數字電路這門課程在科學發展中的至關重要性2,查閱參考書的獨立思考的能力以及培養非常重要,我們在設計電路時,遇到很多不理解的東西,有的我們通過查閱參考書弄明白,有的通過網路查到,但由於時間和資料有限我們更多的還是獨立思考。3,相互討論共同研究也是很重要的,經常出現一些問題,比如電路設計中的分頻器的設計,開始並不理解分頻器的原理,但是和其他的專業同學討論後,理解了分頻器的基本原理後,很快的設計了電路原理圖
『柒』 湖北汽車工業學院自動化(汽車工業電氣自動化)是什麼專業學科類別
工科。 下面是汽院自動化專業今年的人才培養方案,自己看看要學些什麼,至於有些人總拿車輛工程來比較汽院的專業,我覺得這是個很弱智的想法,每個專業都有自己的發展方向,難道全國就車輛工程專業好就業嗎?這根本沒有什麼好比較的,什麼專業只有學好了才會有好的就業,難道車輛工程專業的學生混了四年,什麼都沒學到,他也好就業·?
2011級080602|自動化(汽車工業電氣自動化)人才培養方案
入學年份: 2011
所屬院系:02|電氣與信息工程學院
專業(方向): 080602|自動化(汽車工業電氣自動化)
1、專業培養目標
專業培養以現代汽車生產為對象,以控制理論為基礎,以運動控制為方向,以機床數控與工業機器人應用技術為特色,兼顧計算機控制技術和自動控制技術,為汽車工業培養理論基礎扎實、工程實踐能力強,能從事汽車工業自動化設備和自動控制系統調試分析、工程設計、運行控制及研究開發的高級工程技術人才。
2、業務培養要求
1 系統地掌握本專業領域必需的較寬的技術基礎理論知識,主要包括電路原理、電子技術、電機與拖動、控制理論、信息處理、計算機軟硬體基礎及應用等。 2 較好地掌握運動控制系統、工業電氣與控制技術、數控原理與編程、典型數控系統、工業機器人應用技術等汽車工業電氣自動化領域的專門知識,獲得較好的汽車工業自動控制系統分析、設計及開發方面的工程實踐訓練和初步的科學研究方法訓練,具有較強的專業操作技能和熟練的計算機應用能力。 3 具有較強的自學能力和創新意識及提出問題、分析問題、解決問題的基本能力。了解本專業學科的科技發展及其動向。 4 具備適應本專業和相近專業業務工作的基本能力與素質,具有基本的技術經濟、工業管理知識及綜合運用能力。 5 掌握一門外語,具有熟練的閱讀專業外語文獻能力和較好的聽、說、寫能力。
3、學制
3.1修業年限: 4年 3.2授予學位:工學
4、專業主要課程
電路原理、模擬電子技術基礎、數字電子技術基礎、C語言程序設計、自動控制原理、電力電子技術、現代控制理論、電機與電力拖動、微機原理及應用、運動控制系統、工業電氣與控制技術、計算機控制技術、單片機原理及應用、典型數控系統、數控原理與編程、計算機模擬技術、智能控制
5、實踐性教學環節安排
主要實踐環節包括:軍訓、金工實習、電工電子實習、認識實習、生產實習、社會實踐、課程設計、畢業設計(論文)等,不少於38周。
6、畢業學分要求
公共基礎課:49.0學分 學科基礎課:67.0學分 專業課:36.0學分 集中實踐環節:38.0學分
7、有關說明
8、課程進程表
課程類型 性質 課程編號 課程名稱 考核 學分 總學時 理論 實驗 上機 課外 周數 學期
公共基礎課至少49.0學分 --
公共基礎課 必修 060010 馬克思主義基本原理 考試 3.0 48 48 3-- 3
公共基礎課 必修 060030 中國近現代史綱要 考查 2.0 32 32 1-- 1
公共基礎課 必修 060050 毛澤東思想和中國特色社會主義理論體系概論 考試 4.0 60 60 4 2-- 2
公共基礎課 必修 060060 馬克思主義與當代中國實踐 考查 2.0 45 45 3-- 3
公共基礎課 必修 060170 思想道德修養與法律基礎 考查 3.0 42 42 1-- 1
公共基礎課 必修 060330 形勢與政策1 考查 0.5 8 8 1-- 1
公共基礎課 必修 060331 形勢與政策2 考查 0.5 8 8 2-- 2
公共基礎課 必修 060332 形勢與政策3 考查 0.5 8 8 3-- 3
公共基礎課 必修 060333 形勢與政策4 考查 0.5 8 8 4-- 4
公共基礎課 必修 160010 普通體育1 考查 1.5 30 30 1-- 1
公共基礎課 必修 160011 普通體育2 考查 1.5 30 30 2-- 2
公共基礎課 必修 160020 體育專選1 考查 1.5 30 30 3-- 3
公共基礎課 必修 160021 體育專選2 考查 1.5 30 30 4-- 4
公共基礎課 必修 170020 大學計算機基礎 考試 2.0 32 24 8 1-- 1
公共基礎課 必修 180010 軍事理論 考查 1.0 18 18 1-- 1
公共基礎課 選修 090010 大學英語讀寫譯1 考試 2.5 40 40 1-- 2
公共基礎課 選修 090011 大學英語讀寫譯2 考試 2.5 40 40 1-- 3
公共基礎課 選修 090012 大學英語讀寫譯3 考試 2.5 40 40 2-- 4
公共基礎課 選修 090013 大學英語讀寫譯4 考試 2.5 40 40 3-- 5
公共基礎課 選修 090014 大學英語預備級 考試 2.5 40 40 1-- 1
公共基礎課 選修 090040 科技英語 考查 1.5 30 30 5-- 5
公共基礎課 選修 090810 大學英語視聽說1 考試 1.5 28 28 1-- 2
公共基礎課 選修 090811 大學英語視聽說2 考試 1.5 28 28 2-- 3
公共基礎課 選修 090812 大學英語視聽說3 考試 1.5 28 28 3-- 4
公共基礎課 選修 090813 大學英語視聽說4 考試 1.5 28 28 4-- 5
公共基礎課 選修 090814 大學英語視聽說預備級 考試 1.5 28 28 1-- 1
公共基礎課 選修 170030 計算機操作基礎 考試 1.0 16 8 8 1-- 1
學科基礎課至少67.0學分 --
學科基礎課 必修 010021 工程制圖B 考試 3.5 56 56 1-- 1
學科基礎課 必修 020010 電路A 考試 4.5 72 72 3-- 3
學科基礎課 必修 020240 自動控制原理A 考試 4.0 64 56 8 5-- 5
學科基礎課 必修 020290 電機與電力拖動 考試 4.5 72 60 12 4-- 4
學科基礎課 必修 020400 微機原理及應用A 考試 4.5 72 54 18 6-- 6
學科基礎課 必修 020420 C語言程序設計A 考試 4.0 64 40 24 2-- 2
學科基礎課 必修 028810 電路實驗 考查 1.0 24 24 3-- 3
學科基礎課 必修 080010 模擬電子技術基礎A 考試 4.5 72 56 16 4-- 4
學科基礎課 必修 080030 數字電子技術基礎 考試 4.5 72 56 16 5-- 5
學科基礎課 必修 150010 高等數學1 考試 2.5 42 42 1-- 1
學科基礎課 必修 150011 高等數學2 考試 2.5 40 40 1-- 1
學科基礎課 必修 150012 高等數學3 考試 2.5 44 44 2-- 2
學科基礎課 必修 150013 高等數學4 考試 2.5 36 36 2-- 2
學科基礎課 必修 150030 線性代數 考試 2.5 40 40 3-- 3
學科基礎課 必修 150040 概率論與數理統計 考試 2.5 44 44 4-- 4
學科基礎課 必修 150050 復變函數與積分變換 考查 3.0 48 48 3-- 3
學科基礎課 必修 150110 大學物理A1 考試 3.5 56 56 2-- 2
學科基礎課 必修 150111 大學物理A2 考試 3.5 56 56 3-- 3
學科基礎課 必修 150130 大學物理實驗A1 考查 1.5 30 30 2-- 2
學科基礎課 必修 150131 大學物理實驗A2 考查 1.5 30 30 3-- 3
學科基礎課 選修 020250 現代控制理論 考查 2.5 40 36 4 6-- 6
學科基礎課 選修 020360 系統工程導論 考查 1.5 30 30 4-- 4
學科基礎課 選修 020890 自動化專業概論 考查 1.0 18 18 2-- 2
學科基礎課 選修 040060 汽車概論 考查 1.5 30 30 4-- 4
學科基礎課 選修 050081 工程經濟B 考查 2.0 32 32 4-- 4
學科基礎課 選修 050710 現代企業管理概論 考查 2.0 32 32 4-- 4
專業課至少36.0學分 --
專業課 必修 020100 檢測與轉換技術 考查 2.0 32 26 6 5-- 5
專業課 必修 020160 工業電氣與控制技術 考試 3.0 48 48 6-- 6
專業課 必修 020230 電力電子技術 考試 3.0 48 48 5-- 5
專業課 必修 020270 運動控制系統 考試 4.0 64 64 6-- 6
專業課 必修 020441 計算機控制技術 考試 1.5 30 30 7-- 7
專業課 必修 020511 單片機原理及應用B 考查 2.0 32 32 6-- 6
專業課 必修 021080 典型數控系統 考試 1.5 30 30 6-- 6
專業課 選修 011680 機械與液壓基礎 考查 3.0 48 40 8 4-- 4
專業課 選修 020280 自動化專業英語 考查 1.5 30 30 7-- 7
專業課 選修 020300 計算機模擬技術 考查 1.5 30 16 14 5-- 5
專業課 選修 020330 工業機器人應用技術 考查 1.5 30 26 4 5-- 5
專業課 選修 020380 DSP原理及應用B 考查 2.0 32 22 10 7-- 7
專業課 選修 020481 計算機軟體基礎 考查 2.5 40 34 6 4-- 4
專業課 選修 020600 資料庫技術 考查 2.5 40 30 10 7-- 7
專業課 選修 020770 Visual C++程序設計 考查 1.5 30 30 3-- 3
專業課 選修 020911 嵌入式系統B 考查 2.0 32 24 8 7-- 7
專業課 選修 020920 智能控制導論 考查 1.5 30 30 7-- 7
專業課 選修 020930 組態軟體與運用 考查 1.5 30 22 8 7-- 7
專業課 選修 021090 數控原理與編程 考查 2.5 40 32 8 5-- 5
專業課 選修 021200 汽車製造工藝與自動化 考查 1.5 30 30 5-- 5
專業課 選修 021210 汽車製造自動化檢測 考查 1.5 30 30 6-- 6
專業課 選修 021220 工廠電氣CAD 考查 1.0 16 16 5-- 5
專業課 選修 080061 數字信號處理B 考查 2.0 32 32 7-- 7
專業課 選修 080420 可編程邏輯器件 考查 1.5 28 28 7-- 7
集中實踐環節至少38.0學分 --
集中實踐環節 必修 018162 金工實習(冷) 考查 1.0 1 1-- 1
集中實踐環節 必修 028100 微機原理及應用A課程設計 考查 1.0 1 6-- 6
集中實踐環節 必修 028120 工業電氣與控制技術課程設計 考查 1.0 1 6-- 6
集中實踐環節 必修 028140 自動化專業認識實習 考查 1.0 1 4-- 4
集中實踐環節 必修 028170 自動化社會實踐 考查 1.0 1 8-- 8
集中實踐環節 必修 028190 電工電子實習 考查 2.0 2 4-- 4
集中實踐環節 必修 028230 自動化生產實習 考查 4.0 4 7-- 7
集中實踐環節 必修 028250 自動化畢業設計 考查 16.0 16 8-- 8
集中實踐環節 必修 028410 計算機控制技術課程設計 考查 1.0 1 7-- 7
集中實踐環節 必修 028420 運動控制系統課程設計 考查 1.0 1 6-- 6
集中實踐環節 必修 028450 單片機原理及應用課程設計 考查 1.0 1 6-- 6
集中實踐環節 必修 028460 數控系統課程設計 考查 1.0 1 7-- 7
集中實踐環節 必修 028500 電力電子技術課程設計 考查 1.0 1 5-- 5
集中實踐環節 必修 028841 C語言程序設計課程設計 考查 1.0 1 2-- 2
集中實踐環節 必修 038092 金工實習(熱) 考查 1.0 1 2-- 2
集中實踐環節 必修 088010 數字電子技術基礎課程設計 考查 1.0 1 5-- 5
集中實踐環節 必修 088130 模擬電子技術基礎A課程設計 考查 1.0 1 4-- 4
集中實踐環節 必修 180810 軍事訓練 考查 1.0 2 1-- 1
集中實踐環節 選修 028200 高級電子實習 考查 1.0 1 7-- 7
集中實踐環節 選修 028820 工廠電氣CAD課程設計 考查 1.0 1 5-- 5
集中實踐環節 選修 028860 Visual C++程序設計課程設計 考查 1.0 1 3-- 3
集中實踐環節 選修 088160 可編程器件課程設計 考查 1.0 1 7-- 7
『捌』 EDA課程設計,用VHDL編程做計程車計費器
課程設計內容與要求
1,用開關按鍵表示脈沖,每個脈沖代表100米,10個脈沖1公里,每公里1.4元,能同步顯示里程和費用;
2,低於2公里5元計費,高於2公里總費用=起步費用+(里程-2公里)*里程單價+
等候時間*等後單價;
3,等候時間大於2分鍾,按每分鍾1.3元計費;
4,可以設定起步價和里程單價。
一、設計原理與技術方法:
包括:電路工作原理分析與原理圖、元器件選擇與參數計算、電路調試方法與結果說明;
軟體設計說明書與流程圖、軟體源程序代碼、軟體調試方法與運行結果說明。
根據設計要求,系統的輸入信號clk,計價開始信號start,等待信號stop,里程脈沖信號fin。系統的輸出信號有:總費用數C0—c3,行駛距離k0—k1,等待時間m0—m1等。系統有兩個脈沖輸入信號clk_750k,fin,其中clk_750k將根據設計要求分頻成14hz,15hz和1hz分別作為公里計費和超時計費的脈沖。兩個控制輸入開關start,stop;控制過程為:start作為計費開始的開關,當start為高電平時,系統開始根據輸入的情況計費。當有乘客上車並開始行駛時,fin脈沖到來,進行行駛計費,此時的stop需要置為0;如需停車等待,就把stop變為高電平,
並去除fin輸入脈沖,進行等待計費;當乘客下車且不等待時,直接將start置為0,系統停止工作;價格開始歸為起步價5.0元。
整個設計由分頻模塊,計量模塊,計費模塊,控制模塊和顯示模塊五個部分組成。
其中計量模塊是整個系統實現里程計數和時間計數的重要部分;控制模塊是實現不同計費方式的選擇部分,根據所設計的使能端選擇是根據里程計費還是根據等待時間計費,同時設計通過分頻模塊產生不同頻率的脈沖信號來實現系統的計費。計量模塊採用1hz的驅動信號,計費模塊採用14hz,13hz的驅動信號;計量模塊每計數一次,計量模塊就實現14次或者13次計數,即為實現計時的1.3元/min,計程時的1.4元/km的收費。組成框圖如下所示:
1.百進制模塊:
實現百米脈沖的驅動信號,元件框圖如圖3所示:
圖3 百進制模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jin is
port(start,clk2: in std_logic; --秒脈沖
a: out std_logic_vector(3 downto 0));
end jin;
architecture rt1 of jin is
signal count_1:std_logic_vector(3 downto 0);
begin
a<=count_1;
process(start,clk2)
begin
if(start='0')then
count_1<="0000";
elsif(clk2'event and clk2='1')then
if(count_1="0111")then
count_1<="0000";
else
count_1<=count_1+'1';
end if;
end if;
end process;
end rt1
2.計費模塊
; 實現里程和等候時間的計費並輸出到顯示,元件框圖4如下:
圖4 計費模塊框圖
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity jifei is
port(clk2:in std_logic; --計費驅動信號
start:in std_logic; --計費開始信號
c0,c1,c2,c3:buffer std_logic_vector(3 downto 0));
end jifei;
architecture rt1 of jifei is
begin
process(clk2,start)
begin
if start='0'then c3<="0000";c2<="0000";c1<="0101";c0<="0000"; --起步價5元
elsif clk2'event and clk2='1'then
if c0="1001" then c0<="0000";
if c1="1001" then c1<="0000";
if c2="1001" then c2<="0000";
if c3="1001" then c3<="0000";
else c3<=c3+1;
end if;
else c2<=c2+1;
end if;
else c1<=c1+1;
end if;
else c0<=c0+1;
end if;
end if;
end process;
end rt1;
3.公里模塊
實現歷程的計數和輸出計費脈沖,元件框圖5如下:
圖5 公里模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity gongli is
port(clk1,start: in std_logic; --百米脈沖
k1,k2,k3,k4: out std_logic_vector(3 downto 0); --里程顯示
temp2 : out std_logic);
end gongli;
architecture rt1 of gongli is
signal count_1: std_logic_vector(3 downto 0);
signal count_2: std_logic_vector(3 downto 0);
signal count_3: std_logic_vector(3 downto 0);
signal count_4: std_logic_vector(3 downto 0);
begin
k1<=count_1;
k2<=count_2;
k3<=count_3;
k4<=count_4;
process(start,clk1)
begin
if(start='0')then
count_1<="0000";
count_2<="0000";
count_3<="0000";
count_4<="0000"; ---公里清零
elsif(clk1'event and clk1='1')then
if(count_1="1001")then --公里計數器
count_1<="0000";count_2<=count_2+1;temp2<='1';
if(count_2="1001")then
count_2<="0000";count_3<=count_3+'1';
if(count_3="1001")then
count_3<="0000";count_4<=count_4+'1';
end if;
end if;
else
count_1<=count_1+'1';temp2<='0';
end if;
end if;
end process;
end rt1;
4.輸出模塊
實現所有數據的輸出,元件框圖6如下:
圖6 輸出模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity shuchu is
port(y: in std_logic_vector(3 downto 0);
e: out std_logic_vector(6 downto 0));
end shuchu;
architecture rt1of shuchu is
begin
process
begin
case y is
when"0000"=>e<="0111111";
when"0001"=>e<="0000110";
when"0010"=>e<="1011011";
when"0011"=>e<="1001111";
when"0100"=>e<="1100110";
when"0101"=>e<="1101101";
when"0110"=>e<="1111101";
when"0111"=>e<="0000111";
when"1000"=>e<="1111111";
when"1001"=>e<="1100111";
when others=>e<="0000000";
end case;
end process;
end rt1;
5.顯示模塊
實現所有數據的顯示,元件框圖7如下:
圖7 顯示模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xianshi is
port(start: in std_logic;
a:in std_logic_vector(3 downto 0); --選擇信號
c1,c2,c3,c4,out1,out2,out3,out4:in std_logic_vector(3 downto 0); --里程顯示,時間顯示輸入
y:out std_logic_vector(3 downto 0)); --里程顯示,時間顯示輸出
end xianshi;
architecture rt1 of xianshi is
begin
process
begin
if(start='0')then
y<="0000";
else case a is
when "0000"=> y<=c1 ;
when "0001"=> y<=c2 ;
when "0010"=> y<=c3 ;
when "0011"=> y<=c4 ;
when "0100"=> y<=out1 ;
when "0101"=> y<=out2;
when "0110"=> y<=out3 ;
when "0111"=> y<=out4;
when others =>y<= "0000";
end case;
end if;
end process;
end rt1;
6.dian模塊
圖8 dian模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dian is
port(a: in std_logic_vector(3 downto 0);
e: out std_logic);
end dian;
architecture rt1 of dian is
begin
process
begin
case a is
when "0001"=>e<='1';
when "0101"=>e<='1';
when others=>e<='0';
end case;
end process;
end rt1;
三、中各個模塊設計分析
系統總體頂層框圖如下:
系統總體頂層框圖
程序最終功能實現波形模擬
1. 分頻模塊
由於實驗箱上沒有14hz和13hz的整數倍時鍾信號,因此採用頻率較大的750khz進行分頻,以近似得到14hz,13hz和1hz的時鍾頻率。通過以上三種不同頻率的脈沖信號實行計程車行駛,等待兩種情況下的不同計費。模塊元件如下:
分頻模塊框圖
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity fenpin is
port(clk_750k:in std_logic; --系統時鍾
clk_14:buffer std_logic; --14分頻
clk_13:buffer std_logic; --13分頻
clk_1 : buffer std_logic); --1分頻
end fenpin ;
architecture rt1 of fenpin is
signal q_14:integer range 0 to 53570; --定義中間信號量
signal q_13:integer range 0 to 57691;
signal q_1:integer range 0 to 749999;
begin
process(clk_750k)
begin
If(clk_750k' event and clk_750k='1')then
If q_14=53570 then q_14<=0;clk_14<=not clk_14;
else q_14<=q_14+1;
end if; --得14hz頻率信號
If q_13=57691 then q_13<=0;clk_13<=not clk_13;
else q_13<=q_13+1;
end if; --得13hz頻率信號
If q_1=749999 then q_1<=0;clk_1<=not clk_1;
else q_1<=q_1+1;
end if; --得1hz頻率信號
end if;
end process;
end rt1;
2. 計量模塊
計量模塊主要完成計時和計程功能。
計時部分:計算乘客的等待累積時間,當等待時間大於2min時,本模塊中en1使能信號變為1;當clk1每來一個上升沿,計時器就自增1,計時器的量程為59min,滿量程後自動歸零。
計程部分:計算乘客所行駛的公里數,當行駛里程大於2km時,本模塊中en0使能信號變為1;當clk每來一個上升沿,計程器就自增1,計程器的量程為99km,滿量程後自動歸零。
元件框圖為:
計量模塊框圖
計量模塊模擬波形為:
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity jiliang is
port(start:in std_logic; --計費開始信號
fin:in std_logic; --里程脈沖信號
stop:in std_logic; --行駛中途等待信號
clk1:in std_logic; --驅動脈沖
en1,en0:buffer std_logic; --計費單價使能信號
k1,k0:buffer std_logic_vector(3 downto 0); --行駛公里計數
m1,m0:buffer std_logic_vector(3 downto 0)); --等待時間計數
end jiliang;
architecture rt2 of jiliang is
signal w:integer range 0 to 59; --計時范圍0~59
begin
process(clk1)
begin
if(clk1'event and clk1='1')then
if start='0' then
w<=0;en1<='0';en0<='0';m1<="0000";
m0<="0000";k1<="0000";k0<="0000";
elsif stop='1' then --計時開始信號
if w=59 then
w<=0;
else w<=w+1;
end if;
if m0="1001" then
m0<="0000";
if m1="0101" then
m1<="0000";
else m1<=m1+1;
end if;
else m0<=m0+1;
end if;
if stop='1' then en0<='0';
if m1&m0>"00000001" then en1<='1'; --若等待時間大於2min則en1置1
else en1<='0';
end if;
end if;
elsif fin='1' then --里程計數開始
if k0="1001" then k0<="0000";
if k1="1001" then k1<="0000"; --計程范圍0~99
else k1<=k1+1;
end if;
else k0<=k0+1;
end if;
if stop='0' then
en1<='0';
if k1&k0>"00000001" then
en0<='1'; --若行使里程大於2km,則en0置1
else en0<='0';
end if;
end if;
end if;
end if;
end process;
end rt2;
3. 控制模塊
本模塊主要是通過計量模塊產生的兩個不同的輸入使能信號en0,en1,對每個分頻模塊輸出的14hz,13hz的脈沖進行選擇輸出的過程;本模塊實現了雙脈沖的二選一;最終目的為了計費模塊中對行駛過程中不同的時段進行計價。
模塊元件如下:
控制模塊框圖
控制模塊模擬波形為:
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity kong is
port(en0,en1:in std_logic; --使能選擇信號
clk_in1:in std_logic; --14分頻輸入信號
clk_in2:in std_logic; --13分頻輸入信號
clk_out:out std_logic); --輸出信號
end kong;
architecture rt3 of kong is
begin
process(en0,en1)
begin
if en0='1' then --實現二選一功能
clk_out<=clk_in1;
elsif en1='1' then
clk_out<=clk_in2;
end if;
end process;
end rt3;
4.計費模塊
當計費信號start一直處於高電平即計費狀態時,本模塊根據控制模塊選擇出的信號從而對不同的單價時段進行計費。即行程在2km內,而且等待累計時間小於2min則為起步價5元;2km外以每公里1.4.元計費,等待累積時間超過2min則按每分鍾1.3元計費。c0,c1,c2,c3分別表示費用的顯示。
模塊元件為:
計費模塊框圖
計費模塊模擬波形為:
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity jifei is
port(clk2:in std_logic; --計費驅動信號
start:in std_logic; --計費開始信號
c0,c1,c2,c3:buffer std_logic_vector(3 downto 0));
end jifei;
architecture rt4 of jifei is
begin
process(clk2,start)
begin
if start='0'then c3<="0000";c2<="0000";c1<="0101";c0<="0000"; --起步價5元
elsif clk2'event and clk2='1'then
if c0="1001" then c0<="0000";
if c1="1001" then c1<="0000";
if c2="1001" then c2<="0000";
if c3="1001" then c3<="0000"; --計價范圍0~999.9
else c3<=c3+1;
end if;
else c2<=c2+1;
end if;
else c1<=c1+1;
end if;
else c0<=c0+1;
end if;
end if;
end process;
end rt4;
5.顯示模塊
顯示模塊完成計價,計時和計程數據顯示。計費數據送入顯示模塊進行解碼,最後送至以百元,十元,元,角為單位對應的數碼管上顯示。計時數據送入顯示模塊進行解碼,最後送至以分為單位對應的數碼管上顯示。計程數據送入顯示模塊進行解碼,最後送至以km為單位的數碼管上顯示。
模塊元件為:
顯示模塊框圖
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all; --定義庫包
entity xianshi is --定義實體
port(
clk_scan:in std_logic; --掃描時鍾信號埠設置
c3,c2,c1,c0:in std_logic_vector(3 downto 0); --總費用輸入埠
k0,k1:in std_logic_vector(3 downto 0); --里程輸入埠
m0,m1:in std_logic_vector(3 downto 0); --等待時間輸入埠
sel:out std_logic_vector(2 downto 0); --控制數碼管位選信號的掃描信號輸出埠
led:out std_logic_vector(6 downto 0); --數碼管的控制埠
led_dp:out std_logic --數碼管的小數點輸出埠
);
end xianshi;
architecture rt5 of xianshi is
signal an:std_logic_vector(6 downto 0); --數碼顯示管中間變數
signal shuju:std_logic_vector(3 downto 0); --選擇輸入端的中間變數
signal cnt:std_logic_vector(2 downto 0); --控制數碼管的中間變數
signal xiaodian:std_logic; --小數點的中間變數
begin
process(clk_scan) --開始進程
begin
if clk_scan'event and clk_scan='1' then
cnt<=cnt+1; --每有一個掃描信號上升沿實現加1掃描
end if;
end process; --結束進程
process(cnt) --開始進程(選擇掃描顯示數碼管)
begin
case cnt is --掃描時給每個數碼管賦值
when "000"=>shuju<=c0;
when "001"=>shuju<=c1;
when "010"=>shuju<=c2;
when "011"=>shuju<=c3;
when "100"=>shuju<=k0;
when "101"=>shuju<=k1;
when "110"=>shuju<=m0;
when "111"=>shuju<=m1;
when others=> null;
end case;
if (cnt="001" or cnt="110")
then xiaodian<='1'; --在里程和總費用的個位處顯示小數點
else xiaodian<='0';
end if;
end process; --結束進程
process(shuju) --開始進程(解碼顯示)
begin
case shuju is
when "0000"=>an<="0111111"; --0
when "0001"=>an<="0000110"; --1
when "0010"=>an<="1011011"; --2
when "0011"=>an<="1001111"; --3
when "0100"=>an<="1100110"; --4
when "0101"=>an<="1101101"; --5
when "0110"=>an<="1111101"; --6
when "0111"=>an<="0000111"; --7
when "1000"=>an<="1111111"; --8
when "1001"=>an<="1101111"; --9
when others=>null;
end case;
end process;
sel<=cnt;
led<=an;
led_dp<=xiaodian;
end rt5;
二、課程設計工作記錄:
包括:設計步驟與時間安排、調試步驟與時間安排、課題完成結果說明
2.課題完成結果說明:
此計費器能實現起步價是5元;實現實驗要求的1公里計費一次單價,行駛公里大於2km時每公里按1.4元計費並能顯示里程和總共的費用。當行駛了6公里,等待了4分鍾時,費用顯示為15.8元。與計算公式總費用=起步費用+(里程-2公里)*里程單價+等候時間*等後單價;即15.8=5+(6-2)*1.4+4*1.3。實驗結果與理論結果完全一致,實驗設計成功。
『玖』 我是通信工程專業,現在學校開始選擇專業選修課,我一頭霧水啊…………
其實說實在的,這些課可能都是講個大概的那種,不知道你們學校的通信專業強不,不過看到你們要細分,估計學校實力不錯。
要我看來,計算機通信的課程很具有吸引力,三門課都很好很有用,反倒是物聯網的那些課虛的很。雖然現在物聯網火的一塌糊塗,但是只有Java是個好東西,其他的課自己喜歡自己看吧,但是如果你選了物聯網,計算機通信的那三門課自學起來是很麻煩的,沒那麼簡單。不僅如此,想搞物聯網,計算機的三門課不學通都是白扯,哪個高級玩意不牽扯麵向對象,不牽扯操作系統。如果你選計算機通信,那麼需要人去搞物聯網的話也只能找你了,你有技術,差的只是個概念,概念補起來相對容易一些,但是讓一個不懂技術細節的人去搞物聯網路還長一些。
我大膽的做個估計,感測器技術及應用、嵌入式系統開發、物聯網信息技術講的都是海闊天空的事,應該是會學到這些領域的框架而不能深入,實驗也會相對多些但是沒太大意義,感測器要程序控制;嵌入式不加操作系統那不就成單片機了,低級多了,而且像嵌入式這種東西基本上都是自己搞的,上課幾乎不會告訴你怎麼具體實現。
學通信的,編程要比得過計算機專業,硬體方面要比的過電路系統或是電子科學技術專業的。現在專業細分的很厲害,通信專業原來的份額被刮分的差不多。像編程有計算機和軟體專業,硬體有微電子、電子科學技術什麼的,還有自動控制,測控技術的人可能接觸硬體更深。通信有些人都去搞通信演算法了,回到核心是數學的地步了,不過數學不好的人,通信不太好駕馭。
下面的就更不好選了,棄誰都可惜了。數字圖像處理需要用MATLAB來做,也可以用VHDL、Verilog移植到可編程邏輯器件里去。單片機和可編程邏輯器件屬於硬體課了,不懂吧也不行,尤其是單片機,算是硬體基礎了,但是拋去FPGA的話也不行啊,現在FPGA這么火。多媒體通信就算了,因為你必須要學通信原理,它是通信原理的延伸,多媒體講的都是聲音信號、圖像視頻信號什麼的,但是這門課很沒有實在意義,理論的事都是。無線感測器和無線網路不怎麼樣,如果你研究生階段想搞這些到時候再說吧,只要你學了無線通信原理什麼的就差不多了,無線的事你就有基礎了。DSP技術和應用是數字信號處理裡面的吧,學了數字信號處理,應該會有些實驗課,我想實在選不了就算了,除非你學著學著感覺自己喜歡硬體到不能自拔,那就自己搞定去吧,偷偷的去聽聽課,替別人做做實驗。微波技術是通信特有的吧,電子信息工程也學,但是其他專業不學,你一定會學電磁場理論,微波技術是它的延伸。說到資料庫真是情何以堪,當時我應該學過,當時還傻,沒往學習上整,白瞎了,當別人問我懂不懂資料庫的時候,我想說講課那個老師太不負責了,但是我忍了。感覺資料庫,軟體專業有個專門的方向就是,計算機專業也學過,咱就讓讓他們。MATLAB不管你選不選都要會,通信的不會MATLAB不是瞎胡鬧嗎。
我其實不太明白你的必修課,如果沒有單片機那你在這里就要選上了,但是說課程設計,我覺得就那麼回事吧,想學東西還是靠自己;如果圖像處理不是必修,那你也選上吧;如果沒有EDA什麼的,可編程邏輯器件你就選上吧;如果資料庫感興趣就選上吧,但是估計學不到個啥;無線感測器和無線網路技術差不多,如果選的話二選一吧;電子設計設計什麼打聽下,萬一好玩呢。
我分個類吧,給力的:數字圖象處理、Matlab與模擬、可編程邏輯器件與VHDL語言、DSP技術及應用、無線網路;隨便聽聽好考的:多媒體通信技術、資料庫與信息系統、單片機課程設計、專業英語、無線感測器網路;我就納悶了,專業英語也不必修,電子設計業不必修,微波技術也不必修、無線網路也不必修,不知何意,估計學校好,學生這些都懂,要不就是老師有遠見,學多了也沒啥用。畢業了編程牛逼,硬體玩的轉,理論上有所長進就行了唄,還想怎麼樣。
不過說句實在話,通信的面太寬泛了,無線的原理和模型要學,無線的傳輸即微波要學,有線的網路和交換要學,信號的處理(通信調制信號、圖像或視頻)要學,單片機、DSP和FPGA要學;等到了研究生階段就專攻了,其他都是知識面,曾經擁有,現在還就那麼深,沒怎麼變。
說到底怎麼選,問問宿舍的吧,一起上課當學生的日子就TMD那麼美好。好好學,少打DOTA噢。
