新闻中心

EEPW首页 > 消费电子 > 设计应用 > 音频交换混合矩阵设计与实现

音频交换混合矩阵设计与实现

作者: 时间:2011-02-24 来源:网络 收藏

  2. 3 FPGA及其程序设计

  FPGA内部包含串/并转换、交换矩阵、混合、并/串转换、时钟模块和矩阵控制模块,其内部模块框图如图4 所示。FPGA 选用Altera的EP2C35 芯片,其具体参数见文献。

  2. 3. 1 时钟模块

  时钟模块的功能是为串/并、并/串转换模块提供统一的全局时钟。系统需要的时钟信号有三种,分别是:系统时钟( SCK) 、位时钟(BCK)和声道时钟(LRCK) ,各时钟频率由采样频率( fS )决定:


FPGA内部模块框图

图4 FPGA内部模块框图。

  本系统中,采样频率fS 为97. 7 kHz,通过一个50MHz的外部时钟信号分频产生上述各个时钟。

  在模块内建立一个9 bit累加计数器Q,在时钟信号的上升沿完成一个递增计数, 当数值计到满值111111111时, 在下一个时钟周期将Q 置0。将XCLK、BCK、LRCK输出分别连接到计数输出的第0、第2和第8位,并将第3 - 第7位合并成另一个计数输出S_Count,用于控制串- 并和并- 串转换的位计数。所以,实际生成的fSCK为25 MHz, fBCK为6. 25MHz, fLRCK和fS 为97. 7 kHz。

  2. 3. 2 输入串/并转换模块

  该模块负责将PCM4204输入的串行PCM编码转换为并行数据,送入交换矩阵模块进行处理。模块内部建立通过一个32 bit移位寄存器( S_Buf) ,用来存储串行数据,根据声道时钟(LRCK)的动作来控制并行输出。串/并转换流程如图5所示。

串/并转换流程图

图5 串/并转换流程图。

  2. 3. 3 矩阵控制模块

  该模块的功能为:接收外部控制单元的命令,控制矩阵实现转接操作。FPGA保留10个GP IO作为使能控制端口,定义为表1。

表1 矩阵控制端口定义

矩阵控制端口定义

  模块的输出是16组16 bit并行数据,形成一个矩阵表。其中,每组数据代表输出端口,该组中的每个bit代表对应的输入端口,表中的元素代表相应的输入与输出之间的连接关系, 0表示断开, 1表示连接。

  使用时,先选择需要进行操作的输入和输出端口以及操作状态,然后向EN输入高电平,触发控制电路进行工作,将选择的输入与输出信号相连接或断开。

  2. 3. 4 混合模块

  该模块由数据缓冲寄存器(AdderBuf)和加法器(Adder)两部分组成。数据缓冲寄存器读取控制端口( Sel)的状态,然后判断各个输入是否有效,即是否送入到输出端口。若某输入端口有效,则将该端口数据直接送入加法器;若无效则送出数据0。

  2. 3. 5 交换矩阵模块

  交换矩阵的工作原理是一个16转256的分配器,将每一路输入分配为16路,分别送入每一路输出的混合模块中。其结构如图6所示。

交换矩阵模块结构图

图6 交换矩阵模块结构图。

  2. 3. 6 输出并/串转换模块

  该模块负责将混合模块输出的24 bit并并行数据转化为PCM1681能够接收的串行PCM编码。数据传输格式与PCM4204相同。模块内部建立一个24 bit移位寄存器,用来产生串行输出,根据声道时钟(LRCK)的动作判断读取并行输入。并/串转换流程如图7所示。

并/串转换流程图

图7 并/串转换流程图。

  3 系统仿真及实现

  3. 1 系统仿真

  FPGA总体端口及模块框图如图8所示。

FPGA总体端口及模块框图

图8 FPGA总体端口及模块框图。

  由时钟输入端(CLK)输入50 MHz时钟信号;在交换控制端口送入控制信号,使In_0与Out_0相连, In_1与Out_1相连, ……, In_7与Out_7相连,控制信号输入如图9所示。

控制信号输入

图9 控制信号输入。



关键词: 音频

评论


相关推荐

技术专区

关闭