打印
[活动]

stm32cubemx-IIS

[复制链接]
31|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#技术资源#  #申请原创#    @21小跑堂
单片机中的IIS接口,作为单片机中的音频接口,可以实现音乐播放功能,但是由于功能外围电路的局限性,小型设备很难使用到此功能;
当前我公司就是为了符合国标,需要生成出一段梯形的报警数字信号,不得已需要对此功能进行学习改进。
特此将目前使用的情况进行记录备份;
1. IIS的接口
SCK(Serial Clock)[size=16.002px]串行时钟信号,用于同步数据传输。
WS(Word Select)[size=16.002px]字选择信号,用于区分左右声道。
SD(Serial Data)[size=16.002px]串行数据信号,传输音频数据
MCLK(Master Clock,可选)[size=16.002px]主时钟信号,用于同步整个系统。
[size=16.002px]2. IIS的分类
[size=16.002px]IIS区分全双工和半双工模式[size=16.002px]和主从模式
[size=16.002px]对于不同的工作模式,接口的使用也有细微的差别,
[size=16.002px]全双工多出一个引脚ex_SD,此引脚的作用就是数据可以由音频芯片发送至单片机,比如说麦克风功能就需要此功能
[size=16.002px]对外围的音频芯片也有做区分
[size=16.002px]比如说MCLK,有些外围的音频芯片不需要时钟信号,由音频芯片自主提供,MCLK就可以不使用
[size=16.002px]3.音频芯片的区别
[size=16.002px]音频芯片的作用是直接控制喇叭或者扬声器发生,芯片通过该改变输出信号的频率与幅度,改变声音的音色与大小,其中存在一些音频芯片功能不是特别齐全,实现部分功能,比如说只能改变频率(本次项目就是使用的芯片不能任意的改变输出幅度导致后面更换芯片)
[size=16.002px]如果需要任意更改输出信号的幅度,音频芯片内部必不可少的需要DAC模块,通过接受IIS数据以及IIC寄存器的配置,才能够输出声音的幅度进行配合,才能能够完美的输出所需要的梯形波

4. stm32cumx 的IIS配置介绍
     4.1 确保单片机存在此功能,以及支持功能的工作模式
           ------有些单片只存在半双工工作模式
     4.2 由于音频信号的数据量特别大,一定要配置为DMA数据输出,否则有可能数据量太大,程序卡死。
     4.3 注意MCLK可单独配置是否输出,勾选Master clock output即可,这个地方不是任意给出一个时钟就行的,它需要DMA数据传输时,时钟同步输出,而且对时钟有要求的,不能任意配置

   4.4 由于IIS的一些寄存器与SPI的寄存器是公用的,所以看到对SPI的配置不要奇怪-----因为我也奇怪过。
   4.5 最后配置需要发送的数据,使能DMA工作,就可以输出给音频芯片发送数据了。。。。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝