1. 程式人生 > >I2S通訊詳解

I2S通訊詳解

  I2S


1,概念:I2S(Inter—IC Sound)匯流排, 又稱 積體電路內建音訊匯流排,是飛利浦公司為數字音訊裝置之間的音訊資料傳輸而制定的一種匯流排標準,該匯流排專責於音訊裝置之間的資料傳輸,廣泛應用於各種多媒體系統。


2,I2S特點
①,支援全雙工和半雙工通訊。
②,支援主/從模式。


3,介面
①,SD:序列資料(對映到 MOSI 引腳),用於傳送或接收兩個時分複用的資料通道上的資料(僅半雙工模式)。
②,WS:字選擇(對映到NSS引腳),即幀時鐘,用於切換左右聲道的資料。WS頻率等於音訊訊號取樣率(fs)。
③,CK:序列時鐘(對映到SCK引腳),即位時鐘,是主模式下的序列時鐘輸出以及從模式下的序列時鐘輸入。位時鐘=取樣率*通道數*位數。
④,I2S2ext_SD和I2S3ext_SD:用於控制I2S全雙工模式的附加引腳(對映到MISO引腳)。
⑤,MCK:即主時鐘輸出,當I2S配置為主模式(並且SPI_I2SPR暫存器中的MCKOE位置1)時,使用此時鐘,該時鐘輸出頻率 256×fs,fs即音訊訊號取樣頻率(fs)。


4,I2S初始化配置
①,i2s的時鐘使能和GPIO口配置
②,配置為i2s模式
③,i2s標準,包括左對齊,右對齊,i2s標準,即資料的最高位總是出現在WS變化(也就是一幀開始)後的第2個CK脈衝處。
④,i2s資料長度,包括16位,16位擴充套件(16位資料以32位包傳送),24位,32位。
⑤,設定i2s時鐘
⑥,設定i2s空閒狀態下時鐘電平
⑦,i2s使能
⑨,設定I2S的取樣率。取樣率一般在8K-192K之間。


5,I2S讀寫資料流程
①,WS時鐘線用於切換左右聲道,在該時鐘的同一週期內的高電平和低電平應傳送相同的資料,然後左右聲道的聲音才會一樣。
②,CK時鐘用於啟動傳輸每一位音訊資料




6,單聲道音訊資料轉雙聲道音訊資料
把單聲道資料轉換成雙聲道資料傳輸時,可作如下資料轉換:
for(res=0;res<DATA_LEN;res++)
{
buf2[res*4]=buf1[res*2];
buf2[res*4+1]=buf1[res*2+1];
buf2[res*4+2]=buf1[res*2];
buf2[res*4+3]=buf1[res*2+1];
}

相關推薦

I2S通訊

  I2S 1,概念:I2S(Inter—IC Sound)匯流排, 又稱 積體電路內建音訊匯流排,是飛利浦公司為數字音訊裝置之間的音訊資料傳輸而制定的一種匯流排標準,該匯流排專責於音訊裝置之間的資料傳輸,廣泛應用於各種多媒體系統。 2,I2S特點 ①,支援全雙工和半雙工通

Linux:程序間通訊之管道通訊

        在學習程序的時候,我們瞭解到了程序的獨立性:程序之間是相互獨立的,每個程序有自己的虛擬地址空間,並且虛擬地址空間通過頁表的對映,對映到屬於自己的實體記憶體上。並且各個程序之間互相不影響,執行自己的程式碼。    

Linux下的程序通訊方式: 管道通訊

管道是單向的、先進先出的、無結構的位元組流,它把一個程序的輸出和另一個程序的輸入連線在一起。 寫程序在管道的尾端寫入資料,讀程序在管道的首端讀出資料。資料讀出後將從管道中移走,其它讀程序都不能再讀到這些資料。 管道提供了簡單的流控制機制。程序試圖讀一個空管道時,在資料寫入管道前,程序將一直阻塞。

執行緒通訊

上文我們說到了關於子執行緒中能否更新UI的問題,本篇我們來說一說關於執行緒又一個熱考的知識點,這個問題面試中可能算是一個頻繁被詢問的知識點,那麼今天就讓我們看看,這到底是什麼一個東西。 執行緒通訊! 乍一被問這個問題的時候還是有點蒙的,什麼通訊?執行緒怎麼和通訊扯上關係了,其實我覺得這個過程叫做執行緒同值

《12.I2C通訊

《12.I2C通訊詳解》 第一部分、章節目錄 1.12.1.什麼是I2C通訊 1.12.2.由I2C學通訊時序 1.12.3.S5PV210的I2C控制器 1.12.4.X210板載gsensor介紹 1.12.5.I2C匯流排的通訊流程 1.12.6.I2C通訊程式碼分析1 1.12.

《7.串列埠通訊

《7.串列埠通訊詳解》 第一部分、章節目錄 1.7.1.通訊涉及的幾個基礎概念 1.7.2.串列埠通訊的基本概念 1.7.3.串列埠通訊的基本原理 1.7.4.S5PV210序列通訊介面詳解1 1.7.5.S5PV210序列通訊介面詳解2 1.7.6.S5PV210序列通訊介面詳解3 1

ABAP-串列埠通訊-道閘裝置 VB-串列埠通訊

最近SAP系統需要與道閘裝置整合,通過串列埠通訊模式控制道閘欄杆升降,在此將開發過程中的思路及問題點做個備註。 一.相關裝置  道閘裝置型號:富士智慧FJC-D618    串列埠模組:康耐德 C2000-A1-PXD0020-BX1    轉換器:DTECH DT-9020 RS-232<=&

stm32f103與mpu6050通訊

在做微控制器與mpu6050通訊之前我們得了解下mpu6050的特性和內部暫存器,而微控制器和mpu6050的通訊就是通過配置內部暫存器來實現的。 -------------------------------------華麗的分割線(以下介紹MPU6050的基礎知識)-------------

R5-React元件通訊

ps:讓幾個好友看了前幾篇文章,提了幾個建議,主要就是說文章需要在提煉,需要精簡。 這一章介紹元件通訊,元件與元件之間如何傳遞資料。 概覽: 1.父子通訊 如圖,父子元件之間通訊:子元件可通過pro

Vue資料通訊

如果有需要原始碼,請猛戳原始碼 希望文章給大家些許幫助和啟發,麻煩大家在GitHub上面點個贊!!!十分感謝 一、前言 元件是 vue.js最強大的功能之一,而元件例項的作用域是相互獨立的,這就意味著不同元件之間的資料無法相互引用。元件間如何傳遞資料就顯得至關重要。

SSL握手通訊及linux下c/c++ SSL Socket(另附SSL雙向認證客戶端程式碼)

SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。   安全證書既包含了用於加密資料的金鑰

Docker系列五:Docke Bridge網路原理,容器間網路通訊,對外通訊

docker中兩個容器之間的網路是如何連線到一起的? 檢視本機的docker網路 docker network ls [[email protected] vagrant]# docker network ls NETWORK ID NAME

非阻塞式通訊

用ServerSocket 和Socket編寫伺服器和客戶端程式的時候,其在執行過程中往往是阻塞的。例如SeverSocket中的accept()方法,假如沒有客戶連線就一直處於阻塞狀態。JDK1.4 後引入非阻塞式通訊機制,伺服器程式接收客戶連線,客戶程式建立與伺服器的

西門子plc與modbus裝置進485通訊(modbus多機輪詢)

接觸西門子s7-200一段時間後,接手一個通訊專案,需要在觸控式螢幕上顯示三臺pid溫度表的溫度。 一開始打算觸控式螢幕多餘的串列埠轉485直接連線溫度表,後來由於一直通訊不上,懷疑觸控式螢幕的問題,於是打算用plc來讀取pid表,走的是modbus協議,即port1接三臺

九.ARM裸機學習之串列埠通訊1(串列埠通訊介面及原理框圖

一.串列埠通訊的基本概念及原理理解 2017/11/12 22:52 1.同步通訊和非同步通訊: 非同步通訊:指通訊的傳送與接收裝置使用各自的時鐘控制資料的傳送和接收過程。為使雙方的收發協調,要求傳送和接收裝置的時鐘儘可能一致,即傳送方和接收方沒有統一的時鐘節拍、而各自按照

Activity與Fragment之間的通訊

      當我們使用Fragment的時候會常常與其他的Fragment或者宿主Activity進行互動,今天我們就來講講Fragment和Activity之間如何進行通訊。       一、 介面回撥機制      在講Fragment和Android通訊之前,我們先看

TCP/IP協議、HTTP協議、SOCKET通訊

ron bsp 正式 ber 二次 軟件 寄存器 使用 網絡通信 1、TCP連接TCP(Transmission Control Protocol) 傳輸控制協議。TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,采用三次握確認建立一個連接。位碼即tcp標誌位,有6種

SSL socket 通訊

作者:小馬 最近剛弄完一個ssl socket通訊,整理個筆記。 SSL原理 比如 A要和B互相通訊,為了安全他們希望雙方傳送的資料都是經過加密的。這就要求雙方有一個共同的加解密金鑰(一般加密都是基於對稱加密演算法)。如何才能讓雙方都擁有同一個金鑰

Qt5 UDP網路通訊

        Qt封裝了很多通訊模組,常用的有UDP,TCP,HTTP通訊模組,現在我們詳解說下Qt的UDP通訊。         Qt的UDP模組是相對其他軟體自帶的UDP封裝裡面比較好的一個,穩定可靠,方法整合度高,使用方便。並且常見於CS架構的系統裡面。 一般常見Q

Socket通訊

前言 Socket一直是android網路程式設計中比較重要的技術,最近專案需要,就自己整理學習了Socket通訊功能的開發。 1. 基礎知識 1.1 計算機網路分層 OSI網路標準分層中,將網路共分為7個層次: 而在實際使用過程中,更多的使用簡化