波形發(fā)生器.pdf_第1頁
波形發(fā)生器.pdf_第2頁
波形發(fā)生器.pdf_第3頁
波形發(fā)生器.pdf_第4頁
波形發(fā)生器.pdf_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

波形發(fā)生器.pdf.pdf 免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

北京北陽電子技術有限公司北京北陽電子技術有限公司 電子競賽電子競賽 波形發(fā)生器 Electroncompetition Specification Technology for Easy Life http:/ 2 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 目錄目錄 摘要 3 一、方案設計與論證 .4 二、系統(tǒng)硬件電路設計5 2.1 電路方框圖及說明5 2.2 各部分電路設計 .5 2.2. 濾波、放大及其電流到電壓的轉(zhuǎn)換電路電路 5 2.2.2 鍵盤控制電路電路6 2.2.3 顯示電路電路 .7 2.2.4 語音播報電路的設計電路 8 三、軟件設計.9 3.1 主程序流程圖 .9 3.2 分塊程序流程 .11 四、系統(tǒng)測試及整機指標五、總結(jié) 16 六、參考資料.16 Technology for Easy Life http:/ 3 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 波形發(fā)生器 摘要摘要 單片機是實現(xiàn)各種控制策略和算法的載體。由臺灣凌陽公司生產(chǎn)的 SPCE 系列單 片機,因其功耗低,超小型,低成本,功能完整,非常適用于便攜式儀表和就地 式顯示控制儀表,在國內(nèi)越來越受到用戶的重視和廣泛的應用。SPCE061A 單片 機功能強大,其片內(nèi)含有八路十位 A/D 轉(zhuǎn)換器和兩路 D/A 轉(zhuǎn)換器, 該波形發(fā)生器運 用單片機技術,通過巧妙的軟件設計和簡易的硬件電路,產(chǎn)生數(shù)字式的正弦波、 方波、斜波等幅值可調(diào)的信號。信號頻率,可通過鍵盤輸入,并顯示。與現(xiàn)有各 類型波形發(fā)生器比較而言,產(chǎn)生的數(shù)字信號干擾小,輸出穩(wěn)定,可靠性高,特別 是操作簡單方便,人機界面友好,成本低,非常適合于物理實驗室教學與實驗使 用。 關鍵詞: 關鍵詞: SPCE061A 單片機 波形發(fā)生器 SPCE061A 單片機概述 SPCE061A 單片機概述 SPCE061A 是繼nSP 系列產(chǎn)品 SPCE500A 等之后凌陽科技推出的又一個 16 位結(jié)構(gòu) 的微控制器。目前有兩種封裝形式:84 引腳的 PLCC84 封裝和 80 引腳的 LQFP80 貼 片封裝。 主要性能如下: 16 位nSP 微處理器; 工作電壓:VDD 為 2.43.6V(cpu), VDDH 為 2.45.5V(I/O); CPU 時鐘:32768Hz49.152MHz ; 內(nèi)置 2K 字 SRAM、內(nèi)置 32K FLASH; 可編程音頻處理; 32 位通用可編程輸入/輸出端口; 32768Hz 實時時鐘,鎖相環(huán) PLL 振蕩器提供系統(tǒng)時鐘信號; 2 個 16 位可編程定時器/計數(shù)器(可自動預置初始計數(shù)值); 2 個 10 位 DAC(數(shù)-模轉(zhuǎn)換)輸出通道; 7 通道 10 位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道語音模-數(shù)轉(zhuǎn)換器; 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風放大器自動增益控制(AGC)功能; 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài))耗電小于 2A3.6V; 14 個中斷源:定時器 A / B,2 個外部時鐘源輸入,時基,鍵喚醒等; Technology for Easy Life http:/ 4 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 具備觸鍵喚醒的功能; 使用凌陽音頻編碼 SACM_S240 方式(2.4K 位/秒),能容納 210 秒的語音數(shù)據(jù); 具備異步、同步串行設備接口; 具有低電壓復位(LVR)功能和低電壓監(jiān)測(LVD)功能; 內(nèi)置在線仿真電路接口 ICE(In- Circuit Emulator) ; 具有保密能力; 具有 WatchDog 功能(由具體型號決定) 一、方案設計與論證一、方案設計與論證 方案一:方案一: 本方案直接采用凌陽 SPCE061A 作為波形發(fā)生器。波形的具體產(chǎn)生是通過兩路 DAC 來產(chǎn)生,凌陽 SPCE061A 在這方面的設計為我們提供了極大的方便,用它實現(xiàn)的 好處在于,外圍電路極其簡單,另外在 DAC 的編程方面又提供及其便利的編程環(huán)境。 外圍電路的設計包括三大部分,第一是鍵盤控制電路的設計,這里采用 4*4 鍵盤,由 IOA 的低八位進行控制,把鍵盤上的行和列分別接在 IOA0IOA3 和 IOA4IOA7 上, 采用外部中斷二來中斷所顯示波形,以便進入下一波形的編輯和輸出,在波形輸出的 同時利用外部中斷一來實現(xiàn)同步的頻率調(diào)節(jié)。第二是顯示電路的設計,這里為了在波 形輸出依然有顯示,由于單片機的局限性這里采用通常的動態(tài) LED 顯示行不通,因為 波形輸出時要求 CPU 不停地為其服務而沒有空閑來為 LED 進行不停更新,解決方案 是采用帶數(shù)據(jù)緩存器和驅(qū)動的 LCD 來提供顯示, 這樣只占用八個 I/O 口即可完成設計 要求,也可放棄適時顯示功能采用 LED 顯示,這里將提供兩種顯示方案。第三是濾波 和電壓轉(zhuǎn)換電路的設計,濾波采用低通濾波器,濾除 DAC 轉(zhuǎn)換過程中形成的高頻小 鋸齒波。另外由于凌陽 SPCE061A 單片機 DAC 輸出為電流輸出,為滿足達到 5V 的電 壓輸出,外接 OP07 運算放大器進行放大,加 1 千歐姆電阻進行電流信號到電壓信號 的轉(zhuǎn)換。本設計的特點是全面采用數(shù)字電路方案,因而工作穩(wěn)定可靠。利用單片機控 制管理,使頻率設置和占空比調(diào)整等操作可用鍵盤輸入,十分方便。 方案二: 方案二: 本設計方案采用功能很強的大規(guī)模數(shù)字頻率合成器 MC145151 和多波形寬頻率范 圍信號發(fā)生器 MAX038 等新器件產(chǎn)生波形和頻率,控制與管理電路部分使用 SPCE061A 單片機以及鍵盤顯示電路。MAX038 是一個精密高頻波形產(chǎn)生器。它能產(chǎn) 生頻率高達 20MHz 的正弦波、三角波、方波等脈沖信號,其壓控振蕩器的頻率分粗 調(diào)和細調(diào)兩層控制。在本電路中,用于粗調(diào)的控制電壓(電流)由一個 12 位的 DAC 產(chǎn)生,使輸出頻率近似等于 N 倍基準頻率。而細調(diào)電壓則由數(shù)字鎖相電路 MC145151 和環(huán)路濾波器 MAX427 產(chǎn)生,由鎖相反饋環(huán)將頻率 fo = Nfr 鎖定。這種方案的優(yōu)點是 頻率合成器工作更可靠,鎖定更迅速。另外 MAX038 還包括占空比調(diào)整電路、波形同 步電路、相位檢測電路、波形切換開關和電壓基準源等電路,所需外部元件少,使用 很方便??刂坪凸芾黼娐酚?SPCE061A 單片機及外圍電路組成。其主要用于對鍵盤輸 入的波形和頻率選擇等數(shù)據(jù)進行譯碼,計算出相應的控制參數(shù),控制頻率合成器輸出 正確的信號, 并將其頻率和波形參數(shù)用 LED 顯示出來。 對于小型通用信號產(chǎn)生器而言, Technology for Easy Life http:/ 5 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 這是一個比較理想的設計方案。 方案比較: 方案比較: 第一種方案設計外圍電路簡單,能夠滿足電子大賽設計的要求,這里考慮到短時 間內(nèi)設計既要成型,采用第一種方案。第二種方案的設計比較完善,由于用到專門的 波形發(fā)生芯片,產(chǎn)生的波形比較完美,但外圍電路復雜,適合于作波形發(fā)生器的產(chǎn)品 設計方案。 二、系統(tǒng)硬件電路設計二、系統(tǒng)硬件電路設計 2.1 電路方框圖及說明電路方框圖及說明 圖 1 整體框圖 2.2 各部分電路設計各部分電路設計 2.2. 濾波、放大及其電流到電壓的轉(zhuǎn)換電路電路濾波、放大及其電流到電壓的轉(zhuǎn)換電路電路 本系統(tǒng)采用二階壓控電壓源低通濾波器,如圖 2 所示。它由兩節(jié) RC 濾波器和同向放 大電路組成。其中同相放大實際上就是所謂的壓控電壓源,它的電壓增益就是低通濾 波器的通帶電壓增益,即:A0=Avf=1+Rf/R1 Technology for Easy Life http:/ 6 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 2 濾波電路 傳遞函數(shù)由圖電路可知,運放同相端輸入電壓為: (1) 而 Vp(s)與 Va(s)的關系為: Vp(s)= Va(s)/(1+sRC) (2) 對于節(jié)點 A,由節(jié)點電流法可得 Vi(s)/R- Va(s)/R - Va(s)- V0(s)sC- Va(s)/R- Vp(s)/R=0 (3) 將式(1) 、 (2)和(3)連立求解,可得電路的傳遞函數(shù)為 A(s)=V0(s)/ Vi(s)= Avf/1+(3- Avf)sRC+sRC*sRC (4) 式(4)為二階低通濾波器傳遞函數(shù)的表達式。其中 1/RC 為特征頻率,而 1/(3- Avf)為等效品質(zhì)因數(shù)。截止頻率為 1/RC。通過設置 R、C 可調(diào)節(jié)帶通到我們需要 的范圍。另外調(diào)節(jié) Rf 可調(diào)節(jié)幅度到我們需要的范圍。 2.2.2 鍵盤控制電路電路鍵盤控制電路電路 在單片機中所需按鍵較少,多采用獨立式鍵盤。此種鍵盤結(jié)構(gòu)簡單,每只按鍵接單片 機的一條 I/O 線,通過查詢即可示別出每只按鍵的狀態(tài)來。但由于本系統(tǒng)按鍵較多, 在這里采用矩陣式排列鍵盤,如圖 3 所示,這樣可以合理應用硬件資源,把 16 只按鍵 排列成 4*4 矩陣形式,用一個 8 位 I/O 口控制,如圖所示。把鍵盤上的行和列分別接在 IOA0IOA3 和 IOA4IOA7 Technology for Easy Life http:/ 7 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 3 按鍵控制電路 上。先置 IOA0IOA3 為帶數(shù)據(jù)緩存器的高電平輸出,置 IOA4IOA7 為帶下拉電阻的 輸管腳,此時若有鍵按下,取 IOA4IOA7 的數(shù)據(jù)將得到一個值,把此值保存下來, 再置 IOA4IOA7 為帶數(shù)據(jù)反相器的高電平輸出,置 IOA0IOA3 為帶下拉電阻的輸入 管腳,此時若鍵仍沒彈起,取 IOA0IOA3 的數(shù)據(jù)將得到另一個值,把這兩個值組合 就可得知是哪個鍵按下了,再通過查表得到鍵值。 2.2.3 顯示電路電路顯示電路電路 為了給廣大單片機愛好者提供方便,在顯示電路的設計方面提供兩種方案,第一種是 采用四個 LCD 進行適時顯示,這是比較理想的方案,但由于 LCD 成本較高,這里還 提供另一種方案,用六個 LED 進行顯示,這種方案的缺點是不能適時顯示,但也能滿 足一般設計要求。 第一種方案采用四個 LCD進行動態(tài)顯示, 輪流顯示波形和頻率, 直接用 SPCE061A 驅(qū)動液晶顯示器,要占用較多的 I/O 口,這里采用 ICM7211M 來驅(qū)動,這樣不僅節(jié)省 I/O 口而且減化了編程。 用數(shù)字代表各種波形, 顯示波形的粗調(diào)頻率。 用 IOA9IOA10 口作為位選控制, IOA8 口作為 ICM7211M 的片選信號,IOA11IOA14 作為數(shù)據(jù)線。 數(shù)據(jù)線和位選線直接接凌陽 SPCE061A 單片機的 I/O 口即可, Technology for Easy Life http:/ 8 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 4 LCD 顯示電路 第二種方案采用六個共陰極數(shù)碼管 LED 進行動態(tài)顯示波形和頻率,直接用 SPCE061A 直接驅(qū)動 LED,兩位提供波形顯示,四位提供頻率顯示。用 IOB8IOB13 口作為位選控制, IOA8IOA14 口傳輸要顯示的數(shù)據(jù),數(shù)據(jù)線和位選線直接接凌陽 SPCE061A 單片機的 I/O 口即可,因為 I/O 口輸出電流很小不會對 LED 造成損壞,它 的電壓值卻足以驅(qū)動 LED,這不像別的單片機還要外接驅(qū)動電路和電阻,采用凌陽 SPCE061A 單片機大大減化了設計過程和硬件電路。硬件電路如圖 5 所示。 圖 5 LED 顯示電路 2.2.4 語音播報電路的設計電路語音播報電路的設計電路 Technology for Easy Life http:/ 9 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 凌陽的 SPCE061A 是 16 位單片機,具有 DSP 功能,有很強的信息處理能力,最高時 鐘可達到 49M,具備運算速度高的優(yōu)勢等等,這為語音的播放、錄放、合成及辨識提 供了條件。另外 SPCE061A 單片機具有 32k 閃存,事先把所需要的語音信號錄制好, 整個語音信號經(jīng)凌陽 SACM_S480 壓縮算法壓縮只占有 13.2K 存儲空間,對凌陽 SPCE061A 單片機的存儲系統(tǒng)來說綽綽有余。凌陽 SPCE061A 單片機自帶雙通道 DAC 音頻輸出, DAC1、DAC2 轉(zhuǎn)換輸出的模擬量電流信號分別通過 AUD1 和 AUD2 管腳 輸出, DAC 輸出為電流型輸出,經(jīng) LM396 音頻放大,即可驅(qū)動喇叭放音,放大電路 如圖 6(只列出了 DAC1,DAC2 類似)。在 DAC1、DAC2 后面接一個簡單的音頻放大電 路和喇叭就能實現(xiàn)語音播報功能,這為單片機的音頻設計提供了極大方便,音頻的具 體功能主要通過程序來實現(xiàn)。 圖 6 音頻放大電路 三、軟件設計三、軟件設計 3.1 主程序流程圖主程序流程圖 由于使用凌陽 SPCE061A 使外圍電路變得異常簡單,整個波形發(fā)生器的主體任務落到 了程序編寫上。整個系統(tǒng)的軟件設計方案如圖 7,采用外部中斷二來中斷所顯示波形, 以便進入下一波形的編輯和輸出,在波形輸出的同時利用外部中斷一來實現(xiàn)同步的頻 率調(diào)節(jié)。波形的具體產(chǎn)生是通過兩路 DAC 來產(chǎn)生,之所以采用這種方式,是因為凌 陽 SPCE061A 在這方面的設計為我們提供了極大的方便,在 DAC 的編程方面又提供 了及其便利的編程環(huán)境。用函數(shù)來產(chǎn)生波形是大多數(shù)設計者喜之不舍得設計方案,但 在具體設計方面,因為函數(shù)在單片機的運算過程中占據(jù)了太多的時鐘周期,這就給我 們追求高頻波形一個瓶頸,要怎樣解決這個問題呢?這里我采用查表來實現(xiàn),根據(jù)理 論凌陽 SPCE061A 單片機可達到一百兆的要求,這就能充分滿足題目設計要求了,然 Technology for Easy Life http:/ 10 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 而,由于函數(shù)產(chǎn)生波形極其方便,凌陽 SPCE061A 單片機有提供了大量函數(shù)庫,在設 計過程中我在低頻部分依然采用函數(shù)設計。另外,波形頻率隨 CPU 的頻率而變法,凌 陽 SPCE061A 單片機的 32768 的實時時鐘經(jīng)過 PLL 倍頻電路產(chǎn)生系統(tǒng)時鐘頻率(Fosc), Fosc 再經(jīng)過分頻得到 CPU 時鐘頻率(CPUCLK)可通過對 P_SystemClock(寫)($7013H) 單元編程來控制, 這就為我們設計提供了豐富的 CPU 時鐘選擇。 默認的 Fosc、 CPUCLK 分別為 24.576MHz 和 Fosc/8。我們可以通過對 P_SystemClock 單元編程完成對系統(tǒng)時 鐘和 CPU 時鐘頻率的定義,改變設置將可提供多種頻率選擇。在本設計中,波形編輯 的第一部就是進行 CPU 頻率選擇,選擇最高頻和最低頻作為粗調(diào),在用鍵盤和中斷進 行微調(diào),以便達到所需的頻率及其幅值。下面將對各部分編程作詳細說明。 圖 7 整體流程圖 Technology for Easy Life http:/ 11 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 3.2 分塊程序流程分塊程序流程 按鍵控制部份按鍵控制部份 在鍵掃描的過程中,先置 IOA0IOA3 為帶數(shù)據(jù)緩存器的高電平輸出,置 IOA4IOA7 為帶下拉電阻的輸入管腳,此時若有鍵按下,取 IOA4IOA7 的數(shù)據(jù)將得 到一個值,把此值保存下來,再置 IOA4IOA7 為帶數(shù)據(jù)反相器的高電平輸出,置 IOA0IOA3 為帶下拉電阻的輸入管腳,此時若鍵仍沒彈起,取 IOA0IOA3 的數(shù)據(jù)將 得到另一個值,把這兩個值組合就可得知是哪個鍵按下了,再通過查表得到鍵值,跳 轉(zhuǎn)至相應程序段,執(zhí)行輸出相應波形或者編輯波形,從而達到控制波形的目的。整體 按鍵過程如圖 8 所示。 圖 8 按鍵控制流程圖 正弦波形的形成 正弦波形的形成 在設計之初,我一直都在嘗試使用函數(shù)來計算輸出波形,使用這種方法,在示波 器上得到了很好的波形,但是在 CPU 時鐘頻率沒調(diào)至最高的情況下,所得到的頻率只 是多少毫赫茲到幾十赫茲之間,基本上沒有實用價值。要達到更高的頻率,就得另辟 蹊徑了。分析一下為什么頻率上不去,主要原因在于,使用單片機進行正弦函數(shù)的運 算時占去了不少時間,如果去掉這一計算過程波形的頻率應該大有提高,另外就是 CPU 時鐘頻率沒有調(diào)至最高,以及 DAC 轉(zhuǎn)換過 Technology for Easy Life http:/ 12 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 9 正弦波形查表形成流程圖 程需要時間。為了達到更高的頻率,首先就要免去單片機的計算負擔,我使用的解決 方法是人為計算出要輸出的點,然后建一個表通過查表來進行輸出,這樣主要工作任 務就落到了建表的過程中。這樣做的好處在于,查表所耗費的時鐘周期相同,這樣輸 出的點與點之間的距離就相等了,輸出的波形行將更趨于完美,當然更讓我們感到的 高興的是它輸出波形的頻率將近達到了 100K 赫茲,能夠滿足我們設計的擴展要求了。 為了實現(xiàn)頻率的調(diào)整,我在一個正弦波周期里建了兩百個點,如果我們隔一個取點的 話,且在 CPU 時鐘頻率不改變的情形下,正弦波頻率將相對于前面的頻率提高將近一 倍。這樣我們就得到了解決頻率調(diào)整的方法,首先進行 CPU 時鐘頻率選擇,再調(diào)整一 個正弦函數(shù)一個周期輸出的點數(shù),幅度的調(diào)節(jié)是通過初始幅度設置再通過外部放大電 路來調(diào)節(jié),設計程序流程圖如圖所示。另外,由于函數(shù)產(chǎn)生波形及其方便,凌陽 SPCE061A 單片機又提供了大量函數(shù)庫,在設計過程中我在低頻部分依然采用函數(shù)設 計,因為這更有利于數(shù)字幅度和頻率的調(diào)節(jié)。設計程序流程圖如圖 9 和 10 所示。 Technology for Easy Life http:/ 13 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 10 正弦函數(shù)計算形成波形流程圖 三角波、鋸齒波的形成 三角波、鋸齒波的形成 三角波、鋸齒波形成的原理同正弦波形成的原理大致相同,在這里將不做作詳細 介紹,其流程圖如圖 11 所示。 Technology for Easy Life http:/ 14 歷屆全國大學生電子競賽 SPCE061A 實現(xiàn)方案 圖 11 三角波查表形成流程圖 方波的形成和實現(xiàn) 方波的形成和實現(xiàn) 方波是我們最常用的一種波形,并且常常作為一種標準信號應用在各個領域,凌 陽 SPCE061A 提供了一種很好的方波發(fā)生機制,就是 APWM 調(diào)制,通過寫入 P_TimerA_Ctrl($700BH)單元的第 69 位, 可選擇設置 APWM 輸出波形的脈寬占空比; 同理,寫入 P_TimerB_Ctrl($700DH)單元的第 69 位,便可選擇設置 BPWM 輸出波形 的 脈 寬 占 空 比 。 我 們 可 以 將IOB8設 置 成 同 相 輸 出 端 口 , 通 過 設 置 P_TimerA_Ctrl(寫)($700BH)的第 05 位來選擇 TimerA 的時鐘源(時鐘源 A、B)。設置 該單元的第 69 位(如圖 12 所示) ,TimerA 將輸出不同頻率的脈寬調(diào)制信號,即對脈 寬占空比輸出 APWM 進行控制。這里為了得到最標準的波形采用這種方式來實現(xiàn)標 準方波。如圖 12 所示就是我們進行 APWM 調(diào)制的原理圖。 圖 12 APWMO 信號時序圖 在某些應用領域由于各種干擾和響應的存在,實際電路往往存在各種信號缺陷和瞬變 信號,為了滿足各種需要我們還設計了有頻率突變的方波,如圖 11 所示。具

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論