采用TLC5620設(shè)計(jì)各種波形發(fā)生器_第1頁
采用TLC5620設(shè)計(jì)各種波形發(fā)生器_第2頁
采用TLC5620設(shè)計(jì)各種波形發(fā)生器_第3頁
采用TLC5620設(shè)計(jì)各種波形發(fā)生器_第4頁
采用TLC5620設(shè)計(jì)各種波形發(fā)生器_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

采用DA設(shè)計(jì)各種波形發(fā)生器導(dǎo)師:歐陽斌林班級:電信1001組員:楊利紅A07100205張甲林A07100206日期:2013年6月18日摘要本次D/A轉(zhuǎn)換器設(shè)計(jì)以單片機(jī)AT89S52為主控制器,實(shí)現(xiàn)了波形的產(chǎn)生,頻率的選擇以及波形的選擇等功能。本設(shè)計(jì)的主要功能是用單片機(jī)產(chǎn)生三角波,正弦波等波形,然后通過開關(guān)按鍵選擇不同的頻率和波形輸出。本設(shè)計(jì)采用常用的D/A轉(zhuǎn)換器件TLC5620來使單片機(jī)輸出的數(shù)字信號轉(zhuǎn)換為模擬信號,然后再通過運(yùn)算放大器把D/A輸出的電流信號轉(zhuǎn)換為電壓信號輸出,這樣以便用示波器對波形信號進(jìn)行測量。這樣就完成了D/A轉(zhuǎn)換器的核心部分的設(shè)計(jì)。關(guān)鍵詞:單片機(jī)TLC5620三角波正弦波梯形波

目錄第一章引言 21.1系統(tǒng)背景介紹 21.2D/A轉(zhuǎn)換器的工作原理 3第二章系統(tǒng)概述 32.1單片機(jī)概述 32.1.1單片機(jī)的選擇 32.2D/A概述 52.2.1D/A轉(zhuǎn)換技術(shù)指標(biāo) 52.2.2TLC5620簡介: 6第三章電路設(shè)計(jì) 103.1波形發(fā)生器的設(shè)計(jì)電路原理圖 103.2D/A轉(zhuǎn)換器總流程圖 11第四章波形發(fā)生器程序設(shè)計(jì) 11第五章系統(tǒng)調(diào)試 175.1靜態(tài)調(diào)試 175.2動態(tài)調(diào)試 17第六章總結(jié)與結(jié)束語 186.1實(shí)驗(yàn)結(jié)果 186.2設(shè)計(jì)歷程與體會 21采用DA設(shè)計(jì)各種波形發(fā)生器第一章引言1.1系統(tǒng)背景介紹D/A轉(zhuǎn)換器,作為實(shí)驗(yàn)用的模擬信號源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場上常見的D/A轉(zhuǎn)換器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。當(dāng)今是科學(xué)技術(shù)及儀器設(shè)備高度智能化飛速發(fā)展的信息社會,電子技術(shù)的進(jìn)步,給人們帶來了根本性的轉(zhuǎn)變?,F(xiàn)代電子領(lǐng)域中,單片機(jī)的應(yīng)用正在不斷的走向深入,這必將導(dǎo)致傳統(tǒng)控制與檢測技術(shù)的日益革新。單片機(jī)構(gòu)成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領(lǐng)域得以極為廣泛的應(yīng)用,并走入家庭,從洗衣機(jī)、微波爐到音響汽車,處處可見其應(yīng)用。因此,單片機(jī)技術(shù)開發(fā)和應(yīng)用水平已逐步成為一個國家工業(yè)發(fā)展水平的標(biāo)志之一。D/A作為一種常見的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的波形產(chǎn)生一般可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波和方波的電路便是可取的路徑之一,不用依靠單片機(jī)。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。在科學(xué)研究和生產(chǎn)實(shí)踐中,如工業(yè)過程控制,生物醫(yī)學(xué),地震模擬機(jī)械振動等領(lǐng)域常常要用到低頻信號源。而由硬件電路構(gòu)成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC要很大。大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證。體積大,漏電,損耗顯著更是其致命的弱點(diǎn)。一旦工作需求功能有增加,則電路復(fù)雜程度會大大增加。利用單片機(jī)采用程序設(shè)計(jì)方法來產(chǎn)生低頻信號,其頻率底線很低。具有線路相對簡單,結(jié)構(gòu)緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強(qiáng),用途廣泛等優(yōu)點(diǎn),并且能夠?qū)Σㄐ芜M(jìn)行細(xì)微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調(diào)整程序,即可完成功能升級。1.2D/A轉(zhuǎn)換器的工作原理數(shù)字/模擬轉(zhuǎn)換器(D/A)用來將數(shù)字量轉(zhuǎn)變?yōu)槟M量。本設(shè)計(jì)是基于C52單機(jī)的D/A轉(zhuǎn)換器,其可以產(chǎn)生正弦波,鋸齒波,方波以及三角波。本設(shè)計(jì)的原理大概為:以正弦波為例,它實(shí)現(xiàn)的原理是把正弦波在一個周期分為256或者64或者32個點(diǎn),點(diǎn)和點(diǎn)之間的間隔是相等的并通過延時程序來實(shí)現(xiàn)。我們先使單片機(jī)P0口先輸出00H,然后間隔一段時間再輸出第二個點(diǎn),再延時相同的時間輸出第三個點(diǎn),直到輸出FFH。這樣算一個周期完成。但單片機(jī)這樣輸出的信號只是正弦波的大概,并不是一個平滑完整的波形。我們必須通過一個D/A轉(zhuǎn)換器件把它從數(shù)字信號變?yōu)槟M信號,但是此時又產(chǎn)生了一個問題,通過D/A轉(zhuǎn)換的模擬信號為電流信號。這樣的信號示波器是無法識別的,這樣我們就必須通過一個運(yùn)算放大器把電流信號轉(zhuǎn)換為標(biāo)準(zhǔn)電壓信號。這樣就基本完成了發(fā)生器的設(shè)計(jì)。當(dāng)然方波和三角波的實(shí)現(xiàn)和正弦波的實(shí)現(xiàn)原理基本相同,所以在此我們就不必贅述。我設(shè)計(jì)的D/A轉(zhuǎn)換器是可以調(diào)頻的。其調(diào)頻的原理是:把單片機(jī)定時/計(jì)數(shù)器的最大可計(jì)數(shù)的時間計(jì)算出來,然后我們就可以等間隔步進(jìn)的從最小的一個計(jì)數(shù)值來改變計(jì)數(shù)的時間,使得定時/計(jì)數(shù)器的溢出時間長短不同,這樣就可以改變波形的頻率。第二章系統(tǒng)概述2.1單片機(jī)概述2.1.1單片機(jī)的選擇隨著微電子技術(shù)的飛速發(fā)展,CPU已經(jīng)變成低成本器件。在可能的情況下,各種機(jī)電設(shè)備已經(jīng)或者正在嵌入CPU構(gòu)成的嵌入式系統(tǒng)。據(jù)VirginiaTech公司報(bào)告,嵌入式系統(tǒng)中所使用的CPU數(shù)量已經(jīng)超過通用PC中CPU數(shù)量的30倍。現(xiàn)在系統(tǒng)研究的重點(diǎn)已從通用系統(tǒng)轉(zhuǎn)向?qū)S孟到y(tǒng),以及從一般性能轉(zhuǎn)向可靠性、可用性、安全性、自主性、可擴(kuò)展性、功能性、靈活性、成本、體積、功耗及可管理性上。2.1.2AT89C52單片機(jī)介紹:圖1.AT89C52單片機(jī)引腳圖AT89C52是一個低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。

AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。

AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

主要功能特性:

·兼容MCS51指令系統(tǒng)·8k可反復(fù)擦寫(>1000次)FlashROM

·32個雙向I/O口·256x8bit內(nèi)部RAM

·3個16位可編程定時/計(jì)數(shù)器中斷·時鐘頻率0-24MHz

·2個串行中斷·可編程UART串行通道

·2個外部中斷源·共6個中斷源

·2個讀寫中斷口線·3級加密位

·低功耗空閑和掉電模式·軟件設(shè)置睡眠和喚醒功能2.2D/A概述2.2.1D/A轉(zhuǎn)換技術(shù)指標(biāo)D/A轉(zhuǎn)換器的輸入為數(shù)字量,經(jīng)轉(zhuǎn)換后輸出為模擬量。有關(guān)D/A轉(zhuǎn)換器的技術(shù)性能指標(biāo)很多,例如絕對精度,相對精度,線性度,輸出電壓范圍,溫度系數(shù),輸入數(shù)字代碼種類等等。對這些技術(shù)性能指標(biāo),這里不做全面的詳細(xì)說明,僅對幾個與接口有關(guān)的技術(shù)性能指標(biāo)作以介紹。(1)分辨率。分辨率是D/A轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù)字量的為數(shù)有關(guān)。如果數(shù)字量的位數(shù)為n,則D/A轉(zhuǎn)換器的分辨率為1/2n。這就意味著D/A轉(zhuǎn)換器能對滿刻度的1/2n輸出量作出反應(yīng)。例如,8位數(shù)的分辨率為1/256,10位數(shù)的分辨率為1/1024。因此,數(shù)字量的位數(shù)越多,分辨率就越高,亦即轉(zhuǎn)換器對輸入量變化的敏感程度也就越高。使用時,應(yīng)根據(jù)分辨率的需要來選定轉(zhuǎn)換器的位數(shù)。(2)建立時間。建立時間是描述D/A轉(zhuǎn)換速度快慢的一個參數(shù),指從輸入數(shù)字量變化到輸出達(dá)到終值誤差+1/2LSB時所需的時間,通常以建立時間來表明轉(zhuǎn)換速度。轉(zhuǎn)換器輸出形式為電流時,建立時間較短,而輸出形式為電壓時,由于建立時間還要加上運(yùn)算放大器的延遲時間,因此建立時間要長一些。但總的來說,D/A轉(zhuǎn)換速度遠(yuǎn)高與A/D轉(zhuǎn)換,例如快速的D/A轉(zhuǎn)換器的建立時間僅為1us。(3)接口形式。D/A轉(zhuǎn)換器與單片機(jī)的接口方便與否,主要決定于轉(zhuǎn)換器本身是否帶數(shù)據(jù)鎖存器。通常有兩類D/A轉(zhuǎn)換器:一類不帶鎖存器;另一類則帶鎖存器。對于不帶鎖存器的D/A轉(zhuǎn)換器,為了保存來自單片機(jī)的轉(zhuǎn)換數(shù)據(jù),在接口要加鎖存器,因此這類轉(zhuǎn)換器必須接在口線上而不能直接接在數(shù)據(jù)總線上;而帶鎖存器的D/A轉(zhuǎn)換器,可以把它看作是一個輸出口,因此可以直接接在數(shù)據(jù)總線上,而不需另加鎖存器。2.2.2TLC5620簡介:(1)TLC5620C是帶有高阻抗緩沖輸入的4通道8位電源輸出數(shù)模轉(zhuǎn)換器集合。這些轉(zhuǎn)換器可以產(chǎn)生單調(diào)的、一至兩倍于基準(zhǔn)電壓和接地電壓差值的輸出。通常情況下TLC5620的供電電壓為一個5V電源。器件內(nèi)集成上電復(fù)位功能,確保啟動時的環(huán)境是可重復(fù)的。對TLC5620C的數(shù)字控制是通過一根簡單的3路串行總線實(shí)現(xiàn)的。該總線兼容CMOS,并易于向所有的微處理器和微控制器設(shè)備提供接口。11位的命令字包括8位數(shù)據(jù)位,2位DAC選擇位和1位范圍位,后者用來選擇輸出范圍是1倍還是2倍。DAC寄存器采用雙緩存,允許一整套新值被寫入設(shè)備中。通過LDAC實(shí)現(xiàn)DAC輸出值的同時更新。數(shù)字量的輸入采用史密斯觸發(fā)器,從而有效降低噪聲。TLC5620的特點(diǎn)對應(yīng)原理框圖如下:圖2.TLC5620原理框圖(2)TLC5620硬件接口圖3.TLC5620引腳名稱如圖所示TLC5620可方便的與單片機(jī)連接使用。與單片機(jī)的接口如圖所示:圖4.TLC與單片機(jī)的連接圖其中VREF為2.5V基準(zhǔn)源,四個通道都采用其作為基準(zhǔn)源,輸入5V電壓不輸出電壓都經(jīng)過濾波,保證精度。(3)TLC5620工作時序TLC5620是串聯(lián)型8位D/A轉(zhuǎn)換器(DAC),它有4路獨(dú)立的電壓輸出D/A轉(zhuǎn)換器,具備各自獨(dú)立的基準(zhǔn)源,其輸出還可以編程為2倍戒1倍,在控制TLC5620時,只要對該芯片的DATA、CLK、LDAC、LOAD端口控制即可,TLC5620控制字為11位,包括8位數(shù)字量,2位通道選擇,1位增益選擇。其中命令格式第1位、第2位分別為A1、A0,第3位為RNG,即可編程放大輸出倍率,第4到11位為數(shù)據(jù)位,高位在前,低位在后。通道不同輸出關(guān)系如下圖5.不同通道輸出關(guān)系圖管腳DATA為芯片串行數(shù)據(jù)輸入端,CLK為芯片時鐘,數(shù)據(jù)在每個時鐘下降沿輸入DATA端,數(shù)據(jù)輸入過程中LOAD始終處于高電平,一旦數(shù)據(jù)輸入完成,LOAD置低,則轉(zhuǎn)換輸出,實(shí)驗(yàn)中LDAC一直保持低電平,DACA、DACB、DACC、DACD為四路轉(zhuǎn)換輸出,REFA、REFB、REFC、REFD為其對應(yīng)的參考電壓。TLC5620的時序圖如圖所示。圖6.TLC5620的時序圖當(dāng)LOAD為高電平時,數(shù)據(jù)在CLK每一下降沿由時鐘同步送入DATA端口。如圖(a)所示,一旦所有的數(shù)據(jù)位送入,LOAD變?yōu)槊}沖低電平,以便把數(shù)據(jù)從串行輸入寄存器傳送到所選擇的DAC。如果LDAC為低電平,則所選擇的DAC輸出電壓更新且LOAD變?yōu)榈碗娖?。在圖(b)中,串行編程期間內(nèi)LDAC為高電平,新數(shù)值被LOAD的脈沖低電平打入第一級鎖存器后,再由LDAC脈沖低電平傳送到DAC輸出。數(shù)據(jù)輸入時最高有效位(MSB)在前。使用兩個8時鐘周期的數(shù)據(jù)傳送示于圖(c)和圖(d)中。第三章電路設(shè)計(jì)3.1波形發(fā)生器的設(shè)計(jì)電路原理圖圖7.波形發(fā)生器設(shè)計(jì)原理圖3.2D/A轉(zhuǎn)換器總流程圖開始開始初始化等待按鍵等待按鍵有鍵按下有鍵按下查按鍵號查按鍵號Y正弦波輸出梯形波輸出鋸齒波正弦波輸出梯形波輸出鋸齒波輸出函數(shù)三角波輸出函數(shù)圖8.系統(tǒng)總流程圖第四章波形發(fā)生器程序設(shè)計(jì)#include<reg52.h>#include<intrins.h>#defineucharunsignedchar//定義I/O端口sbitCLK=P0^0; //串行時鐘,下降沿有效sbitDAT=P0^1; //串行數(shù)據(jù)sbitLOAD=P0^2; //串行數(shù)據(jù)裝載,下降沿有效sbitLDAC=P0^3; //DAC更新鎖存控制,下降沿有效sbitsanjiao=P3^2; //按鍵sbitjuchi=P3^3; //按鍵sbittixing=P3^4; //按鍵sbitSinanjian=P3^5;//按鍵ucharflag=0;voidsanjiaowave();voidjuchiwave();voidtixingwave();voidSinWave();/**************************************************************************************************函數(shù):Dac()功能:發(fā)送數(shù)據(jù)至TLC5620串行DAC參數(shù):addr:DAC通道地址,取值0~3,對應(yīng)通道A~Drng:附加的范圍位,rng=0時,Vo不會超過Vref,rng=1時,Vo變?yōu)?倍dat:8位DAC數(shù)據(jù)公式:rng=0時,Vo=Vref*(dat/256)rng=1時,Vo=Vref*(dat/256)*2**************************************************************************************************/voidDac(unsignedcharaddr,bitrng,unsignedchardat){unsignedcharn;//發(fā)送通道地址n=2;do{DAT=(bit)(addr&0x02);addr<<=1;CLK=0;CLK=1;}while(--n!=0);//發(fā)送RNG位DAT=rng;CLK=0;CLK=1;//發(fā)送8位DAC數(shù)據(jù)n=8;do{DAT=(bit)(dat&0x80);dat<<=1;CLK=0;CLK=1;}while(--n!=0);//裝載數(shù)據(jù)LOAD=0;LOAD=1;//數(shù)據(jù)鎖存到DAC轉(zhuǎn)換器LDAC=0;LDAC=1;}/*函數(shù):Delay()功能:延時1ms~256ms參數(shù):t>0時,延時(t)mst=0時,延時256ms*/voiddelayms(ucharms){ uchari; while(ms--) { for(i=0;i<250;i++) _nop_(); _nop_(); _nop_(); _nop_(); }}voidInit_TLC5620() //初始化TLC5620{ DAT=1;CLK=1;LDAC=1; LOAD=1;}voidmain(){ sanjiao=1;juchi=1; tixing=1; Sinanjian=1; flag=0; Init_TLC5620(); while(1) { if(!sanjiao) { delayms(10); if(!sanjiao) flag=0; } elseif(!juchi) { delayms(10); if(!juchi) flag=1; } elseif(!tixing) { delayms(10); if(!tixing) flag=2; } elseif(!Sinanjian) { delayms(10); if(!Sinanjian) flag=3; } // Init_TLC5620(); if(flag==0) { sanjiaowave(); } elseif(flag==1) { juchiwave(); } elseif(flag==2) { tixingwave(); } elseif(flag==3) SinWave(); }}voidsanjiaowave(){ uchari=0; for(i=0;i<0xff;i++) { Dac(0,0,i); _nop_(); } for(i=0xff;i>0;i--) { Dac(0,0,i); _nop_(); }}voidjuchiwave(){ uchari=0; for(i=0;i<0xff;i++) Dac(1,0,i); Dac(1,0,0xff);}voidtixingwave(){ uchari=0; for(i=0;i<0xfe;i++) Dac(2,0,i); for(i=0;i<0xff;i++) { Dac(2,0,0xff); } for(i=0xff;i>0;i--) Dac(2,0,i);// for(i=0;i<0xff;i++)// Dac(2,0,0);}/*函數(shù):SinWave()功能:利用TLC5620串行DAC在通道B產(chǎn)生正弦波說明:請用示波器觀察SmartSOPC實(shí)驗(yàn)箱D5區(qū)的DACB通道*/voidSinWave(){codeunsignedcharSinTab[]={128,147,167,185,202,218,231,241,249,253,255,253,249,241,231,218,202,185,167,147,127,108,88,70,53,37,24,14,6,2,0,2,6,14,24,37,53,70,88,108 //數(shù)字設(shè)置多少,可調(diào)節(jié)正弦波平滑度};unsignedcharn;for(n=0;n<40;n++){Dac(3,0,SinTab[n]);delayms(1); //調(diào)節(jié)正弦 }}第五章系統(tǒng)調(diào)試系統(tǒng)調(diào)試是利用開發(fā)機(jī)系統(tǒng)、基本測試儀器(萬用表、示波器等),通過執(zhí)行開發(fā)系統(tǒng)有關(guān)命令或運(yùn)行適當(dāng)?shù)臏y試程序(也可以是與硬件有關(guān)的部分用戶程序段),檢查用戶系統(tǒng)硬件中存在的故障。系統(tǒng)調(diào)試可分靜態(tài)調(diào)試和動態(tài)調(diào)試兩步進(jìn)行。5.1靜態(tài)調(diào)試靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時的

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論