久久这里只有精品国产99-久久这里只有精品2-久久这里只有精品1-久久这里只精品热在线99-在线少女漫画-在线涩涩免费观看国产精品

基于S3C2410的Linux下的I2S接口實現(xiàn)嵌入式語音的錄

來源:期刊VIP網(wǎng)所屬分類:機械時間:瀏覽:

  摘要:IIS接口即集成音頻接口,如果設計音頻應用產(chǎn)品,I2S總線接口是必需的。而S3C2410芯片內(nèi)部集成有I2S接口控制部件,以便實現(xiàn)一個用于迷你型、可移動的多媒體數(shù)字音頻信號編解碼器。本文在介紹I2S總線的基礎上,分析并實現(xiàn)了在Linux下放音和錄音的初始化驅(qū)動及錄放音的過程。

  關鍵字: S3C2410 I2S總線 嵌入式Linux UDA1341

  1 I2S總線概述

  音響數(shù)據(jù)的采集、處理和傳輸是多媒體技術(shù)的重要組成部分。眾多的數(shù)字音頻系統(tǒng)已經(jīng)進入消費市場,例如數(shù)字音頻錄音帶、數(shù)字聲音處理器。I2S(Inter—IC Sound)總線是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準,該總線專責于音頻設備之間的數(shù)據(jù)傳輸,廣泛應用于各種多媒體系統(tǒng)。它采用了沿獨立的導線傳輸時鐘與數(shù)據(jù)信號的設計,通過將數(shù)據(jù)和時鐘信號分離,避免了因時差誘發(fā)的失真,為用戶節(jié)省了購買抵抗音頻抖動的專業(yè)設備的費用。

  2 I2S總線規(guī)范

  在飛利浦公司的I2S標準中,既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。

  2.1 I2S有3個主要信號:

  1)串行時鐘SCLK,也叫位時鐘(BCLK),即對應數(shù)字音頻的每一位數(shù)據(jù),SCLK都有1個脈沖。SCLK的頻率=2×采樣頻率×采樣位數(shù)。

  2) 幀時鐘LRCK,(也稱WS),用于切換左右聲道的數(shù)據(jù)。LRCK為“1”表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。LRCK的頻率等于采樣頻率。

  3)串行數(shù)據(jù)SDATA,就是用二進制補碼表示的音頻數(shù)據(jù)。

  有時為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統(tǒng)時鐘(Sys Clock),是采樣頻率的256倍或384倍。

  2.2 串行數(shù)據(jù)(SD)

  I2S格式的信號無論有多少位有效數(shù)據(jù),數(shù)據(jù)的最高位總是出現(xiàn)在LRCK變化(也就是一幀開始)后的第2個SCLK脈沖處。如果接收端能處理的有效位數(shù)多于發(fā)送端,可以自行補足剩余的位。這種同步機制使得數(shù)字音頻設備的互連更加方便,而且不會造成數(shù)據(jù)錯位。

  I2S格式的信號無論有多少位有效數(shù)據(jù),數(shù)據(jù)位的最高位(MSB)總是被最先傳輸,1次能夠發(fā)送的數(shù)據(jù)決定于I2S格式的有效位數(shù)。

  隨著技術(shù)的發(fā)展,在統(tǒng)一的I2S接口下出現(xiàn)了多種不同的數(shù)據(jù)格式。根據(jù)SD信號相對于SCK和WS位置的不同,分為左對齊和右對齊2種格式,如圖2和圖3所示。

  2.3 字段(聲道)選擇(WS)

  命令選擇線表明了正在被傳輸?shù)穆暤馈?/p>

  WS=1,表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù)。

  WS=0,表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。

  WS可以在串行時鐘的上升沿或者下降沿發(fā)生改變,并且WS信號不需要一定是對稱的。在從屬裝置端,WS在時鐘信號的上升沿發(fā)生改變。在圖2、圖3兩種數(shù)據(jù)傳輸格式中,當WS為“1”時傳輸?shù)氖亲舐暤赖臄?shù)據(jù),當WS為“0”時傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。為了保證數(shù)字音頻信號的正確傳輸,發(fā)送端和接收端應該采用相同的數(shù)據(jù)格式和長度。當然,對I2S格式來說數(shù)據(jù)長度可以不同。

  2.4電氣規(guī)范:

  輸出電壓:

  VL <0.4V

  VH>2.4V

  輸入電壓

  VIL=0.8V

  VIH=2.0V

  注:目前使用的TTL電平標準,隨著其他IC(LSI)的流行,其他電平也會支持。

  3 I2S工作時序

  在I2S總線中,任何設備都可以通過提供必需的時鐘信號成為系統(tǒng)的主導裝置,而從屬裝置通過外部時鐘信號來得到它的內(nèi)部時鐘信號,這就意味著必須重視主導裝置和數(shù)據(jù)以及命令選擇信號之間的傳播延遲,總的延遲主要由兩部分組成:

  1)外部時鐘和從屬裝置的內(nèi)部時鐘之間的延遲

  2)內(nèi)部時鐘和數(shù)據(jù)信號以及命令選擇信號之間的延遲

  對于數(shù)據(jù)和命令信號的輸入,外部時鐘和內(nèi)部時鐘的延遲不占據(jù)主導地位,它只是延長了有效的建立時間(set—up time)。延遲的主要部分是發(fā)送端的傳輸延遲和設置接收端所需的時間。

  T是時鐘周期,Tr是最小允許時鐘周期,T>Tr這樣發(fā)送端和接收端才能滿足數(shù)據(jù)傳輸速率的要求。

  對于所有的數(shù)據(jù)速率,發(fā)送端和接收端均發(fā)出一個具有固定的傳號空號比(mark—space ratio)的時鐘信號,所以t LC和tHC是由T所定義的。 t LC和tHC必須大于0.35T,這樣信號在從屬裝置端就可以被檢測到。

  延遲(tdtr)和最快的傳輸速度(由Ttr定義)是相關的,快的發(fā)送端信號在慢的時鐘上升沿可能導致tdtr不能超過tRC而使thtr為零或者負。只有tRC不大于tRCmax的時候(tRCmax>:0.15T),發(fā)送端才能保證thtr大于等于0。

  數(shù)據(jù)建立時間(set-up time)和保持時間(hold time)不能小于指定接收端的建立時間和保持時間。

  4 I2S總線結(jié)構(gòu)配置

  S3C2410數(shù)字音頻接口模塊由I2S(Inter-IC Sound)音頻總線接口和UDA1341音頻編碼器(CODEC)組成。S3C2410內(nèi)置一個I2S總線控制器,該控制器實現(xiàn)了到一個外部8/16位立體聲音頻CODEC IC的接口。支持I2S總線數(shù)據(jù)格式和MSB-justified數(shù)據(jù)格式。此控制器包含F(xiàn)IFO,支持DMA傳輸模式。I2S總線控制器結(jié)構(gòu)如圖4所示。

  UDA1341是Philips公司的一款經(jīng)濟型音頻CODEC,用于實現(xiàn)模擬音頻信號的采集(音頻AD)和數(shù)字音頻信號的模擬輸出(DA),并通過I2S數(shù)字音頻接口,實現(xiàn)音頻信號的數(shù)字化處理。

  5 S3C2410下的放音代碼

  I2S放音代碼如下所示:

  void Play_Iis(void)

  {

  unsigned int save_G, save_E, save_PG, save_PE;

  Uart_TxEmpty(0);

  由于I2S時鐘從系統(tǒng)進鐘分頻得到,為了得到合適的I2S時鐘,必須對系統(tǒng)時鐘進行適當?shù)慕殿l處理,降頻后必須對串口重新進行初始化。然后將用到的端口保存起來,并進行端口初始化。

  I2S可以采用DMA方式進行語音錄音和播放,因此需進行DMA中斷的注冊。

  pISR_DMA2 = (unsigned)DMA2_Done;

  然后獲取語音數(shù)據(jù)及其大小以及采樣頻率。

  下來初始化UDA1341,設置為放音模式。

  Init1341(PLAY);

  接著進行DMA初始化。

  //DMA2 Initialize

  rDISRC2 = (int)(Buf + 0x2c);

  rDISRCC2 = (0<<1) + (0<<0);

  rDIDST2 = ((U32)IISFIFO);

  rDIDSTC2 = (1<<1) + (1<<0);

  rDCON2 = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(0<<22)+(1<<20)+(size/4);

  rDMASKTRIG2 = (0<<2) + (1<<1) + (0<<0);

  I2S的初始化并啟動I2S功能。

  if(fs==44100)

  rIISPSR = (2<<5) + 2;

  else

  rIISPSR = (5<<5) + 5;

  rIISCON = (1<<5) + (1<<2) + (1<<1);

  rIISMOD = (0<<8) + (2<<6) + (0<<5) + (0<<4) + (1<<3) + (0<<2) + (1<<0);

  rIISFCON = (1<<15) + (1<<13);

  //IIS Tx Start

  rIISCON |= 0x1;

  rINTMSK &= ~(/*BIT_EINT0 | BIT_UART0 |*/ BIT_DMA2);

  ClearPending(BIT_DMA2);

  I2S啟動后,將采用DMA方式播放語音數(shù)據(jù),播放完畢后將引發(fā)DMA2中斷,在其中斷處理函數(shù)中將dma2_done設置為非零,因此,在主程序中可以通過判斷dma2_done是否為0決定播放是否結(jié)束。語音播放結(jié)束,通知I2S,并恢復寄存器設置。

  最后將關閉中斷并將系統(tǒng)時鐘恢復。

  rINTMSK |= (BIT_DMA2);

  ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz

  Uart_Init(0,115200);

  mute = 1;

  PRINTF("------放音測試結(jié)束------\n\n");

  6 S3C2410下的錄音代碼

  錄音程序在初始化等動作上與放音類似,代碼如下:

  void Record_Iis(void)

  {

  unsigned int save_G, save_E, save_PG, save_PE;

  Uart_TxEmpty(0);

  ChangeClockDivider(1,1);

  ChangeMPllValue(0x96,0x5,0x1);

  Uart_Init(33857142,115200);

  PRINTF("--------錄音測試--------\n");

  PRINTF("[1] 請接上耳機和麥克風\n");

  save_G = rGPGCON;

  save_E = rGPECON;

  save_PG = rGPGUP;

  save_PE = rGPEUP;

  IIS_PortSetting();

  錄制的聲音數(shù)據(jù)保存在rec_buf中,錄制長度為REC——LEN:

  rec_buf = (unsigned short *)0x31000000;

  pISR_DMA2 = (unsigned)DMA2_Rec_Done;

  pISR_EINT0 = (unsigned)Muting;

  rINTMSK &= ~(BIT_DMA2);

  Init1341(RECORD);

  rDISRCC2 = (1<<1) + (1<<0);

  rDISRC2 = ((U32)IISFIFO);

  rDIDSTC2 = (0<<1) + (0<<0);

  rDIDST2 = (int)rec_buf;

  rDCON2 = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(1<<24)+(1<<23)+(1<<22)+(1<<20)+REC_LEN;

  rDMASKTRIG2 = (0<<2) + (1<<1) + 0;

  rIISMOD = (0<<8) + (1<<6) + (0<<5) + (0<<4) + (1<<3) + (0<<2) + (1<<0);

  rIISPSR = (2<<5) + 2;

  rIISCON = (0<<5) + (1<<4) + (1<<3) + (0<<2) + (1<<1);

  rIISFCON = (1<<14) + (1<<12);

  開始錄音:

  rIISCON |= 0x1;

  while(!Rec_Done) Delay(1);

  rINTMSK |= BIT_DMA2;

  Rec_Done = 0;

  PRINTF(" 錄音完畢\n");

  7結(jié)束語

  I2S總線是近年出現(xiàn)的一種面向多媒體計算機器Multimedia PC)的音頻總線,該總線專門用于音頻設備之間的數(shù)據(jù)傳輸。文中基于S3C2410和Linux平臺,設計共實現(xiàn)基于該平臺的I2S錄音放音。

性少妇JEALOUSVUE成熟| 日本亚欧乱色视频在线| 人妻AV一区二区| 熟妇五十路六十路息与子| 午夜影视啪啪免费体验区入口| 亚洲AV日韩AV一区谷露| 亚洲熟伦熟妇AV无码春| 在线视频一区二区三区| SQUIRT VIDEO喷水抽| 成人Α片免费视频在线观看| 国产精品成人免费视频网站| 机密重案之致命诱惑| 乱码人妻Av一区二区三区| 欧日韩无套内射变态| 天美传媒MV免费观看完整| 亚洲成AV人在线观看| 岛国无码AⅤ片在线观看| 国产AV天堂亚洲国产AV麻豆| 国产亚洲成AV人片在线观看导航| 久久精品动漫一区二区三区| 欧美亚洲精品SUV| 无码毛片内射白浆视频| 一本之道加勒比在线观看| 锕锕锕锕锕锕好多水APP网站| 国产精品IGAO视频网| 久久精品午夜亚洲AV无码少妇 | 性做久久久久久久久| 永久亚洲成A人片777777| 暴躁老阿姨CSGO技巧| 国产午夜精品无码理论片| 老外免费CSGO交易网站有哪些| 日本无码SM凌虐强制M字开腿| 亚洲18色成人网站WWW| 中国老太奶BBW性姣| 放荡的熟妇高清视频| 精品人妻少妇嫩草AV无码专区 | 闺蜜张开腿让我爽了一夜| 激情男女高潮射精AV免费 | 18禁爆乳无遮挡免费观看日本动 | 99精品国产成人一区二区| 国产成人亚洲精品青草 | 中国小YOUNV女YOUNV| 国产69精品久久久久9999A| 久久99热精品免费观看| 日本免费精品一区二区三区| 亚洲精品乱码久久久久久蜜桃 | 嗯好爽快点插我视频在线播放 | 亚洲人妻免费视频| 边做饭边被躁BD在线播放| 机长脔到她哭H粗话H动漫| 人妻丝袜另类欧美偷拍视频| 亚洲AV网站在线| YY8840私人影院爱不停下载| 精品厕所偷拍各类美女TP嘘嘘| 人妻有码ΑV中文字幕久久琪琪布| 亚洲国产成人BT天堂| 草莓视频在线播放视频| 久久99国产精品久久99蜜桃| 日本XXXXX九色视频在线观看| 亚洲色成人WWW永久在线观看| 公和我做好爽添厨房| 乱码一线二线三线新区破解欧| 无码人妻aⅴ一区二区三区99| 95W乳液78WYW永久| 精品国产欧美一区二区| 色婷婷综合久久久久中文| 柚子猫原神甘雨视内射频| 国产手机在线国内精品| 人人妻人人做人人人少妇| 一本之道AV不卡精品| 国产天堂亚洲国产碰碰| 人与畜禽CROPROATION| 亚洲人交乣女BBW| 国产精品IGAO视频网| 琪琪电影午夜理论片YY6080| 亚洲无线一二三四区手机| 国产精品乱码久久久久久软件| 欧洲精品码一区二区三区免费看| 亚洲熟妇无码中文高清 | 成人无码区免费AⅤ片| 乱码中字在线观看一二区 | Japanese日本护士XXXX18一19| 久久99国产精品久久99果冻传| 我和公发生了性关系视频| 少妇人妻精品一区二区| 天美传媒蜜桃传媒精东| FREEMOVIES性中国| 久久亚洲AV无码精品色午夜麻豆| 亚洲AV六月丁香七月婷婷| 丰满少妇被猛烈进入高清APP| 欧美黑人巨大精品VIDEOS| 一边下奶一边吃面膜视频讲解| 含羞草亚洲AV无码久久精品| 舌头伸进去添的我好爽高潮欧美| ⅩXXⅩ互换人妻四人互换| 久久伊人精品青青草原APP| 亚洲成A人片在线观看国产| 国产精品久久无码不卡黑寡妇| 日本在线人数最多的MMORPG| 99国产精品久久99久久久| 老太婆BBW搡BBBB搡搡搡搡| 亚洲乱亚洲乱少妇无码| 国产无遮挡又黄又爽又色| 爽爽AV浪潮AV一区二区| 超鹏97国语在线| 强壮公弄得我次次高潮小说| 67194熟妇在线直接进入百度| 久久亚洲精品中文字幕| 亚洲一区二区三区无码中文字幕| 好男人视频在线观看| 亚洲AV成人AV天堂| 国产色视频网站免费| 无人区码一码二码三码是什么 | 2021久久天天躁狠狠躁夜夜| 鲁鲁网亚洲站内射污| 曰韩无码A级成人毛片| 欧美激情性XXXXX高清真| 亚洲亚洲人成综合网络| 国产激情久久久久影院蜜桃AV| 免费无码成人AV片在线| 与大屁股熟女啪啪喷水| 成年女人18级毛片毛片免费| 乱中年女人伦AV二区| 野花韩国在线观看免费版5 | A一区二区三区乱码在线 | 欧| 娜娜麻豆国产电影| 坐公交忘穿内裤被挺进老 | JAPANESE日本护士HD| 欧美乱大交XXXXX潮喷| 99国产精品自在自在久久| 欧美黑人粗暴多交高潮水最多| 696969大但人文艺术来源| 欧美506070老妇乱子伦| 99精品久久久久久久婷婷| 欧洲熟妇的性久久久久久| 爸爸缓慢有力送女儿的句子| www.av在线播放| 国产午夜精品一区二区| 亚洲AV福利天堂一区二区三| 好男人好社区好资源在线| 亚洲精品无码伊人久久| 久久久久久久精品免费| 中文有码无码人妻在线短视频 | 天天摸日日摸狠狠添高潮喷| 国产精品无码不卡一区二区三区| 小SAO货撅起屁股扒开GIF动 | 公咬着小娇乳H边走边欢视频| 天天玩天天玩天天玩| 国精产品一区二区三区四区糖心| 亚洲精品亚洲人成在线| 邻居少妇张开双腿让我爽一夜 | 2823理论片在线播放| 男人J桶进女人P无遮挡的图片| 农里粗汉的共妻嗯啊高H| A级毛片毛片免费观看丝瓜| 人妻无码熟妇乱又伦精品| 放荡大屁股少妇高潮喷水| 天天躁日日躁很很躁2022| 国产一区二区三区不卡在线观看| 亚洲精品无码久久久久久久| 久久综合精品国产二区无码| 99国产精品久久久久久久成人| 人妻丰满熟妇aⅴ无码HD| 公交车后车座的疯狂的做| 亚洲AV无码成人网站久久精品大 | 国产激情一区二区三区视频免樱桃 | 成人女人A级毛片免费软件| 无码人妻丰满熟妇啪啪网站| 精品JAVAPARSER乱偷| 2018午夜福利| 亚洲线精品一区二区三八戒| 97SE亚洲国产综合自在线不卡| 人妻少妇88久久中文字幕| 国产成人精品免费午夜APP| 亚洲丁香婷婷久久一区二区| 两个男用舌头到我的蕊花| 米奇影院888奇米色| 亚洲最大的AV无码网站| 欧美又粗又大BBBB疯视频AV| 国产成人精品日本亚洲专区61| 亚洲AV午夜成人片精品| 久久天天躁夜夜躁狠狠| 国产精品亚洲专区无码导航| 亚洲国产AV玩弄放荡人妇| 久久久久久综合网天天| YW尤物AV无码| 午夜福利1000 92免费| 久久久久夜夜夜综合国产| 啊灬啊灬啊灬高潮了视频| 性色AⅤ一区二区三区天美传媒| 久久丫精品国产亚洲AV不卡| 草莓樱桃丝瓜秋葵榴莲黄瓜大全| 亚洲AV素人乱码| 欧美老熟妇XOXOXOⅩO| 国产精品免费久久久久久蜜桃 | 粗大的内捧猛烈进出A片男男小说 粗大的内捧猛烈进出 | 为什么放进去女的就老实了| 久久亚洲国产成人精品无码区| 大战丰满人妻性色AV偷偷| 亚洲熟女少妇一区二区|