版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGEI2013~2014學(xué)年第一學(xué)期《專業(yè)綜合設(shè)計(jì)》課程設(shè)計(jì)報(bào)告題目:VGA顯示的多通道數(shù)字示波器班級:10電子信息(2)班姓名:許懷生張小東劉玉陳奇江陸子指導(dǎo)教師:崔雪英電氣工程系2013年11月《專業(yè)綜合設(shè)計(jì)》任務(wù)書課題名稱VGA顯示的多通道數(shù)字示波器指導(dǎo)教師崔雪英執(zhí)行時(shí)間2013~2014學(xué)年第一學(xué)期第11周學(xué)生姓名學(xué)號承擔(dān)任務(wù)評分劉玉1009121046理論分析與計(jì)算張小東1009121090硬件電路設(shè)計(jì)(AD采樣;轉(zhuǎn)換部分)許懷生100912108硬件電路設(shè)計(jì)(其他部分)陳奇1009121010軟件設(shè)計(jì)(軟件流程圖部分)江陸子論文撰寫,排版設(shè)計(jì)目的用FPGA平臺實(shí)現(xiàn)VGA顯示的多通道數(shù)字示波器設(shè)計(jì)要求(1)示波器實(shí)時(shí)采樣頻率為10MHz,A/D轉(zhuǎn)換精度為10bits。(2)模擬信號輸入電壓為-2.5V+2.5V,頻率為0-1MHz。(3)兩路數(shù)字信號輸入。數(shù)字信號低電平為0V,高電平為3.3V,頻率為0-1MHz。摘要本設(shè)計(jì)是基于sopc技術(shù)的VGA顯示數(shù)字存儲示波器。采用在FPGA內(nèi)嵌入32位軟核處理器MicroBlaze的SOPC技術(shù)為核心來構(gòu)建系統(tǒng),充分利用FPGA中的可編程邏緝器件資源構(gòu)成各部分?jǐn)?shù)字電路,處理器與eda技術(shù)相互補(bǔ)充,形成了整個(gè)基于VGA顯示的數(shù)字示波器的核心,完成高速數(shù)據(jù)采樣控制、數(shù)據(jù)處理及波形顯示等系統(tǒng)功能。設(shè)計(jì)分為模擬信號預(yù)處理電路、AD采樣電路、觸發(fā)電路、RAM存儲、Flash存儲、可調(diào)數(shù)字信號產(chǎn)生、MicroBlaze控制模塊、VGA顯示輸出與人機(jī)交互接口控制。設(shè)計(jì)中采用實(shí)時(shí)采樣,AD采樣后的數(shù)據(jù)經(jīng)過觸發(fā)電路,滿足觸發(fā)條件后送到RAM中,然后顯示在顯示器上,并能夠相應(yīng)按鍵存儲命令,實(shí)現(xiàn)波形數(shù)據(jù)的非易失性存儲。設(shè)計(jì)中發(fā)揮可編程邏輯器件和處理器各自優(yōu)勢,符合現(xiàn)代設(shè)計(jì)理念,滿足設(shè)計(jì)要求。關(guān)鍵詞:多通道,F(xiàn)PGA,數(shù)字示波器,10位AD,VGA顯示目錄TOC\o"1-3"\u《專業(yè)綜合設(shè)計(jì)》任務(wù)書 I摘要 II目錄 III第1章方案論證與設(shè)計(jì) 11.1設(shè)計(jì)思路 11.2方案論證與比較選擇 11.3系統(tǒng)總體方案分析 2第2章理論分析與計(jì)算 32.1實(shí)時(shí)采樣與等效采樣的選擇 32.2采樣速率分析 32.3垂直靈敏度分析 32.4掃描速率分析 42.5顯示分辯率分析 4第3章系統(tǒng)硬件設(shè)計(jì) 53.1信號調(diào)理電路 53.2模擬通道與AD采樣電路設(shè)計(jì) 53.3A/D轉(zhuǎn)換電路 63.4觸發(fā)電路設(shè)計(jì) 73.5FPGA部分硬件設(shè)計(jì) 73.5.1VGA顯示部分 83.5.2數(shù)字信號的產(chǎn)生模塊 83.5.3FLASH存儲部分 83.5.4鍵盤模塊 8第4章軟件部分設(shè)計(jì) 104.1軟件流程圖 104.2軟件組成 11第5章系統(tǒng)測試與結(jié)果分析 125.1測試儀器 125.2測試方法 125.3測試數(shù)據(jù) 125.4實(shí)際效果 135.5結(jié)果分析 13總結(jié) 14參考文獻(xiàn) 15附錄 16答辯記錄及評分表 22第1章方案論證與設(shè)計(jì)1.1設(shè)計(jì)思路本系統(tǒng)以Xilinx公司的FPGA芯片XC3S500E為控制核心,F(xiàn)GPA內(nèi)建雙緩沖機(jī)制的VGA顯示模塊,實(shí)現(xiàn)中文信息顯示和繪制波形的顏色控制。使用Verilog描述硬件控制A/D轉(zhuǎn)換器,存儲采樣數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理,簡化了硬件電路,提高穩(wěn)定性。輸入模擬信號系統(tǒng)通過4級級聯(lián)放大器,達(dá)到了所要求的帶寬和精度。使用硬件比較器達(dá)到單次觸發(fā),和存儲顯示功能和正負(fù)延時(shí)功能。選用存儲容量為8K的EEPROM芯片24C64作為手動存儲的存儲介質(zhì),實(shí)現(xiàn)掉電不丟失。另外通過軟件實(shí)現(xiàn)了自動選擇掃描速率和垂直量程的功能。輸入信號輸入信號AD采樣XilinxFPGAEXCD-1開發(fā)板觸發(fā)電路數(shù)字通道波形存儲VGA顯示器PS2鍵盤信號調(diào)理電路圖1系統(tǒng)框圖1.2方案論證與比較選擇數(shù)字存儲示波器系統(tǒng)由信號調(diào)理電路、觸發(fā)電路、A/D采樣、數(shù)字通道、數(shù)字信號產(chǎn)生電路、控制處理系統(tǒng)、鍵盤控制模塊、VGA顯示模塊等組成。方案一:由Verilog硬件描述語言完成全部邏輯控制功能,組成可編程片上系統(tǒng)。此方案優(yōu)點(diǎn)是處理速度快,不占用多余的片上資源。但是系統(tǒng)功能復(fù)雜,且控制、運(yùn)算量大,開發(fā)起來比較困難。方案二:采用EXCD-1開發(fā)板為控制核心,由Verilog硬件描述語言實(shí)現(xiàn)采樣頻率控制模塊、數(shù)據(jù)存儲控制模塊和VGA顯示,鍵盤人機(jī)交互模塊。嵌入MicroBlaze軟核作為主控制模塊,用來處理實(shí)時(shí)性要求低和復(fù)雜的運(yùn)算,并完成彩色通道顯示,中文界面顯示等。整個(gè)控制系統(tǒng)都集中在單個(gè)芯片上,大大簡化了外圍硬件電路設(shè)計(jì),增加了系統(tǒng)的穩(wěn)定性和可靠性。FPGA的高速性能比其他控制芯片更適合于高速數(shù)據(jù)采集和處理,而且使用FPGA內(nèi)部存儲模塊完成輸入信號的量化存儲,在存儲速度上有著外接RAM無法比擬的優(yōu)勢。方案選擇:綜上所述比較可知,方案二既可滿足題設(shè)基本要求又能充分發(fā)揮擴(kuò)展部分,電路簡單,易于控制,所以選擇方案二。1.3系統(tǒng)總體方案分析系統(tǒng)總體上利用Xilinx系統(tǒng)開發(fā)環(huán)境ISE,內(nèi)建AD采樣控制,鍵盤控制,VGA控制等多個(gè)模塊,并利用XPS將MicroBlaze微處理器嵌入到FPGA中,實(shí)現(xiàn)了可編程片上系統(tǒng)。MicroBlaze通過LBM總線訪問片上存儲模塊BlockRAM;通過OPB總線上掛接外設(shè)接口連接并進(jìn)行驅(qū)動。VGA顯示部分采用雙緩沖機(jī)制工作,在FPGA內(nèi)建GRAM,按照一定時(shí)序?qū)AM內(nèi)緩存數(shù)據(jù)映射到VGA顯示器上。通過這種機(jī)制,我們可以靈活地另外大跨度增益自動調(diào)節(jié)是程控增益放大電路設(shè)計(jì)的一個(gè)難點(diǎn),本系統(tǒng)通過4級級聯(lián)放大器,并合理地由軟件控制繼電器實(shí)現(xiàn)增益的步進(jìn),達(dá)到了要求的帶寬。第2章理論分析與計(jì)算2.1實(shí)時(shí)采樣與等效采樣的選擇通常采樣是按固定順序進(jìn)行,并且采樣順序與示波器屏幕上顯示的順序相同,這就是實(shí)時(shí)采樣,實(shí)時(shí)采樣技術(shù)的好處就是可以捕獲單個(gè)信號。題目給出AD的采樣速率為10M,當(dāng)檔位在1us/div,顯示器上選擇分辨率為40點(diǎn)/div,此時(shí)顯示器上每四個(gè)相鄰掃描點(diǎn)為相同的幅值,但被檢測信號的頻率范圍是在0—1MHz,即在最高頻率1MHZ時(shí),實(shí)時(shí)采樣可以在每周期采10個(gè)點(diǎn)以保證取到一個(gè)完整的信號波形。等效時(shí)間采樣又稱重復(fù)采樣,在滿足以下兩個(gè)條件時(shí):1.波形必需重復(fù);2必需穩(wěn)定觸發(fā),示波器可以從多個(gè)波形周期獲得波形不同點(diǎn)的采樣,然后在屏幕上完整恢復(fù)波形,它包含順序采樣和隨機(jī)重復(fù)采樣兩種技術(shù),其好處是可用很慢的模數(shù)轉(zhuǎn)換器。,且題目要求能檢測單次按鍵的波形,等效采樣不能完成非周期波形的采樣,故選用實(shí)時(shí)采樣方式。2.2采樣速率分析顯示波形的水平軸的調(diào)節(jié)通過采樣點(diǎn)的時(shí)間間隔的變化來調(diào)整,題目要求有1us/div,1ms/div,1s/div三個(gè)檔位,并且水平顯示分辨率為20點(diǎn)/div,因此對應(yīng)的采樣速率是25ns/點(diǎn)、25us/點(diǎn)、25ms/點(diǎn),當(dāng)顯示波形的水平分辨率為1us/div時(shí),能分辨的信號最高頻率為1MHZ,由奈圭斯特定理要求采樣速率至少為2MHZ才能使信號不失真;分辨率為1ms/div時(shí),可以分辨的信號最高頻率為1KHZ,采樣速率至少應(yīng)為2KHZ,同理分辨率為1s/div時(shí),采樣速率至少為2HZ。本設(shè)計(jì)中保持AD的采樣速率為10M,完全可以滿足實(shí)際需求。2.3垂直靈敏度分析設(shè)計(jì)要求垂直靈敏度分為10mv/div,100mv/div,1v/div三檔,我們的垂直刻度為8div。A/D轉(zhuǎn)換器的輸入信號電壓幅度為0~2V,當(dāng)示波器滿刻度顯示時(shí),被測信號的幅度將分別為:VI1=1V/div×8div=8V,VI2=0.1V/div×8div=0.8,VI3=10mv/div×8div=80mV。A/D轉(zhuǎn)換器的滿刻度輸入值為VMAX=4V,程控放大器電路的增益AN=VMAX/VIN,其中N=1、2、3,對應(yīng)于3擋不同垂直靈敏度的增益分別為:A1=2/8=0.25;A2=2/0.8=2.5;A3=2/0.08=25。我們進(jìn)一步提高了參數(shù),增加了250倍檔,1mv刻度。2.4掃描速率分析A/D的轉(zhuǎn)換速率取決于被測信號的頻率范圍,或DSO對掃描速度的要求,設(shè)計(jì)要求掃描速度含1ms/div、1μs/div、1s/div三擋,我們通過FPGA內(nèi)建分頻電路實(shí)現(xiàn)了最高采樣率16MSa/s,每10倍頻步進(jìn),共六檔,增加了該示波器的實(shí)用性。水平顯示分辨率為64點(diǎn)/div,以保證顯示波形清晰穩(wěn)定。2.5顯示分辯率分析顯示波形的垂直分辨率:顯示RAM中的數(shù)據(jù)為12位,其中模擬信號經(jīng)AD后的值為10位,兩路數(shù)字信號的值各占1位,,要求中有垂直分辨率為10mv/div,100mv/div,1v/div,垂直刻度為8div。A/D轉(zhuǎn)換器的輸入信號電壓幅度為0~5v,當(dāng)示波器滿刻度顯示時(shí),被測信號的幅度將分別為:VI1=1V/div×8div=8V,VI2=0.1V/div×8div=0.8v,VI3=0.01v/div×8div=0.08V。A/D轉(zhuǎn)換器的滿刻度輸入值為VMAX=5V<8v,根據(jù)題目要求通過外部輸入來信號來改變分辨率以適應(yīng)不同精度。將AD采樣的值和數(shù)字信號的值據(jù)當(dāng)前檔位進(jìn)行計(jì)數(shù)存儲,即1us/div時(shí)每10個(gè)點(diǎn)保存一個(gè),1ms/div時(shí)每10000個(gè)點(diǎn)保存一個(gè),1s/div時(shí)每采樣10000000個(gè)點(diǎn)保存一個(gè)。第3章系統(tǒng)硬件設(shè)計(jì)在Xilinx的EXC1控制板的基礎(chǔ)上,為實(shí)現(xiàn)系統(tǒng)功能,所設(shè)計(jì)的外圍硬件電路主要包括:電源電路、信號調(diào)理電路、A/D轉(zhuǎn)換電路、觸發(fā)電路、及鍵盤接口電路。下面只敘述其主要功能實(shí)現(xiàn)部分。3.1信號調(diào)理電路由于模擬信號輸入為±2.5V,而所用A/D有效輸入為2Vp-p,因此需要輸入信號進(jìn)行比例縮小,因此需要設(shè)計(jì)一個(gè)比例運(yùn)算電路。本設(shè)計(jì)采用了高速放大器AD826來實(shí)現(xiàn)這一功能。AD826可以作為出色的ADC/DAC緩沖器或有源濾波器用于數(shù)據(jù)采集系統(tǒng)中,0.01%建立時(shí)間為70ns,最大輸入失調(diào)電壓低至2mV。利用AD826來搭建一個(gè)反向比例運(yùn)算電較路,其運(yùn)算公式為:根據(jù)設(shè)計(jì)要求,取Rf=1K?,R1=2.5Rf=2.5K?,Rp=R1∥Rf=0-71K?。為了保證信號顯示與輸入信號同相,再采用AD826搭建反相器,將輸出信號接入到后面的AD876中進(jìn)行采樣轉(zhuǎn)換。信號調(diào)理原理圖3.2模擬通道與AD采樣電路設(shè)計(jì)此部分由于貼片元件多,抗干擾等要求苛刻,因而自己繪制了PCB。模擬部分由AD采樣部分,程控放大部分,電源部分等構(gòu)成。AD采樣電路圖程控放大器的作用是對輸入信號進(jìn)行衰減或放大調(diào)整,使輸出信號電壓在AD轉(zhuǎn)換器輸入電壓要求范圍內(nèi)。信號從探頭輸入,進(jìn)入程控放大(衰減)電路進(jìn)行放大(衰減),再對被放大(衰減)的信號進(jìn)行電平抬高后送入高速AD轉(zhuǎn)換器對信號進(jìn)行采樣,采樣所得的數(shù)據(jù)存入FPGA內(nèi)建的存儲器中。時(shí)鐘引出插針。由FPGA為高速AD轉(zhuǎn)換器提供從32Hz-16MHz的6種不同的頻率信號作為不同水平掃速時(shí)的采樣時(shí)鐘頻率。從程控放大器輸出的信號送入AD轉(zhuǎn)換器。在本電路中選用的是精密運(yùn)算放大器OPA4727和高速AD8012,合理的搭配兩種運(yùn)放來設(shè)計(jì)電路,互補(bǔ)優(yōu)劣,使系統(tǒng)既達(dá)到了高精度和高帶寬,又大大節(jié)約了設(shè)計(jì)成本。我們選用10bit,65MSa/s,的ADC10065.達(dá)到了采樣率和精度的要求。3.3A/D轉(zhuǎn)換電路AD876是一款CMOS、160mW、10位、20MSPS模數(shù)轉(zhuǎn)換器(ADC),內(nèi)置一個(gè)片內(nèi)輸入采樣保持放大器。它采用多級流水線架構(gòu),內(nèi)置輸出糾錯邏輯,可提供精確的性能,并保證在整個(gè)工作溫度范圍內(nèi)無失碼。參考輸入的驅(qū)動和檢測連接將外部壓降降至最低??梢詫D876置于待機(jī)工作模式,此時(shí)功耗降至50mW以下。模擬輸入端接受2Vp-p值范圍內(nèi)胡信號,數(shù)字I/O接口支持+5V或+3.3V邏輯??梢詫?shù)字輸出引腳置于高阻態(tài);輸出格式為標(biāo)準(zhǔn)二進(jìn)制編碼。A/D轉(zhuǎn)換模塊原理圖3.4觸發(fā)電路設(shè)計(jì)數(shù)字存儲示波器中觸發(fā)電路的作用是:在滿足觸發(fā)條件時(shí)開始對采集的數(shù)據(jù)按規(guī)定的起點(diǎn)地址進(jìn)行存儲和顯示。觸發(fā)電路如圖所示。電阻R2、R3用于調(diào)節(jié)或選擇觸發(fā)電平,分別為和20KW,后者為可調(diào)電位器,可以在0~5V范圍內(nèi)任意選擇觸發(fā)電平。觸發(fā)電路原理圖3.5FPGA部分硬件設(shè)計(jì)頂層模塊包括例化的8個(gè)子模塊。1.AD采樣時(shí)鐘產(chǎn)生模塊Modulead_clk_gen。2.AD與fifo控制模塊Modulefifo_control(核心控制模塊,作用為AD與fifo讀寫控制和Uart發(fā)送控制)。3.VGA顯示模塊vga_drv與GRAM模塊。4.鍵盤輸入模塊。5.鎖相環(huán)倍頻模塊。6.緩存采樣數(shù)據(jù)的雙口RAM模塊。下面對有關(guān)部分進(jìn)行說明:3.5.1VGA顯示部分該模塊使用雙緩沖機(jī)制,軟核MicroBlaze通過讀寫顯存來控制VGA顯示。考慮VGA顯示部分要求至少有三種顏色,我們使用2bit數(shù)據(jù)表示一個(gè)點(diǎn),可以完成4色顯示,可以對不同通道使用不同顏色加以區(qū)分。網(wǎng)格與水平標(biāo)度軸由硬件實(shí)現(xiàn),CPU通過接口方便地進(jìn)行訪問,充分利用了SOPC的優(yōu)勢。GRAM位寬32bit,大大提高了FPGA刷屏的速度。vga_drv與GRAM對內(nèi)嵌的MCU設(shè)計(jì)成為BlackBox,MCU只需向相應(yīng)地址發(fā)送合適數(shù)據(jù)即可顯示想要的波形。經(jīng)實(shí)踐證明該方案可穩(wěn)定地顯示多種顏色和中文信息。3.5.2數(shù)字信號的產(chǎn)生模塊在FPGA內(nèi)建比較器,使用一個(gè)表示信號平均值的數(shù)據(jù)與AD采樣得來的數(shù)據(jù)進(jìn)行比較得到同頻同相的A路信號,再經(jīng)由A信號觸發(fā)計(jì)數(shù)器,經(jīng)過合理設(shè)置計(jì)數(shù)脈沖,得到有45°延時(shí),占空比25%的B路信號。表示信號平均值的數(shù)據(jù)由MicroBlaze測量信號提供。3.5.3FLASH存儲部分由于要求掉電不丟失,因此我們使用開發(fā)板上的一塊AMD的型號為AM29LV160DB的FLASH存儲器,當(dāng)按下存儲健后,F(xiàn)LASH把RAM中的數(shù)據(jù)寫到FLASH中,根據(jù)資料中的讀寫時(shí)序圖,使用狀態(tài)機(jī)實(shí)現(xiàn)這個(gè)過程,當(dāng)按下回顯的按鍵時(shí)將FLASH中的數(shù)據(jù)讀回圖像顯示RAM,再顯示出來。3.5.4鍵盤模塊鍵盤采用PS2鍵盤,,用FPGA作PS2鍵盤的控制器,在FPGA中嵌入相應(yīng)的功能模塊,充分利用了FPGA的內(nèi)部資源,增加了系統(tǒng)的可靠性和靈活性。鍵盤電路第4章軟件部分設(shè)計(jì)4.1軟件流程圖系統(tǒng)程序流程圖開始開始上電初始化進(jìn)入主循環(huán)啟動AD采樣等待數(shù)據(jù)處理完與雙口RAM交換數(shù)據(jù)測量,畫波形及相應(yīng)信息顯示讀取按鍵值有按鍵觸發(fā)電平調(diào)節(jié)RUN/STOP存儲功能measure響應(yīng)用戶其他操作4.2軟件組成本系統(tǒng)的軟件部分包括AD采集控制,水平分辨率控制,垂直分辨率設(shè)置,多個(gè)顏色的波形畫線函數(shù),測量功能,自動功能,存儲與回放,存儲顯示狀態(tài)控制,通道選擇控制,用戶界面實(shí)現(xiàn)等。由于系統(tǒng)充分利用了SOPC的優(yōu)勢,將大部分工作交由硬件完成,從而大大簡化了系統(tǒng)的軟件設(shè)計(jì)。第5章系統(tǒng)測試與結(jié)果分析5.1測試儀器DS1102E數(shù)字示波器1臺,EE1641D函數(shù)信號發(fā)生器1臺,數(shù)字萬用表15.2測試方法用標(biāo)準(zhǔn)數(shù)字示波器和本設(shè)計(jì)示波器并聯(lián)測量同一信號的幅度和周期,測量所得數(shù)據(jù)分別記為Vi/Vo,T1/T2。5.3測試數(shù)據(jù)表1.垂直靈敏度測試檔位輸入Vi/V輸出Vo/V誤差=|Vo-Vi|/Vi×100%1V/div2.50V2.47V1.25%1.00V0.97V3.0%100mv/div300mV297mV1.0%100mV98mV2.0%10mv/div30.0mV31.0mV3.3%10.0mV10.3mV3.0%表2掃描速率測試檔位輸入f1輸出f2誤差=|f1-f2|/f1×100%1s/div5.00Hz5.09Hz4.5%15.00Hz15.33Hz1.2%1ms/div220Hz218Hz1.0%660Hz663Hz0.45%1us/div220KHz224KHz1.8%660KHz643KHz2.6%表3數(shù)字通道測試檔位輸入f1輸出f2誤差=|f1-f2|/f1×100%1s/div5.00Hz5.04Hz0.8%15.00Hz15.30Hz2.0%1ms/div220Hz216Hz1.8%660Hz665Hz0.75%1us/div220KHz217KHz1.3%660KHz664KHz0.6%由表中數(shù)據(jù)知,測量結(jié)果都在測量誤差允許范圍內(nèi),滿足題目要求的誤差≤5%。5.4實(shí)際效果圖2實(shí)際顯示效果圖5.5結(jié)果分析本設(shè)計(jì)完成了題目所要求的各項(xiàng)基本指標(biāo),并達(dá)到了全部的發(fā)揮部分要求。實(shí)現(xiàn)了實(shí)時(shí)顯示和存儲多通道顯示,自行產(chǎn)生兩路數(shù)字信號,且A路數(shù)字信號與輸入模擬信號同頻同相,中文提示時(shí)間、幅度刻度和通道顏色,圖像左右平移,存儲顯示的正負(fù)延時(shí)。很好地完成了設(shè)計(jì)任務(wù)??偨Y(jié)本設(shè)計(jì)以EXCD-1開發(fā)板為控制核心,實(shí)現(xiàn)了多通道VGA顯示的數(shù)字存儲示波器。通過測試,系統(tǒng)不但完成了基本要求,也完成了發(fā)揮部分的要求。在設(shè)計(jì)制作過程中遇到了不少難題,但經(jīng)過幾天的不懈努力,經(jīng)過一次次的測試和改,最終圓滿完成了設(shè)計(jì)任務(wù)。參考文獻(xiàn)[1]李輝.基于FPGA的數(shù)字系統(tǒng)設(shè)計(jì).[M]西安電子科技大學(xué)出版社[2]黃智偉.全國大學(xué)生電子設(shè)計(jì)競賽技能訓(xùn)練.[M]北京航空航天大學(xué)出版社[3]何賓.xilinx可編程邏輯器件技術(shù)詳解.[M]清華大學(xué)出版社[4]夏宇聞verilog數(shù)字系統(tǒng)設(shè)計(jì)教程北京北京航空航天大學(xué)出版社,2003[5]孫航XIlinx可編程邏輯器件的高級應(yīng)用與設(shè)計(jì)技巧,北京,電子工業(yè)出版社,2004附錄主要程序1、############################CreatedbyBaseSystemBuilderWizardforXilinxEDK10.1.03BuildEDK_K_SP3.6#SunSep1922:50:272010#TargetBoard:HepHepEXCD2-500BoardRevC#Family:spartan3e#Device:XC3S500E#Package:PQ208#SpeedGrade:-4#Processor:microblaze_0#Systemclockfrequency:50.00MHz#OnChipMemory:8KB#TotalOffChipMemory:1MB#-RAM=1MB###############################################################################2、戶的按鍵做出響應(yīng)程序部分/************************************************///Locatedin:microblaze_0/include/xparameters.h#include"xgpio_l.h"#include"xparameters.h"#include"xgpio.h"#include"xbasic_types.hXGpiokey,output;volatileu32out_put;//xxxxxxxxxxxxxxxxxxxx共18位//波形左移波形右移標(biāo)尺左移/右移暫停/繼續(xù)開顯示/顯示時(shí)間尺度幅值單位數(shù)字信號頻率調(diào)節(jié)存儲回放多道顯示選擇 volatileu8h_scale,v_scale,trig,disp,channel,mov; volatileu8freq,vga_on_off,pause_run,,cursor_left.cursor_right;////////////////////////////////////////////////////////////////////////函數(shù)名:delayusdelayms//功能描述:延時(shí)2us1ms//參數(shù):Xuint16delay//返回值:void/////////////////////////////////////////////////////////////////////////staticvoiddelayus(Xuint16delay){volatileXuint16i,j;for(i=0;i<delay;i++) for(j=0;j<10;j++) ;}staticvoiddelayms(Xuint16delay){volatileXuint16i,j;for(i=0;i<delay;i++)for(j=0;j<3785;j++);}/*************************************************Function:key_scan()3、scription:掃描鍵盤并返回鍵值Calls:nonoCalledBy:mainTableAccessed:TableUpdated:/Input:/。Output:Return:按鍵值Others:*************************************************/Xuint8key_scan(){Xuint8value;Xuint8temp,sccode,recode; pio_SetDataDirection(&key,1,0x00);//設(shè)置為輸出 //P1=0xf0;XGpio_DiscreteWrite(&key,1,0xf0);//輸出0xf0delayus(1);XGpio_SetDataDirection(&key,1,0xf0);//設(shè)置為輸入if((XGpio_DiscreteRead(&key,1)&0xf0)!=0xf0)//若讀回值不是0xf0{delayms(5);if((XGpio_DiscreteRead(&key,1)&0xf0)!=0xf0){//P1=0xf0; XGpio_SetDataDirection(&key,1,0x00);//設(shè)置為輸出XGpio_DiscreteWrite(&key,1,0xf0);//輸出0xf0 //temp=P1;XGpio_SetDataDirection(&key,1,0xf0);//設(shè)置為輸入temp=XGpio_DiscreteRead(&key,1);//讀回值 sccode=temp&0xf0;//取高四位//P1=0x0f;XGpio_SetDataDirection(&key,1,0x00);//設(shè)置為輸出 XGpio_DiscreteWrite(&key,1,0x0f);//輸出0x0f //temp=P1; XGpio_SetDataDirection(&key,1,0x0f);//設(shè)置為輸入temp=XGpio_DiscreteRead(&key,1);//讀回值 recode=temp&0x0f;//取低四位temp=sccode|recode; //xil_printf("temp:%x\r\n",temp);switch(temp) {case0xEE:value=0;break;case0xDE:value=1;break;case0xBE:value=2;break;case0x7E:value=3;break;case0xED:value=4;break;case0xDD:value=5;break;case0xBD:value=6;break;case0x7D:value=7;break;case0xEB:value=8;break;case0xDB:value=9;break;case0xBB:value=10;break;case0x7B:value=11;break;case0xE7:value=12;break;case0xD7:value=13;break;case0xB7:value=14;break;case0x77:value=15;break; default:value=16;break; } }elsevalue=16; } elsevalue=16; return(value); }intmain(void){ u16result; XGpio_Initialize(&key,XPAR_KEYBOARD_DEVICE_ID);//初始化鍵盤接口 XGpio_Initialize(&output,XPAR_OUTPUT_DEVICE_ID);//初始化輸出接口/* XGpio_SetDataDirection(&output,1,0x0); while(1){if((result=key_scan())!=16) { xil_printf("pressbutton%d\r\n",result); switch(result) { case0://VGA顯示的開關(guān)if(vga_on_off)vga_on_off=0;elsevga_on_off=1;out_put=out_put&ox3bfff(vga_on_off<<14);while(key_scan()==result);break; case1://調(diào)節(jié)水平顯示的時(shí)間單位 ++h_scale; if(h_scale==3) h_scale=0; out_put=out_put&0x3cfff|(h_scale<<12); while(key_scan()==result); xil_printf("h_scale%d\r\n",h_scale); break; case2://調(diào)節(jié)垂直顯示幅度單位++v_scale; if(v_scale==3)v_scale=0; out_put=out_put&0x3f xil_printf("v_scale%d\r\n",v_scale); while(key_scan()==result); break; case3://增加數(shù)字信號的頻率 ++freq; if(freq==11)freq=0; out_put=out_put&0x3fc3f|(freq<<6);s xil_printf("frequp%d\r\n",freq); while(key_scan()==result); break; case4://減小數(shù)字信號的頻率 if(freq==0)freq=11; --freq; out_put=out_put&0x3fc3f|(freq<<6); xil_printf("freqdown%d\r\n",freq); while(key_scan()==result); break; case5://存儲波形trig=1; out_put=out_put&0x3ffdf|(trig<<5); xil_printf("storage\r\n"); while(key_scan()==result); break;case6://回放波形 disp=1; out_put=out_put&0x3ffef|(disp<<4); xil_printf("storagedisplay\r\n"); while(key_scan()==result); break; case7://通道選擇 ++channel; if(channel==3) channel=0; out_put=out_put&0x3fff3|(channel<<2); xil_printf("channelchoose%d\r\n",channel); while(key_scan()==result); break;case8://左移m
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 溝通與協(xié)調(diào)打造和諧職場環(huán)境
- 生態(tài)建筑引領(lǐng)未來商業(yè)趨勢
- 現(xiàn)代科技在股票市場分析中的應(yīng)用
- 校園餐飲消費(fèi)大數(shù)據(jù)洞察學(xué)生消費(fèi)習(xí)慣
- 2024年八年級生物下冊 6.2.1遺傳說課稿 (新版)冀教版
- 2024年八年級物理下冊 8.1認(rèn)識壓強(qiáng)說課稿 (新版)粵教滬版
- 14《普羅米修斯》(說課稿)2024-2025學(xué)年-統(tǒng)編版語文四年級上冊
- 2024年五年級數(shù)學(xué)下冊 五 分?jǐn)?shù)除法練習(xí)五說課稿 北師大版
- 2024-2025學(xué)年高中歷史 專題1 中國傳統(tǒng)文化主流思想的演變 3 宋明理學(xué)說課稿 人民版必修3
- 2024-2025學(xué)年八年級物理下冊 第十章 從粒子到宇宙 10.1 認(rèn)識分子說課稿 (新版)粵教滬版
- 冀教版小學(xué)英語六年級下冊全冊教案
- 2024人工智能開源大模型生態(tài)體系研究報(bào)告
- 2024年中考語文復(fù)習(xí)分類必刷:非連續(xù)性文本閱讀(含答案解析)
- 緊密型縣域醫(yī)療衛(wèi)生共同體慢病管理中心運(yùn)行指南試行等15個(gè)指南
- YYT 0681.11-2014 無菌醫(yī)療器械包裝試驗(yàn)方法 第11部分:目力檢測醫(yī)用包裝密封完整性
- 遼寧省沈陽市第七中學(xué)2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題
- 2024年湖南工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 快速入門穿越機(jī)-讓你迅速懂穿越機(jī)
- 水利安全生產(chǎn)風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”右江模式經(jīng)驗(yàn)分享
- 2024年四川省成都市高新區(qū)中考數(shù)學(xué)二診試卷
- 幼兒園衛(wèi)生保健開學(xué)培訓(xùn)
評論
0/150
提交評論