《advanced FPGA designed》ch7 example design:I2S versus SPDIF

七章:示例:I2S与SPDIF

I2S格式以源同步的方式传输192 kHz采样率的音频数据。数据的样本大小可以是16位到24位,并且无论样本大小如何,都将其标准化为满量程幅度。由于信号是与源时钟一起发送的,因此可以使用源时钟轻松重建数据并随后进行重新同步。

7.1总述

《advanced FPGA designed》ch7 example design:I2S versus SPDIF_第1张图片

I2S时序。

7.1.1代码分析

7.1.2

代码用了两级流水线。

7.1.3分析:

1.使用延迟有效位同步输出。

2.双向的触发器输入流

3.FIFO输出

7.2 SPFID

https://blog.csdn.net/huan09900990/article/details/79267634?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159065123119724835808856%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159065123119724835808856&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-2-79267634.pc_insert_default&utm_term=spdif

将16bit的字最低有效位补8个零可以认为是24bit,(I2S必须在捕获前定义字长和格式).

7.2.1拓扑

书中源码将会上传到git库,稍后更新

每一个音频数据都被封装成32bit帧。需要用到双向符号编码bmc code(http://www.wendangku.net/doc/d6e2f373f242336c1eb95ece-2.html)是将时钟和数据混合在一起编码。可以使输出在一个接近0的直流。

7.2.2硬件结构

异步复位可节省资源.同步复位有利于时序.

输入的数据,bit0,1只用于时钟的同步;bit1,2用于检测数据跳变.

spi:https://www.cnblogs.com/liujinggang/p/9609739.html

7.3总结

这一章有太多东西没看懂.最后用源代码做了一个仿真.等有机会在具体分析一下.

 

你可能感兴趣的:(《advanced FPGA designed》ch7 example design:I2S versus SPDIF)