![基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/e1a79e14-8076-4ad6-9c79-681fddde7351/e1a79e14-8076-4ad6-9c79-681fddde73511.gif)
![基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/e1a79e14-8076-4ad6-9c79-681fddde7351/e1a79e14-8076-4ad6-9c79-681fddde73512.gif)
![基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/e1a79e14-8076-4ad6-9c79-681fddde7351/e1a79e14-8076-4ad6-9c79-681fddde73513.gif)
![基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/e1a79e14-8076-4ad6-9c79-681fddde7351/e1a79e14-8076-4ad6-9c79-681fddde73514.gif)
![基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/e1a79e14-8076-4ad6-9c79-681fddde7351/e1a79e14-8076-4ad6-9c79-681fddde73515.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)IP核的等精度頻率計(jì)設(shè)計(jì)摘要FPGA就是目前最受歡迎的可編程邏輯器件之一。IP核是將一些在數(shù)字電路中常用但比較復(fù)雜的功能模塊,設(shè)計(jì)成可修改參數(shù)的模塊,讓用戶可以直接調(diào)用這些模塊。隨著FPGA的規(guī)模越來越大,使用IP核是一個(gè)發(fā)展趨勢(shì)。傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而下降,在使用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且整個(gè)頻率區(qū)域能保持恒定的測(cè)試精度。本文結(jié)合FPGA與8051單片機(jī)的優(yōu)點(diǎn)實(shí)現(xiàn)了基于FPGA的8051 IP核應(yīng)用,設(shè)計(jì)一個(gè)等精度頻率計(jì)。關(guān)鍵詞:FPGA,8051IP核,等精度頻率計(jì)設(shè)計(jì)Abstract F
2、ield Programmable Gate Array(FPGA)is one of the most welcomed programmable logic devicesIP core is a module which has changeable parametersWith the IP core we can implement some complex functional module in digital circuitsWith the increasing scale in the FPGA,Using IP core is becoming more and more
3、 popularTraditional frequency measurement principle of the frequency accuracy will decline with the decline of the signal frequency.It Has a greater limitations in use. Equal precision frequency meter not only has high measurement accuracy, and the whole frequency region can maintain a constant test
4、 accuracyCombining the advantages of FPGA and 805 l MCU,the paper mainly realize the application of 8051 IP core based on FPGA that design a same accuracy frequency.Key words: FPGA,8051 IP core,same accuracy frequency目錄第一章 緒論31.1 課題研究背景及意義31.2 主要任務(wù)3第二章 杭州康芯公司KX2C5F+開發(fā)板介紹52.1 KX2C5F+系統(tǒng)簡(jiǎn)介52.2 主要應(yīng)用5第三章
5、 系統(tǒng)設(shè)計(jì)73.1 8051單片機(jī)介紹73.2 8051單片機(jī)IP軟核介紹73.3 8051單片機(jī)IP軟核實(shí)用系統(tǒng)構(gòu)建93.4 等精度頻率計(jì)設(shè)計(jì)103.4.1等精度測(cè)頻原理103.4.2等精度測(cè)頻實(shí)現(xiàn)113.4.3測(cè)量占空比的原理133.4.4測(cè)量占空比的實(shí)現(xiàn)133.5單片機(jī)的功能143.5.1數(shù)據(jù)傳輸143.5.2 液晶顯示153.6單片機(jī)與FPGA的組合應(yīng)用16第四章 程序調(diào)試174.1 等精度頻率計(jì)程序174.2 單片機(jī)程序和VHDL程序編譯在一起下載到FPGA中17第五章 結(jié)果討論19總結(jié)20致謝21參考文獻(xiàn)22附錄23附錄1:等精度頻率計(jì)相關(guān)程序23附錄2 單片機(jī)相關(guān)程序25第一章
6、緒論1.1 課題研究背景及意義隨著可編程邏輯設(shè)計(jì)技術(shù)的發(fā)展,每個(gè)邏輯器件中門電路的數(shù)量越來越多,一個(gè)邏輯器件就可以完成本來由很多分立邏輯器件和存儲(chǔ)芯片完成的功能。這樣做減少了系統(tǒng)的功耗和成本,提高了性能和可靠性。FPGA(Fild Programmable Gate Array)就是目前最受歡迎的可編程邏輯器件之一。IP就是知識(shí)產(chǎn)權(quán)核或知識(shí)產(chǎn)權(quán)模塊的意思,在EDA技術(shù)開發(fā)中具有十分重要的地位。著名的美國(guó)Dataquest咨詢公司將半導(dǎo)體產(chǎn)業(yè)的IP定義為用于ASIC或FPGA/CPLD中的預(yù)先設(shè)計(jì)好的電路模塊。隨著FPGA的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜,使用IP核是一個(gè)發(fā)展趨勢(shì)。現(xiàn)在很多電子系統(tǒng)
7、都是由單片機(jī)+FPGA實(shí)現(xiàn)的。長(zhǎng)期以來,單片機(jī)以其性價(jià)比高、體積小、功能靈活等方面的獨(dú)特優(yōu)點(diǎn)被廣泛應(yīng)用。但受其內(nèi)部資源的限制,單片機(jī)需要在片外擴(kuò)展相關(guān)資源。為了達(dá)到處理速度和控制靈活性方面的需求,采用微控制器和可編程邏輯器件設(shè)計(jì)單片機(jī)嵌入式系統(tǒng)。將單片機(jī)做在FPGA中,不但減少了電路中間連線,而且整個(gè)系統(tǒng)的可靠性得到加強(qiáng),同時(shí)由于FPGA的速度快,F(xiàn)PGA中的單片機(jī)的速度可達(dá)100MHZ以上,整個(gè)系統(tǒng)的性能也能得到充分地改善?;趥鹘y(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而下降,即測(cè)量精度隨被測(cè)信號(hào)的頻率的變化而變化,在使用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且
8、整個(gè)頻率區(qū)域能保持恒定的測(cè)試精度。本課題主要是應(yīng)用已做好的8051 IP核設(shè)計(jì)等精度頻率計(jì)。1.2 主要任務(wù)在了解數(shù)字頻率計(jì)的基礎(chǔ)上分析等精度頻率計(jì)相對(duì)于傳統(tǒng)頻率計(jì)的優(yōu)越性,研究等精度頻率計(jì)的工作原理和實(shí)現(xiàn)方法,在FPGA開發(fā)板提供的硬件環(huán)境上設(shè)計(jì)程序運(yùn)行的流程框圖。用VHDL編寫測(cè)頻模塊,對(duì)FPGA中的單片機(jī)核編寫輸入、顯示等程序,完成等精度頻率計(jì)的設(shè)計(jì)。系統(tǒng)總框架圖如圖1-1所示。圖1-1 實(shí)驗(yàn)系統(tǒng)總框架圖第二章 杭州康芯公司KX2C5F+開發(fā)板介紹2.1 KX2C5F+系統(tǒng)簡(jiǎn)介KX2C5F+系統(tǒng)是康芯公司電子設(shè)計(jì)競(jìng)賽作品板,其系統(tǒng)硬件結(jié)構(gòu)組成如下:1、KX2C5F+系統(tǒng)選用Altera公
9、司CycloneII系列EP2C5T144 FPGA。其包含4608個(gè)邏輯宏單元、兩個(gè)鎖相環(huán),約20萬門、約12萬RAM bit。2、含全兼容工業(yè)級(jí)8051核、其主頻最高可達(dá)250MHz,是普通單片機(jī)速度的20倍。3、EPM3032CPLD、1M EPCS1 Flash、蜂鳴器、20MHz晶振、8鍵、1數(shù)碼管,HS162-4LCD液晶顯示器。4、JTAG、VGA、RS232接口、PS2口、USB電源口。5、FPGA編程器、字符型液晶驅(qū)動(dòng)口(可直接接多種類型字符型液晶)、點(diǎn)陣型液晶驅(qū)動(dòng)口(可直接接數(shù)字彩色或黑白點(diǎn)陣型液晶)。根據(jù)任務(wù)要求設(shè)計(jì)主要應(yīng)用到EP2C5T144 FPGA、USB電源口、J
10、TAG下載口以及字符型液晶驅(qū)動(dòng)口,其硬件系統(tǒng)結(jié)構(gòu)框圖如圖2-1所示:圖2-1 硬件系統(tǒng)結(jié)框圖構(gòu)圖2.2 主要應(yīng)用可配置于KX2C5F+系統(tǒng)FPGA的單片機(jī)CPU核與傳統(tǒng)MCS-51單片機(jī)高度兼容(極個(gè)別指令不兼容),但速度約為傳統(tǒng)單片機(jī)的20倍,在FPGA芯片優(yōu)化良好的條件下,主頻最高可達(dá)250MHz;同樣用C或匯編語言完成軟件設(shè)計(jì)。目前許多實(shí)用SOC應(yīng)用系統(tǒng)都使用此類通用CPU實(shí)現(xiàn)設(shè)計(jì)。 電子設(shè)計(jì)競(jìng)賽中,需要實(shí)現(xiàn)高速算法或高速控制的項(xiàng)目越來越多,如此高速的單片機(jī)核,幾乎可以用來完成某些DSP功能,如語音處理,壓縮和頻譜分析等。再加上FPGA本身的高速性能,完成許多高性能指標(biāo)的系統(tǒng)功能將變得十
11、分容易;而把CPU、鎖相環(huán)、數(shù)據(jù)RAM、程序ROM、接口模塊、通信模塊、顯示控制模塊、數(shù)據(jù)采樣和信號(hào)發(fā)生模塊等等,都放在同一片F(xiàn)PGA內(nèi),從而構(gòu)成SOC系統(tǒng),這將使系統(tǒng)的設(shè)計(jì)效率和系統(tǒng)性能獲得極大的提高,這也是現(xiàn)代電子設(shè)計(jì)技術(shù)的發(fā)展方向。KX2C5F+系統(tǒng)開發(fā)板可以應(yīng)用于很多設(shè)計(jì)。這里,根據(jù)論文的目的,在完成設(shè)計(jì)任務(wù)時(shí),用8051 IP核加上鎖相環(huán)、RAM以及ROM構(gòu)成一個(gè)單片機(jī)。通過鎖相環(huán)將單片機(jī)時(shí)鐘設(shè)置為40MHz。此單片機(jī)的任務(wù)是將測(cè)得的頻率在LCD顯示。第三章 系統(tǒng)設(shè)計(jì)3.1 8051單片機(jī)介紹MSC-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)由八部分組成,以80C51單片機(jī)為例,其內(nèi)部按功能可劃分為C
12、PU、存儲(chǔ)器、I/O端口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)等模塊。MSC-51系列單片機(jī)芯片有40個(gè)引腳,是采用HMOS工藝制造,雙列直插(DIP)方式封裝的芯片,其引腳如圖3-1所示。圖3-1 MCS-51系列單片機(jī)引腳3.2 8051單片機(jī)IP軟核介紹CPU8051V1是康芯公司提供的8051單片機(jī)核,由VQM原碼(Verilog Quartus Mapping File)表述:CPU8051V1.vqm,可直接調(diào)用。與普通MCS-51系列單片機(jī)一樣,8051單片機(jī)核也含有8位復(fù)雜指令CPU,其結(jié)構(gòu)框圖如圖3-2所示。8051單片機(jī)核的指令系統(tǒng)與8051/2、8031/2等完全兼容,硬件部分也基本相
13、同,例如可接64KB外部存儲(chǔ)器,可接256字節(jié)內(nèi)部數(shù)據(jù)RAM,含兩個(gè)16位定時(shí)/計(jì)數(shù)器,全雙工串口,含節(jié)省功耗工作模式,中斷響應(yīng)結(jié)構(gòu)等等。不同之處主要有:1、8051V1是以網(wǎng)表文件的方式存在的,只有通過編譯綜合,并載入FPGA中才以硬件的方式工作,而普通8051總是以硬件方式存在的;2、8051V1無內(nèi)部ROM和RAM,所有程序ROM和內(nèi)部RAM都必須外接。從圖3-2可見,它包含了“數(shù)據(jù)RAM端口”和“程序存儲(chǔ)器端口”,是連接外接ROM、RAM的專用端口(此ROM和RAM都能用LPM_ROM和LPM_RAM在同一片F(xiàn)PGA中實(shí)現(xiàn))。然而普通8051芯片的內(nèi)部RAM是在芯片內(nèi)的,而外部ROM的
14、連接必須以總線方式與其P0、P2口相接(AT89S51的ROM在芯片內(nèi),CPU核外)。3、以軟核方式存在能進(jìn)行硬件修改和編輯;能對(duì)其進(jìn)行仿真和嵌入式邏輯分析儀實(shí)現(xiàn)實(shí)時(shí)時(shí)序測(cè)試;能根據(jù)設(shè)計(jì)者的意愿將CPU、RAM、ROM、硬件功能模塊和接口模塊等實(shí)現(xiàn)于同一片F(xiàn)PGA中(即SOC)。4、與普通8051不同,8051單片機(jī)核的4個(gè)I/O口是分開的。例如P1口,其輸入端P1I和輸出端P1O是分開的,如果需要使用P1口的雙向口功能,必須外接一些電路才能實(shí)現(xiàn)。 圖3-2 8051V1原理圖元件3.3 8051單片機(jī)IP軟核實(shí)用系統(tǒng)構(gòu)建8051V1核在接上了ROM和RAM后就成為一個(gè)完整的8051單片機(jī)了,
15、圖3-3是根據(jù)任務(wù)要求繪制的8051V1核實(shí)用系統(tǒng)的最基本構(gòu)建頂層原理圖,主要由4個(gè)部件構(gòu)成:1、8051V1核。圖中的CPU8051V1即單片機(jī)核,由VQM原碼表述:CPU8051V1.vqm,可以直接調(diào)用。該元件可以與其他不同語言表述的元件一同綜合與編譯。2、嵌入式鎖相環(huán)PLL50。載入鎖相環(huán),設(shè)置其輸入頻率為20MHz,輸出頻率為40MHz,8051V1能接受的工作時(shí)鐘頻率上限取決于FPGA的速度級(jí)別。3、程序ROM,LPM_ROM。采用ROM容量的大小也取決于FPGA所含的嵌入RAM的大小。圖3-3中設(shè)置的ROM容量是4K字節(jié),對(duì)于一般的應(yīng)用足夠了。此ROM可以加載HEX格式文件作為單
16、片機(jī)的程序代碼。HEX程序代碼可以直接使用普通8051單片機(jī)程序編譯器生成。4、數(shù)據(jù)RAM,LPM_RAM。圖3-3中設(shè)置的LPM_RAM容量是256字節(jié)。高128字節(jié)須用間接尋址方式訪問。這里的LPM_ROM和LPM_RAM調(diào)用方法參見其它資料。圖3-3中,P0I7.0、P1I7.0、P2I7.0、P3I7.0分別為P0、P1、P2、P3口的輸入口;P0O7.0、P1O7.0、P2O7.0、P3O7.0分別為P0、P1、P2、P3口的輸出口。各口的應(yīng)用再根據(jù)任務(wù)要求進(jìn)行連線。 圖3-3 基本8051CPU核應(yīng)用 3.4 等精度頻率計(jì)設(shè)計(jì)3.4.1等精度測(cè)頻原理等精度測(cè)頻的實(shí)現(xiàn)方法可簡(jiǎn)化為圖3
17、-4所示。CNT1和CNT2是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)頻率信號(hào)設(shè)定為40MHz從CNT1的時(shí)鐘輸入端CLK輸入,經(jīng)過整形后的被測(cè)信號(hào)從CNT2的時(shí)鐘輸入端CLK輸入,當(dāng)預(yù)置門控信號(hào)為高電平時(shí),經(jīng)過整形后的被測(cè)信號(hào)的上升沿通過D觸發(fā)器的Q端同時(shí)啟動(dòng)CNT1和CNT2。CNT1、CNT2同時(shí)對(duì)標(biāo)準(zhǔn)頻率信號(hào)和經(jīng)整形后的被測(cè)信號(hào)進(jìn)行計(jì)數(shù),分別為Ns與Nx。當(dāng)預(yù)置門信號(hào)為低電平的時(shí)候,后面而來的被測(cè)信號(hào)的上升沿將使兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉,所測(cè)得的頻率為(Fs/Ns)*Nx.則等精度測(cè)量方法測(cè)量精度與預(yù)置門寬度的標(biāo)準(zhǔn)頻率有關(guān),與被測(cè)信號(hào)的頻率無關(guān)。圖3-4 等精度測(cè)頻實(shí)現(xiàn)原理等精度測(cè)頻方法是在直接測(cè)頻方法的基礎(chǔ)上
18、發(fā)展起來的。它的閘門時(shí)間不是固定值,而是被測(cè)信號(hào)周期的整數(shù)倍,即與被測(cè)信號(hào)同步。因此除了對(duì)被測(cè)信號(hào)計(jì)數(shù)所產(chǎn)生的1個(gè)周期誤差,并且達(dá)到了在整個(gè)測(cè)試頻率階段的等精度測(cè)量。如圖3-5在測(cè)試過程中,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先由單片機(jī)給出給出閘門信號(hào),在t1時(shí)間內(nèi)保持高電平,當(dāng)單片機(jī)賦給預(yù)置門高電平信號(hào)時(shí)實(shí)際閘門并未打開此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來時(shí)才打開實(shí)際閘門,計(jì)數(shù)器才真正開始計(jì)數(shù),然后單片機(jī)發(fā)給預(yù)置閘門低電平關(guān)閉信號(hào),計(jì)數(shù)器并不立即停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來時(shí)才關(guān)閉實(shí)際閘門信號(hào)開始結(jié)束計(jì)數(shù),完成一次測(cè)試過程。可以看出,實(shí)際閘門時(shí)間為t1,
19、預(yù)置閘門時(shí)間為t,兩個(gè)閘門時(shí)間并不嚴(yán)格相等,但是差值不超過被測(cè)信號(hào)的一個(gè)周期。圖3-5 等精度測(cè)頻原理設(shè)在一次實(shí)際閘門時(shí)間t中計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns。標(biāo)準(zhǔn)信號(hào)的頻率為fs,則被測(cè)信號(hào)的頻率如下式: fx=(Nx/Ns)*fs 在測(cè)量中,由于fx計(jì)數(shù)的啟停時(shí)間都是由該信號(hào)的上升沿出發(fā)的,在閘門時(shí)間t內(nèi)對(duì)fx的計(jì)數(shù)Nx無誤差,對(duì)fs的計(jì)數(shù)Ns最多相差一個(gè)數(shù)的誤差, =1/fs 由上式可以看出,測(cè)量頻率的相對(duì)誤差與被測(cè)信號(hào)頻率的大小無關(guān),僅與標(biāo)準(zhǔn)信號(hào)頻率有關(guān),即實(shí)現(xiàn)了整個(gè)測(cè)量頻段的等精度。標(biāo)準(zhǔn)頻率越高,測(cè)量的相對(duì)誤差越小。在保證精度測(cè)量不變的前提下,提高標(biāo)準(zhǔn)信號(hào)頻率
20、,可是閘門時(shí)間縮短,即提高測(cè)試速度。 3.4.2等精度測(cè)頻實(shí)現(xiàn)等精度頻率計(jì)的實(shí)現(xiàn)可以簡(jiǎn)單地用圖3-6和波形圖3-7來說明設(shè)。圖3-4中“預(yù)置門控信號(hào)”CL可由單片機(jī)發(fā)出,可以證明,在1秒至0.1秒間的選擇范圍內(nèi),CL的時(shí)間寬度對(duì)測(cè)量精度幾乎沒有影響,在此設(shè)其寬度為Tpr。BZH和TF模塊是兩個(gè)可控的32位高速計(jì)數(shù)器,BENA和ENA分別是它們的計(jì)數(shù)允許信號(hào)端,高電平有效。標(biāo)準(zhǔn)頻率信號(hào)40MHz從BZH的時(shí)鐘輸入端BCLK輸入,設(shè)置頻率為Fs;經(jīng)整形后的被測(cè)信號(hào)從與BZH相似的32位計(jì)數(shù)器TF的時(shí)鐘輸入端TCLK輸入,設(shè)置真實(shí)頻率值為Fxe,被測(cè)頻率為Fx。等精度頻率計(jì)原理如下圖3-6所示:圖3
21、-6 等精度頻率計(jì)設(shè)計(jì)原理圖 bclk為標(biāo)準(zhǔn)頻率信號(hào)設(shè)定為40MHz,tclk為被測(cè)信號(hào),被測(cè)信號(hào)的范圍為1Hz到40MHz。clr為清零信號(hào),cl為預(yù)置門信號(hào),start為實(shí)際閘門信號(hào),sel為數(shù)據(jù)選擇器的控制端口,data為數(shù)據(jù)傳送端口。測(cè)試開始前,首先發(fā)出一個(gè)清零信號(hào)CLR,使兩個(gè)計(jì)數(shù)器和D觸發(fā)器置0,同時(shí)D觸發(fā)器通過信號(hào)ENA,禁止兩個(gè)計(jì)數(shù)器計(jì)數(shù)。這是初始化操作。然后由單片機(jī)發(fā)出允許測(cè)頻命令,即令預(yù)置門控信號(hào)CL為高電平這時(shí)D觸發(fā)器要一直等到被測(cè)信號(hào)的上升沿通過Q端時(shí)才把start置1,與此同時(shí),將同時(shí)開啟計(jì)數(shù)器BHZ和TF,進(jìn)行計(jì)數(shù),當(dāng)Tpr秒后,預(yù)置門信號(hào)CL被單片機(jī)置為低電平,但
22、此時(shí)兩個(gè)計(jì)數(shù)器并沒有停止計(jì)數(shù),一直等到隨后而至的被測(cè)信號(hào)的上升沿到來時(shí)start為0,才通過D觸發(fā)器將這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉圖3-7等精度頻率計(jì)波形仿真設(shè)在一次預(yù)置門時(shí)間中對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)頻率計(jì)數(shù)值為Ns,則下式成立:Fx/Nx=Fs/Ns不難得到測(cè)得的頻率為:Fx=(Fs/Ns)*Nx3.4.3測(cè)量占空比的原理設(shè)定中間信號(hào)pl,分別取被測(cè)信號(hào)的一個(gè)正脈寬和一個(gè)負(fù)脈寬作為門控信號(hào),對(duì)標(biāo)準(zhǔn)頻率進(jìn)行計(jì)數(shù),對(duì)正脈寬的計(jì)數(shù)值為N1,對(duì)負(fù)脈寬的計(jì)數(shù)值為N2,則周期計(jì)數(shù)值為N1+N2,于是占空比為:占空比=N1*100%)/(N1+N2)圖3-83.4.4測(cè)量占空比的實(shí)現(xiàn) 對(duì)于占空比的測(cè)量,
23、可以通過測(cè)量正反兩脈寬的計(jì)數(shù)值來獲得。設(shè)BZH對(duì)正脈寬的計(jì)數(shù)值為N1,對(duì)負(fù)脈寬的計(jì)數(shù)值為N2,則周期計(jì)數(shù)值為N1+N2,于是占空比為:占空比=(N1*100%)/(N1+N2)占空比的測(cè)量流程如下圖3-9所示:圖3-9 占空比測(cè)量流程圖測(cè)量占空比的波形仿真見下圖3-10占空比仿真波形,BCLK為標(biāo)準(zhǔn)頻率信號(hào)為40MHz,TCLK為被測(cè)頻率信號(hào),CL預(yù)置門信號(hào)設(shè)置為低電平,給清零信號(hào)CLR一個(gè)有效電平(高電平有效),等待EEND由低電平跳變?yōu)楦唠娖綍r(shí)表示對(duì)被測(cè)信號(hào)的一個(gè)負(fù)脈寬計(jì)數(shù)結(jié)束,此時(shí)讀取標(biāo)準(zhǔn)計(jì)數(shù)器的數(shù)據(jù)標(biāo)記為N1,然后再給出清零信號(hào)CLR一個(gè)有效電平,預(yù)置門控信號(hào)設(shè)置為高電平,等待EEND
24、由低電平跳變?yōu)楦唠娖綍r(shí)表示對(duì)被測(cè)信號(hào)的一個(gè)正脈寬計(jì)數(shù)結(jié)束,此時(shí)再讀取標(biāo)準(zhǔn)計(jì)數(shù)器的數(shù)據(jù)標(biāo)記為N2,對(duì)N1,N2進(jìn)行簡(jiǎn)單的算術(shù)運(yùn)算就可以得到占空比。圖3-10占空比仿真波形3.5單片機(jī)的功能3.5.1數(shù)據(jù)傳輸與計(jì)算首先用VHDL語言編寫一個(gè)八選一數(shù)據(jù)選擇器,其封裝模塊如圖3-8所示,其主要功能是由P0口的3根輸出信號(hào)控制,將32位測(cè)頻數(shù)據(jù)分成8個(gè)四位依次送進(jìn)單片機(jī)P2的輸入口。圖3-11 八選一數(shù)據(jù)選擇器BZQ接標(biāo)準(zhǔn)頻率計(jì)數(shù)器的數(shù)據(jù)口,TSQ接被測(cè)信號(hào)計(jì)數(shù)器的數(shù)據(jù)口,sel2、sel1、sel0接單片機(jī)的P0.6、P0.5、P0.4,DATA7.0接單片機(jī)的P2口,單片機(jī)程序在Keil C 環(huán)境下
25、開發(fā),實(shí)現(xiàn)將32位二進(jìn)制測(cè)頻數(shù)據(jù)分成8個(gè)四位由高位到低位的順序依次送到單片機(jī)。單片機(jī)程序設(shè)計(jì)思想:設(shè)置P0.6、P0.5、P0.4作為數(shù)據(jù)選擇器的地址輸入端,設(shè)置從000-111情況下依次將標(biāo)準(zhǔn)頻率計(jì)數(shù)器和被測(cè)頻率計(jì)數(shù)器的數(shù)據(jù)分別送到單片機(jī)。定義一個(gè)32位的數(shù)據(jù)類型,把每次接受的8位數(shù)據(jù)通過“位移”指令和簡(jiǎn)單的加法還原為32位,再進(jìn)行算術(shù)運(yùn)算,得到想要的結(jié)果,驅(qū)動(dòng)液晶顯示出來。3.5.2 液晶顯示液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。本實(shí)驗(yàn)使用字符型液晶模塊HS162-4。HS162-4 液晶模塊是一種用5x7點(diǎn)陣圖
26、形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個(gè)字、2 行16個(gè)字等。HS162-4采用標(biāo)準(zhǔn)的16腳接口,其中VSS為地電源,VDD接5V正電源。V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“陰影”,使用時(shí)可以通過一個(gè)10K 的電位器調(diào)整對(duì)比度。RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。E端為使能端,當(dāng)E端由高電平跳變成低
27、電平時(shí),液晶模塊執(zhí)行命令。LEDA和LEDK為背光電源,LEDA接5V正電源,LEDK接GND。D0D7為8位雙向數(shù)據(jù)線。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表3-1 是HS162-4 的內(nèi)部顯示地址。 表1-1 HS162-4內(nèi)部顯示地址表即,第1行的顯示開始地址應(yīng)為:80H;第2行的顯示開始地址應(yīng)為:C0H。液晶的三個(gè)控制信號(hào)RS、RW、E,分別接單片機(jī)的P3.0、P3.1、P3.2,8位數(shù)據(jù)線接P1口,在程序中設(shè)置三個(gè)按鍵切換不同的功能:K2(復(fù)位)顯
28、示“Qing Guang Ming ” “ Bi Ye She Ji ”K3(測(cè)頻率)- 顯示“FREQ: ” “測(cè)量所得的頻率 ”K4(測(cè)占空比)-顯示“DUTY: ” “所測(cè)得的占空比”按鍵控制的液晶顯示流程圖如下圖3-12所示:圖3-12按鍵控制液晶顯示流程圖3.6單片機(jī)與FPGA的組合應(yīng)用把FPGA程序和單片機(jī)程序分別調(diào)試好后再組合起,鎖定引腳、編譯、下載進(jìn)行聯(lián)合調(diào)試。整體流程圖如下圖所示,bclk接標(biāo)準(zhǔn)頻率信號(hào)40MHz,tclk接被測(cè)信號(hào),clr接P0.0口,cl接P0.1口,spul接P0.2口,sel2、sel1、sel0分別接單片機(jī)P0.6、P0.5、P0.4口,start接
29、P.7口,eend接P0.3口,data接P2口,按鍵K2是復(fù)位開關(guān)顯示初始化內(nèi)容,按鍵K3接P3.3測(cè)頻顯示,按鍵K4接P3.4測(cè)占空比顯示。圖3-13總體框圖第四章 程序調(diào)試4.1 等精度頻率計(jì)程序把等精度頻率計(jì)模塊與單片機(jī)系統(tǒng)正確確連接,鎖定好引腳,特別注意不用的單片機(jī)I/O口要接地。連線與引腳鎖定分別見下圖4-11、4-12。圖4-11圖4-124.2 單片機(jī)程序和VHDL程序編譯在一起下載到FPGA中點(diǎn)擊ROM,文件路徑該成如圖4-21所示點(diǎn)“./ASM”表示把單片機(jī)的hex文件存在當(dāng)前工程ASM中。圖4-21點(diǎn)擊“Tool”選擇“Programmer”,再點(diǎn)擊“start”進(jìn)行下載
30、“progress”顯示100%表示下載成功,如下圖4-22圖4-22第五章 結(jié)果討論信號(hào)發(fā)生器發(fā)發(fā)出的頻率實(shí)際值測(cè)量值誤差16MHz1999799Hz1997929Hz0.0116%10MHz9999213Hz9989659Hz0.095%9MHz8999195Hz89906830.094%100K99970Hz99897Hz0.037%50K49985Hz49948Hz0.074%20K19994Hz19979Hz0.075%10K9997Hz9990Hz0.07%1K999Hz999Hz0500Hz499Hz499Hz0300Hz2999Hz299Hz0200Hz199.9Hz199Hz
31、070Hz69.9Hz69Hz0總結(jié)本課題實(shí)現(xiàn)了用FPGA中的單片機(jī)IP核設(shè)計(jì)等精度頻率計(jì)的系統(tǒng)。用VHDL語言設(shè)計(jì)采集頻率的部分,將測(cè)頻結(jié)果送到8051單片機(jī)IP核中處理,8051單片機(jī)軟核再驅(qū)動(dòng)液晶顯示測(cè)頻和占空比數(shù)據(jù)。本課題主要目的是學(xué)會(huì)8051單片機(jī)IP軟核的應(yīng)用,了解其與傳統(tǒng)MCS-51單片機(jī)高度兼容(極個(gè)別指令不兼容),但速度為傳統(tǒng)單片機(jī)的20倍,優(yōu)化良好的條件下,主頻最高可達(dá)250MHz,可實(shí)現(xiàn)SOC片上系統(tǒng)設(shè)置的優(yōu)勢(shì)。此外,等精度頻率計(jì)設(shè)計(jì)、單片機(jī)C語言的編寫,也讓我受益很多。致 謝在這次畢業(yè)設(shè)計(jì)的過程中,我得到很多老師和同學(xué)的幫助,我的指導(dǎo)老師孫妍老師一直對(duì)我耐心指導(dǎo),遇到問
32、題時(shí)給我指出很有效的解決方法。物理學(xué)院全體電子教研組的老師都為我們?nèi)嗤瑢W(xué)的畢業(yè)設(shè)計(jì)付出了辛勤的勞動(dòng)。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x!同時(shí),也對(duì)我們08屆電子信息科學(xué)專業(yè)的各位領(lǐng)導(dǎo)和老師的辛苦勞動(dòng)表示由衷感謝!參考文獻(xiàn)1. 潘松 黃繼業(yè),EDA技術(shù)實(shí)用教程,科學(xué)出版社,20092. 閻石等,數(shù)字電子技術(shù)基礎(chǔ),高等教育出版社,20053. 李云 侯傳教等,VHDL電路實(shí)用教材,機(jī)械工業(yè)出版社,20094. 譚浩強(qiáng),C程序設(shè)計(jì),清華大學(xué)出版社,20075. 倪云峰等,單片機(jī)原理與應(yīng)用,西安電子科技大學(xué)出版社,20096. 陳海宴,51單片機(jī)原理及應(yīng)用,北京航空航天大學(xué)出版社,2010附錄
33、附錄1:等精度頻率計(jì)相關(guān)程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity etester is port(bclk:in std_logic; tclk:in std_logic; clr:in std_logic; cl:in std_logic; spul:in std_logic; start:out std_logic; eend:out std_logic; sel:in std_logic_vector(2 downto 0); data:out std_logic_v
34、ector(7 downto 0); end etester; architecture behav of etester is signal bzq:std_logic_vector(31 downto 0); signal tsq:std_logic_vector(31 downto 0); signal ena:std_logic; signal ma,clk1,clk2,clk3:std_logic; signal q1,q2,q3,bena,pul:std_logic; signal ss:std_logic_vector(1 downto 0); begin start<=e
35、na; data<=bzq(7 downto 0) when sel="000" else bzq(15 downto 8) when sel="001" else bzq(23 downto 16) when sel="010" else bzq(31 downto 24) when sel="011" else tsq(7 downto 0) when sel="100" else tsq(15 downto 8) when sel="101" else tsq(2
36、3 downto 16) when sel="110" else tsq(31 downto 24) when sel="111" else tsq(31 downto 24);bzh:process(bclk,clr) begin if clr='1' then bzq<=(others=>'0'); elsif bclk'event and bclk='1' then if bena='1' then bzq<=bzq+1; end if; end if; en
37、d process;tf:process(tclk,clr,ena) begin if clr='1' then tsq<=(others=>'0'); elsif tclk'event and tclk='1' then if ena='1' then tsq<=tsq+1; end if; end if ; end process; process(tclk,clr) begin if clr='1' then ena<='0' elsif tclk'ev
38、ent and tclk='1' then ena<=cl; end if; end process; ma<=(tclk and cl)or not(tclk or cl); clk1<=not ma; clk2<=ma and q1; clk3<=not clk2; ss<=q2&q3; dd1:process(clk1,clr)beginif clr='1' then q1<='0'elsif clk1'event and clk1='1' then q1<=&
39、#39;1'end if;end process;dd2:process(clk2,clr)beginif clr='1' then q2<='0'elsif clk2'event and clk2='1' then q2<='1'end if;end process;dd3:process(clk3,clr)beginif clr='1' then q3<='0'elsif clk3'event and clk3='1' then q3&l
40、t;='1'end if;end process;pul<='1' when ss="11" else '0'eend<='1'when ss="11" else '0'bena<=ena when spul='1' else pul when spul='0' else pul;end behav;附錄2 單片機(jī)相關(guān)程序#include<reg52.h> #include<stdio.h> #incl
41、ude<intrins.h>/*等精度頻率計(jì)端口定義*/sbit clr=P00;sbit cl =P01;sbit spul=P02;sbit sel2=P06;sbit sel1=P05;sbit sel0=P04;sbit start=P07;sbit eend=P03;sbit k3=P33;sbit k4=P34;/*液晶的控制端口定義*/sbit RS = P30; sbit RW = P31; sbit E = P32; #define d P2 /等精度頻率計(jì)的數(shù)據(jù)口#define Data P1 /液晶的數(shù)據(jù)口 char data Test1=" &qu
42、ot;char data TimeNum=" "void DelayUs(unsigned int us) unsigned int uscnt; uscnt=us>>1; while(-uscnt);void DelayMs(unsigned int ms) while(-ms) DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); /*液晶顯示程序*/void WriteCommand(unsigned char c) DelayMs(5); E=0; RS=0; RW=0; _nop_(); E=1
43、; Data=c; E=0;void WriteData(unsigned char c) DelayMs(5); E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0;void ShowChar(unsigned char pos,unsigned char c) unsigned char p; if (pos>=0x10) p=pos+0xb0; else p=pos+0x80; WriteCommand (p); WriteData (c); void ShowString (unsigned char line,char *ptr)
44、unsigned char l,i; l=line<<4; for (i=0;i<16;i+) ShowChar (l+,*(ptr+i);void InitLcd() WriteCommand(0x38); WriteCommand(0x38); WriteCommand(0x06); WriteCommand(0x0c); WriteCommand(0x01); void init()cl=0;clr=1;spul=1;DelayMs(2);clr=0;DelayMs(2);/*主程序*/void main(void)unsigned long b,t,s,n1,n2;I
45、nitLcd(); sprintf(Test1,"Qing Guang Ming "); /初始化界面顯示ShowString(0,Test1);sprintf(TimeNum,"Bi Ye She Ji ");ShowString(1,TimeNum); while(1) if(k3=0); /按鍵K3按下,測(cè)量頻率DelayMs(5);if(k3=0) init();cl=1;DelayMs(821);cl=0;while(start=1);sel2=0;sel1=1;sel0=1;b=d;sel2=0;sel1=1;sel0=0;b <<= 8;b=b+d;sel2=0;sel1=0;sel0=1;b<<=8;b=b+d;sel2=0;sel1=0;sel0=0;b<<=8;b=b+d;sel2=1;sel1=1;sel0=1;t=d;sel2=1;sel1=1;sel0=0;t<<=8;t=t+d;sel2=1;sel1=0;sel0=1;t<<=8;t=t+d;se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代制造園區(qū)的投資風(fēng)險(xiǎn)評(píng)估與管理
- 現(xiàn)代企業(yè)經(jīng)營(yíng)中的稅務(wù)籌劃與風(fēng)險(xiǎn)管理
- 2024年春九年級(jí)化學(xué)下冊(cè) 第10單元 酸和堿 實(shí)驗(yàn)活動(dòng)6 酸、堿的化學(xué)性質(zhì)說課稿 (新版)新人教版
- Unit7 第2課時(shí)(說課稿)Story time三年級(jí)英語上冊(cè)同步高效課堂系列(譯林版三起·2024秋)
- 2《紅燭》《致云雀》聯(lián)讀說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊(cè)
- 《4 做陽(yáng)光少年》(說課稿)-2023-2024學(xué)年五年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)皖教版
- 2025水運(yùn)工程施工監(jiān)理合同(試行)
- 2025企業(yè)聘用臨時(shí)工合同
- 2025鉆孔灌注樁施工合同
- 8 安全記心上(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治三年級(jí)上冊(cè)
- 城市隧道工程施工質(zhì)量驗(yàn)收規(guī)范
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024年參考題庫(kù)含答案解析
- 2025江蘇太倉(cāng)水務(wù)集團(tuán)招聘18人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- 2025脫貧攻堅(jiān)工作計(jì)劃
- 借款人解除合同通知書(2024年版)
- 《血小板及其功能》課件
- 江蘇省泰州市靖江市2024屆九年級(jí)下學(xué)期中考一模數(shù)學(xué)試卷(含答案)
- 沐足店長(zhǎng)合同范例
- 《旅游資料翻譯》課件
- 《既有軌道交通盾構(gòu)隧道結(jié)構(gòu)安全保護(hù)技術(shù)規(guī)程》
評(píng)論
0/150
提交評(píng)論