在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CKS32F4xx系列I2S功能介紹

中科芯MCU ? 來(lái)源:匯創(chuàng)科電子 ? 2024-03-17 09:40 ? 次閱讀

Inter-IC Sount Bus(I2S)是針對(duì)數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn)。I2S標(biāo)準(zhǔn)中,既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。

I2S總線接口介紹

I2S總線接口有3個(gè)主要信號(hào),但只能實(shí)現(xiàn)數(shù)據(jù)半雙工傳輸,后來(lái)為實(shí)現(xiàn)全雙工傳輸有些設(shè)備增加了擴(kuò)展數(shù)據(jù)引腳。CKS32F4xx系列控制器支持?jǐn)U展的I2S總線接口。

SD(Serial Data)

串行數(shù)據(jù)線,用于發(fā)送或接收兩個(gè)時(shí)分復(fù)用的數(shù)據(jù)通道上的數(shù)據(jù)(僅半雙工模式),如果是全雙工模式,該信號(hào)僅用于發(fā)送數(shù)據(jù)。

WS(Word Select)

字段選擇線,也稱(chēng)幀時(shí)鐘(LRC)線,表明當(dāng)前傳輸數(shù)據(jù)的聲道,不同標(biāo)準(zhǔn)有不同的定義。WS線的頻率等于采樣頻率(FS)。

CK(Serial Clock)

串行時(shí)鐘線,也稱(chēng)位時(shí)鐘(BCLK),數(shù)字音頻的每一位數(shù)據(jù)都對(duì)應(yīng)有一個(gè)CK脈沖,它的頻率為:2*采樣頻率*量化位數(shù),2代表左右兩個(gè)通道數(shù)據(jù)。

ext_SD(extend Serial Data)

擴(kuò)展串行數(shù)據(jù)線,用于全雙工傳輸?shù)臄?shù)據(jù)接收。另外,有時(shí)為使系統(tǒng)間更好地同步,還要傳輸一個(gè)主時(shí)鐘(MCK),CKS32F4xx系列控制器固定輸出為256*FS。

CKS32F4xx系列控制器有兩個(gè)I2S,I2S2和I2S3,兩個(gè)的資源是相互獨(dú)立的,但分別與SPI2和SPI3共用大部分資源。這樣I2S2和SPI2只能選擇一個(gè)功能使用,I2S3和SPI3相同道理。資源共用包括引腳共用和部分寄存器共用,當(dāng)然也有部分是專(zhuān)用的。控制器的I2S支持兩種工作模式,主模式和從模式;主模式下使用自身時(shí)鐘發(fā)生器生成通信時(shí)鐘。I2S功能框圖如下圖所示:

1177d822-e394-11ee-a297-92fbcf53809c.png ? ?

功能引腳

I2S的SD映射到SPI的MOSI引腳,ext_SD映射到SPI的MISO引腳,WS映射到SPI的NSS引腳,CK映射到SPI的SCK引腳。MCK是I2S專(zhuān)用引腳,用于主模式下輸出時(shí)鐘或在從模式下輸入時(shí)鐘。I2S時(shí)鐘發(fā)生器可以由控制器內(nèi)部時(shí)鐘源分頻產(chǎn)生,亦可采用CKIN引腳輸入時(shí)鐘分頻得到,一般使用內(nèi)部時(shí)鐘源即可。

參考下表CKS32F4xx系列控制器I2S引腳分布:

11873db2-e394-11ee-a297-92fbcf53809c.png ? ?

數(shù)據(jù)寄存器

I2S有一個(gè)與SPI共用的SPI數(shù)據(jù)寄存器(SPI_DR),有效長(zhǎng)度為16bit,用于I2S數(shù)據(jù)發(fā)送和接收,它實(shí)際由三個(gè)部分組成,一個(gè)移位寄存器、一個(gè)發(fā)送緩沖區(qū)和一個(gè)接收緩沖區(qū),當(dāng)處于發(fā)送模式時(shí),向SPI_DR寫(xiě)入數(shù)據(jù)先保存在發(fā)送緩沖區(qū),總線自動(dòng)把發(fā)送緩沖區(qū)內(nèi)容轉(zhuǎn)入到移位寄存器中進(jìn)行傳輸;在接收模式下,實(shí)際接收到的數(shù)據(jù)先填充移位寄存器,然后自動(dòng)轉(zhuǎn)入接收緩沖區(qū),軟件讀取SPI_DR時(shí)自動(dòng)從接收緩沖區(qū)內(nèi)讀取。I2S是掛載在APB1總線上的。

邏輯控制

I2S的邏輯控制通過(guò)設(shè)置相關(guān)寄存器位實(shí)現(xiàn),比如通過(guò)配置SPI_I2S配置寄存器(SPI_I2SCFGR)的相關(guān)位可以實(shí)現(xiàn)選擇I2S和SPI模式切換、選擇I2S工作在主模式還是從模式并且選擇是發(fā)送還是接收、選擇I2S標(biāo)準(zhǔn)、傳輸數(shù)據(jù)長(zhǎng)度等等。SPI控制寄存器2(SPI_CR2)可用于設(shè)置相關(guān)中斷和DMA請(qǐng)求使能,I2S有5個(gè)中斷事件,分別為發(fā)送緩沖區(qū)為空、接收緩沖區(qū)非空、上溢錯(cuò)誤、下溢錯(cuò)誤和幀錯(cuò)誤。SPI狀態(tài)寄存器(SPI_SR)用于指示當(dāng)前I2S狀態(tài)。

時(shí)鐘發(fā)生器

I2S比特率用來(lái)確定I2S數(shù)據(jù)線上的數(shù)據(jù)流和I2S時(shí)鐘信號(hào)頻率。I2S比特率=每個(gè)通道的位數(shù)×通道數(shù)×音頻采樣頻率。圖為I2S時(shí)鐘發(fā)生器內(nèi)部結(jié)構(gòu)。I2SxCLK(x可選2或3)可以通過(guò)RCC_CFGR寄存器的I2SSRC位選擇使用PLLI2S時(shí)鐘作為I2S時(shí)鐘源或I2S_CKIN引腳輸入時(shí)鐘作為I2S時(shí)鐘源。一般選擇內(nèi)部PLLI2S(通過(guò)R分頻系數(shù))作為時(shí)鐘源。例程程序設(shè)置PLLI2S時(shí)鐘為258MHz,R分頻系數(shù)為3,此時(shí)I2SxCLK時(shí)鐘為86MHz。

1196fe96-e394-11ee-a297-92fbcf53809c.png

SPI_I2S預(yù)分頻器寄存器(SPI_I2SPR)的MCKOE位用于設(shè)置MCK引腳時(shí)鐘輸出使能;ODD位設(shè)置預(yù)分頻器的奇數(shù)因子,實(shí)際分頻值=I2SDIV*2+ODD;I2SDIV為8位線性分頻器,不可設(shè)置為0或1。當(dāng)使能MCK時(shí)鐘輸出,即MCKOE=1時(shí),采樣頻率計(jì)算如下:

FS=I2SxCLK/[(16*2)*((2*I2SDIV)+ODD)*8)](通道幀寬度為16bit時(shí))

FS=I2SxCLK/[(32*2)*((2*I2SDIV)+ODD)*4)](通道幀寬度為32bit時(shí))當(dāng)禁止MCK時(shí)鐘輸出,即MCKOE=0時(shí),采樣頻率計(jì)算如下:

FS=I2SxCLK/[(16*2)*((2*I2SDIV)+ODD))](通道幀寬度為16bit時(shí))

FS=I2SxCLK/[(32*2)*((2*I2SDIV)+ODD))](通道幀寬度為32bit時(shí))

I2S初始化結(jié)構(gòu)體介紹

標(biāo)準(zhǔn)庫(kù)函數(shù)對(duì)I2S外設(shè)建立了一個(gè)初始化結(jié)構(gòu)體I2S_InitTypeDef。初始化結(jié)構(gòu)體成員用于設(shè)置I2S工作環(huán)境參數(shù),并由I2S相應(yīng)初始化配置函數(shù)I2S_Init調(diào)用,這些設(shè)定參數(shù)將會(huì)設(shè)置I2S相應(yīng)的寄存器,達(dá)到配置I2S工作環(huán)境的目的。

代碼清單:I2S_InitTypeDef結(jié)構(gòu)體

typedef struct
{
  uint16_t I2S_Mode;         
  uint16_t I2S_Standard;    
  uint16_t I2S_DataFormat;  
  uint16_t I2S_MCLKOutput;  
  uint32_t I2S_AudioFreq;   
  uint16_t I2S_CPOL;        
}I2S_InitTypeDef;

(1)I2S_Mode:I2S模式選擇,可選主機(jī)發(fā)送、主機(jī)接收、從機(jī)發(fā)送以及從機(jī)接收模式,它設(shè)定SPI_I2SCFGR寄存器I2SCFG位的值。一般設(shè)置CKS32控制器為主機(jī)模式,當(dāng)播放聲音時(shí)選擇發(fā)送模式;當(dāng)錄制聲音時(shí)選擇接收模式。

(2)I2S_Standard:通信標(biāo)準(zhǔn)格式選擇,可選I2S Philips標(biāo)準(zhǔn)、左對(duì)齊標(biāo)準(zhǔn)、右對(duì)齊標(biāo)準(zhǔn)、PCM短幀標(biāo)準(zhǔn)或PCM長(zhǎng)幀標(biāo)準(zhǔn),它設(shè)定SPI_I2SCFGR寄存器I2SSTD位和PCMSYNC位的值。一般設(shè)置為I2S Philips標(biāo)準(zhǔn)即可。

(3)I2S_DataFormat:數(shù)據(jù)格式選擇,設(shè)定有效數(shù)據(jù)長(zhǎng)度和幀長(zhǎng)度,可選標(biāo)準(zhǔn)16bit格式、擴(kuò)展16bit(32bit幀長(zhǎng)度)格式、24bit格式和32bit格式,它設(shè)定SPI_I2SCFGR寄存器DATLEN位和CHLEN位的值。對(duì)應(yīng)16bit數(shù)據(jù)長(zhǎng)度可選16bit或32bit幀長(zhǎng)度,其他都是32bit幀長(zhǎng)度。

(4)I2S_MCLKOutput:主時(shí)鐘輸出使能控制,可選使能輸出或禁止輸出,它設(shè)定SPI_I2SPR寄存器MCKOE位的值。為提高系統(tǒng)性能一般使能主時(shí)鐘輸出。

(5)I2S_AudioFreq:采樣頻率設(shè)置,標(biāo)準(zhǔn)庫(kù)提供采樣采樣頻率選擇,分別為8kHz、11kHz、16kHz、22kHz、32kHz、44kHz、48kHz、96kHz、192kHz以及默認(rèn)2Hz,它設(shè)定SPI_I2SPR寄存器的值。

(6)I2S_CPOL:空閑狀態(tài)的CK線電平,可選高電平或低電平,它設(shè)定SPI_I2SCFGR寄存器CKPOL位的值。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    555

    文章

    8148

    瀏覽量

    355495
  • 電機(jī)控制
    +關(guān)注

    關(guān)注

    3568

    文章

    1952

    瀏覽量

    271441
  • FFT
    FFT
    +關(guān)注

    關(guān)注

    15

    文章

    444

    瀏覽量

    60663
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3289

    瀏覽量

    117336
  • 浮點(diǎn)算法
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1387

原文標(biāo)題:MCU微課堂|CKS32F4xx系列I2S功能

文章出處:【微信號(hào):中科芯MCU,微信公眾號(hào):中科芯MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網(wǎng)模塊,該模塊包括帶專(zhuān)用DMA控制器的MAC 802.3(介質(zhì)訪問(wèn)控制)控制器
    的頭像 發(fā)表于 11-10 11:13 ?1350次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信詳解

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內(nèi)核,支持浮點(diǎn)運(yùn)算單元(FPU),同時(shí)還支持DSP指令以及存儲(chǔ)保護(hù)(MPU)用來(lái)加強(qiáng)應(yīng)用的安全性。
    的頭像 發(fā)表于 03-04 13:43 ?2069次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP<b class='flag-5'>功能</b><b class='flag-5'>介紹</b>

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過(guò)CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。因此本節(jié)我們對(duì)CKS32F4xx系列的DMA進(jìn)行介紹,同時(shí)利用DMA對(duì)串
    的頭像 發(fā)表于 04-10 11:18 ?1330次閱讀

    CKS32F4xx系列RNG功能設(shè)置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機(jī)數(shù)發(fā)生器簡(jiǎn)介 ? ? CKS32F4xx系列自帶了硬件隨機(jī)數(shù)發(fā)生器(RNG),RNG處理器是一個(gè)以連續(xù)模擬噪聲為基礎(chǔ)的隨機(jī)
    的頭像 發(fā)表于 09-08 10:01 ?885次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG<b class='flag-5'>功能</b>設(shè)置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?1114次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC<b class='flag-5'>功能</b>

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1335次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發(fā)表于 11-06 16:54 ?1190次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發(fā)表于 11-06 16:57 ?743次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發(fā)表于 11-06 16:59 ?954次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發(fā)表于 11-06 17:08 ?856次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?1126次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作
    的頭像 發(fā)表于 11-09 17:41 ?816次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用方法-定時(shí)操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信
    的頭像 發(fā)表于 10-24 17:12 ?1009次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置
    的頭像 發(fā)表于 10-24 15:14 ?1078次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品GPIO口配置

    CKS32F4xx系列FSMC功能簡(jiǎn)介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應(yīng)用實(shí)例,F(xiàn)SMC全稱(chēng)是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲(chǔ)控制器,顧名思義,MCU可以通過(guò)FSMC擴(kuò)展靜態(tài)內(nèi)存
    的頭像 發(fā)表于 04-14 15:06 ?1402次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC<b class='flag-5'>功能</b>簡(jiǎn)介
    主站蜘蛛池模板: 国产精品夜色7777青苹果 | 在线网站你懂 | 国内精品久久久久久久久蜜桃 | 第四色播日韩第一页 | 日韩高清成人毛片不卡 | 久久精品视频7 | 中文字幕成人乱码在线电影 | 亚洲天堂三级 | 国产精品久久久久乳精品爆 | 狠狠五月深爱婷婷网免费 | 91av在线免费观看 | 免费在线公开视频 | 奇米影视7777 | 日本国产黄色片 | 日本黄色生活片 | 国产免费糟蹋美女视频 | 国产美女视频一区二区二三区 | 欧美一区二区三区成人看不卡 | 特一级黄 | 激情理论 | 日本特黄在线观看免费 | 4438x成人全国最大 | 黄色高清视频网站 | 天堂网最新 | 国产精品视频第一区二区三区 | 人操人人 | 欧美极品在线播放 | 日本特级淫片免费 | 一区二区三区视频观看 | 欧洲精品码一区二区三区免费看 | 欧美三级一级片 | 欧美色图综合 | 亚洲射图 | 精品国产_亚洲人成在线高清 | 黄色a网| 夜夜操狠狠干 | 美女视频很黄很a免费国产 美女视频很黄很暴黄是免费的 | 国产日本久久久久久久久婷婷 | 精品视频69v精品视频 | 成年网站在线在免费播放 | 欧美人成一本免费观看视频 |