<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Cortex-M3 (NXP LPC1788)之IIS控制器

Cortex-M3 (NXP LPC1788)之IIS控制器

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò ) 收藏
I2S總線(xiàn)為數字音頻應用提供了一個(gè)標準的通信接口。它是一條3線(xiàn)串行總線(xiàn),包含串行數據SD、字選擇WS、串行時(shí)鐘SCK。LPC1788的I2S接口提供了彼此獨立的發(fā)送和接收通道,每個(gè)通道可以作為主機或從機,還提供了可選的過(guò)采樣主機時(shí)鐘輸出MCLK。因此發(fā)送和接收通道各有四個(gè)引腳,對于發(fā)送為I2S_TX_CLK、I2S_TX_WS、I2S_TX_SDA、I2S_TX_MCLK。I2S的時(shí)序如圖1。

本文引用地址:http://dyxdggzs.com/article/201611/318457.htm

圖1:I2S時(shí)序

從圖中可以看出每個(gè)串行時(shí)鐘SCK傳送一位音頻信號,因此SCK的頻率=聲道數X采樣頻率X采樣位數。如程序中44.1KHZ采樣的16位立體音,對應的SCK頻率為2X16X44100HZ。WS是字段選擇,也稱(chēng)為幀時(shí)鐘,他的一個(gè)周期正好傳輸一幀數據。在WS改變后,數據字在發(fā)送時(shí)鐘的下一個(gè)下降沿上開(kāi)始。即圖中MSB位在WS下降沿的下一個(gè)SCK時(shí)鐘出現。在立體聲模式下,當WS為低電平時(shí)發(fā)送左聲道數據,當WS為高電平時(shí)發(fā)送右聲道數據。如果是單聲道模式,相同的數據會(huì )在WS的高低電平各發(fā)送一次。因此,要正確的通過(guò)I2S總線(xiàn)進(jìn)行音頻信號的傳送,關(guān)鍵要正確配置傳輸速率。對于LCP1778,我們通過(guò)配置數字音頻輸出寄存器I2SDAO配置音頻數據的寬度、聲道數、和WS的周期。程序中的音頻數據為44.1KHZ采樣的16位立體音,因此I2SDAO中的WS_halfperiod字段配置成16-1,因為WS低電平和高電平各發(fā)送16位數據。配置SCK要設置2個(gè)寄存器,首先配置發(fā)送時(shí)鐘速率寄存器I2STXRATE,通過(guò)它配置分數速率發(fā)生器以分頻CCLK得到I2S TX_REF=CCLKX(X/Y)/2;如果我們使能了MCLK輸出時(shí),RX_REF就發(fā)送到MCLK管腳。其次,配置位發(fā)送時(shí)鐘位速率寄存器I2STXBITRATE,該寄存器的值加1用來(lái)分頻TX_REF得到SCK頻率。

對I2S控制器配置完成后,我們可以將要發(fā)送的音頻數據寫(xiě)入發(fā)送FIFO,FIFO的大小為8個(gè)字。而且發(fā)送和接收通道僅接收32位對齊的數據,因此對較短的數據我們要進(jìn)行擴展才能寫(xiě)入FIFO進(jìn)行發(fā)送。

對于總線(xiàn)上的狀態(tài),將在狀態(tài)反饋寄存器I2SSTATE中進(jìn)行指示,主要有中斷和DMA請求的指示以及FIFO的當前深度指示。對于中斷我們可以配置中斷請求控制寄存器I2SIRQ設置FIFO觸發(fā)中斷的深度。



關(guān)鍵詞: Cortex-M3NXPLPC1788IIS控制

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>