【正文】
N55 PIN57 PIN59 PIN61 PIN62 PIN82 引腳定義 DATA0 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 P2 口 AT89C51 FPGA 引腳名稱 P130 P128 P126 P124 P100 IO38 IO36 IO34 FPGA 引腳號 PIN130 PIN128 PIN126 PIN124 PIN100 PIN83 PIN77 PIN75 引腳定義 DATA8 DATA9 DATA10 DATA11 DATA12 DATA13 DATA14 DATA15 P1 口 AT89C51 FPGA 引腳名稱 P31 P54 P56 P58 NC P60 FPGA 引腳號 PIN31 PIN54 PIN56 PIN58 空端口 PIN60 引腳定義 DATA16 DATA17 DATA18 RSEL 無 EN CLKa CLKb FPGA 適配板 FEN DSEL CLK A T 8 9 C 5 1 AIN BIN 40MHZ 石英晶體多諧振蕩器 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 17 基于 MCU 的 數(shù)據(jù)處理模塊 設(shè)計(jì) 這部分電路由單片機(jī)、晶振電路、按鍵電路等組成。 P1 口的、 接入兩個(gè)輕觸按鍵,結(jié)合軟件編程 來實(shí)現(xiàn)頻率與相位差顯示切換功能。 FPGA 和 MCU的握手信號 FEN 和 DSEL 分別接在 和 引腳,即 Pin4 和 Pin6。 該模塊使用的單片機(jī)型號為 AT89C51,它是美國 Atmel 公司生產(chǎn)的 8位單 片機(jī)。由于將多功能 8位 CPU和閃爍存儲器組合在一個(gè)芯片中,Atmel 的 AT89C51 是一種高效率的微處理器,為很多嵌入式控制系統(tǒng)提供了一種靈活方便且物美價(jià)廉的方案。它要構(gòu)成最小系統(tǒng)時(shí)只要將單片機(jī)接上外部的晶體 、時(shí)鐘電路和復(fù)位電路即可。該設(shè)計(jì)采用的是上電自動復(fù)位和按鍵手動復(fù)位電路,如圖 33所示。即可上電復(fù)位,又可 按鍵復(fù)位,一般 R1 選 470Ω , R2選 ,C 選 22μ F[1]。其中晶振可選用振蕩頻率為 12MHZ 的石英晶體,電容器一般選用 30PF 左右。該電路的工作原理是:單片機(jī)通過向 FPGA 發(fā)送數(shù)據(jù)傳送指令,使 FPGA 按照單片機(jī)的要求發(fā)送數(shù)據(jù),同時(shí) 通過單片機(jī)的串口,將待顯示的數(shù)據(jù)信息發(fā)送給顯示電路顯示。 P0口: 32 ~ 39 腳 為 ~ 輸入 /輸出引腳。作為通用 I/O 口時(shí),需要外接上拉電阻,輸出數(shù)據(jù)可以得到鎖存,最為輸出口,每個(gè)引腳可以驅(qū)動 8個(gè) TTL 負(fù)載。 P1 口為 8 位準(zhǔn)雙向 I/O 口,內(nèi)部具有上拉電阻,一般作通用 I/O 口使用 ,它的每一位都可以分別定義為輸入線或輸出線,作為輸入時(shí),鎖存器必須置 1,每個(gè)引腳可以驅(qū)動 4 個(gè) TTL 負(fù)載。 P2 口為 8 位準(zhǔn)雙向 I/O口,內(nèi)部具有上拉電阻,可直接連接外部 I/O 設(shè)備,每個(gè)引腳可以驅(qū)動 4 個(gè) TTL負(fù)載。若負(fù)載為低電平, 則通過內(nèi)部上拉電阻向外輸出電流。 P3 口 : 10~ 17 腳為 ~ 輸入 /輸出引腳。作為通用 I/O 口時(shí),功能與 P1口相同,常用第二功能,作為第二功能使用時(shí),各位的作用如表 32所示。應(yīng)為它具有顯示清晰、亮度高、使用電壓低、壽命長等特點(diǎn),所以被廣泛應(yīng)用與各種顯示電路中。靜態(tài)顯示系統(tǒng)中,每位顯示器都有自己的鎖存器、譯碼器和驅(qū)動器,它的每一次顯示輸出后可以保持不變,僅在待顯示數(shù)據(jù)需要改變時(shí),才更新其顯示內(nèi)容。 該顯示電路由 8 個(gè)共陰極 7 段 LED 數(shù)碼管和 8 片串入 /并出的 74LS164 芯片組成。這種連接方式不僅占用單片機(jī)端口少,而且可以充分利用單片機(jī)芯片內(nèi)部的串行口資源,可以很容易的掌握其編程規(guī)律,簡化軟件編程。 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 21 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e v i s i onS i z eBD a t e : 23 M a y 20 12 S he e t of F i l e : D : \ P r ot e l _9 9 _S E _c n\ E xa m pl e s \ M yD e s i gn 1 .dd b D r a w n B y :Q0Q3Q2Q1Q4Q5Q6Q7A B C L K M R74 L S 16 4Q0Q3Q2Q1Q4Q5Q6Q7A B C L K M R74 L S 16 4Q0Q3Q2Q1Q4Q5Q6Q7A B C L K M R74 L S 16 4+ 5V + 5V+ 5V+ 5VR X DT X D . . . . . . . . . . . .RRRR8 2 K Ω 8 2 K Ω8 2 K ΩabfcgdeD P Y1234567abcdefg8dpdpLEDabfcgdeD P Y1234567abcdefg8dpdpLEDabfcgdeD P Y1234567abcdefg8dpdpLED 圖 36 顯示模塊電路圖 單片機(jī) 從 FPGA 中讀取信息并進(jìn)行處理后,再將信號送到輸出端顯示出來。共陰極 7段 LED 數(shù)碼管的段碼編碼如表 33所示。 FPGA 的 Verilog HDL 程序設(shè)計(jì) FPGA 主要完成對數(shù)據(jù)的采集,它可以準(zhǔn)確的采集到兩個(gè)同頻正弦信號的相位差所對應(yīng)的時(shí)間差以及信號的周期 。由時(shí)序圖可以看出 , FPGA 在待測信號的兩個(gè)響鈴的周期內(nèi)獲取一次數(shù)據(jù),在待測輸入信號的第一個(gè)周期內(nèi)完成數(shù)據(jù)采集,并在后接的下一個(gè)待測輸入信號的在周期內(nèi)完成數(shù)據(jù)傳輸送以及清零,在設(shè)計(jì)時(shí),我采用了同步信號來實(shí)現(xiàn)同步清零和同步數(shù)據(jù)傳送,這樣可以增強(qiáng) 系統(tǒng)的抗干擾能力,提高系統(tǒng)的穩(wěn)定性和可靠性。 其中時(shí)鐘信號分頻模塊的作用是 將輸入的信號分頻成我們所需的信號頻率;測量控制信號發(fā)生模塊的作用是根據(jù)兩路被測信號整形后的矩形波信號 產(chǎn)生有關(guān)測控信號,包括時(shí)間檢測使能信號 ENA,時(shí)間檢測清零信號等;被測信號有關(guān)時(shí)間檢測模塊的作用是 在控制信號 ENA 和 CLR 的控制下,對測控基準(zhǔn)時(shí)鐘信號CLKF 進(jìn)行計(jì)數(shù)和清零,以便于獲取有關(guān)的頻率和相位差數(shù)據(jù);數(shù)據(jù)寄存器模塊的作用是暫存 19 位數(shù)據(jù) dataa、 datab 和 data; 19 位的加 1計(jì)數(shù)器模塊的作用是完成對 clkf 的計(jì)數(shù),以便分別得到待測信號的周期數(shù)據(jù) dataa 和相位差對應(yīng)的時(shí)間差數(shù)據(jù) datab;二選一數(shù)據(jù)選擇器模塊的做作用是有選擇的將數(shù)據(jù) dataa或 datab送到 FPGA的輸出端 data。 二分頻器二分頻器D Qc p≥ 1e nc l rc pe nc pd a t a bd a t a bc pe n二選一數(shù)據(jù)選擇器四 分 頻 器d a t a寄 存 器 1寄 存 器 21 9 位 加 1 計(jì) 數(shù) 器p r ee n ac l rc l k ac l k bf e n d s e lc l k fc l kAB4 0 M H Z圖 42 FPGA 芯片內(nèi)部邏輯電路框圖 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 22 FPGA中主要模塊設(shè)計(jì) 在該設(shè)計(jì)中, FPGA 主要完成對整形后的兩路待測信號( A、 B)進(jìn)行數(shù)據(jù)采集。 2. 利用 D觸發(fā)器的特點(diǎn)進(jìn)行信號的超前 /滯后檢測。 圖 43 D 觸 發(fā)器模塊 module D_FF(q,d,cp,set,reset)。 output q。 always(posedge cp or posedge set) begin if (set) begin q=1。end else begin q=d。它們都是 19 位的二進(jìn)制數(shù)據(jù),時(shí)間單位為 S。 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 23 input reset,clk。 reg [18:0] out。 else out=out+1。 圖 45 19 位寄存器模塊 module reg19(out_data,in_data,cp,en)。 input [18:0] in_data。 reg [18:0] out_data。 else out_data=in_data。 FPGA 和 MCU 之間的數(shù)據(jù)傳輸是通過 19 根 I/O 口線輸送的。 圖 46 2 選 1 數(shù)據(jù)選擇模塊 module mux2_1(data,dataa,datab,fen,dsel)。 input dataa,datab。 reg out。 when (dsel=1) data=datab。 end endmodule 6. 該模塊中還應(yīng)該含有計(jì)數(shù)器清零信號、計(jì)數(shù)器使能信號和其它控制信號的外圍電路。這兩種數(shù)據(jù)都是 19 位無符號的二進(jìn)制數(shù)據(jù),其程序流程圖如圖 47 所示。讀入哪一種數(shù)據(jù)由兩者之間的握手信號 fen 和 dsel 控制,其程序流程圖如圖 48 所示。 入 口裝 入 被 除 數(shù) 1 0 0 0 0 0 0 0 和 除 數(shù) T 到 內(nèi) 存做 除 法 1 0 0 0 0 0 0 0 / T 二 進(jìn) 制 數(shù) 據(jù) 轉(zhuǎn) 換 為 壓 縮 B C D 碼壓 縮 B C D 碼 轉(zhuǎn) 換 為 單 字 節(jié) B C D 碼把 數(shù) 據(jù) 存 入 到 顯 示 緩 沖 區(qū) 7 0 H 7 6 H出 口 圖 49 計(jì)算頻率的流程圖 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 27 計(jì)算相位差流程 因?yàn)?A 、 B 兩路信號是同頻率,不同相位的正弦波信號,所以經(jīng)過整形電路整形后得到頻率相同、時(shí)間上不重合的兩路信號 。 ,其程序流程框圖如圖 410 所示。 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 28 賦 頻 率 顯 示 區(qū) 首 地 址 7 0 H 給 R 0無 效 數(shù) 字 0 消 隱 處 理賦 相 位 差 顯 緩 區(qū) 首 地 址 7 8 H 給 R 0查 表 求 斷 碼查 表 串 行 顯 示待 顯 示 數(shù) 據(jù) 送 完 了 ?2 F H . 0 = 0 ?入 口出 口NYNY 圖 411 顯示程序流程圖 鍵盤程序流程 為了完成以上功能,電路中還必須有必要的輔助設(shè)計(jì),即需要設(shè)計(jì)一個(gè)按鍵子程序來完成人為的有選擇的控制 LED 數(shù)碼管顯示的內(nèi)容(顯示頻率或相位差)。 軟件延時(shí)10ms消抖CPL 有鍵按下(=0)?有鍵按下(=0)?入口出口YYNN 圖 412 鍵盤程序流程圖 XX 大學(xué)本科生畢業(yè)設(shè)計(jì) 基于 FPGA 和 MCU 的相位測量儀的設(shè)計(jì) 29 5 系統(tǒng)設(shè)計(jì)總結(jié) 本設(shè)計(jì)是利用 FPGA 和 MCU 相結(jié)合的方案來實(shí)現(xiàn)相位測量儀的設(shè)計(jì),其中 MCU完成的是系統(tǒng)功能,而用 FPGA 來實(shí)現(xiàn)系統(tǒng)的指標(biāo)。 該系統(tǒng)包含了 信號整形模塊、 以 EPF10K10LC844芯片為核心的 FPGA 數(shù)據(jù)采集模塊、以 AT89C51 芯片為控制核心單片機(jī) 處理 模塊、 靜態(tài) LED 顯示模塊。 另外如果想讓本系統(tǒng)的精度更高,必須獲得更穩(wěn)定的使能信號 ena 和清零信號 clr,可以先利用施密特觸發(fā)電路產(chǎn)生 ena 送給 FPGA,再由 FPGA 內(nèi)部 產(chǎn)生 clr信號。本論文在研究和撰寫過程中得到 XXX 老師的精心指導(dǎo)和大力協(xié)助。 她 的指導(dǎo) 不僅使我拓寬了 知識面,更使我在發(fā)現(xiàn)問題、分析問題、解決問題等各方面的能力都有一個(gè)明顯的提高。老師淵博的知識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)、誨人不倦的教育情懷和對事業(yè)的忠誠,都將使我受