DSP音頻信號(hào)發(fā)生器_第1頁(yè)
DSP音頻信號(hào)發(fā)生器_第2頁(yè)
DSP音頻信號(hào)發(fā)生器_第3頁(yè)
DSP音頻信號(hào)發(fā)生器_第4頁(yè)
DSP音頻信號(hào)發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大學(xué)課程設(shè)計(jì)報(bào)告音頻信號(hào)發(fā)生器 設(shè) 計(jì) 人:付路專 業(yè):電子信息工程班 級(jí):電子111501學(xué) 號(hào):201115020104指導(dǎo)教師:寧愛平二零一四年目錄一 引言-第2頁(yè)二系統(tǒng)結(jié)構(gòu)及原理-第2頁(yè)三 硬件設(shè)計(jì)-第3頁(yè)3.1 MMC/SD卡接口電路-第3頁(yè)3.2 上位機(jī)和單片機(jī)通信-第4頁(yè)3.3 信號(hào)調(diào)理電路-第5頁(yè)四 軟件設(shè)計(jì)-第7頁(yè)4.1 系統(tǒng)初始化-第7頁(yè)4.2 MMC/SD卡初始化-第7頁(yè)4.3 MMC/SD卡單塊寫數(shù)據(jù)-第8頁(yè)五 結(jié)束語(yǔ)-第11頁(yè)一 引言 目前,單片機(jī)系統(tǒng)以價(jià)格低廉、開發(fā)環(huán)境完備、開發(fā)工具齊全、應(yīng)用資料眾多、功能強(qiáng)大且程序易于移植等優(yōu)點(diǎn)而得到廣泛應(yīng)用。同時(shí),隨著信息化進(jìn)程

2、、計(jì)算機(jī)科學(xué)與技術(shù)以及信號(hào)處理理論與方法的迅速發(fā)展,需要的數(shù)據(jù)量越來越大,對(duì)數(shù)據(jù)存儲(chǔ)也提出了更高要求。MMC/SD卡以其價(jià)格、體積、讀取速度等特點(diǎn)成為現(xiàn)今大多數(shù)便攜式嵌入式設(shè)備的首選。 二系統(tǒng)結(jié)構(gòu)及原理 音頻信號(hào)發(fā)生器的系統(tǒng)結(jié)構(gòu)如圖1所示,它主要由8051F330單片機(jī)、MMC/SD卡存儲(chǔ)器、RS232串行通信接口、上位機(jī)、液晶顯示、鍵盤以及信號(hào)調(diào)理電路等部分組成。將寫入MMC/SD卡中的音頻數(shù)據(jù)存儲(chǔ)在上位機(jī),單片機(jī)通過RS232串行通信接口寫入MMC/SD卡,以中斷方式讀取鍵盤接口命令,并根據(jù)命令控制選擇相應(yīng)的音頻信號(hào)數(shù)據(jù),再由信號(hào)調(diào)理電路輸出不同頻率和強(qiáng)度的音頻信號(hào),系統(tǒng)通過液晶顯示模塊顯

3、示信號(hào)頻率、信號(hào)強(qiáng)度及信號(hào)類型。該系統(tǒng)突出的特點(diǎn)是上位機(jī)采用Lab Windows/CVI軟件,通過RS232串行通信接口與單片機(jī)通訊;以文本格式存儲(chǔ)在上位機(jī)的音頻信息則通過RS232串行通信接口下載到MMC/SD卡。 系統(tǒng)控制核心選用美國(guó)Cygnal公司的8051F330單片機(jī),C8051F330微控制器采用獨(dú)特的CIP-8051架構(gòu),對(duì)指令運(yùn)行實(shí)行流水作業(yè),大大提高了指令的運(yùn)行速度;采用多功能存儲(chǔ)卡-MMC/SD卡作為存儲(chǔ)介質(zhì)。MMC/SD卡內(nèi)置控制電路,可應(yīng)用于手機(jī)、數(shù)碼相機(jī)、MP3等多種數(shù)字設(shè)備,反復(fù)記錄30萬(wàn)次,具有較高的性價(jià)比;液晶顯示屏采用OCM12864點(diǎn)陣液晶顯示模塊,由單片

4、機(jī)時(shí)序控制,具有8位數(shù)據(jù)線、6條控制線和電源線。三 硬件設(shè)計(jì) 3.1 MMC/SD卡接口電路 MMC/SD卡在音頻信號(hào)發(fā)生器系統(tǒng)中是以數(shù)字量形式存儲(chǔ)音頻信息。MMC/SD卡有兩種工作模式,即MMC/SD模式和SPI模式。從實(shí)際應(yīng)用角度出發(fā),SPI模式設(shè)計(jì)簡(jiǎn)單,操作方便,但數(shù)據(jù)傳輸速率不如MMC/SD模式,本系統(tǒng)采用SPI模式。MMC/SD卡工作在SPI模式下,其各個(gè)引腳功能的定義,如表1所示。CS是MMC/SD卡的片選線,在SPI模式下,CS必須保持低電平有效;DI不但傳輸數(shù)據(jù),還發(fā)送命令,傳輸方向是由單片機(jī)到MMC/SD卡;同樣DO除了發(fā)送數(shù)據(jù)外還傳送應(yīng)答信號(hào),傳輸方向是由MMC/SD卡到;

5、SCLK是操作MMC/SD卡的時(shí)鐘線。將C8051F330的相應(yīng)交叉開關(guān)配置為SPI模式,與MMC/SD卡對(duì)應(yīng)的引腳連接。針對(duì)SPI總線線路上增加了上拉電阻。MMC/SD卡與單片機(jī)接口電路。如圖2所示。 單片機(jī)3.2 上位機(jī)和單片機(jī)通信 上位機(jī)采用Lab Windows/CVI軟件通過串口向單片機(jī)發(fā)送音頻信息。單片機(jī)將接收到的信息數(shù)據(jù)寫入MMC/SD卡。Lab Windows/CVI軟件的音頻信息是由WinHex軟件將原始文件轉(zhuǎn)換成16進(jìn)制的數(shù)字量,該軟件可對(duì)多種語(yǔ)音信號(hào)進(jìn)行轉(zhuǎn)換。上位機(jī)與單片機(jī)的通信是通過RS232串口通訊器件完成的。當(dāng)上位機(jī)與音頻信號(hào)發(fā)生器相距較遠(yuǎn)不能直接用RS232器件將

6、其連接時(shí),可將RS232轉(zhuǎn)換為CAN,通過CAN總線實(shí)現(xiàn)串口設(shè)備的網(wǎng)絡(luò)互聯(lián)。RS232標(biāo)準(zhǔn)電平采用負(fù)邏輯,規(guī)定+3 V+15 V的任意電平為邏輯“0”電平,-3 V-15 V的任意電平為邏輯“1”電平。而CAN信號(hào)則使用差分電壓傳輸,2條信號(hào)線稱為“CAN_H”和“CAN_L”,靜態(tài)時(shí)均為2.5 V,此時(shí)狀態(tài)表示為邏輯“1”,也可稱為“隱性”;CAN_H比CAN_L高時(shí)表示邏輯“0”,稱為“顯性”。顯性時(shí),通常為:CAN_H=3.5 V,CAN_L=1.5 V。 RS232串口的幀格式:1位起始位,8位數(shù)據(jù)位,1位可編程的第9位(此位為發(fā)送和接收的地址/數(shù)據(jù)位),1位停止位。而CAN的數(shù)據(jù)幀格

7、式:幀信息+ID+數(shù)據(jù)(分為標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種格式)。 3.3 信號(hào)調(diào)理電路 存儲(chǔ)在MMC/SD卡中的數(shù)據(jù)是音頻信號(hào)發(fā)生器的源代碼。單片機(jī)將這些數(shù)據(jù)從MMC/SD卡中讀出,經(jīng)過單片機(jī)內(nèi)部數(shù)模轉(zhuǎn)換,以模擬量的形式從P01輸出。該模擬信號(hào)經(jīng)信號(hào)調(diào)理電路可外接耳機(jī)或音響播放十幾種音律。信號(hào)調(diào)理電路如圖3所示。由P01輸出的信號(hào)經(jīng)LM324放大后,由多個(gè)LM324并聯(lián)實(shí)現(xiàn)信號(hào)跟隨和功率驅(qū)動(dòng)。圖中只畫出了2個(gè)跟隨器,實(shí)際應(yīng)用中根據(jù)需要可以并聯(lián)10多個(gè)信號(hào)跟隨器。 四 軟件設(shè)計(jì)4.1 系統(tǒng)初始化 系統(tǒng)初始化可完成C8051F330的I/O口、晶體振蕩器、SPI總線和C8051F330片上串口的初始化設(shè)置。

8、用C語(yǔ)言編寫的程序代碼如上: 4.2 MMC/SD卡初始化 MMC/SD卡上電后默認(rèn)為MMC/SD模式,要使MMC/SD卡工作在SPI模式下,在MMC/SD卡初始化時(shí),當(dāng)片選線(CS)被拉低時(shí)發(fā)送復(fù)位命令CMD0,如收到應(yīng)答信號(hào)01H,表示已將卡置為閑置狀態(tài);如收到應(yīng)答信號(hào)不是01H,則表示出錯(cuò)。然后向MMC/SD卡發(fā)送命令CMD1,收到正確的應(yīng)答信號(hào)00H之后,才會(huì)使MMC/SD卡進(jìn)入SPI模式。MMC/SD卡初始化流程如圖4所示。MMC/SD卡協(xié)議是一種問答式協(xié)議。首先單片機(jī)發(fā)送CMD。接著由MMC/SD卡發(fā)送回應(yīng)RES。MMC/SD卡的命令長(zhǎng)度都是6字節(jié),命令總是以左邊的起始位開始,右邊

9、的結(jié)束位結(jié)束。其具體的命令格式如表2所示,MMC/SD卡的應(yīng)答格式分為4種,分別是R1、R1b、R2和R3應(yīng)答。4.3 MMC/SD卡單塊寫數(shù)據(jù) MMC/SD卡單塊寫數(shù)據(jù)主要實(shí)現(xiàn)C8051F330對(duì)MMC/SD卡的單塊寫操作。MMC/SD卡塊的默認(rèn)大小為512字節(jié)。當(dāng)MMC/SD卡接收到單塊寫命令CMD24后,MMC/SD卡向單片機(jī)發(fā)送應(yīng)答命令,并且等著單片機(jī)發(fā)送數(shù)據(jù)塊。當(dāng)應(yīng)答命令R1為0時(shí),說明可以發(fā)送512個(gè)字節(jié)數(shù)據(jù)。MMC/SD卡對(duì)接收到的數(shù)據(jù)塊都通過一個(gè)l字節(jié)長(zhǎng)的命令確認(rèn),當(dāng)其低5位二進(jìn)制數(shù)據(jù)為00101時(shí),數(shù)據(jù)塊才確認(rèn)數(shù)據(jù)塊寫入MMC/SD卡。在數(shù)據(jù)塊發(fā)送中,共發(fā)送515個(gè)字節(jié)數(shù)據(jù),

10、其中,第一個(gè)字節(jié)為0xFE,隨后是512字節(jié)的用戶數(shù)據(jù)塊,最后是2個(gè)字節(jié)的CRC。單塊數(shù)據(jù)寫入MMC/SD卡的流程圖如圖5所示。 采用C語(yǔ)言編寫的程序代碼如下: #include scancode.h#defineTIM*(int *)0x24#definePRD *(int *)0x25#defineTCR*(int *)0x26#defineIMR*(int *)0x0#defineIFR*(int *)0x1#definePMST*(int *)0x1d#define SPSA0 *(unsigned int *)0x38#define SPSD0 *(unsigned int *)0x

11、39#define SPSA1 *(unsigned int *)0x48#define SPSD1 *(unsigned int *)0x49#define nMusicNumber 40#define REGISTERCLKMD (*(unsigned int *)0x58)#define WAITSTATUS (*(unsigned int *)0x28)ioport unsigned char port8000;ioport unsigned char port8001;ioport unsigned char port8002;ioport unsigned char port800

12、7;#define CTRGR port8000#define CTRKEY port8001#define CTRCLKEY port8002#define CTRLR port8007void Delay(unsigned int nTime);void interrupt time(void);/ 音符數(shù)據(jù)unsigned int musicnMusicNumber2=182,480,151,480,135,480,121,480,135,480,151,480,182,480,0,480,182,480,151,480,135,480,121,480,135,480,151,480,1

13、82,480,0,480,182,240,151,240,135,240,121,240,135,240,151,240,182,240,0,240,182,240,151,240,135,240,121,240,135,240,151,240,182,240,0,240,182,1920,151,1920,135,1920,121,1920,135,1920,151,1920,182,1920,0,1920 ;unsigned int uWork;main()unsigned int uWork1;int j,nCount,nCount1,nScanCode;nCount=nCount1=0

14、;REGISTERCLKMD=0;CTRGR=0;CTRGR=0x80;CTRGR=8;CTRLR=0;/ 關(guān)閉東西方向的交通燈CTRLR=0x40; / 關(guān)閉南北方向的交通燈uWork1=CTRCLKEY;/ 清除鍵盤緩沖區(qū)for ( j=0;jnMusicNumber;j+ )musicj0*=8;SPSA0=1; / set McBSP0s SPCR2uWork1=SPSD0;uWork1&=0xfffe; / set XRST=0SPSD0=uWork1;SPSA0=0x0e; / set McBSP0s PCRuWork1=SPSD0;uWork1|=0x2020; / set XI

15、OEN=1, Enable IO,DX for outputSPSD0=uWork1;uWork1= PMST; PMST = uWork1&0xff;IMR = 0x8;TCR = 0x412;TIM = 0;PRD = musicnCount0;/ 頻率設(shè)置TCR = 0x422;IFR = 0x100;asm(rsbxINTM); j=0;while ( j=nMusicNumber )nCount=0; j+;if ( musicnCount0=0 )TCR=0x412;/ 靜音elsePRD = musicnCount0;/ 切換音符TCR = 0x422; void Delay(unsigned int nDelay)int i,j,k=0;for ( i=0;inDelay;i+ )for ( j=0;j64;j+ )k+;void interrupt time(void)SPSA0=1;/ set McBSP0s SPCR2uWork=SPSD0;uWork&=0xfffe;/ set XRST=0SPSD0=uWork;SPSA0=0x0e;/ set McBSP0s PCRuWork=SPSD0;uWork|=0x2000;/ set XIOEN=1, Enable IO,DX for outputuWork=0x20;/ D

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論