數(shù)字時(shí)鐘設(shè)計(jì)_第1頁(yè)
數(shù)字時(shí)鐘設(shè)計(jì)_第2頁(yè)
數(shù)字時(shí)鐘設(shè)計(jì)_第3頁(yè)
數(shù)字時(shí)鐘設(shè)計(jì)_第4頁(yè)
數(shù)字時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、何賓EDA原理及應(yīng)用 本章給出了PLD器件在復(fù)雜數(shù)字系統(tǒng)的典型應(yīng)用實(shí)例-數(shù)字時(shí)鐘的設(shè)計(jì)。數(shù)字時(shí)鐘的設(shè)計(jì)也是PLD在復(fù)雜數(shù)字系統(tǒng)的經(jīng)典應(yīng)用。 該章首先介紹了數(shù)字時(shí)鐘的功能要求和整體結(jié)構(gòu);隨后具體介紹了數(shù)字時(shí)鐘的模塊設(shè)計(jì),其中包括數(shù)字時(shí)鐘控制信號(hào)和控制模塊的具體結(jié)構(gòu)。本章最后詳細(xì)描述了設(shè)計(jì)的具體實(shí)現(xiàn)過(guò)程,具體包括數(shù)字時(shí)鐘的計(jì)數(shù)模塊設(shè)計(jì)、計(jì)數(shù)時(shí)鐘及掃描時(shí)鐘設(shè)計(jì)和顯示控制模塊設(shè)計(jì)。數(shù)字時(shí)鐘設(shè)計(jì)-本章概要第11章第十一章 數(shù)字鐘時(shí)常見(jiàn)的一種計(jì)數(shù)裝置,數(shù)字鐘以1Hz的頻率工作。該設(shè)計(jì)完成數(shù)字鐘的運(yùn)行和顯示。其主要功能有: 數(shù)字鐘以1Hz的頻率工作,其輸入頻率為1MHz。 數(shù)字鐘顯示時(shí)、分、秒信息。這些顯示

2、信息在6個(gè)7 段數(shù)碼管上完成。 通過(guò)按鍵設(shè)置時(shí)、分信息。并且具有對(duì)數(shù)字鐘的復(fù)位功能。 復(fù)位鍵將時(shí)、分、秒清零,并做好重新計(jì)數(shù)的準(zhǔn)備。 按鍵具有預(yù)置時(shí)、分的功能。分別對(duì)當(dāng)前的時(shí)和分信息做遞增設(shè)置和遞減設(shè)置。第十一章數(shù)字時(shí)鐘設(shè)計(jì)-數(shù)字時(shí)鐘的功能要求第十一章數(shù)字時(shí)鐘設(shè)計(jì)-數(shù)字時(shí)鐘的結(jié)構(gòu)第十一章數(shù)字時(shí)鐘設(shè)計(jì)-數(shù)字時(shí)鐘的結(jié)構(gòu) 圖給出了該數(shù)字鐘的結(jié)構(gòu)圖。從圖中可以看到,數(shù)字鐘由: 復(fù)位按鍵reset; 小時(shí)遞增按鍵hour_inc; 小時(shí)遞減按鍵hour_dec; 分鐘遞增按鍵min_inc; 分鐘遞減按鍵min_dec; 時(shí)鐘輸入; 7段LED顯示LED管選擇信號(hào)線sel; LED碼控制信號(hào)線(segm

3、ent) 該數(shù)字鐘的控制局部由PLD芯片完成。該芯片的輸入和輸出接口由下面信號(hào)組成: 輸入信號(hào):復(fù)位信號(hào)reset時(shí)鐘輸入信號(hào)clk小時(shí)遞增信號(hào)hour_inc小時(shí)遞減信號(hào)(hour_dec)分鐘遞增信號(hào)min_inc分鐘遞減信號(hào)min_dec數(shù)字時(shí)鐘設(shè)計(jì)-數(shù)字時(shí)鐘的信號(hào)第十一章輸出信號(hào):LED選擇信號(hào)selLED碼顯示控制信號(hào)(segment)數(shù)字時(shí)鐘設(shè)計(jì)-數(shù)字時(shí)鐘的信號(hào)第十一章 該設(shè)計(jì)分成下面四個(gè)模塊:定時(shí)時(shí)鐘模塊、掃描時(shí)鐘模塊、按鍵處理模塊、定時(shí)計(jì)數(shù)模塊和顯示控制模塊。圖給出了這幾個(gè)模塊之間的信號(hào)連接關(guān)系。第十一章數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu) 1、按鍵處理模塊 由于VHDL語(yǔ)言的規(guī)那么,將

4、按鍵的處理和定時(shí)模塊設(shè)計(jì)在一起。為了描述清楚,將對(duì)按鍵的處理進(jìn)行說(shuō)明。在該設(shè)計(jì)中,采用異步復(fù)位電路方式。當(dāng)復(fù)位信號(hào)低有效時(shí),計(jì)數(shù)器停止計(jì)數(shù),時(shí)、分、秒清零。 對(duì)于小時(shí)的遞增、遞減按鍵操作,通過(guò)一個(gè)1Hz的計(jì)數(shù)時(shí)鐘采樣。圖給出了遞增、遞減的操作時(shí)序。第十一章數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu) 當(dāng)1Hz的div_clk信號(hào)的上升沿到來(lái)時(shí),檢測(cè)hour_inc和hour_dec按鍵,圖中的虛線表示在時(shí)鐘的上升沿對(duì)按鍵信號(hào)進(jìn)行采樣。當(dāng)hour_inc或hour_dec按鍵低有效時(shí),對(duì)小時(shí)進(jìn)行遞加或遞減操作。 對(duì)于分鐘的遞加、遞減按鍵操作,也是通過(guò)一個(gè)1Hz的計(jì)數(shù)時(shí)鐘采樣。原理

5、同圖。數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章 2、定時(shí)時(shí)鐘模塊 定時(shí)時(shí)鐘模塊其作用就是將外部提供的1MHz的時(shí)鐘,通過(guò)分頻器后向模塊內(nèi)的定時(shí)計(jì)數(shù)模塊提供1Hz的定時(shí)計(jì)數(shù)時(shí)鐘。在設(shè)計(jì)定時(shí)時(shí)鐘模塊時(shí),采用同步計(jì)數(shù)電路。數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章 3、掃描時(shí)鐘模塊 掃描時(shí)鐘模塊的作用就是通過(guò)對(duì)1MHz的分頻處理后,向顯示控制模塊提供適宜的顯示掃描時(shí)鐘,該時(shí)鐘必須經(jīng)過(guò)合理的設(shè)計(jì),才能保證7段數(shù)碼顯示的穩(wěn)定。在設(shè)計(jì)掃描時(shí)鐘模塊時(shí),采用同步計(jì)數(shù)電路。數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章 4、定時(shí)計(jì)數(shù)模塊 定時(shí)計(jì)數(shù)模塊是該設(shè)計(jì)中最重要的一局部,在設(shè)計(jì)該模塊時(shí),為了便于后續(xù)顯示控制模塊的設(shè)計(jì),將時(shí)、分、秒進(jìn)

6、行別離,即小時(shí)分成了小時(shí)的十位和個(gè)位分別處理,分鐘分成了分鐘的十位和個(gè)位分別處理。秒分成了秒的十位和個(gè)位分別處理。在該設(shè)計(jì)中,采用24小時(shí)計(jì)數(shù)模式。 例如:13:28:57。13為小時(shí)的表示,1為小時(shí)的十位,3為小時(shí)的個(gè)位;28為分鐘的表示,2為分鐘的十位,8為分鐘的個(gè)位;57為秒的表示,5為秒的十位,7為秒的個(gè)位。數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章 秒的個(gè)位計(jì)數(shù)從0-9,即十進(jìn)制計(jì)數(shù)。當(dāng)秒的個(gè)位計(jì)數(shù)到9后,準(zhǔn)備向秒的十位進(jìn)位。秒的十位計(jì)數(shù)從0-5,即六進(jìn)制計(jì)數(shù)。當(dāng)秒的十位計(jì)數(shù)到5后,準(zhǔn)備向分的個(gè)位進(jìn)位。 分鐘的個(gè)位計(jì)數(shù)從0-9,即十進(jìn)制計(jì)數(shù)。當(dāng)分鐘的個(gè)位計(jì)數(shù)到9后,準(zhǔn)備向分鐘的十位進(jìn)位。分鐘

7、的十位計(jì)數(shù)從0-5,即六進(jìn)制計(jì)數(shù)。當(dāng)分鐘的十位計(jì)數(shù)到5后,準(zhǔn)備向小時(shí)的個(gè)位進(jìn)位。 對(duì)于小時(shí)的處理比較復(fù)雜,小時(shí)的十位和個(gè)位之間存在下面的關(guān)系: 當(dāng)小時(shí)的十位為0或1時(shí),小時(shí)的個(gè)位可以計(jì)數(shù)范圍為0-9,即十進(jìn)制計(jì)數(shù); 當(dāng)小時(shí)的十位為2時(shí),小時(shí)的各位可以計(jì)數(shù)的范圍為0-3,即四進(jìn)制計(jì)數(shù);數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章 5、顯示控制模塊 顯示控制模塊主要作用是在7段數(shù)碼管上正確的顯示0-9的數(shù)字。sel三位LED選擇線和3-8譯碼器相連數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)第十一章整個(gè)工程窗口:含設(shè)計(jì)時(shí)鐘源文件、仿真測(cè)試文件、用戶約束文件第十一章數(shù)字時(shí)鐘設(shè)計(jì)-控制模塊結(jié)構(gòu)數(shù)

8、字時(shí)鐘設(shè)計(jì)-行為仿真結(jié)果第十一章數(shù)字時(shí)鐘設(shè)計(jì)-布局布線仿真結(jié)果第十一章 選擇“project-new source; 設(shè)置實(shí)現(xiàn)約束文件類型Implementation Constraints File,文件名clock; 單擊“下一步,選中與“clock關(guān)聯(lián); 單擊“下一步,單擊“完成; 選中“文件,在Process view窗口雙擊“Assign package pins,出現(xiàn)Xinlinx PACE窗口界面;數(shù)字時(shí)鐘設(shè)計(jì)-用戶約束文件設(shè)置第十一章數(shù)字時(shí)鐘設(shè)計(jì)- Xinlinx PACE窗口界面第十一章6. 單擊Design Object List-IO Pins窗口中每一信號(hào)后的Loc,可

9、以輸入對(duì)應(yīng)的FPGA引腳,形式如P78。設(shè)置完成,保存文件,退出Xilinx PACE窗口,完成引腳分配。數(shù)字時(shí)鐘設(shè)計(jì)-用戶約束文件設(shè)置第十一章數(shù)字時(shí)鐘設(shè)計(jì)-引腳分配文件第十一章 1.首先選中“Generate Programming File ,右鍵單擊,單擊“Properties; 2.選中“Process Properties窗口下的“Startup options標(biāo)簽,設(shè)置“FPGA start-up clock為JTAG,單擊“確定;數(shù)字時(shí)鐘設(shè)計(jì)-編程下載驗(yàn)證第十一章數(shù)字時(shí)鐘設(shè)計(jì)-編程下載驗(yàn)證第十一章 3.在如以下圖所示的“Process for source:clock-behav

10、ioral中,雙擊Configure Device (iMPACT).數(shù)字時(shí)鐘設(shè)計(jì)-編程下載驗(yàn)證第十一章 4.系統(tǒng)自動(dòng)進(jìn)行綜合、實(shí)現(xiàn)過(guò)程,假設(shè)沒(méi)有錯(cuò)誤,將出現(xiàn)如下窗口,單擊“下一步,單擊“完成;數(shù)字時(shí)鐘設(shè)計(jì)-編程下載驗(yàn)證第十一章 5.出現(xiàn)一個(gè)確認(rèn)窗口,告知檢測(cè)到一個(gè)器件,單擊“確定按鈕; 6.選擇剛剛生成的bit文件,單擊“翻開(kāi); 7.可能會(huì)出現(xiàn)警告,單擊“確定; 8.此時(shí)界面中JTAG鏈上只有一個(gè)器件,型號(hào)為 XC3S400,單擊鼠標(biāo)右鍵,單擊“Program,完成對(duì)器件編程,進(jìn)行實(shí)際驗(yàn)證。數(shù)字時(shí)鐘設(shè)計(jì)-編程下載驗(yàn)證第十一章library IEEE;use IEEE.STD_LOGIC_11

11、64.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;-實(shí)體定義局部entity clock is port(clk : in std_logic;rst : in std_logic;inc_min : in std_logic;sub_min : in std_logic;inc_hour : in std_logic;sub_hour : in std_logic;sel : out std_logic_vector(2 downto 0);q : out std_logic_vector(7 downto

12、 0); end clock;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-信號(hào)定義: architecture Behavioral of clock is signal sec_counter1:std_logic_vector(3 downto 0); signal sec_counter2:std_logic_vector(3 downto 0); signal min_counter1:std_logic_vector(3 downto 0); signal min_counter2:std_logic_vector(3 downto 0); signal hour_counter1:std_log

13、ic_vector(3 downto 0); signal hour_counter2:std_logic_vector(3 downto 0); signal divcounter : std_logic_vector(3 downto 0); signal div_clk : std_logic; signal scancounter : std_logic_vector(1 downto 0); signal scan_clk : std_logic; signal scan_out : std_logic_vector(2 downto 0); signal secseg1,secse

14、g2,minseg1,minseg2,hourseg1,hourseg2:std_logic_vector(7downto 0); begin數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-計(jì)數(shù)時(shí)鐘,對(duì)外部輸入時(shí)鐘分頻,此處只適用于仿真,實(shí)際進(jìn)行時(shí)間計(jì)數(shù)時(shí),分頻后時(shí)鐘應(yīng)該滿足1HZ。process(rst,clk) begin if(rst=0)thendivcounter=0000;div_clk=0;elsif(rising_edge(clk)thenif(divcounter=1111) then divcounter=0000;div_clk=not div_clk; else divcounter=d

15、ivcounter+1; end if;end if; end process;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-仿真時(shí)數(shù)碼管掃描時(shí)鐘,實(shí)際中需根據(jù)具體情況進(jìn)行調(diào)解時(shí)鐘頻率process(rst,clk) beginif(rst=0)then scancounter=00; scan_clk=0; elsif(rising_edge(clk)then if(scancounter=11) then scancounter=00; scan_clk=not scan_clk; else scancounter=scancounter+1; end if; end if; end process;數(shù)字

16、時(shí)鐘設(shè)計(jì)-主程序第十一章-時(shí)鐘計(jì)數(shù)局部主進(jìn)程 -時(shí)鐘復(fù)位clock:process(div_clk,rst) begin if(rst=0)thensec_counter1=X0;sec_counter2=X0;min_counter1=X0;min_counter2=X0;hour_counter1=X0;hour_counter2=X0;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章 -手動(dòng)調(diào)分,遞增elsif(rising_edge(div_clk)then if(inc_min=0) then if(min_counter1=X9) then min_counter1=X5) then min_coun

17、ter2=X0; else min_counter2=min_counter2+1; end if; else min_counter1=min_counter1+1; end if;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-手動(dòng)調(diào)分,遞減elsif(sub_min=0) then if(min_counter1=X0) then min_counter1=X9; if(min_counter2=X0)then min_counter2=X5; else min_counter2=min_counter2-1; end if; else min_counter1=min_counter1-1;end if

18、;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-手動(dòng)調(diào)時(shí),增時(shí)elsif(inc_hour=0) then if(hour_counter2=X2)then if(hour_counter1=X3)then hour_counter1=X0; hour_counter2=X0; else hour_counter1=hour_counter1+1; end if; else if(hour_counter1=X9) then hour_counter1=X0; hour_counter2=hour_counter2+1; else hour_counter1=hour_counter1+1; end if;

19、end if;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-手動(dòng)調(diào)時(shí),減時(shí)elsif(sub_hour=0) then if(hour_counter1=X0)then if(hour_counter2=X0)then hour_counter1=X3; hour_counter2=X2;else hour_counter2=hour_counter2-1; hour_counter1=X9; end if; else hour_counter1=X9) then sec_counter1=X5) then sec_counter2=X9) then min_counter1=X5) then min_cou

20、nter2=X0; if(hour_counter2=X2) then if(hour_counter1=X3) then hour_counter1=X0; hour_counter2=X0;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章 else hour_counter1=hour_counter1+1; end if; else if(hour_counter1=X9) then hour_counter1=X0; hour_counter2=hour_counter2+1; else hour_counter1=hour_counter1+1; end if; end if; else min_cou

21、nter2=min_counter2+1; end if;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章 else min_counter1=min_counter1+1; end if; else sec_counter2=sec_counter2+1; end if; else sec_counter1=sec_counter1+1; end if; end if; end if; end process clock;數(shù)字時(shí)鐘設(shè)計(jì)-主程序第十一章-生成掃描時(shí)鐘process(rst,scan_clk)begin if (rst=0) then scan_out=000; elsif(rising_edge(

22、scan_clk) then if(scan_out=101)then scan_out=000; else scan_out q=secseg1; sel q=secseg2; sel q=minseg1; sel q=minseg2; sel q=hourseg1; sel q=hourseg2; sel q=11111111;sel secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg2 secseg2 secseg2 secseg2 secseg2 secseg2 secseg2 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg2 minseg2 minseg

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論