送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

又到了广大莘莘学子为毕业设计熬夜通宵,绞尽脑汁的季节,尤其是理工科的学子如果选到的论文题目是需要有理论+实践的同学就更有得忙了,因为他们不仅仅需要完成一篇论文,还要做硬件电路设计、软件设计,并做出可以展示的实物系统。

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

今天给大家分享一份毕业设计:《基于FPGA的音频信号接收与还原系统设计与实现》, 希望能带给同学们一些设计的灵感!

系统总体结构

这个音频信号处理系统包括以下几个部分:

1.信号源:只要能输出S/PDIF信号的设备都可以作为信号源,本设计中采用了小米盒子作为信号源。

2.信号放大电路:由于小米盒子输出的信号源电压较低,所以本设计中采用了一个信号放大电路,先对源信号进行放大,再传输到FPGA。

3.信号采集与译码电路:该部分电路是本设计的核心,使用FPGA设计的数字电路作为系统中控。

4.DA转换电路:FPGA接收到音频数据并解释成pcm码后,通过DA转换,就能转换成模拟音频信号。

5.模拟音频接收电路:这里其实就是把模拟音频信号传输到耳机插座,然后插上耳机就能够接收声音了。

这个音频系统的系统框架图如下所示:

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

数字音频信号接口介绍

1.信号接口背景

本设计使用的数字音频接口是S/PDIF接口,是在80年代由飞利浦公司和索尼公司一起开发出来的一种接口协议。它主要的面向对象是普通的家用电器,优点是可以用较低的成本实现数字音频信号的传输。

2.接口协议编码

S/PDIF接口协议是使用双向符号编码,英文缩写是BMC,编码原理是对信号进行相位调制。经过这种编码后的信号包括了时钟信号信息和数据信号信息,当源数据为1时,让信号翻转一下。如果源数据为0,则不翻转,保持为0或者1。这种编码可以让收发两端只用一根信号线就能够完成数据传输,并且保持良好的同步性。

该编码的时序图如下所示:

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

3.通信协议结构

SPDIF信号是传输PCM信号的,数据流中分出Block、Frame和channel。每一个Block中包括192个frame,每一个frame则包括左右声道两个channel的数据信息。其中每一个声道的信息单元又由suframe组成,是本协议中最小的数据单元。surframe是由32bit数据组成,包括头码,辅助信息,音讯数据还有4bit的信息位和校验码。所以一个suframe由4byte组成,一个frame由两个suframe组成,共8byte,一个block由192个frame组成,总共192×8=1536byte.

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

4.suframe的内部解析

头码(preamble):因为音频信号是分左右声道的,因此需要一个标志做区分,所以需要一个头码。

辅助数据(Aux data):该区域是用来预留给设计者放一些自己定义的数据信息。

音讯数据(Audio data):存放音频数据,位宽是20bit,传输时优先传输低位数据。当采样数据不足20bit时,低位用0填充。

有效位/使用者位/信道状态位/同位检查信息位:这些属于辅助信息位,存放状态信息和校验信息。

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

FPGA部分设计思路

SPDIF数字音频信号的接收和译码部分由FPGA设计完成,通过verilog语言编写数字电路,实现信号检测和解析的功能。下面是verilog设计的数字电路的功能流程示意图:

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

具体的verilog代码在此就不展示出来了,感兴趣的同学可以联系小编获取作为参考。

软件工具使用

这个设计使用的软件工具包括Gvim,用于文本编辑。modelsim,用于数字电路仿真验证。quartus II,用于数字电路综合和代码下载。quartus的使用流程如下:

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

另外,在上FPGA板实时调试的时候还用到了signalTap工具。

硬件实物

本设计的整个硬件系统有三个部分:小米盒子、放大电路和FPGA板。

送给莘莘学子的一份毕业季礼物:基于FPGA的毕业设计分享(1)

今天先给大家在宏观上介绍一下这套毕业设计的整体情况,下一篇文章再给大家具体介绍里面设计的内容,包括各模块的原理图、FPGA设计代码、仿真波形、调试波形的等等。

感兴趣的同学可以关注转发一下哦!


分享到:


相關文章: