一)什么是I2S

Inter-IC Sount Bus(I2S)是飞利浦半导体公司(现为恩智浦半导体公司)针对数字音频设备之间的音频数据传输而制定的一种总线标准。 在飞利浦公司的 I2S 标准中,既规定了硬件接口规范,也规定了数字音频数据的式。

二)关于声音

人正常听到的声音频率范围,是在20Hz-20KHz,虽然在本人实际使用的时候,25Hz和18KHz我已经听不到了(可能是我的听觉不太好,这要看人)。声音是一种模拟量,但是在MCU上处理时,只能对数字量进行处理,这时候就需要有一个过程:

 **音频信号--->ADC--->MCU--->MCU对数据进行处理--->DAC--->音频输出**

三)I2S 总线接口介绍:

I2S 总线接口有 3 个主要信号,但只能实现数据半双工传输,后来为实现全双工传输有些设备增加了扩展数据引脚。STM32f42x 系列控制器支持扩展的 I2S 总线接口。
SD(Serial Data):串行数据线,用于发送或接收两个时分复用的数据通道上的数据(仅半双工模式),如果是全双工模式,该信号仅用于发送数据。
WS(Word Select):字段选择线,也称帧时钟(LRC)线,表明当前传输数据的声道,不同标准有不同的定义。 WS 线的频率等于采样频率(FS)。
CK(Serial Clock):串行时钟线,也称位时钟(BCLK),数字音频的每一位数据都对应有一个 CK 脉冲,它的频率为: 2采样频率量化位数, 2 代表左右两个通道数据。
ext_SD(extend Serial Data):扩展串行数据线,用于全双工传输的数据接收。另外,有时为使系统间更好地同步, 还要传输一个主时钟(MCK), STM32F42x 系列控制器固定输出为 256* FS。

四)I2S的音频数据传输协议标准:

1)左对齐标准(MSB)
2)右对齐标准(LSB)
3)I2S Philips标准(飞利浦标准)

五)I2S的性能特点:

1)I2S支持半双工/全双工
2)I2S支持主/从模式
3)I2S支持PCM标准(部分STM32支持)

六)项目内容:

1)使用STM32F301C6T6的I2S总线驱动AK4556
2)外置NandFlash(东芝的芯片)作为存储器,使用模拟时序驱动。
3)通过按键控制,实现录音/放音功能。

七)认识AK4556VT:

AK4556VT是一款内部自带有ADC和DAC的音频芯片,它支持Master和Slave两种模式,能够支持STM32F301的I2S支持的频率,ADC和DAC的基准电压是3V。

STM32 I2S学习(一)相关推荐

  1. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...

  2. STM32的学习记录--单个模块开发思路

    1. 前言 很久没写STM32的学习博客了,不是因为没在搞,而且因为STM32要学习的部分太多,而且代码量太大了,有些代码还涉及到版权问题,就一直没写,最近刚好在搞一个智能设备有关WiFi模块的开发, ...

  3. Proteus STM32仿真学习板

    一 全球IC爆冷,价格猛涨,ST系列单片机更是一马当先,贵到你怀疑人生.这个时候想学习STM32的基础去购买开发板是很不划算的,而且用完就搁置了,吃灰到永远,能半价甩卖就已经很好了. 为了让大家方便快 ...

  4. 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础

    上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...

  5. 高手入门STM32总结+学习步骤

    一.入门总结 1.1为什么要把时间花在"犹豫"上? 每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑.我们渴望知道学习STM32前景如何?需要啥基础? ...

  6. 最实惠又容易上手的STM32的学习板,你确定不了解一下吗

    最实惠又容易上手的STM32的学习板,你确定不了解一下吗 ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺 ...

  7. STM32 CubeMX学习:7. ADC模数转化

    STM32 CubeMX学习:7. ADC模数转化 系列文章目录 前期的准备 点亮 LED 闪烁 LED 定时器闪烁LED PWM控制LED亮度 常见的PWM设备 按键的外部中断 ADC模数转换 串口 ...

  8. 【转载】如何学习STM32?STM32入门学习经验总结

    一.入门总结 1.1为什么要把时间花在"犹豫"上? 每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑.我们渴望知道学习STM32前景如何?需要啥基础? ...

  9. STM32 嵌入式学习入门(4)——PWM原理

    STM32 嵌入式学习入门(4)--PWM原理 本文先对STM32F103的通用定时器作一简单介绍,然后详细介绍通用定时器的一个应用--输出PWM波形的原理.整个文章以介绍"怎么用" ...

  10. 《STM32从零开始学习历程》——CAN通讯协议协议层

    <STM32从零开始学习历程>@EnzoReventon CAN通讯协议协议层 相关链接: <STM32从零开始学习历程>--CAN通讯协议物理层 CAN-bus规范 V2.0 ...

最新文章

  1. 奔腾微型计算机采用的微处理器的型号,“奔腾”微型计算机采用的微处理器的型号是()。...
  2. ipv6 端口号_计算机网络之IP、MAC、端口号、子网掩码、默认网关、DNS
  3. pwntools所带的函数使用方法
  4. linux seq_file 接口
  5. pkpm板按弹性计算还是塑性_PKPM中的S\R验算显红原因分析
  6. 软件构造学习笔记-实验1
  7. 现代程序设计 作业7 - 更加简单的题目
  8. android+动态地图+效果图,Android百度地图绘制圆形,圆形半径可动态变化
  9. 《手把手教你》系列基础篇之2-python+ selenium自动化测试-打开和关闭浏览器(详细)
  10. Ubuntu18.04系统中python3.7安装MultiNEAT库
  11. Asp.net上传文件至目录
  12. 通过创建制定版本react-native项目解决“Unable to resolve module `AccessibilityInfo` ”的问题...
  13. js动态显示时间和日期
  14. 分页显示java_java分页实现 怎样用java实现分页显示?
  15. java 电梯调度_OO_JAVA_多线程电梯调度_单元总结
  16. ppt背景图片怎么更换应用到全部
  17. 全球及中国乙氧基化烷基硫酸钠行业运行态势与需求趋势预测报告(2022~2027年)
  18. UE全景图,碰到the outpout directory时的问题
  19. 腾讯云轻量服务器蜂驰版测评及横向对比
  20. 2022年中国现制咖啡行业市场规模及重点企业经营现状分析:市场规模达89.7亿元[图]

热门文章

  1. 操作系统-程序执行时间分析
  2. 初学者园地之一:保险丝
  3. some website
  4. 网络***的基础教程
  5. 使用uiautomatorviewer报错Error obtaining UI hierarchy
  6. 如何在网页中插入视频
  7. 一个由三角形引出的乘积恒等式
  8. 产品商业需求文档_【器】我的产品需求文档心法
  9. 织梦DedeCMS使用教程:留言簿模块
  10. 2020-11-10大众点评字体反爬抓取信息