機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
基于嵌入式微處理器S3C44B0X音頻文件播放
基于嵌入式微處理器S3C44B0X音頻文件播放
 更新時(shí)間:2010-2-5 16:35:56  點(diǎn)擊數(shù):0
【字體: 字體顏色
<!--插入廣告JS代碼-->
S3C44B0X是三星公司針對(duì)嵌入式系統(tǒng)推出高性價(jià)比微處理器,它是基于ARM7TDMI內(nèi)核的16/32位RISC處理器,工作主頻為66MHz.為了降低成本和節(jié)約產(chǎn)品開(kāi)發(fā)周期,S3C44BO0X提供了豐富的內(nèi)置部件,包括:內(nèi)部SRAM,LCD控制器,8通道10位ADC,IIC總線接口,IIS總線接口等.其中S3C44B0X IIS接口能用來(lái)連接一個(gè)外部8/16位立體聲聲音解碼器.CS4334是CIRRUS公司推出的系列音頻解碼芯片.文獻(xiàn)[1,2,3]中對(duì)它們的工作原理和應(yīng)用有詳細(xì)的論述.

  本文詳細(xì)研究了S3C44B0X IIS總線接口和CS4334的連接,搭建了以二者為基礎(chǔ)的嵌入式工作平臺(tái).在該平臺(tái)上現(xiàn)WAVE音頻文件的播放,并給出了測(cè)試程序.

  1IIS總線結(jié)構(gòu)

  S3C44B0X IIS(Inter-IC Sound)接口對(duì)FIFO存取提供DMA傳輸模式代替中斷模式,它可以同時(shí)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)也可以只發(fā)或只收.

  如圖1所示,總線接口FIFO控制包括總線接口、內(nèi)部寄存器和狀態(tài)機(jī),控制總線接口邏輯和FIFO訪問(wèn);3位的雙分頻器包括一個(gè)作為IIS總線主設(shè)備時(shí)鐘發(fā)生器,另外一個(gè)作為外部編碼器的時(shí)鐘發(fā)生器;主設(shè)備串行比特時(shí)鐘發(fā)生器(主設(shè)備模式),將從主設(shè)備時(shí)鐘中分頻得到串行比特?cái)?shù)時(shí)鐘;聲道發(fā)生器和狀態(tài)器生成和控制IISCLK和IISLRCK,并且控制數(shù)據(jù)的接收和發(fā)送;16位移位寄存器在發(fā)送數(shù)據(jù)時(shí)將數(shù)據(jù)由并變串,接收數(shù)據(jù)時(shí)做相反的動(dòng)作.

  IIS總線可以使用正常傳輸模式,DMA傳輸模式和發(fā)送接收同時(shí)模式三種傳輸方式.

  2 音頻數(shù)模轉(zhuǎn)換芯片CS4334

  CS4334是CIRRUS半導(dǎo)體公司生產(chǎn)的音頻數(shù)模轉(zhuǎn)換芯片,具有接口簡(jiǎn)單、性能穩(wěn)定以及便于操作等特點(diǎn),在嵌入式系統(tǒng)中有著廣泛的應(yīng)用. 另外,由于WAVE數(shù)字音頻經(jīng)CS4334轉(zhuǎn)換成模擬音頻后信號(hào)較微弱,需要增加一個(gè)音頻功率放大器.本文選用的是PHILIPS公司的TDA7050低電平單聲道/立體聲功率放大器.

圖1 IIS總線結(jié)構(gòu)框圖

圖2S3C44B0X與CS4334以及TDA7050的連接示意圖

  3S3C44B0X和CS4334以及TDA7050的連接

  S3C44B0X IIS總線接口和CS4334模塊都具有很強(qiáng)的通用性,連接很容易實(shí)現(xiàn).連接方法為:將S3C44B0X的端口PF6(IISDO)、 PF8(IISCLK)、PF5(IISLRCK)、PE8(END/AN)分別與CS4334的管腳1、2、3、4連接.CS4334與TDA7050 連接時(shí),只需將CS4334的輸出連接到TDA7050的相應(yīng)輸入管腳即可.具體連接方法如圖2所示.

  4 程序設(shè)計(jì)

  程序設(shè)計(jì)假設(shè)S3C44B0X已經(jīng)成功啟動(dòng),此處著重介紹播放WAVE文件主函數(shù):

  Playwave().IIS_Init( )是初始化IIS接口函數(shù),BDMA0_Done( )是BDMA0中斷處理函數(shù).分別介紹如下.

  4.1 IIS接口初始化

  代碼如下:

  void IIS_Init(void){

  rPCONF = 0x24900a; //設(shè)置I/O端口PF,使端口PF5~8工作在IIS狀態(tài)

  Init_4334(); //初始化CS4334芯片}

  4.2 播放WAVE音頻文件函數(shù)

  Playwave()函數(shù)運(yùn)行前會(huì)提示先將wave音頻文件下載到指定RAM區(qū)域,函數(shù)計(jì)算出文件大小并提示播放與否,最后返回.

  void Playwave (U32 addr, U32 size){

  unsigned char *pWave;

  U32 samplesize; //WAVE文件長(zhǎng)度

  U32 save_PLLCON;

  save_PLLCON = rPLLCON;

  rPLLCON= x69<<12)|(0x17<<4)|0;

  SerialChgBaud(115200);

  pISR_BDMA0=(unsigned)BDMA0_Done;

  rINTMSK=~(BIT_GLOBAL|BIT_BDMA0);//中斷設(shè)置

  pWave=(unsigned char *)addr;//wave文件數(shù)據(jù)地址

  pWave+=0x28; //指向wav采樣長(zhǎng)度

  samplesize=*(pWave+0) | *(pWave+1)<<8 | *(pWave+2)<<16 | *(pWave+3)<<24;

  pWave+=4; //指向wav數(shù)據(jù)

samplesize=(samplesize>>1)<&lt;1;

  printf(\nsample start:0x%x,pWave);

  printf(\nsamplesize:0x%x,samplesize);

  Init_4334();

  /****** IIS 初始化 ******/

  rIISCON=0x22; //使能 DMA,接收空閑,使能分頻

  rIISMOD=0x89; //主模式,IIS格式,16位數(shù)據(jù),256fs,32 fs

  rIISPSR=0x33; //分頻因子

  rIISFCON=0xa00;//接收、發(fā)送DMA模式,使能FIFO

  /****** BDMA0 初始化******/

  rBDISRC0=(1<<30)+(1<<28)+(U32)pWave; //DMA源;16位數(shù)據(jù),增長(zhǎng)方式

  rBDIDES0=(1<<30)+(3<<28)+((U32)rIISFIF); //DMA目的:M2IO,內(nèi)部模塊

  rBDICNT0=(1<<30)+(1<<26)+(3<<22)+(1<<21)+(0<<20)+samplesize;

  rBDICNT0 |= (1<<20);//設(shè)置DMA請(qǐng)求源為IIS,中斷方式,手動(dòng)重載,使能DMA

  rBDCON0 = 0x0<<2;

  printf(\nNow play the wave file ...);

  printf(\nPush any key to exit!!!);

  rIISCON |=0x1;

  while(!getkey()); //按下任意鍵返回}

  5 小結(jié)

  采用S3C44B0X內(nèi)置IIS總線和音頻數(shù)模轉(zhuǎn)換芯片CS4334,本文搭建了以二者為核心的工作平臺(tái),并詳細(xì)討論了基于此平臺(tái)實(shí)現(xiàn)播放WAVE音頻文件的方法.由于S3C44B0X及CS4334模塊具有較強(qiáng)的通用性,因此本文給出的實(shí)現(xiàn)方法及程序具有使用簡(jiǎn)單、運(yùn)行穩(wěn)定、便于移植等特點(diǎn).

  本文作者創(chuàng)新點(diǎn)在于詳細(xì)設(shè)計(jì)了基于嵌入式微處理器S3C44B0X和CS4334的WAVE音頻文件播放平臺(tái),融合了ARM處理器功耗小、便攜、代碼執(zhí)行效率高和WAVE音頻文件音質(zhì)好的優(yōu)點(diǎn),并給出了詳細(xì)的連接方法,所設(shè)計(jì)程序已經(jīng)在硬件平臺(tái)上成功運(yùn)行.

  參考文獻(xiàn):

  [1] 李巖,榮盤祥. 基于S3C44B0X嵌入式uClinux系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2005.

  [2] 江俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2005年21卷第7-2期120頁(yè).

  [3] 馬中梅. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2002.

  [4] 杜春雷. ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003

  • 上一篇: 實(shí)時(shí)時(shí)鐘器件M41T94在配網(wǎng)監(jiān)測(cè)終端中的應(yīng)用
  • 下一篇: 沒(méi)有了
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1