




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、zisioow潴審弟務(wù)號(hào)滲廉甲$爭(zhēng)滲碧草sqq賣膾目的賣臉要求dds工作原理田、 軼硬件平臺(tái)簡(jiǎn)介五、方秦役計(jì)六、fpga糸統(tǒng)的棧塊設(shè)計(jì)七、單片機(jī)糸統(tǒng)程序設(shè)計(jì)附錄1 浮點(diǎn)子程序設(shè)計(jì)附錄2 子程序接口說(shuō)朗附錄3 cpu擴(kuò)展板使用說(shuō)朗附錄4lm6101型eda綜合賣驗(yàn)糸統(tǒng)原理圖一、實(shí)驗(yàn)?zāi)康?. 掌握單片機(jī)開發(fā)和cpld設(shè)計(jì)及其綜合運(yùn)用技術(shù);2. 掌握dds的工作原理及其硬件實(shí)現(xiàn)方法和過程;3. 掌握口頂向下的設(shè)計(jì)思想和模塊化的設(shè)計(jì)方法。二、實(shí)驗(yàn)要求技術(shù)要求:1. 至少能產(chǎn)生如下信號(hào)類型:正弦波、方波、三角波;2. 輸出信號(hào)頻率范圍:1hz20khz,步進(jìn)1hz,頻率偏移小t 5%;3. 輸出頻率可預(yù)
2、置并山鍵盤輸入;4. 用數(shù)碼管顯示輸出頻率。工作要求:1. 硬件部分要求用mcu和fpga來(lái)實(shí)現(xiàn);2. 軟件部分fpga要求用原理圖或vhdl (verilog)設(shè)計(jì)實(shí)現(xiàn),mcu耍求用c51實(shí)現(xiàn);3. 設(shè)計(jì)時(shí)要充分考慮系統(tǒng)的可兼容性及可擴(kuò)展性。三、dds工作原理3. 1 dds基本原理dds的理論依據(jù)是奈奎斯特抽樣定理。根據(jù)該定理,對(duì)于任意一個(gè)頻率帶寬為f的連 續(xù)信號(hào)f(t),可以用一系列離散取樣值/(r),/(r±n/(r±2t),-來(lái)表示,對(duì)于一個(gè)周期正 弦波連續(xù)信號(hào),可以沿其相位軸方向,以等量的相位間隔對(duì)其進(jìn)行相位/幅度抽樣,得到一 個(gè)周期性的正弦信號(hào)的離散相位的幅度
3、序列,并對(duì)模擬幅度進(jìn)行量化,量化后的幅值采用相 應(yīng)的二進(jìn)制數(shù)據(jù)編碼,只要取樣點(diǎn)的時(shí)間間隔t小于1/2f,這樣的表示就是完整的,包含 了連續(xù)信號(hào)f(t)的全部信息。這樣就把一個(gè)周期的正弦波連續(xù)信號(hào)轉(zhuǎn)換成為一系列離散的二 進(jìn)制數(shù)字量,然后通過一定的手段固化在只讀存儲(chǔ)器rom中,每個(gè)存儲(chǔ)單元的地址即是相 位取樣地址,存儲(chǔ)單元的內(nèi)容是已經(jīng)量化的正弦波幅值。這樣的一個(gè)只讀存儲(chǔ)器就構(gòu)成了一 個(gè)與2兀周期內(nèi)相位取樣相對(duì)應(yīng)的正弦函數(shù)表,因它存儲(chǔ)的是一個(gè)周期的正眩波波形幅值, 因此乂稱其為正弦波形存儲(chǔ)器。對(duì)于一個(gè)連續(xù)的正弦波信號(hào),其角頻率3可以川相位斜率4 4>/at表示。當(dāng)角頻率3為定值時(shí),其相位斜率
4、e仏t也是一個(gè)確定值。此時(shí),正弦波信 號(hào)的相位與時(shí)間成線性關(guān)系,即e = 根據(jù)這一基本關(guān)系,在一定頻率的時(shí)鐘信號(hào)作用 下,通過一個(gè)線性的計(jì)數(shù)時(shí)序發(fā)牛器所產(chǎn)牛的取樣地址對(duì)已得到的正弦波波形存儲(chǔ)器進(jìn)行掃 描,進(jìn)而周期性地讀取波形存儲(chǔ)器屮地?cái)?shù)據(jù),其輸岀通過數(shù)模轉(zhuǎn)換器及低通濾波器就可以合 成一個(gè)完整的、具有一定頻率的止弦波信號(hào)。3.2 dds基本組成dos的基木組成框圖如圖1所示。它主要由標(biāo)準(zhǔn)參考頻率源、相位累加器、波形心儲(chǔ)器、 數(shù)模轉(zhuǎn)換器、低通平滑濾波器構(gòu)成。clk圖1dds原理圖在時(shí)鐘脈沖的控制下,頻率控制字mrh累加器得到相應(yīng)的相碼,相碼尋址波形存儲(chǔ)器進(jìn) 行相碼一幅碼變換輸出不同的幅度編碼,再經(jīng)
5、過數(shù)模變換器得到相應(yīng)的階梯波,最后經(jīng)低通 濾波器對(duì)階梯波進(jìn)行平滑處理,即得到rh頻率控制字m決定的連續(xù)變化的輸出波形。其中, 參考頻率源一般是一個(gè)高穩(wěn)定的晶體振蕩器,其輸出信號(hào)用于dds小各部件同步工作。因此, dds輸出的合成信號(hào)頻率穩(wěn)定度與晶體振蕩器是一樣的。相位累加器是實(shí)現(xiàn)dds的核心,如圖12所示。它山一個(gè)n位字長(zhǎng)的二進(jìn)制加法器和 一個(gè)由固定時(shí)鐘脈沖取樣的n位寄存器組成。相位寄存器的輸出與加法器的一個(gè)輸入端在內(nèi) 部相連,加法器的另一個(gè)是外部輸入的頻率控制字mo這樣,在每一個(gè)時(shí)鐘脈沖到達(dá)時(shí), 相位寄存器采樣上個(gè)時(shí)鐘周期內(nèi)相位累加器的值與頻率控制字m z和,并作為相位累加器在 這一時(shí)鐘周期
6、的輸出。輸出fc當(dāng)頻率合成器止常工作時(shí),在標(biāo)準(zhǔn)頻率參考源地控制下(頻率控制字m決定了和應(yīng)的相 位增量),相位累加器則不斷地對(duì)該相位增量進(jìn)行線性累加,當(dāng)相位累加器積滿量時(shí)就會(huì)產(chǎn) 生一次溢出,從而完成一個(gè)周期性的動(dòng)作,這個(gè)動(dòng)作周期即是dds合成信號(hào)的一個(gè)頻率周期。3. 3參數(shù)選擇原理及方案分析dds技術(shù)在本質(zhì)上,是實(shí)現(xiàn)了一個(gè)數(shù)字分頻器的功能,它的頻率精度是山相位累加器的 比特?cái)?shù)決定的,即輸入的參考頻率除以2、就決定了 dds所能夠?qū)崿F(xiàn)的頻率精度。輸出信號(hào)波形的頻率:fout =mfe/2n頻率分辨率:fmin=fe/2n式中:/刎為輸出信號(hào)頻率;/min為輸出信號(hào)分辨率;m為頻率控制字;n為相位累
7、 加器字長(zhǎng);力為標(biāo)準(zhǔn)參考頻率源工作頻率。由上式可知,dds輸出信號(hào)的頻率主要取決于 頻率控制字m,相位累加器字長(zhǎng)n決定dds的頻率分辨率。當(dāng)m增人時(shí),/切可以不斷 地提高,山抽樣定理,最高輸出頻率不得大于/(./2,但工作輸出頻率達(dá)40%力時(shí),輸出 波形的相位抖動(dòng)就很人。根據(jù)實(shí)踐所得,實(shí)際工作時(shí)輸出頻率小于fc /3較為合適。同時(shí)當(dāng) n增大時(shí),dds輸出頻率的分辨率也越精細(xì)。四、軟硬件平臺(tái)簡(jiǎn)介本章將主要介紹設(shè)計(jì)平臺(tái),包括maxplus tt, lca51和altera fpga, adek51仿真機(jī)。4. 1軟件平臺(tái)介紹4. 1. 1 altera maxplus iialtera公司的max
8、plus 11開發(fā)系統(tǒng)是一個(gè)完全集成化、易學(xué)易川的可編程邏輯設(shè)計(jì) 環(huán)境,它可以在多種平臺(tái)上運(yùn)行omaxplus 是multiple array matri x and programmable 1 ogi c user system的縮寫,目前已發(fā)行到了 10. 0版本。它所提供的靈活性和高效性是無(wú)可比擬 的。其豐富的圖形界而,輔之以完整的、可即時(shí)訪問的在線文檔,是設(shè)計(jì)人員能夠輕松、愉 快的掌握和使用maxplus ii軟件。maxplus h開發(fā)系統(tǒng)有許多特點(diǎn)。1. 開放的界而altera的工作與eda廠家緊密的結(jié)合,使maxplus ii軟件可與其它工業(yè)標(biāo)準(zhǔn)的設(shè)計(jì)輸 入、綜合與校驗(yàn)工具相連
9、接。設(shè)計(jì)人員可以使用altera或標(biāo)準(zhǔn)eda設(shè)計(jì)輸入工具來(lái)建立邏 輯設(shè)計(jì),使用maxplus t t編譯器(compiler)對(duì)altera器件設(shè)計(jì)進(jìn)行編譯,并使用altera 或其它eda校驗(yàn)工具進(jìn)行器件或板級(jí)仿真。目前,皿xplus ii支持與cadence > exemplarlogic> mentor graphics、synopsys、synplici ty> view logic 和其它公司所提供 的edat具的接口。2. 與結(jié)構(gòu)無(wú)關(guān)maxplus ii 系統(tǒng)的核心 compiler 支持 altera 公司的 aecx ik, flex 10k, flex 80
10、00, flex6000, max9000, max7000, max5000 >fll classic 可編程邏輯器件系列,提供了業(yè)界唯一 真正與結(jié)構(gòu)無(wú)關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。maxplus 11的編譯器還提供了強(qiáng)人的邏輯綜合與 優(yōu)化功能,使川戶比較容易的將其設(shè)計(jì)集成到器件屮。3. 多平臺(tái)maxplus 11 軟件可在基于 486,購(gòu) pc 機(jī)的 window nt 3. 51 或 4. 0, windows 95, windows 98 下運(yùn)行,也可在 sun spac station, iip 9000 series 700/800 和 ibm risc system /6000
11、工作站上運(yùn)行。4. 完全集成化maxplus 11的設(shè)計(jì)輸入、處理與校驗(yàn)功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加 快動(dòng)態(tài)調(diào)試,縮短開發(fā)周期。5. 豐富的設(shè)計(jì)庫(kù)maxplus ii提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括74系列的全部器件和多種特殊 的邏輯宏功能(macro-function)以及新型的參數(shù)化的兆功能(mage-function)0調(diào)用庫(kù)單 元進(jìn)行設(shè)計(jì),可以大大減輕設(shè)計(jì)人員的工作量,也可以成倍的縮短設(shè)計(jì)周期。6. 模塊化工具設(shè)計(jì)人員可以從各種設(shè)計(jì)輸入、處理和校驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計(jì)環(huán)境用戶化,必 要時(shí),還可根據(jù)需要添加新功能。由于maxplus tt支持各種器件系列,設(shè)計(jì)人員
12、不必學(xué)習(xí) 新工具即可支持新結(jié)構(gòu)。7. 硬件描述語(yǔ)言(hdl)maxplus 11軟件支持各種hdl設(shè)計(jì)輸入選項(xiàng),包括vhdl. verilog hdl和altera自己 的硬件描述語(yǔ)言ahdlo& megacore 功能megacore功能是為復(fù)雜的系統(tǒng)及功能提供的,經(jīng)過校驗(yàn)的hdl網(wǎng)表文件,它能使flex 10k, flex 8000, flex6000, max9000和max7000器件系列實(shí)現(xiàn)最優(yōu)化的設(shè)計(jì)。充分利用這 些megacore功能會(huì)使設(shè)計(jì)人員的設(shè)計(jì)任務(wù)人人減輕,可把更多的粘力投入到改進(jìn)各種設(shè)計(jì) 和最終的產(chǎn)品上。9. op encore 特性maxplus h軟件具有開
13、放核的特點(diǎn),它允許設(shè)計(jì)人員添加自己認(rèn)為有價(jià)值的宏函數(shù)。除了上述特點(diǎn)外,目前應(yīng)用最廣泛的maxplus 11 10. 0版還增強(qiáng)了寄存設(shè)計(jì)性能,減少 了編譯時(shí)間,提高t altera的vhdl和veri log hdl合成工具的效果,大大提高了設(shè)計(jì)人員 的效率。4.1.2 lca51 (win9x 版本)lca51軟件是aedk系列仿真機(jī)的調(diào)試軟件。軟件支持aedk所有系列的5 1類仿真機(jī)。 lca51軟件是基于windows95/98操作平臺(tái)的多窗口編輯、調(diào)試軟件。軟件對(duì)使用兩種界血 方式。在高級(jí)用戶界面方式,支持用戶定制界面,包括菜單、工具欄、熱鍵等。用戶可以按 個(gè)人習(xí)慣改變工作界而。軟件采
14、用多窗口和船塢化窗口相結(jié)合的標(biāo)準(zhǔn)調(diào)試界而方式。lca51軟件全而支持匯編語(yǔ)言,c51語(yǔ)言,pl/m51語(yǔ)言的編譯、連接、調(diào)試。軟件支持 單文件方式和工程化管理兩種模式。用戶可自定義各種語(yǔ)言的關(guān)鍵詞。軟件完全支持源語(yǔ)句 級(jí)在線調(diào)試。髙級(jí)語(yǔ)言還支持源文件調(diào)試和匯編語(yǔ)言指令行對(duì)照調(diào)試,用戶可同時(shí)打開多個(gè) 窗體編輯、調(diào)試、變量觀察。用戶可在線對(duì)源文件宜接編輯、編譯、連接、加載和調(diào)試,軟 件支持編譯錯(cuò)課源文件定位。調(diào)試時(shí)川戶可動(dòng)態(tài)觀察、修改設(shè)定變量(包押icpu片內(nèi)寄存器、 特殊寄存器及外部寄存器、內(nèi)存)的值。lca51軟件是集編輯、編譯/連接、加載、調(diào)試等為一體的集成開發(fā)環(huán)境。用戶可以在 同一界面環(huán)境
15、中完成所有任務(wù)。編輯窗口lca51提供一個(gè)多窗口的源文件編輯器。該編輯器不受文件大小的限制,允許無(wú)限制的 撤銷/重復(fù)功能。編輯器全面支持匯編、c51和pl/m51語(yǔ)言的語(yǔ)法加亮著色。川戶可以自定 義各種類型文本的顏色和不同語(yǔ)言的關(guān)鍵詞。相應(yīng)的關(guān)鍵詞文件名為asm. kwd. c51.kwd、 plm51. kwd0工作區(qū)窗口工作區(qū)窗口有兩個(gè)頁(yè)而窗口。工程頁(yè)而窗口以樹形結(jié)構(gòu)顯示工程中的項(xiàng)目文件等內(nèi)容。 資源管理器頁(yè)面窗口和win9x屮資源管理器屮窗口相同。輸出窗口輸;1!窗口顯示用戶編譯連接過程中的輸出信息。觀察窗口觀察窗口中顯示調(diào)試過程中長(zhǎng)期觀察的變量項(xiàng)數(shù)據(jù)窗口數(shù)據(jù)窗口屮成批顯示仿真機(jī)相應(yīng)存儲(chǔ)
16、區(qū)域的整塊數(shù)據(jù)內(nèi)容。對(duì)話窗口用戶通過對(duì)話窗口肓接用監(jiān)控命令和仿真機(jī)對(duì)話。4. 2硬件平臺(tái)介紹4. 2. 1 lm6101型eda綜合實(shí)驗(yàn)系統(tǒng)lm6101型eda綜合實(shí)驗(yàn)系統(tǒng)是在東南人學(xué)電工電子實(shí)驗(yàn)屮心多年教學(xué)實(shí)踐基礎(chǔ)上開發(fā) 完成的新一代全數(shù)碼控制的eda綜合課程設(shè)計(jì)實(shí)驗(yàn)系統(tǒng)。cpld/mcu綜合實(shí)驗(yàn)系統(tǒng)采用了 cpld和mcu雙系統(tǒng)架構(gòu),適應(yīng)了當(dāng)今數(shù)字系統(tǒng)設(shè)計(jì)的潮 流,使該系統(tǒng)功能達(dá)到了一個(gè)比較高的高度,兒乎能完成所佇的數(shù)字系統(tǒng)設(shè)計(jì)。該系統(tǒng)屮 mcu和cpi.d的所有管腳都采用了固定連接,通過板載控制芯片和外圍電路相連。連接的改 變、外圍器件功能的轉(zhuǎn)換、時(shí)鐘頻率的改變?nèi)坑蓴?shù)碼控制。徹底摒棄了
17、傳統(tǒng)eda實(shí)驗(yàn)系統(tǒng) 需要人量的連線、跳線而帶來(lái)的不便,提高了系統(tǒng)的穩(wěn)定性和易用性,減少了實(shí)驗(yàn)故障率。 主板、下載板分離的設(shè)計(jì)使用戶可以選擇不同廠家、不同型號(hào)、不同規(guī)模的芯片,既適應(yīng)了 各個(gè)不同院校的不同教學(xué)需要,也使系統(tǒng)的功能和規(guī)模擴(kuò)展變的更為容易。實(shí)驗(yàn)板規(guī)格: 4組4位共16位獨(dú)立式按鍵(每組可單獨(dú)選擇電平輸入或者脈沖輸入) 1組4x4矩陣鍵盤 7組4位共28個(gè)led顯示輸出 8位7段數(shù)碼顯示輸出 2組16個(gè)共32個(gè)1/0擴(kuò)展輸出 2通道波形輸出 一個(gè)8位串行a/d轉(zhuǎn)換器tlc549 一個(gè)雙路8位并行d/a轉(zhuǎn)換器tlc7528 1hz11mhz共16個(gè)標(biāo)準(zhǔn)脈沖供時(shí)鐘信號(hào)clk1選擇 兩組連續(xù)
18、町調(diào)脈沖輸出供時(shí)鐘信號(hào)clk2選擇 一個(gè)單步脈沖信號(hào)供時(shí)鐘信號(hào)clk2選擇 一個(gè)外接時(shí)鐘輸入供時(shí)鐘信號(hào)clk2選擇 一個(gè)vga顯示器接口 一個(gè)rs232標(biāo)準(zhǔn)串行總線接口 一個(gè)ps/2鍵盤/鼠標(biāo)接口 一片32k x 8隨機(jī)存儲(chǔ)器 2組40腳插座(用于連接cpld下載板) 一片微控制器芯片 一片管理芯片 1個(gè)輸出電壓為5v, +12v, -12v開關(guān)電源實(shí)驗(yàn)板的捉供了 cpld和mcu兩個(gè)系統(tǒng),可以使川戶方便的實(shí)現(xiàn)從最基本的cpld實(shí)驗(yàn) 到復(fù)雜的數(shù)字系統(tǒng)實(shí)驗(yàn)的設(shè)計(jì)和驗(yàn)證工作。此實(shí)驗(yàn)板可以作為獨(dú)立的cpld系統(tǒng)來(lái)完成常規(guī) 的cpld實(shí)驗(yàn),這時(shí)候川戶兒乎可以使川所有板上提供的輸入和輸出資源,且全部為硬
19、連線。 當(dāng)作為cpld和mcu的雙系統(tǒng)時(shí),由于cpld的管腳資源有限,同時(shí)又要盡可能的使用單片機(jī) 的資源,所以有一部分輸入輸出資源不能被使川。此實(shí)驗(yàn)系統(tǒng)采川了下載板和實(shí)驗(yàn)板分離的設(shè)計(jì)方式,川戶可以根據(jù)自己的需要選川不 同公司,不同型號(hào)的對(duì)編程器件來(lái)完成口己的設(shè)計(jì)。詳細(xì)內(nèi)容可參見附錄三。3. 2. 2 aedk單片機(jī)仿真機(jī)aedk51w機(jī)有全空間仿真和仿真ram出借,直接對(duì)帶有rom的芯片仿真,所有功能一箱 化設(shè)計(jì)。其主要性能及特點(diǎn)現(xiàn)簡(jiǎn)要描述如門1. 可仿真 mcs-51/320 系列單片機(jī),可仿真 1ntel/ph1l1ps/atmel /dallas/w1nbondden 等51/320系列
20、的單片機(jī)。2. 采川專川仿真cpu的雙cpu仿真機(jī)。3. 全空間仿真:程序空間0ffffii,數(shù)據(jù)空間0ffffh全空間都可仿真。全空間仿真ram出借:0ffffh,足可適應(yīng)此次系統(tǒng)開發(fā)要求。4. 采川6仆全空間硬件斷點(diǎn)。單步使用仿真cpu提供的專用斷點(diǎn)技術(shù),而不使川外部中 斷。5. 具有夭折處理功能,即執(zhí)行用戶程序后,按暫停熱鍵能保存用戶現(xiàn)場(chǎng)后返冋監(jiān)控,幫 助査找程序走飛,死循環(huán)的原因。6. 采用零地址仿真,即程序起始地址0000h和中斷入口地址都可以使用,使之一次性仿 真,脫機(jī)無(wú)須更改程序。7. 所有單片機(jī)資源均開放,即是reset引腳也開放,便于調(diào)試。8. 可聯(lián)ibm pc及其兼容機(jī),可
21、使用編輯、匯編、pl/m51、c51 m入式定點(diǎn)浮點(diǎn)運(yùn)算庫(kù) 等軟件。9. 機(jī)上采用高速串口,自動(dòng)檢測(cè)適配波特率(2400115200)。不占用仿真cpu串口, 支持單片機(jī)串口與系統(tǒng)機(jī)聯(lián)接調(diào)試串口通訊程序。10. 支持符合化調(diào)試。可對(duì)欲移植的程序反匯編后口動(dòng)加上標(biāo)號(hào)形成匯編源文件,幫助川 戶仿制,修改樣機(jī)。11一箱化設(shè)計(jì),進(jìn)口基板,熱風(fēng)平整,波峰焊接,封閉式機(jī)箱,老化考核,可靠性高。12.仿真頭有故障隔離措施,即使川戶系統(tǒng)硬件故障也不影響仿真器工作,可調(diào)試川戶系 統(tǒng)硬件。4.3設(shè)計(jì)所用器件介紹現(xiàn)場(chǎng)口j編程門陣列fpga是有許多微小的邏輯單元組成的內(nèi)部陣列,單元間的連接通過 其周圍的布線通道互連實(shí)
22、現(xiàn),邏輯單元及布線通道對(duì)市用戶現(xiàn)場(chǎng)配置。近幾年來(lái),由于微電 子技術(shù)的迅猛發(fā)展,使得fpga的性能指標(biāo)也大大改進(jìn),規(guī)模越來(lái)越大,功能越來(lái)越全,時(shí)間 性能越來(lái)越好。因而fpga在數(shù)字系統(tǒng)設(shè)計(jì)中占據(jù)了越來(lái)越重要的位置。altera flex 1 ok系列fpga,規(guī)模從一萬(wàn)門到十萬(wàn)門,可提供7205392個(gè)觸發(fā)器及614424576位ram,提供30ns、40ns及50ns等幾個(gè)速率等級(jí),可適應(yīng)18105mhz的信號(hào) 處理速率。altera flex 10k系列fpga主要由輸入輸出單元i0e、掩埋陣列eab、邏輯陣 列l(wèi)ab及內(nèi)部連線組成。eab是在輸入和輸出端口加有寄存器的ram塊,其容量可靈活
23、變 化。所以,ea13不僅可以川于存儲(chǔ)器,還可以事先寫入査表值來(lái)川它構(gòu)成如乘法器、糾錯(cuò)邏 輯等電路。當(dāng)用丁 ram時(shí),eab可配制成多種形式的字寬和容量。lab主要川于邏輯電路設(shè)計(jì),一個(gè)lab包折8個(gè)邏輯單元le,每一個(gè)lab提供4個(gè)控 制信號(hào)及其反和信號(hào),其中兩個(gè)可用于時(shí)鐘信號(hào)。每一個(gè)le包括紐合邏輯及一個(gè)可編程觸 發(fā)器。觸發(fā)器對(duì)被配成d, t, jk, rs等各種形式。i0e提供全局的時(shí)鐘及淸零信號(hào)輸入端口, 還提供具有可編程性的各種輸入輸出端口,如低噪聲端口、高速端口等。五、方案設(shè)計(jì)5.1主要結(jié)構(gòu)它的主要結(jié)構(gòu)包括單片機(jī)及其所控制的鍵盤輸入單元、顯示單元,一個(gè)ram存儲(chǔ)波形數(shù)據(jù), 并rtl
24、單片機(jī)給予初始化ifurh fpga來(lái)控制其讀取,然后通過d/a控制及幅度控制單元,再經(jīng) 過一個(gè)低通濾波器,就可以得到一個(gè)平滑的波形了。而且該方案非常易于在上述提到的 lm6101型eda綜合實(shí)驗(yàn)系統(tǒng)上實(shí)現(xiàn)。52由硬件平臺(tái)確定的各模塊方案 總體電路方案fpga部分:利川可編程邏輯器件來(lái)代替數(shù)字系統(tǒng)屮的中小規(guī)模集成電路,可以人人簡(jiǎn)化 系統(tǒng)外圍硬件電路的設(shè)計(jì),增強(qiáng)系統(tǒng)的町靠性,且編程方便、速度快。設(shè)計(jì)中,我們使用 maxplusii開發(fā)軟件系統(tǒng),并用altera公司的flex epf10k10器件進(jìn)行下載。輸入控制 器與單片機(jī)相連,傳輸控制命令。從而使單片機(jī)的控制范圍人人延仲。mcu部分:?jiǎn)纹瑱C(jī)系
25、統(tǒng)由89c51、ram、鍵盤、數(shù)碼管顯示等部分組成。數(shù)碼管的譯碼電路 己在實(shí)驗(yàn)底板中用gal22v10d實(shí)現(xiàn),很大程度上減少了系統(tǒng)的組合邏輯電路。顯示部分用 五個(gè)數(shù)碼管來(lái)顯示,不但節(jié)省資源,也相應(yīng)簡(jiǎn)化一些編程。 鍵盤控制也元由丁系統(tǒng)要求功能較多,若不加處理的利用單片機(jī)p1 口擴(kuò)展鍵盤,則很有可能出現(xiàn)鍵盤 滿足不了顯示要求的情況,因此必須有效的利川鍵盤。而且實(shí)驗(yàn)板木身在其設(shè)計(jì)屮,當(dāng) ram及d/a被使用時(shí),k0kf鍵盤均被禁用,所以設(shè)計(jì)中,我們采用了實(shí)驗(yàn)底板上一個(gè)已 經(jīng)與單片機(jī)的p1 口相連的4x4的小鍵盤,通過輸入的數(shù)字長(zhǎng)度、范圍和確認(rèn)鍵來(lái)區(qū)別發(fā) 送的信息。同時(shí)利川延時(shí)來(lái)解決鍵盤消抖動(dòng)問題。
26、數(shù)碼管顯示單元采用了五個(gè)c-5011共陰極數(shù)碼管作為顯示單元。因?yàn)楫?dāng)ram和d/a被使用時(shí),所有l(wèi)ed 燈均被禁用。由于實(shí)驗(yàn)底板上己用三片gal22v10d完成了所有數(shù)碼管的譯碼功能,所以設(shè) 計(jì)中不需要對(duì)數(shù)碼管另行做譯碼的工作。而當(dāng)ram被使用時(shí),顯示方式為4位2進(jìn)制數(shù)控 制顯示數(shù)據(jù)、3位2進(jìn)制數(shù)控制顯示位數(shù)的掃描顯示,我們采丿|高速頻率掃描數(shù)碼管,使 其分別顯示相應(yīng)數(shù)值,但由于頻率較高,所以可以說(shuō)是看不見數(shù)碼管的閃爍的。 ram波形存儲(chǔ)我們采川的是底板自帶的隨機(jī)存儲(chǔ)器ram62256來(lái)存儲(chǔ)正弦波形數(shù)據(jù),它的存儲(chǔ)牢間是 32k。為了盡量提高ram的使用效率,并且考慮到止弦波形的對(duì)稱性,所以我們
27、存儲(chǔ)了從 最低點(diǎn)幅值數(shù)據(jù)'00'開始的到最高點(diǎn)幅值數(shù)據(jù)'ff'的半個(gè)周期的波形數(shù)據(jù),在讀取數(shù) 據(jù)時(shí),順序讀完這半個(gè)周期后則繼續(xù)反相讀取下個(gè)半周的數(shù)據(jù)值,這樣合起來(lái)就是一整個(gè) 工作頻率較高,在5v電源下工作時(shí)其建立時(shí)間只有l(wèi)oons,傳輸延時(shí)時(shí)間是80ns,完全可 以滿足木次設(shè)計(jì)的要求,其控制信號(hào)主要包括:片選cs,低電平有效;d/a選擇端daca/dacb, 低電平位daca,高電平位dacb:數(shù)據(jù)寫入使能wr,低電平有效。通道a作為整個(gè)波形的輸 出o周期的波形。也就好像我們擴(kuò)展了 ram的空 間,即可以認(rèn)為ram大小為64k (2i6)od/a及外圍電路tlc
28、7528是雙路、8位分辨率的數(shù)字-模擬 轉(zhuǎn)換器,其使用山dip1控制,為0禁用,為 1使能。模擬信號(hào)通過實(shí)驗(yàn)板右下方的兩個(gè) bnc接i i輸出到測(cè)量?jī)x器中去。該d/a轉(zhuǎn)換器dip.soic叵叵ee叵e叵i叵6 5 4b b bd d dagndout arf8 avref adgnddac a/d ac b(msb) db7ad7528top view(not to scale)bsb b b(lutfbreddvr£bcb1b2b3 orvv_w_dddd 2323回13e回回3hii3系統(tǒng)總線系統(tǒng)總線在實(shí)驗(yàn)底板上是指單片機(jī)的p0 口和p2 口,它們與fpga、d/a及ram均連接
29、在 -起(參見附錄屮實(shí)驗(yàn)板原理圖),因此必須采取措施防止存系統(tǒng)運(yùn)行時(shí)出現(xiàn)的總線沖突。我 們采用p3. 0 口對(duì)總線進(jìn)行控制,p3. 1 口選擇d/a的通道。當(dāng)單片機(jī)初始化ram時(shí),p3.0為 t,總線山單片機(jī)控制。fpga在與單片機(jī)p0 口及ram 的數(shù)據(jù)端相連端口為1/0 口,接收單片機(jī)的p0的數(shù)據(jù),其輸出為'高阻態(tài)fpga lj單片 機(jī)p2 口及ram的高位地址相連端口為輸出端口,其輸出為高阻態(tài);fpga與ram低8位地址 相連端口輸出經(jīng)過鎖存的單片機(jī)尋址時(shí)的低8位地址。當(dāng)p3.0為0時(shí),fpga控制總線,此時(shí)fpga與ram低8位地址相連端口輸出相位累加 器給出的低位地址;fpg
30、a與單片機(jī)p2 口及ram的高位地址相連端口輸出相位累加器給出的 髙位地址;而ram此時(shí)的讀信號(hào)一直有效,epga在與單片機(jī)p0 口及ram的數(shù)據(jù)端的總線上 的數(shù)據(jù)就是ram中波形幅值;d/a的數(shù)據(jù)端也連接在這一總線上,此時(shí)寫信號(hào)也一直有效, 其輸出波形幅值隨這條總線匕數(shù)據(jù)變化而變化。5. 3系統(tǒng)參數(shù)設(shè)計(jì)1、相位累加器參數(shù)設(shè)定本次設(shè)計(jì)中相位累加器的位數(shù)定為19位。因?yàn)檩斎腩l率采用實(shí)驗(yàn)底板上標(biāo)準(zhǔn)品振,頻 率為11. 0592mhz,根據(jù)任務(wù)書上最小頻率分辨率為1hz的要求,則 11. 0592mhz/(di v*2n)=1hz,其中div為將11. 0592mhz的時(shí)鐘分頻的數(shù)值,得到的頻率就是
31、相位累加器 的時(shí)鐘,n為相位累加器的位數(shù)。經(jīng)過計(jì)算,當(dāng)div二21,n二19時(shí),11. 0592mhz/(div*2n) =1. 0045hzo這樣山于ram的地址是15位的,但是可以看作16位,就用相位累加器的 高16位作為ram的地址線,但是最高位是用作邏輯控制,實(shí)現(xiàn)半個(gè)周期的波形數(shù)據(jù)變 成完整的周期。2、將波形幅度值寫入fpga的寄存器,選擇da的a通道,然后將總線控制權(quán)交給fpga,山 fpga將幅度值寫入da。在實(shí)際的測(cè)量中發(fā)現(xiàn)當(dāng)輸出'ff'到da上時(shí),da的輸出是5. 2 v,因此采用如下公式計(jì)算實(shí)際的幅度值:w3ve_8mp=ampx255x (5/5. 2)/5
32、0,即wave_a mp=ampx4.9o amp的值是鍵盤輸入的幅度值,范圍在0150, 01代表0. iv。3、ram的容量可以看作是64k,實(shí)際尋址時(shí)可以根據(jù)瑕高位采取適當(dāng)邏輯控制進(jìn)行尋址。在我們的程序里相位累加器取19位,舍棄低3位,根據(jù)第19位的值分別用第18到第4 位的原碼或者反碼對(duì)ram進(jìn)行尋址操作,當(dāng)19位為'1'時(shí)輸出反碼。由丁直接用單片機(jī)計(jì)算32768個(gè)點(diǎn)的正弦幅度值,涉及的多次浮點(diǎn)運(yùn)算,初始化時(shí)間很長(zhǎng),為了提高效率,采取了一種簡(jiǎn)單的方法。因?yàn)閐a是8位的,所以每個(gè)幅度值也是8位的,因此-共有256個(gè)不同的幅度值,rmn中存儲(chǔ)的是余弦函數(shù)從兀到2兀的幅度值,
33、由下式計(jì)算:amp = 127.5 + 127.5cos(k + 2 n + 0.5)/65532) n = 0,1,.32768« 將每個(gè)幅度值的個(gè)數(shù)記下。由于余弦函數(shù)的對(duì)稱性,幅度為255的點(diǎn)的個(gè)數(shù)和幅度為0的點(diǎn)的個(gè)數(shù)是 相同的,因此將幅度0到127的點(diǎn)的個(gè)數(shù)分別存儲(chǔ)到一個(gè)step128的數(shù)組中,這個(gè)數(shù)組位 于程序存儲(chǔ)器中。初始化余弦函數(shù)的波形的時(shí)候就町以直接根據(jù)step128向詢n中寫數(shù)據(jù)。 這一設(shè)計(jì)大大縮短了 ram空間波形數(shù)據(jù)的初始化時(shí)間。單片機(jī)產(chǎn)生正弦函數(shù)及浮點(diǎn)處理函數(shù)的說(shuō)明附于文后,川戶可以直接調(diào)川它來(lái)初始化 ram,感興趣的用戶亦可自行設(shè)計(jì)鍛煉設(shè)計(jì)程序的能力。六、fp
34、ga系統(tǒng)的模塊設(shè)計(jì)6. 1 fpga系統(tǒng)的模塊設(shè)計(jì)流程fpga的出現(xiàn)使得人們可以借助硬件描述語(yǔ)言來(lái)設(shè)計(jì)和修改自己的數(shù)字系 統(tǒng)。完整的fpga的vhdl設(shè)計(jì)流程如圖6-1所示。算法設(shè)計(jì)廳為級(jí)描述行為級(jí)仿真7 rtl級(jí)描述、ril級(jí)仿真i|、門級(jí)下載網(wǎng)表'圖6-1 fpga設(shè)計(jì)流程6. 2管腳的定義根據(jù)lm6101型eda綜合實(shí)驗(yàn)系統(tǒng)原理圖所示,我們將loklo的外部管腳定義如下:1、porto: 8根輸入和輸出引腳,與單片機(jī)的po 口相連,對(duì)應(yīng)到loklo的器件引腳是 porto. 7-porto. 0= (73, 72, 71, 70, 69, 67, 66, 65)。2、port2_
35、7: 1根輸入引腳,與單片機(jī)的p2.7 口相連,對(duì)應(yīng)到loklo的器件引腳是 port2_7=(6) o3、portl : 8根輸出引腳,與單片機(jī)的pl 口相連,對(duì)應(yīng)到loklo的器件引腳是 portl. 7-portl. 0= (29, 30, 35, 36, 37, 38, 39, 47)。4、ram_a14_a8: 7根輸入和輸出引腳,與ram62256的高7位地址和單片機(jī)的p2 口的p2. 6-p2. 0相連,對(duì)應(yīng)到 loklo 的器件引腳是ram a14 a8. 6-ram a14 a8. 0=(5, 3,83,81,80, 79, 78) o5、ram_a7_a0: 8根輸出引腳,
36、與ram62256的低8位地址相連,對(duì)應(yīng)到loklo的器件引腳 是 ram a7 a0. 7-ram a7 a0. 0=(18, 17, 16, 11, 10, 9, & 7)。mcu_wr, mcu_rd, muc_ale: 3根輸入引腳,分別與單片機(jī)的wr, rd, ale相連,對(duì)應(yīng)到 loklo 的器件引腳是 mcu_wr=(2), mcu_rd= (44), mcu_ale=(84)。7、bus_ctrl, mcu_sel_da: 2根輸入引腳,分別與單片機(jī)的p3. 0, p3. 1 口相連,對(duì)應(yīng)到loklo的器件引腳是 bus_ctr 1=(48), mcu_sel_da=(
37、49)。8、ram_wr, ram _rd: 2根輸出引腳,分別與ram的wr, rd相連,對(duì)應(yīng)到loklo的器件引腳 是 ram_wr=(62), ram_rd= (54)。9、da_wr, da.sel: 2根輸出引腳,分別與da的wr, daca/b相連,對(duì)應(yīng)到loklo的器件引 腳是 da_wr= (58), da_sel= (60)。10、segnum: 4根輸出引腳,與數(shù)碼管顯示數(shù)據(jù)端口相連,対應(yīng)到10r10的器件引腳是 segnum. 3-segnum. 0二(23, 22, 21, 19)。11> segport: 3根輸出引腳,與數(shù)碼管選擇端口相連,對(duì)應(yīng)到loklo的器
38、件引腳是 segport. 2-segport. 0=(27, 25, 24)。12、elk: 1根輸出引腳,與實(shí)驗(yàn)板上的clkl相連,對(duì)應(yīng)到loklo的器件引腳是elk二。 整個(gè)dds模塊與外部的引腳關(guān)系如下圖所示圖6-2 dds模塊引腳圖6. 3各模塊介紹整個(gè)系統(tǒng)分為分頻模塊,鎖存單片機(jī)低位地址模塊,單片機(jī)寫fpga內(nèi)寄存器模塊,相位累 加器模塊,數(shù)碼管扌i描顯示模塊。下血詳細(xì)介紹各個(gè)模塊:1. 分頻模塊將輸入的吋鐘頻率進(jìn)行分頻,根據(jù)系統(tǒng)方案中的計(jì)算,實(shí)驗(yàn)板上的clkl設(shè)定為 11.06mhz,將其進(jìn)行21分頻得到相位累加器的時(shí)鐘phaseclk,頻率為526. 7khz;將mhz 的時(shí)鐘
39、50分頻得到數(shù)碼管掃描時(shí)鐘segclk,頻率為20khz。2. 鎖存單片機(jī)低位地址模塊將單片機(jī)寫操作時(shí)的低位地址進(jìn)行鎖存。在單片機(jī)中的p0 口是地址數(shù)據(jù)復(fù)用口,在讀寫 操作時(shí)需要有一個(gè)8位的地址鎖存器根據(jù)ale信號(hào)進(jìn)行鎖存操作,這個(gè)模塊就是實(shí)現(xiàn)這一功 能的。mcu.ale觸發(fā)該進(jìn)程,當(dāng)mcu_ale為下降沿時(shí)將porto引腳的數(shù)據(jù)送到寄存器 low addresso3. 單片機(jī)寫fpga內(nèi)寄存器模塊8051系列單片機(jī)的尋址范圍是2",因此根據(jù)系統(tǒng)方案中地址的分配,把波形參數(shù)以及顯 示數(shù)據(jù)寫入fpga內(nèi)各個(gè)寄存器。mcu_wr觸發(fā)該進(jìn)程,當(dāng)mcu_wr為下降沿時(shí),如果port2_7 和
40、bus_ctrl i5p為1' , low_addrcss的低3位地址進(jìn)行寫入操作,也就是地址為8000h, 時(shí),porto引腳上的數(shù)據(jù)給m0寄存器,m0存儲(chǔ)顯示數(shù)據(jù)的高位,以此類推'8007h,時(shí)porto 引腳上的數(shù)據(jù)給n)7。4. 相位累加器模塊這是整個(gè)dds系統(tǒng)的核心,由phaseclk或者bus_ctrl觸發(fā)。觸發(fā)后,如果bus_ctrl 為t' , phase_add賦值'o' , phase_add是一個(gè)19位的加法器的輸出;否則在phaseclk的 上升沿,進(jìn)彳了 phase_add=phase_add+dphase的加法操作。5. 數(shù)碼
41、管掃描顯示模塊由segclk觸發(fā),在segclk的上升沿,信號(hào)ssegport進(jìn)行累加操作,當(dāng)達(dá)到100'時(shí)就 賦值'000, o segport的輸出值就是ssegport,這樣在segclk的上升沿segport輪流掃描5 個(gè)數(shù)碼管。程序屮的這一進(jìn)程還包含一個(gè)case語(yǔ)句,根據(jù)ssegport的值將m0到m4屮的值分別送 到segnum引腳上。5.其他信號(hào)處理portl引腳始終置為高阻態(tài),確保單片機(jī)pl 口上的鍵盤電路不受影響。porto引腳在單片機(jī)要改變da的b通道的值(幅度調(diào)節(jié)),即輸入引腳mcu_sel_da二'1' 時(shí),輸岀017,即經(jīng)過換算的幅度值
42、數(shù)據(jù);其他時(shí)候始終置為高阻態(tài)。ram_rd信號(hào)在總線控制權(quán)由fpga掌握而且da的通道為a,即bus_ctrl= 0,和 mcu_sel_da=,0'時(shí),輸出0',即ram保持在讀狀態(tài);其他時(shí)候始終與單片機(jī)的rd信號(hào)相連, 即輸iti mcu_rd的值。ram_wr信號(hào)在總線控制權(quán)由fpga掌握,即bus_ctrl=,0'時(shí),輸出1',即ram寫禁止; 其他時(shí)候始終與單片機(jī)的rd信號(hào)相連,即輸hl mcu_wr的值。da_wr信號(hào)在總線控制權(quán)由fpga掌握,即bus_ctrl=0,時(shí),輸出0',即一直寫da:其 他時(shí)候始終輸出1',即i)八寫禁止
43、。da_sel信號(hào)一直輸出mcu_sel_da的值,mcu_sel_da與單片機(jī)的p3. 1 口控制,0,代表 選擇a通道。ram_a7_a0在總線控制權(quán)由fpga掌握而h phase_add的第19位為'0'時(shí),將 phase_add的第11到4位賦給ram_a7_a0;在總線控制權(quán)由fpga掌握而且 phase_add的第19位為t時(shí),將phase_add的第11到4位的反碼賦給 ram_a7_a0;具它時(shí)候輸出low_address的值。ram_a14_a8在總線控制權(quán)tl fpga掌握1何且phase_add的第19位為'0'時(shí) 將phase_add 的
44、第18到12位賦給ram a14_a8;在總線控制權(quán)由fpga掌握而且phase_add的第19位 為v時(shí),將phase.add的第18到12位的反碼賦給ram_ a14_a8;其它時(shí)候輸出為高阻 態(tài)。i*-clkmcu_aleo 0juumrnuwmcu_wr1iii1> buscrl1mcu-seljla0ur1 porloh00jm88 xx06f 30 x00* port2_70juramauash0000ramwr1ram_rdx:-<> da_wr1ida_sel0乙ram_a1z_a8hzzzzjl00x06xocx12i9lz ram_a7_adh00
45、6;°x05(06 x00x11x22x331p m5h0000 x88dz m6hdo00z3(30oz phaseaddhoodoo00000x03008dc06110k09198 j七、單片機(jī)程序設(shè)計(jì)單片機(jī)程序的調(diào)試環(huán)境是前文所述lca51 (windows9x版),編譯器采用keic51。7. 1單片機(jī)程序流程圖開始72子程序說(shuō)明首先定義數(shù)碼管顯示寄存器的地址,相位累加值寄存器的地址,波形幅度寄存器的地址, bus.ctrl和sel_da的口地址。主程序在初始化后,進(jìn)入鍵盤掃描循環(huán)中。下面詳細(xì)介紹各 個(gè)子程序的功能。1.delayo用來(lái)產(chǎn)牛延遲,消除鍵盤抖動(dòng)。2 seanke
46、y。對(duì)在pl 口上的4x"的鍵盤進(jìn)行掃描,返冋按鍵值。按鍵值的定義和實(shí)驗(yàn)板上的定義相 同,從0'到,f'。3. wri te wave ampo將波形幅度值寫入fpga的寄存器,選擇da的b通道,然后將總線控制權(quán)交給fpga, 由fpga將幅度值寫入da。在實(shí)際的測(cè)量中發(fā)現(xiàn)當(dāng)輸出下“到da上時(shí),da的輸出是5. 2v, 因此采川如下公式計(jì)算實(shí)際的幅度值:wave_amp=ampx255x (5/5. 2)/50o amp的值是鍵 盤輸入的幅度值,范圍在0150, 01代表0. lvo4. write_scg。將輸入的頻率值進(jìn)行處理,得到各個(gè)數(shù)碼管的顯示值,然后寫入fp
47、ga的顯示寄存器中。5. init_ramo根據(jù)輸入的波形類型及占空比初始化ram空間。vave_type二0時(shí),表示正弦波。由于xl接用單片機(jī)計(jì)算32768個(gè)點(diǎn)的正弦幅度值,涉及 的多次浮點(diǎn)運(yùn)算,初始化時(shí)間很長(zhǎng),為了提高效率,采取了一種簡(jiǎn)單的方法。因?yàn)閐a是 8位的,所以每個(gè)幅度值也是8位的,因此一共有256個(gè)不同的幅度值,sn中存儲(chǔ)的是 余弦函數(shù)從 兀至ij 2 n 的幅度值,山下式計(jì)算:amp = 127.5 + 127.5cos(兀 + 2兀(口 + 0.5)/65532) n = 0,1,.32768。將每個(gè)幅度值的個(gè) 數(shù)記下。由于余弦函數(shù)的對(duì)稱性,幅度為255的點(diǎn)的個(gè)數(shù)和幅度為0的
48、點(diǎn)的個(gè)數(shù)是相同的, 因此將幅度0到127的點(diǎn)的個(gè)數(shù)分別存儲(chǔ)到一個(gè)step128的數(shù)組中,這個(gè)數(shù)組位于程序 存儲(chǔ)器中。初始化余弦函數(shù)的波形的時(shí)候就可以直接根據(jù)step128向mm中寫數(shù)據(jù)。這 一設(shè)計(jì)人人縮短了 ram空i'可波形數(shù)據(jù)的初始化時(shí)間。wave_type=l時(shí),表示三角波。wave_type=2時(shí),表示方波,這是需要根據(jù)占空比的值初始化mm。6. wri tedphaseo山于fpga中的相位累加器的時(shí)鐘是526. 7khz, ram的空間可以認(rèn)為是65532,而相位 累加器的低3位被舍棄,用高16位對(duì)ram尋址,因此頻率分辨率可以達(dá)到526. 7 x 1000hz/ (8 x
49、 65536) = 1. 0045hz,滿足指標(biāo)要求。實(shí)際計(jì)算相位累加值的時(shí)候,令 delta二1/1.0045 = 0. 9955 ,這樣對(duì)應(yīng)于每個(gè)頻率的相位累加值計(jì)算如下: dphase=freq*deltao取整后送到fpga中的相位累加值寄存器。7. wave out0完成顯示當(dāng)前的頻率,將總線控制權(quán)交給fpga的工作。8. main。首先進(jìn)行初始化操作,輸出loooiiz,幅度為5v的正弦波。然后進(jìn)行鍵盤掃描,對(duì)輸 入的鍵值進(jìn)行操作。合法的鍵盤輸入只有5利-1) 5個(gè)數(shù)字鍵加'a,鍵,用來(lái)設(shè)定頻率。如設(shè)定500hz的頻率,按鍵次序是'00500a'。當(dāng)設(shè)定頻率
50、超過20000hz,認(rèn)為無(wú)效,不改變?cè)鹊念l率。2) 2個(gè)數(shù)字鍵加'"鍵,用來(lái)設(shè)定信號(hào)幅度。如設(shè)定2. 4v的峰峰值,按鍵次序 是'24b' o當(dāng)設(shè)定幅度超過5v,認(rèn)為無(wú)效,不改變?cè)鹊姆取?) 1個(gè)數(shù)字鍵加'鍵,用來(lái)設(shè)定輸岀信號(hào)類型。0、1、2分別指止弦波、三角 波、方波。其他數(shù)字認(rèn)為無(wú)效。4) 1個(gè)數(shù)字鍵加d'鍵,川來(lái)設(shè)定方波的占空比。如設(shè)定20%的占空比,按鍵次 序是2d,o5) 任何時(shí)候輸入'鍵,都表示清除前面的所有輸入,回到原來(lái)的狀態(tài)。注:不符合上述的按鍵次序都認(rèn)為是非法的,系統(tǒng)保持原來(lái)的輸出狀態(tài),數(shù)碼管的 顯示也回到原來(lái)的
51、狀態(tài)。7. 3程序燒錄單片機(jī)程序在經(jīng)過aedk51w單片機(jī)仿真器仿真調(diào)試后,系統(tǒng)工作i上常,需要將編譯生 成的dds. hex文件燒錄至89c51中的4k容量的e2prom中。燒錄工具采用xeltek公司的 superpr0/l串口編程器。燒錄成功后,將89c51代替仿真器的仿真頭插入系統(tǒng),系統(tǒng)工作 正常。附錄1浮點(diǎn)子程序設(shè)計(jì)在這里,我們用三字節(jié)來(lái)表示一個(gè)浮點(diǎn)數(shù)。浮點(diǎn)數(shù)由尾數(shù)和階碼兩部分組成。在此我 們用ro,r1,r2存放一個(gè)浮點(diǎn)數(shù)。在ro,r1中存放的是尾數(shù),r2中為階碼。尾數(shù)和階碼的格 式有用原碼和補(bǔ)碼兩種不同的表示方式,在此我們采用尾數(shù)和階碼都山補(bǔ)碼表示。下而是浮點(diǎn)數(shù)表示的格式:d7d
52、0d7dod7d0數(shù)階/尾數(shù)階碼舉個(gè)例子:比如要表示十進(jìn)制數(shù)10,要將其表示出來(lái),首先先將其表示為二進(jìn)制數(shù) 1010b (注意計(jì)算機(jī)只能完成二進(jìn)制的運(yùn)算,在此采用b表示二進(jìn)制),再將其歸一化表示為 0. 1010bx2j00b,將其分離出尾數(shù)和階碼,可見尾數(shù)為正的0. 1010b,即r0=01010000b, rl=0b,階碼為100b,即r2=100b;再比如表示十進(jìn)制-10,表示為一0. 1010bx2"100b,尾 數(shù)表示為負(fù)的 0. 1010,用補(bǔ)碼表示,r0=10110000b, rl=0b, r3=100b<>為了進(jìn)行浮點(diǎn)數(shù)的處理,我們?cè)诖私榻B一些基本概念:規(guī)
53、格化:非零二進(jìn)制浮點(diǎn)數(shù)表示為t*2"p,其中t為尾數(shù),p為階碼。若t滿足 0. 5<=|t|<1,則稱該浮點(diǎn)數(shù)為規(guī)格化浮點(diǎn)數(shù)。對(duì)階:對(duì)階實(shí)質(zhì)上是將相加的兩個(gè)數(shù)的小數(shù)點(diǎn)位置對(duì)齊,亦即小階向大階看齊;小階 浮點(diǎn)數(shù)的尾數(shù)算術(shù)右移-位,階增一,直到小階增到與大階相等為止,這一過程稱為對(duì)階, 對(duì)階之后,兩尾數(shù)就可相加。而兩數(shù)相減時(shí),將減去減數(shù)改為加上其補(bǔ)碼,再對(duì)階相加。溢出:運(yùn)算結(jié)果超曲數(shù)的表示范圍。溢出可巾累加器最高兩位上產(chǎn)牛的進(jìn)、借位情況。 浮點(diǎn)子程序處理流程:浮點(diǎn)加法流程浮點(diǎn)乘法流程圖浮點(diǎn)數(shù)轉(zhuǎn)化為定點(diǎn)數(shù)流程圖附錄2子程序接口說(shuō)明下血是本次程序采用的浮點(diǎn)數(shù)表示的格式:數(shù)d7do
54、 d7do d7小數(shù)點(diǎn)尾數(shù)階do階碼浮點(diǎn)采用按圖示約定順序的三個(gè)寄存器r訂ri2 ri3(il,i2和i3表示不同的數(shù)字)表示。 浮點(diǎn)減法子程序fpsub入口: r0rlr2, r3r4r5 出口: r3r4r5算法:對(duì)減數(shù)求補(bǔ)轉(zhuǎn)化為加法浮點(diǎn)加法子程序fpadd入口: r0rlr2,r3r4r5 出口: r3r4r5算法:兩數(shù)相加,首先對(duì)階。如果產(chǎn)生溢出(包括階差大于16),取大數(shù)為和。否則尾 數(shù)對(duì)階相加調(diào)整。詳見流程圖。占用資源:弘b,0區(qū)的各寄存器浮點(diǎn)數(shù)乘法子程序fpmul入口 :r0rlr2, r3r4ro出口: r3r4r5算法:兩數(shù)相乘,階碼相加,尾數(shù)相乘,結(jié)果調(diào)整。詳見流程圖。占用資源:a,b,0區(qū)的各寄存器,2區(qū)的r(fr5,可尋址位7fh計(jì)算正弦子程序sin
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 種植合同新4篇
- 小型機(jī)器買賣合同3篇
- 簡(jiǎn)易入股分紅合同協(xié)議書5篇
- XX演唱會(huì)贊助合同5篇
- 自愿離婚協(xié)議書范文3篇
- 環(huán)境影響評(píng)價(jià)評(píng)價(jià)技術(shù)合同2篇
- 旅游景區(qū)宣傳合同6篇
- 講衛(wèi)生你我有責(zé)
- 健康促進(jìn)醫(yī)院創(chuàng)建課件
- 中華優(yōu)傳統(tǒng)文化 課件 第三章 中國(guó)傳統(tǒng)思維方式
- 2025年山東省聊城市高唐縣中考二模英語(yǔ)試題(原卷版+解析版)
- 企業(yè)數(shù)字化轉(zhuǎn)型培訓(xùn)課件
- 2025屆高考語(yǔ)文押題作文及題目(9篇)
- 2025年中國(guó)白楊樹市場(chǎng)現(xiàn)狀分析及前景預(yù)測(cè)報(bào)告
- 2025年湖北省新高考信息卷(三)物理試題及答題
- 2025年廣東省中考地理模擬試卷(含答案)
- 鞋業(yè)訂貨單模版
- 愛蓮說(shuō)對(duì)比閱讀(1)
- 大理石打磨工程裝飾協(xié)議合同
- 模塊化低壓配電柜MODAN6000樣本_圖文
- 國(guó)有資產(chǎn)管理情況整改報(bào)告
評(píng)論
0/150
提交評(píng)論