版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)碼管顯示與控制功能目錄一: 設(shè)備簡介1:SOPC簡介2:CPLD簡介3:軟件介紹二:設(shè)計原理三: 主要內(nèi)容1、無選位的3位顯示2、帶選位的3位數(shù)碼管穩(wěn)定顯示3、帶有清零和暫停的3位數(shù)碼管計數(shù)(最終功能)四:總結(jié)和體會一: 設(shè)備簡介I:SOPC簡介SOPC(System On Programmable Chip)即可編程的片上系統(tǒng),或者說是基于大規(guī)模FPGA的單片系統(tǒng)。SOPC的設(shè)計技術(shù)是現(xiàn)代計算機輔助設(shè)計技術(shù)、EDA技術(shù)和大規(guī)模集成電路技術(shù)高度發(fā)展的產(chǎn)物。SOPC技術(shù)是將盡可能大而完整的電子系統(tǒng),包括嵌入式處理器系統(tǒng)、接口系統(tǒng)、硬件協(xié)處理器或加速系統(tǒng)、DSP系統(tǒng)、數(shù)字通信系統(tǒng)、存儲電路以及普
2、通數(shù)字系統(tǒng)等,在單一FPGA中嵌入實現(xiàn)。大量采用IP復(fù)用、軟硬件協(xié)同設(shè)計、自頂向下和自底向上混合設(shè)計的方法,邊設(shè)計、邊調(diào)試、邊驗證原本需要寫上幾千行的VHDL代碼的功能模塊,通過嵌入IP核后,只需幾十行C代碼即可實現(xiàn)。因此,可以使得整個設(shè)計在規(guī)模、可靠性、體積、功耗、功能、性能指標(biāo)、上市周期、開發(fā)成本、產(chǎn)品維護及其硬件升級等多方面實現(xiàn)最優(yōu)化。 傳統(tǒng)的設(shè)計技術(shù)已經(jīng)很難滿足系統(tǒng)化、網(wǎng)絡(luò)化、高速度、低功耗、多媒體等實際需求,SOPC(片上可編程系統(tǒng))可將處理器、存儲器、外設(shè)接口和多層次用戶電路等系統(tǒng)設(shè)計需要的功能模
3、塊集成到一塊芯片上,因其靈活、高效、設(shè)計可重用特性,已經(jīng)成為集成電路未來的發(fā)展方向,廣泛應(yīng)用到汽車、軍事、航空航天、廣播、測試和測量、消費類電子、無線通信、醫(yī)療、有線通信等領(lǐng)域。 SOPC技術(shù)是一門全新的綜合性電子設(shè)計技術(shù),涉及面廣。因此在知識構(gòu)成上對于新時代嵌入式創(chuàng)新人才有更高的要求,除了必須了解基本的EDA軟件、硬件描述語言和FPGA器件相關(guān)知識外,還必須熟悉計算機組成與接口、匯編語言或C語言、DSP算法、數(shù)字通信、嵌入式系統(tǒng)開發(fā)、片上系統(tǒng)構(gòu)建與測試等知識。顯然,知識面的拓寬必然推動電子信息及工程類各學(xué)科
4、分支與相應(yīng)的課程類別間的融合,而這種融合必將有助于學(xué)生的設(shè)計理念的培養(yǎng)和創(chuàng)新思維的升華。II:CPLD簡介CPLD(Complex Programmed Logical Device)直接翻譯就是復(fù)雜可編程邏輯器件。CPLD進行一次下載編程(寫入操作)后,其邏輯門組合方式就保存下來,不管什么時候斷電,通電,他都可以執(zhí)行上一次的邏輯功能;CPLD更適合完成各種組合邏輯;CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時序延遲是均勻的和可預(yù)測的,CPLD通過修改具有固定內(nèi)連電路的邏輯功能來編程, 在編程方式上,CPLD主要是基于E2PROM或FLASH存儲器編程,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時編程信息也不
5、丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類;CPLD保密性好。III:軟件介紹這次所作課題所用的軟件是Quartus II,Quartus軟件包是MAX+plus的升級版本,Altera公司的第四代開發(fā)軟件。其提供了一個完整高效的設(shè)計環(huán)境,非常適應(yīng)具體的設(shè)計需要。Quartus提供了方便的設(shè)計輸入方式、快速的編譯和直接易懂的器件編程。能夠支持邏輯門數(shù)在百萬門以上的邏輯器件的開發(fā),并且為第三方工具提供了無縫接口。Quartus支持的器件有:Stratix 、Stratix GX、Stratix、Mercury、MAX3000A、MAX 7000B、MAX 7000S、MAX 7000A
6、E、MAX 、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone 、APEX 、APEX20KC、APEX20KE和ACEX1K系列。Quartus軟件包的編程器是系統(tǒng)的核心,提供功能強大的設(shè)計處理,設(shè)計者可以添加特定的約束條件來提高芯片的利用率。在設(shè)計流程的每一步,Quartus軟件能夠引導(dǎo)設(shè)計者將注意力放在設(shè)計上,而不是軟件的使用上。同時,自動的錯誤定位、完備的錯誤和警告信息,使設(shè)計修改變得簡單容易。另外,Quartus可與MATLAB的Simulink和DSP Builder結(jié)合,是開發(fā)DSP硬件系統(tǒng)的關(guān)鍵EDA工具,Quartus與SO
7、PC Builder結(jié)合,能夠開發(fā)SOPC(System On a Programmable Chip)系統(tǒng),是一款很有發(fā)展前途的EDA軟件。二:設(shè)計原理 此次的課題是:以CPLD電路為核心,實現(xiàn)數(shù)碼管顯示與控制功能;我們所制定的主要功能是顯示3位的數(shù)碼管計數(shù),并且?guī)в星辶愫蜁和9δ堋?首先,我們要讓數(shù)碼管計數(shù)一定要有一個計數(shù)信號,我們想讓數(shù)碼管1秒計一次,那它的頻率就應(yīng)該為1HZ。但是這個信號不能直接得到,只能通過分頻來得到;我們是通過Interface B中的場頻信號vVref來分頻得到的。其次,我們做的是動態(tài)掃描,就是一位位地輪流點亮各位顯示器(掃描),對于每一位顯示器來說,每隔一段時間
8、電量一次,因此,我們還要一個選位信號,我們知道人眼的臨界閃爍頻率是50HZ,現(xiàn)在我們做的是3位計數(shù),所以位選信號只要高于150HZ,我們?nèi)搜劬筒粫惺艿介W爍的現(xiàn)象。因此,我們選擇了Interface B中的行頻信號vHref,因為它的頻率是25KHZ,它高于150HZ,所以我們沒有選擇分頻直接用它來產(chǎn)生位選信號。我們進行編程的時候,我們不是直接就來編最后的3位有選位的計數(shù)。我們第一個編的是沒有選位選信號的計數(shù),我們直接將位選信號seg_c1、seg_c2、和seg_c3置零;實現(xiàn)的最基本的功能就是能讓3個數(shù)碼管同時一起計數(shù),也就是3個數(shù)碼管同時從0開始加一計數(shù),到了9再變成0。我們第二個編程的
9、是有了選位信號,但是沒有把計數(shù)的功能加進去,直接把要顯示的數(shù)字送到數(shù)碼管seg,實現(xiàn)的功能就是顯示穩(wěn)定的數(shù)字。我們最后編程的是把前面兩個功能聯(lián)合起來,就是顯示穩(wěn)定的3位數(shù)碼管計數(shù),然后再加上了清零和暫停的功能。三: 主要內(nèi)容1、無選位的3位顯示 第一次進行的編程就是無選位的3位數(shù)碼管顯示,就是直接將seg_c1、seg_c2、和seg_c3置零;因此,我們只需要一個計數(shù)信號,我們是用原先較高頻率的場頻來進行分頻得到計數(shù)信號count_in(1HZ)。 模塊和程序如下: p0: process(vVREF) begin if (vVREF'event and vVREF='1
10、39; ) then 場頻是20ms,所以只要計50就可以得到 count為1S。 if(count_in<49) then count_in<=count_in+1; else count<=not count; count_in<=0; end if; end if; end process;p1: process(count,key) begin if key="1101" then temp<="0000" seg<="01111110" elsif( count'event and
11、 count='1') then case temp is when"0000"=>seg<="01111110" 采用的是共陰,所以”1”電平有效 when"0001"=>seg<="00001100" when"0010"=>seg<="10110110" when"0011"=>seg<="10011110" when"0100"=>seg&
12、lt;="11001100" when"0101"=>seg<="11011010" when"0110"=>seg<="11111010" when"0111"=>seg<="00001110" when"1000"=>seg<="11111110" when"1001"=>seg<="11011110" when
13、others=>seg<="11111111"end case; if temp="1001" then temp<="0000" else temp<=temp+1; end if; end if; end process ;2、帶選位的3位數(shù)碼管穩(wěn)定顯示 我們采用的是動態(tài)掃描,并且;利用的是數(shù)碼管的共陰原理。 首先要有一個位選信號,我們選用的是行頻vHerf,用它來產(chǎn)生位選信號不會產(chǎn)生閃爍感,超過了人眼的臨界閃爍頻率。p1:process(vHREF) begin if (vHREF='1'
14、 and vHREF'event) then 3個數(shù)碼管,先得到狀態(tài)位weixuan,分別位0,1,2時選中個位,十位和百位。 if weixuan<2 then (即產(chǎn)生動態(tài)掃描的分頻) weixuan<=weixuan+1; else weixuan<=0; end if; end if;end process p1;p2: process(weixuan) 動態(tài)掃描,weixuan為0時個位計數(shù),此時ztai=“110”,即seg_c3=0,seg_c2=1,seg_c1= 1; 以此類推。begin case weixuan is when 0=>zta
15、i<="110" when 1=>ztai<="101" when 2=>ztai<="011" when others=>ztai<="111" end case;end process p2;p3: process(weixuan) begin case weixuan iswhen 0=>seg<="00001100" when 1=>seg<="11111110"when 2=>seg<=&
16、quot;11011010"when others=>seg<="00000000"end case;end process p3;3、帶有清零和暫停的3位數(shù)碼管計數(shù)(最終功能)我們把由場頻vVref分頻得到的計數(shù)信號counter(1HZ)和由行頻vHref分頻得到的選位狀態(tài)信號weixuan(3個狀態(tài),分別0、1、2)都作為內(nèi)部信號。計數(shù)信號counter做為時鐘進行加一計數(shù),通過位選信號ztai來選中哪一位計數(shù)并利用動態(tài)顯示原理在3位LED數(shù)碼管上無閃爍穩(wěn)定地顯示每秒加一的計數(shù)功能。 得計數(shù)信號: p0:process(clkin) -分頻(得計
17、數(shù)信號count 為1HZ) begin if (clkin='1' and clkin'event) then clkin為場頻vVref if counter_in<49 then counter_in<=counter_in+1; else counter_in<=0; count<= not count; end if; end if;end process;得選位信號:p1:process(clkin2) begin if (clkin2='1' and clkin2'event) then clkin2行頻vH
18、ref if weixuan<2 then weixuan<=weixuan+1; else weixuan<=0; end if; end if;end process p1;p2: process(weixuan) begin case weixuan is when 0=>ztai<="110" when 1=>ztai<="101" when 2=>ztai<="011" when others=>ztai<="111" end case;e
19、nd process p2;計數(shù)過程:p3: process(count,key) begin if key="1110" then 第一排鍵清零,第二排鍵暫停。 shuzi1<="0000" seg1<="01111110" elsif key="1101" then seg1<=seg1; elsif( count'event and count='1') then case shuzi1 is when"0000"=>seg1<=&qu
20、ot;01111110" 個位計數(shù) when"0001"=>seg1<="00001100" when"0010"=>seg1<="10110110" when"0011"=>seg1<="10011110" when"0100"=>seg1<="11001100" when"0101"=>seg1<="11011010" wh
21、en"0110"=>seg1<="11111010" when"0111"=>seg1<="00001110" when"1000"=>seg1<="11111110" when"1001"=>seg1<="11011110" when others=>seg1<="11111111" end case; if shuzi1="1001"
22、 then shuzi1<="0000" else shuzi1<=shuzi1+1; end if; end if; end process p3;p4: process(count,key) begin if key="1110" then shuzi2<="0000" seg2<="01111110" elsif key="1101" then seg2<=seg2; elsif( count'event and count='1')
23、then case shuzi2 is when"0000"=>seg2<="01111110" 十位計數(shù) when"0001"=>seg2<="00001100" when"0010"=>seg2<="10110110" when"0011"=>seg2<="10011110" when"0100"=>seg2<="11001100"
24、when"0101"=>seg2<="11011010" when"0110"=>seg2<="11111010" when"0111"=>seg2<="00001110" when"1000"=>seg2<="11111110" when"1001"=>seg2<="11011110" when others=>seg2<=
25、"11111111" end case; if (shuzi1="1001" and shuzi2/="1001") then shuzi2<=shuzi2+1; elsif(shuzi1="1001" and shuzi2="1001") then shuzi2<="0000" end if; end if; end process p4;p5: process(count,key) begin if key="1110" then shuz
26、i3<="0000" seg3<="01111110" elsif( count'event and count='1') then case shuzi3 is when"0000"=>seg3<="01111110" 百位計數(shù) when"0001"=>seg3<="00001100" when"0010"=>seg3<="10110110" when"
27、0011"=>seg3<="10011110" when"0100"=>seg3<="11001100" when"0101"=>seg3<="11011010" when"0110"=>seg3<="11111010" when"0111"=>seg3<="00001110" when"1000"=>seg3<=&
28、quot;11111110" when"1001"=>seg3<="11011110" when others=>seg3<="11111111" end case; if (shuzi1="1001" and shuzi2="1001" and shuzi3/="1001")then shuzi3<=shuzi3+1; elsif(shuzi1="1001" and shuzi2="1001"
29、and shuzi3="1001") then shuzi3<="0000" end if;end if; end process p5;p6: process(weixuan,seg1,seg2,seg3) begin case weixuan is when 0=>seg<=seg1; when 1=>seg<=seg2; when 2=>seg<=seg3; when others=>seg<="00000000" end case;end process p6;四:總結(jié)和體會 這次的工
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年酒店標(biāo)準間設(shè)計與裝修協(xié)議范本版B版
- 2024年科技企業(yè)培訓(xùn)部門負責(zé)人聘任合同
- 2025版道路橋梁監(jiān)理合同范本3篇
- 2025版借款合同書類圖片素材60張創(chuàng)意設(shè)計集3篇
- 二零二五年大型物流倉儲租賃合同3篇
- 2025年度智能安全監(jiān)控平臺建設(shè)與技術(shù)服務(wù)合同2篇
- 英語班本課程設(shè)計
- 2025版住宅小區(qū)新能源汽車停車位租賃合同3篇
- 2024年高端裝備制造項目技術(shù)轉(zhuǎn)讓合同的保密條款和違約責(zé)任
- 2025年度搬家企業(yè)標(biāo)準作業(yè)流程合同3篇
- 糖尿病老年患者健康指導(dǎo)
- 全髖關(guān)節(jié)置換術(shù)手術(shù)
- 2024年城市更新項目回遷安置合同
- 外研版(三起)(2024)小學(xué)三年級上冊英語全冊教案
- 初一《皇帝的新裝》課本劇劇本
- 幼兒園意識形態(tài)風(fēng)險點排查報告
- 英美文學(xué)導(dǎo)論21級學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 腰椎感染護理查房
- 2023-2024學(xué)年全國小學(xué)三年級上語文人教版期末考卷(含答案解析)
- 2024秋期國家開放大學(xué)??啤斗勺稍兣c調(diào)解》一平臺在線形考(形考任務(wù)1至4)試題及答案
- 七年級全冊語文古詩詞
評論
0/150
提交評論