激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

Windows 10 ARM工控主板連接I2S音頻芯片

 2025-1-9     作者:劉乾坤     聯(lián)系作者    
文章標(biāo)簽:C/C++音頻ESM8400系列Win10 IoT


在Windows工控主板應(yīng)用中,音頻功能是一項(xiàng)基本的需求,USB聲卡在x86/x64 Windows系統(tǒng)上就可直接免驅(qū)使用,但這些USB聲卡通常不提供ARM上的Windows系統(tǒng)驅(qū)動(dòng)。本文將介紹如何利用安裝在ARM上的Windows工控主板——ESM8400的I2S接口、連接WM8960音頻芯片,實(shí)現(xiàn)音頻的輸入與輸出。

ESM8400是預(yù)裝正版Windows 10 IoT企業(yè)版操作系統(tǒng)的工控主板,具有名片尺寸、超低功率、無需散熱風(fēng)扇、能在-40℃~80℃的環(huán)境溫度下穩(wěn)定工作等諸多優(yōu)點(diǎn),ESM8400設(shè)計(jì)時(shí)已經(jīng)預(yù)留了I2S接口,用于連接I2S音頻芯片。


1. 硬件連接

ESM8400總有32位GPIO,I2S接口與部分GPIO復(fù)用,對(duì)應(yīng)關(guān)系如下:


ESM8400 GPIO

信號(hào)名稱

信號(hào)說明

GPIO0

I2S_MCLK

系統(tǒng)時(shí)鐘,由ESM8400對(duì)外提供

GPIO3

I2S_RXD

ADC串行數(shù)據(jù)輸入

GPIO4

I2S_LRCLK

(WS)幀同步信號(hào),指示當(dāng)前傳輸?shù)氖亲舐暤肋€是右聲道音頻

GPIO5

I2S_TXD

DAC串行數(shù)據(jù)輸出

GPIO14

I2S_SCK

(BCLK)同步音頻數(shù)據(jù)傳輸?shù)奈粫r(shí)鐘信號(hào)

除I2S信號(hào)外,WM8960還需要一組I2C信號(hào)和兩個(gè)額外的IO信號(hào)用于配置:

ESM8400引腳

缺省功能

系統(tǒng)支持音頻時(shí)的復(fù)用功能

B12

TSC_SCL

WM8960 I2C接口

B13

TSC_SDA

WM8960 I2C接口

D3

GPIO2

AUD_INTn

D16

GPIO15

AUD_PWR_EN

ESM8400連接WM8960的原理圖如下:

w1.png

在ESM8400開發(fā)評(píng)估底板上連接WM8960音頻模塊:

w2.png


2. WM8960音頻芯片的自動(dòng)識(shí)別

為了滿足不同應(yīng)用的需求,我們?cè)谙到y(tǒng)UEFI中增加了WM8960芯片自動(dòng)識(shí)別的功能,ESM8400的I2S接口缺省配置為GPIO,當(dāng)在UEFI中通過I2C識(shí)別到WM8960芯片時(shí),才切換為I2S功能。I2C的識(shí)別代碼特別簡單,通過I2C操作WM8960的復(fù)位寄存器,I2C操作成功即表示連接了WM8960芯片,然后將對(duì)應(yīng)的GPIO切換為I2S狀態(tài)。WM8960自動(dòng)識(shí)別代碼如下:

RegAddr = (0xf << 1);
Data = 0x01;
Status =   iMXI2cWrite(&Wm8960I2cConfig, RegAddr, &Data, 1); 
if(Status == RETURN_SUCCESS)
{
    // Mux the SAI3 pins to wm8960 codec
    IOMUXC_SW_MUX_CTL_PAD_SAI3_TXFS =   IOMUXC_MUX_ALT0;
    IOMUXC_SW_MUX_CTL_PAD_SAI3_TXC  = IOMUXC_MUX_ALT0;
    IOMUXC_SW_MUX_CTL_PAD_SAI3_TXD  = IOMUXC_MUX_ALT0;
    IOMUXC_SW_MUX_CTL_PAD_SAI3_RXD  = IOMUXC_MUX_ALT0;
    IOMUXC_SW_MUX_CTL_PAD_SAI3_MCLK =   IOMUXC_MUX_ALT0;
 
    IOMUXC_SW_PAD_CTL_PAD_SAI3_TXFS =   SAI_PAD_CFG_OUT;
    IOMUXC_SW_PAD_CTL_PAD_SAI3_TXC  = SAI_PAD_CFG_OUT;
    IOMUXC_SW_PAD_CTL_PAD_SAI3_TXD  = SAI_PAD_CFG_OUT;
    IOMUXC_SW_PAD_CTL_PAD_SAI3_RXD  = SAI_PAD_CFG_IN;
    IOMUXC_SW_PAD_CTL_PAD_SAI3_MCLK =   SAI_PAD_CFG_OUT;
 
    IOMUXC_AUDIOMIX_SAI3_RXDATA_SELECT_INPUT_0 = IOMUXC_MUX_ALT1;
 
    DebugPrint(0xffffffff,  "Find the audio codec.\n" );
}


w3.png

ESM8400 ARM Windows工控主板實(shí)現(xiàn)WM8960 I2S音頻輸入/輸出


文章標(biāo)簽:C/C++音頻ESM8400系列Win10 IoT
主站蜘蛛池模板: 在线观看国产wwwa级羞羞视频| 另类二区| 国产在线看不卡一区二区| er久99久热只有精品国产| 久久婷婷六月| 偷拍自拍日韩| 中文永久免费看电视网站入口| 久久精品国产久精国产果冻传媒 | 久久久久久福利| 亚洲精品亚洲九十七页| 一a一级片| 久久不射网| 日韩在线高清| 亚洲免费在线视频播放| 男女爱爱小视频在线观看| 国内外成人在线视频| 国产免费播放一区二区三区 | 欧美一级特黄做| 国产成+人+亚洲+欧美综合| 香蕉 在线播放| 黄色片中国| 搡女人视频免费| www.一区二区三区| 国产精品国色综合久久| 精品哟啊呦v视频在线观看| 欧美一区二区三区婷婷月色| 性感毛片| 亚洲国产成人久久| 亚洲精品入口一区二区乱| 最新国产精品亚洲二区| 99视频国产在线| 99视频国产在线| a级高清观看视频在线看| 一级日本强免费| 一级片黄| 一区免费| 99久久国语露脸精品国产| www.久久视频| 91福利在线观看视频| 91极品视频在线观看| 91视频会员|