《advanced|《advanced FPGA designed》ch7 example design(I2S versus SPDIF)

七章:示例:I2S与SPDIF
【《advanced|《advanced FPGA designed》ch7 example design(I2S versus SPDIF)】I2S格式以源同步的方式传输192 kHz采样率的音频数据。数据的样本大小可以是16位到24位,并且无论样本大小如何,都将其标准化为满量程幅度。由于信号是与源时钟一起发送的,因此可以使用源时钟轻松重建数据并随后进行重新同步。
7.1总述
《advanced|《advanced FPGA designed》ch7 example design(I2S versus SPDIF)
文章图片

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总结
这一章有太多东西没看懂.最后用源代码做了一个仿真.等有机会在具体分析一下.

    推荐阅读