數(shù)字頻率計設(shè)計
一、實驗?zāi)康?????????????????????????????????????????????????????????????????????
1.熟悉CPLD的開發(fā)軟件的基本使用。
2.理解頻率計的測量原理。
3.掌握CPLD邏輯電路設(shè)計方法。
4.掌握虛擬數(shù)字頻率計的軟件設(shè)計。
二、實驗任務(wù)和內(nèi)容
1. 在CPLD中設(shè)計一個數(shù)字頻率計電路,設(shè)計要求為: 測量范圍:1Hz~1MHz, 分辨率<10-4>, 數(shù)碼管動態(tài)掃描顯示電路的CPLD下載與實現(xiàn)。
2.使用LabVIEW進行虛擬頻率計的軟件設(shè)計。要求設(shè)計軟件界面,閘門時間為4檔,1s,100ms,10ms,1ms,頻率數(shù)字顯示。
3.使用設(shè)計虛擬邏輯分析儀軟件和CPLD電路,進行軟硬件調(diào)試和測試
三、實驗器材
1. SJ-8002B電子測量實驗箱? 1臺
2.計算機(具有運行windows2000和圖形化控件的能力)? 1臺
3.函數(shù)發(fā)生器? 1臺
4.SJ-7002 CPLD實驗板 1塊
5.短接線若干
四、實驗原理
4.1.測頻原理
??? 所謂“頻率”,就是周期性信號在單位時間變化的次數(shù)。電子計數(shù)器是嚴(yán)格按照f=N/T的定義進行測頻,其對應(yīng)的測頻原理方框圖和工作時間波形如圖1 所示。從圖中可以看出測量過程:輸入待測信號經(jīng)過脈沖形成電路形成計數(shù)的窄脈沖,時基信號發(fā)生器產(chǎn)生計數(shù)閘門信號,待測信號通過閘門進入計數(shù)器計數(shù),即可得到其頻率。若閘門開啟時間為T、待測信號頻率為fx,在閘門時間T內(nèi)計數(shù)器計數(shù)值為N,則待測頻率為
fx = N/T?? (1)
??? 若假設(shè)閘門時間為1s,計數(shù)器的值為1000,則待測信號頻率應(yīng)為1000Hz或1.000kHz,此時,測頻分辨力為1Hz。
??? 本實驗的閘門時間分為為4檔:1s,100ms,10ms,1ms。
?
?????????????????????? ? ? ?? 圖1 測頻原理框圖和時間波形
4.2 數(shù)字頻率計組成
??? 本實驗要求的數(shù)字頻率計組成如圖2所示,頻率計的硬件電路(圖1所示)在CPLD芯片中實現(xiàn),測量結(jié)果通過實驗箱提供的EPP通信接口送給計算機,頻率計的軟件和人機界面由計算機完成,同時計算機還可輸出清零和閘門選擇的控制信號給電路。
??? 本實驗的任務(wù)一是在提供的CPLD實驗板上設(shè)計和實現(xiàn)頻率計測量電路,二是在計算機上使用LabVIEW軟件設(shè)計頻率計界面和程序。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????? 圖2 數(shù)字頻率計組成框圖
4.3 CPLD特點和設(shè)計流程
??? CPLD器件是由用戶配置以完成某種邏輯功能的電路,本CPLD實驗電路板選用ALTERA公司的EPM7128SLC84器件,其特點為:84引腳Pin,內(nèi)部有128個宏單元、2500個等效邏輯門、15ns的速度、PLCC84封裝形式。除電源引腳、地線引腳、全局控制引腳和JTAG引腳外,共提供了64個可用I/O腳,這些引腳可以任意配置為輸入、輸出和雙向方式。
?? CPLD的設(shè)計流程如圖3所示,本實驗采用的設(shè)計軟件為ALTERA公司的Quartus Ⅱ,下載方式采用的是并口電纜ByteBlaster。下載時的硬件設(shè)置操作如圖4所示。
?????? ??
? ???????????? 圖3 CPLD設(shè)計流程和并行電纜下載示意圖
?
?
?
?
?
?
? ??????? ?? ??????????? 圖4 下載時的硬件設(shè)置選ByteBlaster
4.4 CPLD實驗電路板
?? 1)數(shù)字信號輸入:8個ON~OFF(K1~K8)開關(guān)
?? 2) 數(shù)字信號輸出(顯示):8個LED燈(LED1~LED8),低電平點亮
?? 3) 6個LED 7段數(shù)碼管,采用動態(tài)掃描方式,L1、L2、L3為位選信號,低有效,A、B、……、G為7段碼,DP為小數(shù)點,均為低有效。
?? 4) 時鐘晶振:頻率為1MHz,已連接到CPLD的時鐘引腳
?? 注:使用CPLD板的1.000MHz的晶振時鐘,需放置CPLD板上S1短路塊位置在右面。
???????????? ???? ??????
????????????????????? ? ???
?
?
?
?
?
?
??????????????? ??????? 圖5 CPLD實驗板電路板照片和組成框圖
4.5 CPLD實驗電路板原理和與實驗箱62芯插座連接關(guān)系
??? 圖6 為CPLD板的詳細電路圖。
?? CPLD可供用戶自定義的引腳見表1,共有25個引腳,均可根據(jù)需要定義為輸入或輸出。
?? CPLD與實驗箱62芯插座定義表見表2,可使用3個8位的數(shù)字I/O口作為頻率計的輸入計數(shù)結(jié)果,1個5位的單向數(shù)據(jù)輸出口為頻率計的控制口。
?????? ?? ???? ??? ??? ???? ???? ? 表1 用戶可用的CPLD自定義I/O引腳
P4 |
P5 |
P6 |
P8 |
P9 |
P10 |
P11 |
P15 |
P16 |
P17 |
P18 |
P20 |
P21 |
P22 |
P24 |
P25 |
P27 |
P28 |
P29 |
P30 |
P31 |
P77 |
P79 |
P80 |
P81 |
??? ? ? ? ? ? ?? ?? ?????? ? ? ??? 表2 CPLD和62芯插座連線引腳定義
引腳 名稱 |
CPLD |
62芯插座引腳 |
說明 |
引腳 |
CPLD |
62芯插座引腳 |
說明 | |
DO0 |
P40 |
16 |
數(shù)字I/O口 |
DO24 |
P63 |
28 |
單向輸出口 | |
DO1 |
P36 |
48 |
DO25 |
P76 |
60 | |||
DO2 |
P41 |
17 |
DO26 |
P64 |
29 | |||
DO3 |
P44 |
49 |
DO27 |
P75 |
61 | |||
DO4 |
P45 |
18 |
DO28 |
P68 |
30 | |||
DO5 |
P46 |
50 |
VCC |
P3,P13, |
31,62 |
+5V電源 | ||
DO6 |
P48 |
19 | ||||||
DO7 |
P49 |
51 | ||||||
DO8 |
P50 |
20 |
數(shù)字I/O口 | |||||
DO9 |
P51 |
52 |
GND |
P1,P7, |
13,44 |
電源地 | ||
DO10 |
P55 |
21 | ||||||
DO11 |
P52 |
53 | ||||||
DO12 |
P54 |
22 | ||||||
DO13 |
P65 |
54 | ||||||
DO14 |
P57 |
23 |
CPLD時鐘源 |
P83 |
45 |
由S1短路 | ||
DO15 |
P67 |
55 | ||||||
DO16 |
P56 |
24 |
數(shù)字I/O口 | |||||
DO17 |
P69 |
56 | ||||||
DO18 |
P58 |
25 |
outsideclk |
P39 |
15 |
選擇接(P83) | ||
DO19 |
P70 |
57 |
allCLR |
P35 |
47 |
系統(tǒng)總清零 | ||
DO20 |
P61 |
26 |
outside_tri |
P37 |
14 |
外部觸發(fā) | ||
DO21 |
P73 |
58 |
||||||
DO22 |
P60 |
27 |
||||||
DO23 |
P74 |
59 |
?
? ????????????????????????????? ????????????? ???????? ?????? 圖6 CPLD實驗板電路原理圖
五、設(shè)計指導(dǎo):
??? 分為CPLD硬件電路設(shè)計和虛擬頻率計軟件設(shè)計兩部分
5.1 CPLD硬件電路設(shè)計
??? CPLD設(shè)計和調(diào)試的過程是:①任務(wù)分析,層次分解,得到頂層設(shè)計框圖,大致確定每個子??欤ㄗ与娐罚┑墓δ堋⑤斎牒洼敵?;②子模快電路設(shè)計和軟件仿真;③完成頂層電路設(shè)計,頂層仿真;④分配引腳,下載,連線和調(diào)試。
?? 5.1.1設(shè)計任務(wù)分析和頂層設(shè)計
?? 根據(jù)設(shè)計任務(wù),可分為四大部分:
? (1)閘門時間和測量控制:閘門時間分別為1s,100ms,10ms,1ms,由1MHz的基準(zhǔn)時鐘分別產(chǎn)生1Hz,10Hz,100Hz,1kHz的時基信號作為閘門控制信號,同時控制測量結(jié)果的鎖存。
?? (2)多位計數(shù)器電路:根據(jù)閘門時間最長為1秒,被測信號頻率最高為1MHz,所以選用6位十進制計數(shù)器,保證測量計數(shù)器不溢出。6位十進制的計數(shù)器對被測信號的脈沖進行計數(shù),輸出6位十進制計數(shù)值,每位都用4位BCD碼表示,共有24根線。每次測量開始前清零計數(shù)值。
? (3)計數(shù)結(jié)果鎖存和實驗箱接口:在每次測量閘門時間到時使用鎖存器鎖存計數(shù)值(6位BCD碼),供計算機讀數(shù)。
? (4)計數(shù)結(jié)果6位數(shù)碼管動態(tài)顯示電路: 設(shè)計一個6位BCD選1的多路數(shù)據(jù)選擇器,輸出的一位BCD碼(4根線)送給BCD-七段譯碼器譯成段信號,從CPLD輸出給數(shù)碼管的7段。同時多路數(shù)據(jù)選擇器的控制選通信號需要3根,必須與6位數(shù)碼管的位選信號同步。位選信號來自電路板的時鐘(1MHz)分頻,在用譯碼器譯碼(每次只能選中一個數(shù)碼管)。要保證多位顯示均勻和不閃爍,請計算和設(shè)計分頻的頻率和電路。
??? 根據(jù)CPLD電路的層次化設(shè)計功能,設(shè)計出如圖7所示的頂層設(shè)計框圖。
? ???
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖7 頻率計頂層設(shè)計框圖
5.1.2 部分電路設(shè)計提示
??? 電路的設(shè)計均有原理圖設(shè)計和HDL語言文本設(shè)計兩種方法,根據(jù)電路的特點和各人的情況,自己選用。
對每個子??爝M行軟件仿真,先創(chuàng)建波形文件,設(shè)定時間間隔和解釋時間,編輯輸入波形,運行仿真,分析結(jié)果是否正確。若不正確,則修改設(shè)計,重新編譯后,再仿真,直到正確為止。
?? (1)閘門時間和測量控制: 閘門時間分別為1s,100ms,10ms,1ms,由1MHz的基準(zhǔn)時鐘分別產(chǎn)生1Hz,10Hz,100Hz,1kHz的時基信號作為閘門控制信號,使用CPLD實驗板上的1MHz時鐘信號,經(jīng)過1000分頻得到1kHz信號,在經(jīng)過10分頻得到100Hz信號,在經(jīng)過10分頻得到10Hz信號,在經(jīng)過10分頻得到1Hz信號。設(shè)計時,先設(shè)計一個10分頻電路,級聯(lián)3個,得到1000分頻,級聯(lián)一個,得到10分頻。閘門時間選擇共4檔(1s,100ms,10ms,1ms),可采用數(shù)據(jù)選擇器實現(xiàn),需要2根從計算機來的控制信號。閘門時間產(chǎn)生電路,設(shè)計一個電平有效清零端,作為啟動測量或停止測量,由計算機通過實驗箱來控制。閘門時鐘經(jīng)過D觸發(fā)器2分頻,得到閘門時間內(nèi)為高電平的信號,作為測量計數(shù)結(jié)果的鎖存控制信號。閘門時鐘和顯示時鐘產(chǎn)生測量計數(shù)器的清零信號。
??? (2)多位十進制的計數(shù)器子模塊設(shè)計:
??? 沒有現(xiàn)成電路可用,所以必須自己設(shè)計。
??? 為什么不選用二進制計數(shù)器(從顯示要求、二進制轉(zhuǎn)換為BCD電路的難易等考慮)
??? 設(shè)計方法一:選用6個1位的可逆帶清零十進制計數(shù)器級聯(lián)得到。注意進位/借位信號的時序。
??? 設(shè)計方法二:使用HDL語言編程,注意同時滿足十進制、加、減的進位和借位。
?? (3)計數(shù)結(jié)果鎖存和實驗箱接口:
??? 在每次測量閘門時間到時使用鎖存器鎖存計數(shù)值(6位BCD碼),供計算機讀數(shù)。采用3個8位的鎖存器74273,輸入鎖存由閘門時間控制,輸出長選通,連接實驗箱提供的3個數(shù)字I/O口,工作在輸入方式。
? (4)計數(shù)結(jié)果6位數(shù)碼管動態(tài)顯示電路:
?? 由6位BCD選1電路、BCD-七段譯碼器、位選電路組成,其中為選電路又包括分頻電路、為選控制和為選譯碼電路。
?? ①6位BCD選1的多路數(shù)據(jù)選擇器設(shè)計:
?? 沒有現(xiàn)成電路可用,所以必須自己設(shè)計。
?? 可選用多個數(shù)據(jù)選擇器來組合。要求控制選通信號需要3根,按000-001-010-011-100-101變化,只有6個狀態(tài)。
?? ②BCD-七段譯碼器設(shè)計:
?? 有現(xiàn)成電路選用,注意共陰和共陽數(shù)碼管的區(qū)別。
?? ③位選信號產(chǎn)生
? 分頻電路:位選信號來自電路板的時鐘(1MHz)分頻,要保證多位顯示均勻和不閃爍,先計算分頻電路要求的輸出頻率,再設(shè)計分頻電路。可使用計數(shù)器分頻。也可直接借用閘門時間電路的分頻信號。
? 位選控制:要求為6個狀態(tài),設(shè)計電路可采用狀態(tài)機的方法,但仔細分析6個狀態(tài)之間的關(guān)系后,可得出符合_________的計數(shù)器。
? 設(shè)計方法:語言和圖形均可。
? 位選譯碼:每次選中一個,可選用什么譯碼器?注意位選電平是高電平有效還是低電平有效。
5.1.3 分配引腳和編譯、下載
??? 用戶可用引腳見表2,引腳分配要滿足CPLD電路板上已有的連線情況,考慮芯片引腳和外圍電路的位置,就近分配。如輸入被測信號在右邊,輸出7段碼和位選在左邊。與計算機和實驗箱的連接遵照表2的規(guī)定。
每次分配引腳后,需重新編譯后,再下載。
5.2 虛擬頻率計軟件設(shè)計
5.2.1虛擬頻率計界面設(shè)計
??? 軟件界面上控制型控件有1個數(shù)字型旋鈕用于選擇閘門時間,分為1s,100ms,10ms,1ms 4檔,兩個按鍵,1個控制測量的啟動/停止,1個控制整個程序退出。
指示型控件有3組,1個布爾型指示燈顯示采樣狀態(tài),1組顯示測量的頻率數(shù)值(十進制)和單位(字符串),單位有Hz和kHz兩種,還有1組顯示讀取的3個字節(jié)的計數(shù)值(BCD碼),由3個數(shù)字型控件組成。
??????????
?????????????????????????????????? ?????????? 圖8 頻率計界面
5.2.2程序流程圖
?????????????????????????
??????????????????????? ??????????? 圖9 程序流程圖
5.2.3 實驗箱EPP接口和編程
SJ8002B實驗箱本實驗使用EPP地址和意義
地 |
址 |
功能和設(shè)置 |
本實驗中的設(shè)置 |
00H |
D7-D0 |
全局清零信號(在讀數(shù)、采集、啟動信號源之前都必須)? (00H?00) |
EPP初始化時發(fā)清零信號 |
01H |
D2-D0 |
小板控制使能(U019,U020,U021片選), |
在本實驗中需使能 |
02H |
D2-D0 |
DO0-DO23數(shù)據(jù)方向控制 |
在本實驗中都設(shè)為輸入 |
03H |
D7-D0 |
DO7-DO0數(shù)據(jù) |
在本實驗中作為計數(shù)值低字節(jié) |
04H |
D7-D0 |
DO15-DO8數(shù)據(jù) |
在本實驗中作為計數(shù)值中字節(jié) |
05H |
D7-D0 |
DO23-DO16數(shù)據(jù) |
在本實驗中作為計數(shù)值高字節(jié) |
06H |
D4-D0 |
DO28-DO24數(shù)據(jù) (只有輸出) |
在本實驗中作為測量控制和閘門選擇 |
? 對EPP接口的操作,調(diào)用以下3個子VI來完成:
?(1)EPP初始化: epp_init.vi 調(diào)用時無參數(shù)。
? (2) EPP寫:epp_read_data.vi 調(diào)用是輸入地址和數(shù)據(jù),無輸出參數(shù)
? (3) EPP讀:epp_read_data.vi ,調(diào)用是輸入地址,輸出數(shù)據(jù)。
5.2.3 數(shù)據(jù)轉(zhuǎn)換和顯示
?? 測量計數(shù)值=高字節(jié)×10000+中字節(jié)×100+低字節(jié)
?? 測量結(jié)果=計數(shù)值/閘門時間
?? 編程時考慮不同檔位時的數(shù)值、單位和有效位數(shù)。
六. 測試和調(diào)試
6.1 調(diào)試
? (1)實驗硬件連接
?? 根據(jù)設(shè)計的頻率計電路和分配的引腳連線,被測頻率信號連接到函數(shù)發(fā)生器的TTL(CMOS)輸出端。計數(shù)器的輸出位選分別連接6個數(shù)碼管的為選端L1~L6;注意左邊的數(shù)碼管為低位,7段信號分別連接。
??????????????
???????? ? ???????? ????????? ??????? ?? 圖10 實驗連線圖
?? (2) 檢查動態(tài)掃描電路
??? 數(shù)碼管7段信號全部直接接地,位選分別連接CPLD輸出位信號,6個數(shù)碼管穩(wěn)定顯示“888888”。
? (3)軟硬件聯(lián)調(diào):
?? 允許虛擬頻率計程序,輸入信號的頻率在10KHz,按下測量鍵,觀察頻率計的顯示結(jié)果是否正確,如不正確,則檢查程序,改正錯誤。
?? 改變閘門時間,觀察有效位數(shù)的變化,閘門時間為1秒時,有效位數(shù)最多。
?? 改變輸入信號的頻率,繼續(xù)測量和觀察。
6.2 測試
?(1) 調(diào)節(jié)函數(shù)發(fā)生器輸出信號的頻率為200kHz,選擇不同的閘門時間,進行測試,并且把測試結(jié)果填入表2。
?????????????? ????????????? ?? 表2 閘門時間不同時頻率測試結(jié)果(信號頻率200kHz)
閘門時間信號頻率 |
1ms |
10ms |
100ms |
1s |
測試頻率 |
? |
? |
? |
? |
? (2)固定閘門時間1s,輸入不同頻率時,進行測試,把測試結(jié)果填入表3,并且計算測試誤差。
???????????????? ??????????? 表3 輸入信號頻率不同時測試結(jié)果(閘門時間為1秒)
信號頻率 |
25Hz |
0.25kHz |
2kHz |
20kHz |
200kHz |
900kHz |
信號源實際 |
? |
? |
? |
? |
? |
? |
測試頻率 |
? |
? |
? |
? |
? |
? |
測試誤差 |
? |
? |
? |
? |
? |
評論