精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解I2S時序

FPGA研究院 ? 來源:FPGA研究院 ? 2024-11-26 17:16 ? 次閱讀

01

整體概括

最近調試了一款音頻采集芯片wm8731,包含兩路音頻輸入(ADC)和一路音頻輸出(DAC),音頻芯片與主控芯片通過I2S接口傳輸ADC采集的數據和DAC驅動數據。

本文簡要講解一下I2S協議,該協議包含ADCRC(ADC采集數據的左右聲道指示信號)、DACRC(DAC采集數據的左右聲道指示信號)、BCLK(位數據對齊時鐘)、ADCDAT(ADC輸出數據)、DACDAT(DAC采集數據)共五個信號。

WM8731通過ADCRC、BCLK、ADCDAT三個信號傳輸ADC采集的數據,DACRC、BCLK、DACDAT三個信號傳輸驅動DAC的數據,ADC和DAC的數據通道共用BCLK信號。ADCDAT和DACDAT均在BCALK的下降沿變化,在BCLK上升沿保持不變。

WM8371的I2S接口包含主機和從機兩種模式,兩種模式的區別在于時鐘(BCLK)和聲道指示信號(ADCLRC、DACLRC)由主控芯片還是WM8371提供。

圖1是WM8371的主機模式,時鐘和聲道指示信號均由WM8371提供。

圖1 主機模式

下圖是WM8731的從機模式,時鐘和聲道指示信號均由WM8371提供,通過配置內部寄存器實現模式選擇,使用FPGA作為主控時,兩種模式均可使用,后續詳解。

圖2 從機模式

02

I2S協議的四種模式

I2S總線根據ADCDAT和DACDAT的數據變化,分為左對齊,右對齊,I2S及DSP共四種模式,其實就是四種數據傳輸時序,推薦使用左對齊模式或者I2S模式。

2.1左對齊模式

對應時序如下所示,ADCDAT在ADCLRC高電平時傳輸左聲道的數據,ADCDAT在ADCLRC低電平時傳輸右聲道數據,ADCDAT先傳輸高位數據。ADCLRC的頻率等于配置的ADC采樣頻率fs。

ADCDAT在BCLK的前n個時鐘的下降沿傳輸數據,n表示ADC采集數據的位寬。

圖3 左對齊模式

注意BCLK的頻率必須大于等于ADC采樣率乘以ADC數據位寬乘以2。當WM8371作為主機時,BCLK由WM8371提供,用戶不能設置其頻率。當WM8371作為從機時,BCLK由用戶提供,必須滿足頻率關系。

注意BCLK的下降沿與ADCLRC/DACLRC的跳變沿對齊,而DACDAT/ADCDAT的第一個數據(MSB)在BCLK下降沿開始傳輸,即DACDAT/ADCDAT與ADCLRC/DACLRC左邊對齊,因此被稱為左對齊模式。

在實測主機模式時發現BCLK的周期可能存在占空比不是百分之五十的情況,在設計時需要注意。

2.2右對齊模式

因為BCLK的頻率滿足大于等于ADCLRC/DACLRC頻率乘以ADC/DAC數據位寬乘以2即可,導致BCLK在ADCLRC/DACLRC高電平或低電平時的時鐘個數可能大于ADC/DAC數據位寬,就存在無效時鐘。

此時數據起始位與ADCLRC/DACLRC邊沿對齊,則是左對齊模式,如果數據的結束位置與ADCLRC/DACLRC邊沿對齊,則是右對齊模式,右對齊模式時序如下。

圖4 右對齊模式

DACDAT/ADCDAT依舊在BCLK下降沿先傳輸高位數據,LSB與ADCLRC/DACLRC邊沿對齊。

這種模式不好編寫適配多種采樣率的發送驅動,因為主機模式下不同采樣率時ADCLRC/DACLRC電平對應的BCLK個數不同,通用的驅動會比較麻煩,因此一般不推薦使用這類驅動時序。該模式不支持32位ADC和DAC數據位寬。

2.3I2S模式

I2S模式時序如下所示,與左對齊模式類似,但ADCDAT/DACDAT在ADCLRC/DACLRC邊沿后的第一個BCLK不傳輸數據,從BCLK的第二個下降沿傳輸最高位數據。

圖5 I2S模式

該模式使用起來也比較方便,推薦使用。

2.4DSP模式

DSP模式時序如下圖所示,每次傳輸數據LRCLK只持續一個BCLK周期,其余時間保持電平。

LRCLK的下降沿與BCLK的下降沿對齊,ADCDAT/DACDAT開始傳輸n位左聲道數據,然后傳輸n位右聲道數據,ADCDAT/DACDAT在剩余的BCLK周期無效。

圖6 DSP模式

四種模式下LRCLK和BCLK的頻率都是遵守相同規則的,且ADCDAT/DACDAT均在BCLK的下降沿傳輸數據,在BCLK上升沿期間數據保持不變。

03

WM8371的時序參數

WM8731的ADC和DAC的數據位寬始終為24位,但在I2S或左對齊模式下,數字音頻數據可編程為16位、20位、24或32位。即寄存器編程音頻數據位寬為16位時,ADCDAT會將ADC采集的高16位數據輸出,低8位數據舍棄。如果寄存器編程音頻數據位寬為32位時,ADCDAT會把ADC采集的24位數據作為高位,低八位補零,達到32位數據輸出。

主機模式下的時序參數如下所示,需要重點關注下圖紅框中的兩個時序參數。

圖7 主機模式時序參數

兩個時序參數如下表所示,DACDAT必須在BCLK上升沿前后至少10ns內保持穩定。

圖8 時序參數

從機模式的時鐘信號和聲道指示信號都由主控芯片提供,相關的時序參數會多一些,如下圖所示。

圖9 從機模式時序參數

BCLK的最小周期為50ns,即接口數據傳輸的最大頻率為20MHz,另外DACLRC/ADCLRC和DACDAT在BCLK上升沿前后的10ns內必須保持不變,WM8731才能穩定采集對應信號的狀態。

圖10 時序參數

本文主要講解I2S時序,文中圖片均來自WM8371芯片手冊

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 時序
    +關注

    關注

    5

    文章

    386

    瀏覽量

    37281
  • I2S
    I2S
    +關注

    關注

    1

    文章

    64

    瀏覽量

    41842
  • wm8731
    +關注

    關注

    0

    文章

    2

    瀏覽量

    3312

原文標題:詳解I2S時序

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    音頻總線I2S協議:I2S收發模塊FPGA的仿真設計

    1 概述 I2S(Inter—IC Sound)總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,該總線專門用于音頻設備之間的數據傳輸,廣泛應用
    的頭像 發表于 12-14 17:34 ?8492次閱讀
    音頻總線<b class='flag-5'>I2S</b>協議:<b class='flag-5'>I2S</b>收發模塊FPGA的仿真設計

    全面解析I2S、TDM、PCM音頻總線

    I2S是比較簡單的數字接口協議,沒有地址或設備選擇機制。在I2S總線上,只能同時存在一個主設備和發送設備。主設備可以是發送設備,也可以是接收設備,或是協調發送設備和接收設備的其它控制設備。
    發表于 09-20 10:58 ?1.2w次閱讀

    aic3253的I2S完整的時序圖及接口協議如何設置?

    我想用stm32來控制aic3254,通過i2s接口來接收數據,i2s協議標準一般有Phillips標準、左對齊、右對齊等區別,但是在aic3254中沒有看到此類描述,也沒有完整的時序圖。想來詢問一下aic3253的
    發表于 10-29 07:29

    #硬聲創作季 #STM32 手把手教你學STM32-084 I2S錄音簡介-1

    I2S
    水管工
    發布于 :2022年10月29日 15:07:15

    #硬聲創作季 #STM32 手把手教你學STM32-084 I2S錄音簡介-2

    I2S
    水管工
    發布于 :2022年10月29日 15:07:40

    #硬聲創作季 #STM32 手把手教你學STM32-084 I2S錄音簡介-3

    I2S
    水管工
    發布于 :2022年10月29日 15:08:07

    音頻接口I2S實驗

    實驗目的 1.掌握有關音頻處理的實驗原理及說明;2.通過實驗了解I2S(Inter–ICSound)音頻接口的工作原理;3.通過實驗掌握對處理器S3C2410中I2S模塊電路
    發表于 12-29 00:07 ?116次下載

    基于FPGA和AD1836的I2S接口設計

    I2S(Inter IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,它既規定了硬件接口規范,也規定了數字音頻數據的格式。I2S有三個主要的信號:
    發表于 03-29 11:02 ?6554次閱讀
    基于FPGA和AD1836的<b class='flag-5'>I2S</b>接口設計

    CAN、I2S、I2C、SPI、SSP總線的介紹和比較

    CAN、I2S、I2C、SPI、SSP總線的介紹和比較。
    發表于 07-14 16:20 ?53次下載

    幾種常見的I2S數據格式

    I2S總線簡單有效,可以有效提升輸出數據的質量,在各種嵌入式音頻系統中有廣泛應用。但是在嵌入式音頻系統設計中,并不是所有的MCU都支持I2S總線格式,再加上I2S還沒有統一的接口標準,不同的廠家生產的設備接口也是五花八門
    發表于 01-29 19:18 ?1.2w次閱讀
    幾種常見的<b class='flag-5'>I2S</b>數據格式

    基于MM32F5270控制器的I2S音頻播放

    MM32F5270 系列控制器支持 I2S 總線接口,本章節在接下來會對 MM32F5270 I2S進行介紹,并使用 MM32F5270 和 CS4344 芯片進行 I2S 通信來演示播放一段聲音。
    的頭像 發表于 09-16 10:39 ?2249次閱讀

    I2S、TDM、PCM音頻總線

    I2S包括兩個聲道(Left/Right)的數據,在主設備發出聲道選擇/字選擇(WS)控制下進行左右聲道數據切換。通過增加I2S接口的數目或其它I2S設備可以實現多聲道(Multi-Channels)應用。
    的頭像 發表于 09-20 11:01 ?4759次閱讀

    雅特力AT32 MCU SPI/I2S入門指南

    AT32的SPI接口提供軟件編程配置選項,根據軟件編程配置方式不同,可以分別作為SPI和I2S使用。 本文將分SPI和I2S分別介紹SPI接口作SPI或I2S的功能特性以及配置流程。
    的頭像 發表于 03-08 13:18 ?5488次閱讀
    雅特力AT32 MCU SPI/<b class='flag-5'>I2S</b>入門指南

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發表于 10-30 17:13 ?1123次閱讀
    基于MM32F5270的<b class='flag-5'>I2S</b>音頻播放

    基于MM32F3270 I2S使用

    基于MM32F3270 I2S使用
    的頭像 發表于 09-27 15:50 ?765次閱讀
    基于MM32F3270 <b class='flag-5'>I2S</b>使用